apex-tripleo-heat-templates.git
8 years agoMerge "Enable glance-api show_image_direct_url for COW"
Jenkins [Wed, 11 Nov 2015 02:32:30 +0000 (02:32 +0000)]
Merge "Enable glance-api show_image_direct_url for COW"

8 years agoMerge "Revert "Manage keystone initialization directly in t-h-t manifests""
Jenkins [Wed, 11 Nov 2015 02:21:17 +0000 (02:21 +0000)]
Merge "Revert "Manage keystone initialization directly in t-h-t manifests""

8 years agoMerge "Align some defaults with with ControllerCount default"
Jenkins [Wed, 11 Nov 2015 02:07:22 +0000 (02:07 +0000)]
Merge "Align some defaults with with ControllerCount default"

8 years agoMerge "Allow customization of the Ceph pool names"
Jenkins [Tue, 10 Nov 2015 23:22:03 +0000 (23:22 +0000)]
Merge "Allow customization of the Ceph pool names"

8 years agoChange the Atomic image name so it's less specific
Ryan Hallisey [Tue, 10 Nov 2015 18:28:30 +0000 (13:28 -0500)]
Change the Atomic image name so it's less specific

The atomic image name in glance was being set to 'fedora-atomic'.
The glance image can be any form of atomic distro so we shouldn't
name this specifically 'fedora-atomic', but instead 'atomic-image'.

Change-Id: Ic539b82b92e3fdd834750e591d8622b7dc85fc6d

8 years agoMerge "Make puppet manifests compliant with Puppet 4.x"
Jenkins [Mon, 9 Nov 2015 18:32:30 +0000 (18:32 +0000)]
Merge "Make puppet manifests compliant with Puppet 4.x"

8 years agoMerge "Add Puppet 4.x lint checks"
Jenkins [Mon, 9 Nov 2015 18:32:21 +0000 (18:32 +0000)]
Merge "Add Puppet 4.x lint checks"

8 years agoAdd support to tag patch port for Cisco Nexus1000v VSM bringup
Shiva Prasad Rao [Thu, 5 Nov 2015 23:40:26 +0000 (15:40 -0800)]
Add support to tag patch port for Cisco Nexus1000v VSM bringup

In some deployments we will need to tag the patch port connecting to
vsm-br in order for traffic to go out. This patch takes passes the vlan
parameter to the puppet.

Change-Id: I18734ae39007985769db9371abe1740e0f2872f7

8 years agoAllow customization of the Ceph pool names
Giulio Fidente [Thu, 13 Aug 2015 17:04:17 +0000 (19:04 +0200)]
Allow customization of the Ceph pool names

This is useful in those scenarios were we want to use an external
Ceph deployment with multiple overclouds.

Change-Id: I1749d2a6547f6ce25843709e46a1447e8d42cfff

8 years agoMerge "Add network templates for multiple NIC configuration"
Jenkins [Thu, 5 Nov 2015 16:42:15 +0000 (16:42 +0000)]
Merge "Add network templates for multiple NIC configuration"

8 years agoMake puppet manifests compliant with Puppet 4.x
Gael Chamoulaud [Mon, 21 Sep 2015 13:14:27 +0000 (15:14 +0200)]
Make puppet manifests compliant with Puppet 4.x

- https://docs.puppetlabs.com/puppet/3.8/reference/deprecated_language.html
- Temporary disablement of the pupppet-lint autoload layout check
  failing for ringbuilder.pp. A fix for that will be part of an other patch.

Change-Id: I495825641ab12e7c5789c1405649c356c5bb8051
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
8 years agoAdd Puppet 4.x lint checks
Gael Chamoulaud [Tue, 13 Oct 2015 11:15:15 +0000 (13:15 +0200)]
Add Puppet 4.x lint checks

- This change adds Puppet-lint bits for checking Puppet manifests.

Change-Id: I82869d8f9f6c64ac2a95429f453c3cb76c046974
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
8 years agoAdd network templates for multiple NIC configuration
Dan Sneddon [Wed, 22 Jul 2015 08:34:07 +0000 (01:34 -0700)]
Add network templates for multiple NIC configuration

This change adds a set of network interface configurations for use
with network isolation. The multiple-nics templates includes one
separate NIC per network, and assumes that nic1 is used for the
provisioning network (ctlplane). Also included is an environment
file for including the multiple-nics configuration in a deployment.

This revision changes the ordering of the NICs. By doing that, it
is possible to wire up only a subset of the NICs for the storage
nodes, and it is possilbe to leave the External NIC only configured
on the controllers.

rdo: Updated this commit for static control plane configuration

Co-Authored-By: Rhys Oxenham <roxenham@redhat.com>
Change-Id: Ic878d1ed1a85b5705295d087a743570ca8213504

8 years agoMerge "compute/ceilometer: use internalURL for os endpoint type"
Jenkins [Thu, 5 Nov 2015 14:08:34 +0000 (14:08 +0000)]
Merge "compute/ceilometer: use internalURL for os endpoint type"

8 years agoMerge "Fix dependency for Ceilometer agent when using MySQL"
Jenkins [Thu, 5 Nov 2015 09:53:19 +0000 (09:53 +0000)]
Merge "Fix dependency for Ceilometer agent when using MySQL"

8 years agoMerge "Do not enforce start timeout to 90s for neutron-server"
Jenkins [Wed, 4 Nov 2015 21:29:43 +0000 (21:29 +0000)]
Merge "Do not enforce start timeout to 90s for neutron-server"

8 years agoRevert "Manage keystone initialization directly in t-h-t manifests"
Ben Nemec [Wed, 4 Nov 2015 16:55:34 +0000 (16:55 +0000)]
Revert "Manage keystone initialization directly in t-h-t manifests"

This reverts commit 86d6c1ddc76bad423194e789ffb5474e4e12960e.

This likely has an impact on upgrades, and since we don't
have an upgrade CI job yet I'm concerned that we may have
just broken ourselves.  I would prefer to wait to merge this
until the CI job is in place.

Change-Id: Ib2366cb4b40471a28122f6e9955da9bdb31a53fb

8 years agoMerge "Manage keystone initialization directly in t-h-t manifests"
Jenkins [Wed, 4 Nov 2015 16:43:39 +0000 (16:43 +0000)]
Merge "Manage keystone initialization directly in t-h-t manifests"

8 years agoMerge "Cisco Nexus ML2 MD: Need unique key for server level keys in hieradata"
Jenkins [Wed, 4 Nov 2015 15:30:40 +0000 (15:30 +0000)]
Merge "Cisco Nexus ML2 MD: Need unique key for server level keys in hieradata"

8 years agoDo not enforce start timeout to 90s for neutron-server
Giulio Fidente [Wed, 4 Nov 2015 11:08:23 +0000 (12:08 +0100)]
Do not enforce start timeout to 90s for neutron-server

The same timeout value is set for every pcmk service in [1]

1. https://github.com/openstack/tripleo-heat-templates/blob/master/puppet/manifests/overcloud_controller_pacemaker.pp#L81

Change-Id: I253f6cbc5ccdbf8c46cc537ff9600f201aae540a

8 years agoManage keystone initialization directly in t-h-t manifests
Yanis Guenane [Fri, 2 Oct 2015 10:18:08 +0000 (12:18 +0200)]
Manage keystone initialization directly in t-h-t manifests

This is the second change of a servies of two, it creates the
user, user_role, service and endpoint for:

  * glance
  * nova
  * neutron
  * cinder
  * horizon
  * swift
  * ceilometer
  * heat

Change-Id: I50e792d98a2ba516ff498c58ad402f463c5f7e76

8 years agoCreate keystone roles and admin user from t-h-t manifests
Yanis Guenane [Fri, 2 Oct 2015 10:18:08 +0000 (12:18 +0200)]
Create keystone roles and admin user from t-h-t manifests

Currently keystone initialization happens via os-cloud-config [1].

This commit moves some of that directly into the manifests. This is the
first in a series of two changes to migrate it entirely into t-h-t.

This change focus on implementing what keystone.initialize() was doing
on the tripleoclient [2], creates the admin tenant, user and roles.

It also creates the keystone endpoint itself.

1.  https://github.com/openstack/os-cloud-config/blob/master/os_cloud_config/keystone.py#L128-L158
2.  https://github.com/openstack/python-tripleoclient/blob/master/tripleoclient/v1/overcloud_deploy.py#L462-L527

Change-Id: I98555b707ff9b91c6e218de5dca68106ea05c8ea
Depends-On: Ia4b3244f114dcff746ab89d355ad4933f8fdbddf

8 years agoFix dependency for Ceilometer agent when using MySQL
Juan Antonio Osorio Robles [Mon, 26 Oct 2015 08:37:39 +0000 (10:37 +0200)]
Fix dependency for Ceilometer agent when using MySQL

In HA, when using MySQL as a backend for Ceilometer, the dependencies
set for the Ceilometer central agent depended always on MongoDB; Which
should only be the case if MongoDB is set as a backend.

Change-Id: I6fecfe0564b13e9352313c5a3492505b44d12eaa

8 years agoMerge "Ensure memcached resource uses interleave=true"
Jenkins [Mon, 2 Nov 2015 16:31:47 +0000 (16:31 +0000)]
Merge "Ensure memcached resource uses interleave=true"

8 years agoMerge "Support NFS backend for Glance (via Pacemaker)"
Jenkins [Mon, 2 Nov 2015 12:23:56 +0000 (12:23 +0000)]
Merge "Support NFS backend for Glance (via Pacemaker)"

8 years agocompute/ceilometer: use internalURL for os endpoint type
Emilien Macchi [Fri, 30 Oct 2015 13:39:47 +0000 (22:39 +0900)]
compute/ceilometer: use internalURL for os endpoint type

To let ceilometer access to keystone endpoints, use internalURL instead of
publicURL for security & performances reasons.

Change-Id: I6677f40038d6adf36b4f0375484b6ef2e16869e3

8 years agoMerge "Fix password issue with mysql address for ceilometer"
Jenkins [Thu, 29 Oct 2015 04:42:42 +0000 (04:42 +0000)]
Merge "Fix password issue with mysql address for ceilometer"

8 years agoMerge "Add validation to ping the default gateway(s)"
Jenkins [Fri, 23 Oct 2015 12:07:48 +0000 (12:07 +0000)]
Merge "Add validation to ping the default gateway(s)"

8 years agoFix password issue with mysql address for ceilometer
Juan Antonio Osorio Robles [Fri, 23 Oct 2015 10:51:09 +0000 (13:51 +0300)]
Fix password issue with mysql address for ceilometer

The password was being passed incorrectly to the mysql address used for
ceilometer.

Change-Id: I36d92e199d6d75b58ef8c1b66a2dfbcb7052f948

8 years agoMerge "controller/ceilometer: use internalURL for os endpoint type"
Jenkins [Wed, 21 Oct 2015 21:40:29 +0000 (21:40 +0000)]
Merge "controller/ceilometer: use internalURL for os endpoint type"

8 years agoAdd validation to ping the default gateway(s)
Dan Prince [Thu, 23 Jul 2015 01:51:49 +0000 (21:51 -0400)]
Add validation to ping the default gateway(s)

This patch adds a new function that runs on all nodes so that
all default gateways are ping tested early on during the
installation process (before any puppet is executed)

Note: this change depends on the static control plane network IPs
because some distros allow/create multiple default routes without
this patch (see depends-on below).

Depends-On: Ib267e6dcf2d5ff77f7a82ee20a123965c2d07565

Change-Id: Ida125e79f3e549cae66be9dbd562197afa6400a5

8 years agoEnsure ping returns after 5mins timeout
Giulio Fidente [Wed, 21 Oct 2015 15:26:34 +0000 (17:26 +0200)]
Ensure ping returns after 5mins timeout

This change ensures the validation script returns (with a failure)
if the ping command remains stuck waiting for a response for more
than 5 minutes.

Change-Id: Ib184a01e04fe3c5e3ad13757a355735fff84548d

8 years agoMerge "Sync httpd vhost settings in between pcmk and non-pcmk scenarios"
Jenkins [Wed, 21 Oct 2015 13:42:29 +0000 (13:42 +0000)]
Merge "Sync httpd vhost settings in between pcmk and non-pcmk scenarios"

8 years agoMerge "Allow ctlplane network or ID, and default to "ctlplane""
Jenkins [Tue, 20 Oct 2015 21:38:03 +0000 (21:38 +0000)]
Merge "Allow ctlplane network or ID, and default to "ctlplane""

8 years agoMerge "Update overcloud template description and Count constraints"
Jenkins [Tue, 20 Oct 2015 21:32:32 +0000 (21:32 +0000)]
Merge "Update overcloud template description and Count constraints"

8 years agoAlign some defaults with with ControllerCount default
Steven Hardy [Wed, 7 Oct 2015 16:51:30 +0000 (17:51 +0100)]
Align some defaults with with ControllerCount default

NeutronDhcpAgentsPerNetwork is normally correlated with the
number of controllers, so given that the template
defaults the ControllerCount to 1, 1 seems like a more consistent
value for NeutronDhcpAgentsPerNetwork, and it's consistent with
what we test in CI.

Also NeutronL3HA defaults to False, which is consistent with the default
ControllerCount of 1, but NeutronAllowL3AgentFailover defaults to
True, which I assume makes no sense if there's only 1 controller
and no HA

Change-Id: I4612060979d1e4381800f30e359f58aeef61b861

8 years agoAllow ctlplane network or ID, and default to "ctlplane"
Steven Hardy [Wed, 7 Oct 2015 16:34:25 +0000 (17:34 +0100)]
Allow ctlplane network or ID, and default to "ctlplane"

Currently you always have to pass the ctlplane ID because we're still
using the deprecated network_id property for the neutron port resource.

Since Juno, heat has supported a "network" property, which is used
elsewhere, e.g the nested port stacks, so switch to using it in the
overcloud-without-mergepy template, and flip the default to a more
useful "ctlplane" vs an empty string.

This means the stack create should just work on commonly documented
deployments without requiring any parameter.

Change-Id: Ifcea36d26b795c5e8b80accd8112e23b254127be

8 years agoUpdate overcloud template description and Count constraints
Steven Hardy [Wed, 7 Oct 2015 14:51:57 +0000 (15:51 +0100)]
Update overcloud template description and Count constraints

Currently there's a vague list of services in the description, so instead
describe the roles supported for deployment, and encode the minimum allowed
of one Controller/Compute with zero Storage nodes in the parameter constraints.

Change-Id: Ib4917843f3e4770f0260db72719ed6af0ee8dc13

8 years agoSupport NFS backend for Glance (via Pacemaker)
Jiri Stransky [Tue, 7 Jul 2015 13:16:10 +0000 (15:16 +0200)]
Support NFS backend for Glance (via Pacemaker)

Adds support for NFS backend in Glance by allowing the storage directory
for the 'file' backend to be a mount managed by Pacemaker. Default
behavior is unchanged.

Since the Pacemaker-related parameters are not exposed on top level,
change storage-environment.yaml to use parameter_defaults instead of
parameters.

Depends on a Heat fix for environment file's parameter_defaults to
work well with JSONs and comma delimited lists (see Depends-On).

Change-Id: I6e7e2eaf6919b955650c0b32e1629a4067602c89
Depends-On: I85b13a79dbc97a77e20c0d5df8eaf05b3000815e

8 years agocontroller/ceilometer: use internalURL for os endpoint type
Emilien Macchi [Mon, 21 Sep 2015 19:22:54 +0000 (15:22 -0400)]
controller/ceilometer: use internalURL for os endpoint type

To let ceilometer access to keystone endpoints, use internalURL instead
of publicURL for security & performances reasons.

Ceilometer services (API, agents) will use internalURL endpoint to talk
to other services (keystone, neutron, etc).

Change-Id: I4cb843400f244cd34bbae4bc76371977780c7943

8 years agonova: set catalog_info to InternalURL
Emilien Macchi [Mon, 21 Sep 2015 18:46:24 +0000 (14:46 -0400)]
nova: set catalog_info to InternalURL

In nova.conf, set cinder/catalog_info to 'volumev2:cinderv2:internalURL'
instead of 'volumev2:cinderv2:publicURL'.
So Nova will use internal Cinder endpoint to reach volume API by
using internal network.

Depends-On: Id9e579ca31364d5207d0c1b892d0f7aa7f20f7a8
Change-Id: Ia34f0fe59f662c3ad29ca0178c01ef1570759d57

8 years agoEnsure memcached resource uses interleave=true
Giulio Fidente [Mon, 19 Oct 2015 13:52:44 +0000 (15:52 +0200)]
Ensure memcached resource uses interleave=true

Without interleave Pacemaker will consider memcached as a single
unit on all nodes so it will restart dependencies on every node in
case of failures.

More info at: https://bugzilla.redhat.com/show_bug.cgi?id=1262425

Change-Id: I284cbf33c8453a2abefc862f3d2e0b7f11ff4c3d

8 years agoMerge "Force stop a single node pacemaker on yum update"
Jenkins [Fri, 16 Oct 2015 17:52:32 +0000 (17:52 +0000)]
Merge "Force stop a single node pacemaker on yum update"

8 years agoMerge "Puppet / Compute: allow to run Ephemeral only storage with RBD"
Jenkins [Fri, 16 Oct 2015 14:31:31 +0000 (14:31 +0000)]
Merge "Puppet / Compute: allow to run Ephemeral only storage with RBD"

8 years agoMerge "Allow a deployer to specify HAProxy syslog server address"
Jenkins [Fri, 16 Oct 2015 08:52:44 +0000 (08:52 +0000)]
Merge "Allow a deployer to specify HAProxy syslog server address"

8 years agoSync httpd vhost settings in between pcmk and non-pcmk scenarios
Giulio Fidente [Thu, 15 Oct 2015 16:30:42 +0000 (18:30 +0200)]
Sync httpd vhost settings in between pcmk and non-pcmk scenarios

Moves the vhost_params out of the manifest and into static hiera;
also removes unneeded server_alias parameter as that matched the
vhost servername anyway.

Change-Id: I4b5971b23ef3be9529a59075fa93ccc64af75b9c

8 years agoCisco Nexus ML2 MD: Need unique key for server level keys in hieradata
tiswanso [Tue, 6 Oct 2015 15:33:05 +0000 (11:33 -0400)]
Cisco Nexus ML2 MD: Need unique key for server level keys in hieradata

Due to a limitation in the puppet version used in RHEL7 there is no simple
way to scope a 2nd level hiera hash key with the create_resources + defined
types pattern.  Lack of the .each method support prior to puppet 4.0 is the
problem here.  This template change works around the problem by explicitly
adding the hostname to the hieradata for a server under a nexus switch.

The duplicate server names under different switches is needed for vPC
config scenarios.

Closes-bug: #1506546
Change-Id: I03b866fb440e968c9f86ae93942b687e7165a065

8 years agoSet Django cache backend to Memcached instead of LocMemCache
Giulio Fidente [Thu, 15 Oct 2015 15:07:47 +0000 (17:07 +0200)]
Set Django cache backend to Memcached instead of LocMemCache

Change-Id: Ia2079fc3e350cc677811ebb970cd2b306d6e7040

8 years agoMerge "Set shared secrets, keys and passwords as hidden"
Jenkins [Wed, 14 Oct 2015 09:27:36 +0000 (09:27 +0000)]
Merge "Set shared secrets, keys and passwords as hidden"

8 years agoMerge "Parameterize RabbitMQ FD limit"
Jenkins [Tue, 13 Oct 2015 15:59:42 +0000 (15:59 +0000)]
Merge "Parameterize RabbitMQ FD limit"

8 years agoAdd more components virtual ip mapping into controller.
Yanis Guenane [Tue, 6 Oct 2015 08:42:25 +0000 (10:42 +0200)]
Add more components virtual ip mapping into controller.

Currently only Glance and Heat have their virtual IP passed to the
contrller directly.

This commit adds the same feature for :

 * Ceilometer
 * Cinder
 * Nova
 * Swift

Change-Id: I295d15d7a0aa33175a5530e3b155b0c61983b6ae

8 years agoParameterize RabbitMQ FD limit
Giulio Fidente [Tue, 14 Jul 2015 22:30:12 +0000 (00:30 +0200)]
Parameterize RabbitMQ FD limit

Together with [1] this change permits to parameterize the file
descriptor limit for RabbitMQ for both the Systemd startup script
and the Pacemaker resource agent.

1. https://github.com/puppetlabs/puppetlabs-rabbitmq/commit/20325325b977c508b151ef8036107dcfefdf990b

Closes-Bug: 1474586
Change-Id: I62d31e483641ccb5cf489df81146ecb31d0c423f

8 years agoAllow a deployer to specify HAProxy syslog server address
Yanis Guenane [Fri, 11 Sep 2015 13:25:01 +0000 (15:25 +0200)]
Allow a deployer to specify HAProxy syslog server address

This commit aims to allow a deployer to specify where to send haproxy's
logs. It is backward compatible with what is already in place and send
the logs to the UNIX socket /dev/log

The value specified here will be written in the haproxy.cfg file with
the following behavior

HAProxySyslogAddress: 127.0.0.1 -> log 127.0.0.1 local0
HAProxySyslogAddress: ::1 -> log ::1 local0
HAProxySyslogAddress: /dev/log -> log /dev/log local0 (default)

Change-Id: I46c489a1f424e2219d129f332e64c64019aef850
Depends-On: If7f7c8154e544e5d8a49f79f642e1ad01644a66d

8 years agoPuppet / Compute: allow to run Ephemeral only storage with RBD
Emilien Macchi [Wed, 15 Jul 2015 17:30:18 +0000 (13:30 -0400)]
Puppet / Compute: allow to run Ephemeral only storage with RBD

This patch allows the case where we're not running Ceph to host Persistent
storage (volumes) but just to host Ephemeral storage (VMs).

Before we were only allowing Ephemeral storage on Ceph when also
Persistent storage was using Ceph.

Change-Id: I03b775326e4424de413452f4453d4d88de0083bc

8 years agoSet shared secrets, keys and passwords as hidden
Juan Antonio Osorio Robles [Mon, 12 Oct 2015 10:59:22 +0000 (13:59 +0300)]
Set shared secrets, keys and passwords as hidden

Change-Id: Ieb27729c6b33ffc849d07200ec0d42508214956e
Closes-Bug: #1399793

8 years agoMerge "Allow one to specify horizon ALLOWED_HOSTS"
Jenkins [Mon, 12 Oct 2015 14:10:01 +0000 (14:10 +0000)]
Merge "Allow one to specify horizon ALLOWED_HOSTS"

8 years agoAllow one to specify horizon ALLOWED_HOSTS
Yanis Guenane [Tue, 8 Sep 2015 11:01:48 +0000 (13:01 +0200)]
Allow one to specify horizon ALLOWED_HOSTS

If horizon is running in production (DEBUG is False), it will answer
only to the IPs/hostnames specified in the ALLOWED_HOSTS variable in the
local_settings.py configuration file.

The puppet-horizon module offer the feature to customize that,
tripleo-heat-teamplates was missing the link between the top-level
parameter and the puppet parameter, hence this commit.

More info :

 * https://docs.djangoproject.com/en/dev/ref/settings/#allowed-hosts
 * https://github.com/openstack/puppet-horizon/blob/master/templates/local_settings.py.erb#L14-L24

Change-Id: I5faede8b74a0318e15baa761dc502b95b051ae0d

8 years agoMerge "Allow enabling debug mode for config management (Puppet)"
Jenkins [Mon, 12 Oct 2015 08:10:26 +0000 (08:10 +0000)]
Merge "Allow enabling debug mode for config management (Puppet)"

8 years agoMerge "Move RHEL (un)registration to NodeExtraConfig"
Jenkins [Mon, 12 Oct 2015 08:04:59 +0000 (08:04 +0000)]
Merge "Move RHEL (un)registration to NodeExtraConfig"

8 years agoMerge "Ensure httpd is not enabled by puppet on system boot"
Jenkins [Mon, 12 Oct 2015 08:02:58 +0000 (08:02 +0000)]
Merge "Ensure httpd is not enabled by puppet on system boot"

8 years agoMerge "Docker compute role configured via Puppet"
Jenkins [Fri, 9 Oct 2015 19:09:01 +0000 (19:09 +0000)]
Merge "Docker compute role configured via Puppet"

8 years agoEnsure httpd is not enabled by puppet on system boot
Giulio Fidente [Fri, 9 Oct 2015 11:31:14 +0000 (13:31 +0200)]
Ensure httpd is not enabled by puppet on system boot

The httpd daemon will be started and managed by Pacemaker, it should
not be enabled by puppet. Ideally, it shouldn't be started either
but it seems it isn't possible with horizon and apache mod_wsgi [1].

1. https://bugzilla.redhat.com/show_bug.cgi?id=1247547

Change-Id: I8a1b23c4ea27ac86385314f6cfde8c49d0879969
Co-Authored-By: marios andreou (marios@redhat.com)
8 years agoMerge "Fix MariaDB account removal race condition"
Jenkins [Fri, 9 Oct 2015 11:26:03 +0000 (11:26 +0000)]
Merge "Fix MariaDB account removal race condition"

8 years agoMerge "Rework pacemaker constraints from ovs and netns cleanup agents"
Jenkins [Fri, 9 Oct 2015 09:18:57 +0000 (09:18 +0000)]
Merge "Rework pacemaker constraints from ovs and netns cleanup agents"

8 years agoMerge "Wire in NodeExtraConfig interface"
Jenkins [Fri, 9 Oct 2015 08:56:59 +0000 (08:56 +0000)]
Merge "Wire in NodeExtraConfig interface"

8 years agoMerge "Ensure Glance API reaches Registry using the service VIP"
Jenkins [Fri, 9 Oct 2015 08:37:27 +0000 (08:37 +0000)]
Merge "Ensure Glance API reaches Registry using the service VIP"

8 years agoMerge "Update README.rst"
Jenkins [Fri, 9 Oct 2015 08:32:55 +0000 (08:32 +0000)]
Merge "Update README.rst"

8 years agoUpdate README.rst
Dan Prince [Fri, 2 Oct 2015 22:09:10 +0000 (18:09 -0400)]
Update README.rst

This commit renames and updates the rather outdated README
for this project.

Change-Id: Ibd1531dc14a2c04d8d91a3339c1df47a41c94790

8 years agoEnsure Glance API reaches Registry using the service VIP
Giulio Fidente [Thu, 8 Oct 2015 11:32:55 +0000 (13:32 +0200)]
Ensure Glance API reaches Registry using the service VIP

Previously the Registry service was reached using the local IP.

Change-Id: I8f2b7275cd39d8a5358d8ce69f4f7e5bc7758b62

8 years agoDocker compute role configured via Puppet
Dan Prince [Wed, 5 Aug 2015 12:55:57 +0000 (08:55 -0400)]
Docker compute role configured via Puppet

This change adds a containerized version of the overcloud compute node for
TripleO. Configuration files are generated via OpenStack Puppet modules
which are then used to externally configure kolla containers for
each OpenStack service.

See the README-containers.md file for more information on how to set this up.

This uses AtomicOS as a base operating system and requires that we bootstrap
the image with a container which contains the required os-collect-config agent
hooks to support running puppet, shell scripts, and docker compose.

Change-Id: Ic8331f52b20a041803a9d74cdf0eb81266d4e03c
Co-Authored-By: Ian Main <imain@redhat.com>
Co-Authored-By: Ryan Hallisey <rhallise@redhat.com>
8 years agoMerge "puppet: allow to configure any ceilometer param with Hiera"
Jenkins [Thu, 8 Oct 2015 09:03:49 +0000 (09:03 +0000)]
Merge "puppet: allow to configure any ceilometer param with Hiera"

8 years agoMerge "Move os-apply-config templates into a directory"
Jenkins [Wed, 7 Oct 2015 22:03:10 +0000 (22:03 +0000)]
Merge "Move os-apply-config templates into a directory"

8 years agoMerge "Drop stale base, nagios, debian-mirror templates"
Jenkins [Wed, 7 Oct 2015 22:03:03 +0000 (22:03 +0000)]
Merge "Drop stale base, nagios, debian-mirror templates"

8 years agoMerge "Drop examples"
Jenkins [Wed, 7 Oct 2015 22:01:31 +0000 (22:01 +0000)]
Merge "Drop examples"

8 years agoMerge "Enable Cisco N1KV driver"
Jenkins [Wed, 7 Oct 2015 07:23:17 +0000 (07:23 +0000)]
Merge "Enable Cisco N1KV driver"

8 years agoRework pacemaker constraints from ovs and netns cleanup agents
marios [Wed, 30 Sep 2015 10:47:58 +0000 (13:47 +0300)]
Rework pacemaker constraints from ovs and netns cleanup agents

In the current neutron-* services constraints chain, the ovs and
netns cleanup services are re-run after a neutron-server restart.
As discussed at [1] this may not be desirable leaving some neutron
services down and any tenant routers without IP.

This review introduces a second constraints chain so we now have:

neutron-server-->openvswitch-->dhcp-->l3-->metadata
and
ovs-cleanup-->netns-cleanup-->openvswitch

Instead of a single chain like

neutron-server-->ovs-cleanup-->netns-cleanup-->openvswitch-->
dhcp-->l3-->metadata

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1266910#c12

Related-Bug: 1501378
Change-Id: I4096704257aff74ff5bd37d8d01d8a776c6c6a76

8 years agoFix MariaDB account removal race condition
Jiri Stransky [Fri, 2 Oct 2015 12:49:25 +0000 (14:49 +0200)]
Fix MariaDB account removal race condition

The removal of default MariaDB accounts was being triggered roughly at
the same time on all controllers, causing a race condition -- multiple
nodes found an account present and attempted deletion, but then only one
succeeded with the deletion, the others failed.

HA controller deletes the accounts only on bootstrap node now, which
fixes the issue.

Change-Id: Ieacd10a6ce26da50f6a37eaa3221d866c24353fa

8 years agoMove os-apply-config templates into a directory
Dan Prince [Fri, 2 Oct 2015 21:52:05 +0000 (17:52 -0400)]
Move os-apply-config templates into a directory

This patch moves all of the os-apply-config (tripleo-image-elements)
specific templates into a common directory. This matches what
we do for puppet and should help new users more easily
understand the project layout.

Change-Id: I7dce2a770d56795f3ea22c8a464595c4a0c60832

8 years agoDrop stale base, nagios, debian-mirror templates
Dan Prince [Fri, 2 Oct 2015 21:32:23 +0000 (17:32 -0400)]
Drop stale base, nagios, debian-mirror templates

This patch removes a couple (top-level) templates that
are no longer used.

Change-Id: I71ba379b0d026e04fbcd45aaa2a0b587ba457c8c

8 years agoDrop examples
Dan Prince [Fri, 2 Oct 2015 21:13:51 +0000 (17:13 -0400)]
Drop examples

This patch removes the examples directory which hasn't been
maintained for some time. The best examples for heat templates
now live in the heat-templates project.

Change-Id: Ia875cb8910418409d2335b5fb18c6df00b876e8c

8 years agopuppet: allow to configure any ceilometer param with Hiera
Emilien Macchi [Fri, 2 Oct 2015 16:17:33 +0000 (12:17 -0400)]
puppet: allow to configure any ceilometer param with Hiera

By including ::ceilometer::config on controller & compute, we allow
anyone to trick ceilometer.conf with any parameter, using Hiera.

Change-Id: Ie6698d5e6900ecaaf7f19ed79e9c44b39ced0559

8 years agoMerge "Deprecate the undercloud templates."
Jenkins [Thu, 1 Oct 2015 17:41:22 +0000 (17:41 +0000)]
Merge "Deprecate the undercloud templates."

8 years agoMerge "Add DnsServers param to network config templates"
Jenkins [Thu, 1 Oct 2015 14:59:04 +0000 (14:59 +0000)]
Merge "Add DnsServers param to network config templates"

8 years agoMerge "swift::storage::all deprecation cleanup"
Jenkins [Thu, 1 Oct 2015 14:46:02 +0000 (14:46 +0000)]
Merge "swift::storage::all deprecation cleanup"

8 years agoDeprecate the undercloud templates.
Dan Prince [Thu, 1 Oct 2015 13:50:44 +0000 (09:50 -0400)]
Deprecate the undercloud templates.

This patch moves the undercloud templates into the deprecated
directory. The Makefile still builds the resulting templates
at the top level so users should not be broken by this
change.

Change-Id: Ibcb87fe31a6894552a5e445b5495e69fdcc2d382

8 years agoMove RHEL (un)registration to NodeExtraConfig
Steven Hardy [Thu, 1 Oct 2015 09:26:16 +0000 (10:26 +0100)]
Move RHEL (un)registration to NodeExtraConfig

Currently, we have a problem because the unregistration happens in the
"post deploy" phase, which works fine when the top-level stack is being
deleted, but not when the ResourceGroup of servers is being scaled down,
because then the normal "post deploy" update ordering is respected and
we try to unregister after the corresponding server has been deleted.

So, instead, register/unregister each node inside the unit of scale,
e.g the role template being scaled down, which is possible via the new
NodesExtraConfig interface, which means unregistration will take
place at the right time both on stack delete and on scale-down.

Change-Id: I8f117a49fd128f268659525dd03ad46ba3daa1bc

8 years agoWire in NodeExtraConfig interface
Steven Hardy [Thu, 24 Sep 2015 10:52:06 +0000 (11:52 +0100)]
Wire in NodeExtraConfig interface

It's become apparent that some actions are required in the pre-deploy
phase for all nodes, for example applying common hieradata overrides,
or also as a place to hook in logic which must happen for all nodes
prior to their removal on scale down (such as unregistration from
a satellite server, which currently doesn't work via the
*NodesPostDeployment for scale-down usage).

So, add a new interface that enables ExtraConfig per-node (inside the
scaled unit, vs AllNodes which is used for the cluster-wide config
outside of the ResourceGroup)

Change-Id: Ic865908e97483753e58bc18e360ebe50557ab93c

8 years agoForce stop a single node pacemaker on yum update
Steve Baker [Wed, 30 Sep 2015 21:17:29 +0000 (10:17 +1300)]
Force stop a single node pacemaker on yum update

Currently package updates won't occur on a single node
non-HA pacemaker managed Controller because stopping
the node loses the quorum of 1.

This change gets the count of current nodes in the cluster and
if the count is 1 then specify --force when doing a pcs cluster stop.

Change-Id: I0de2488e24f1ef53a935dbc90ec6de6142bb4264

8 years agoMake package upgrade pacemaker-aware
Steve Baker [Mon, 21 Sep 2015 01:05:45 +0000 (13:05 +1200)]
Make package upgrade pacemaker-aware

This change adds alternative logic for handling package updates
on a pacemaker managed node.

"yum list updates" is now run and this script exits early if
there are no packages to update.

If the pacemaker service is not running then the previous puppet
logic remains, so a package update is performed which excludes packages
managed by puppet, and a flag is set to indicate that puppet should
perform an ensure=>latest on all packages it manages.

However if the pacemaker service is running, the following occurs:
- pcs cluster stop is run for this node
- a full yum update is performed
- pcs cluster start is run for this node
- pcs status is run until the hostname for this node appears in the
  Online list

This means that puppet is not involved in the package update process when
the node is managed by pacemaker.

Change-Id: I5ad118552d053dbda280978751167d9fd9da9874

8 years agoEnsure present/latest for puppet driven package updates
Steve Baker [Thu, 1 Oct 2015 02:37:17 +0000 (15:37 +1300)]
Ensure present/latest for puppet driven package updates

This change updates yum_update.sh so that we set set a boolean
output when "managed" packages should get updated. The
output is named 'update_managed_packages' and for the
puppet implementation it is wired up so that it
directly sets tripleo::packages::enable_upgrade to
control whether packages are updated.

It also modifies yum_update.sh to build a yum update excludes list for
packages managed by puppet. The exclude lists are being
generated via puppet-tripleo as well via the new 'write_package_names'
function that is now wired into all the role manifests.

This change does not actually trigger the puppet apply. The fix for
Related-Bug: #1463092 will be used to trigger the puppet run when the
hiera changes. As a minor tweak to this logic we append the
UpdateIdentifier to the config_identifier so that we ensure
puppet gets executed on an update where other (non-related)
hiera changes also occur.

Co-Authored-By: Dan Prince <dprince@redhat.com>
Change-Id: I343c3959517eae38bbcd43648ed56f610272864d

8 years agoWrite package names out to flat files
Dan Prince [Mon, 22 Jun 2015 20:19:33 +0000 (16:19 -0400)]
Write package names out to flat files

This patch updates all of the overcloud manifests so that
we write out flat files containing lists of the Puppet
packages which were managed by each manifest.

The flat files all get written to
/var/lib/puppet-tripleo/installed-packages/ where they can
be easily parsed by external tools. Example format from
the flat files looks like (for the controller step 1):

cat /var/lib/puppet-tripleo/installed-packages/overcloud_controller1
keepalived
haproxy

Depends-On: If3e03b1983fed47082fac8ce63f975557dbc503c

Change-Id: Ia324a08711796aa664f9c0273a051f4f2e3e92c9

8 years agoAdd DnsServers param to network config templates
Dan Prince [Wed, 23 Sep 2015 20:29:00 +0000 (16:29 -0400)]
Add DnsServers param to network config templates

This patch adds a new optional DnsServers parameter
which can be used to provide a custom list of DNS
resolvers which will be configured in resolv.conf.

Change-Id: I2bb7259ebc09d786dc56da18694c862f802091b1
Depends-On: I9edecfdd4e1d0f39883b72be554cd92c5685881d

8 years agoAllow enabling debug mode for config management (Puppet)
Jiri Stransky [Thu, 16 Jul 2015 08:43:18 +0000 (10:43 +0200)]
Allow enabling debug mode for config management (Puppet)

Also adds an environment file which can be passed to heat stack-create
to enable debugging.

Change-Id: I9758e2ca3de6a0bed6d20c37ea19e48f47220721
Depends-On: Ie92d1714a8d7e59d347474039be999bd3a2b542f

8 years agoEnable Cisco N1KV driver
Shiva Prasad Rao [Tue, 14 Jul 2015 02:37:12 +0000 (19:37 -0700)]
Enable Cisco N1KV driver

This enables support for the Cisco N1kv driver for the ML2 plugin.
It also configures the Nexus 1000v switch.

Co-Authored-By: Steven Hillman <sthillma@cisco.com>
Depends-On: I02dda0685c7df9013693db5eeacb2f47745d05b5
Depends-On: I3f14cdce9b9bf278aa9b107b2d313e1e82a20709

Change-Id: Idf23ed11a53509c00aa5fea4c87a515f42ad744f

8 years agoMerge "Adding core_plugin, type_drivers and service_plugins parameters"
Jenkins [Mon, 28 Sep 2015 17:40:43 +0000 (17:40 +0000)]
Merge "Adding core_plugin, type_drivers and service_plugins parameters"

8 years agoAdding core_plugin, type_drivers and service_plugins parameters
Shiva Prasad Rao [Thu, 20 Aug 2015 20:35:59 +0000 (16:35 -0400)]
Adding core_plugin, type_drivers and service_plugins parameters

Make core_plugin, type_drivers and service_plugins parameter in
neutron configurable through heat.
Also changing the type_drivers order to "vxlan,vlan,flat,gre"

Change-Id: Iba895ed5897bdaf7bb772ffc063c424abb6e1638

8 years agoAdd CephStorageExtraConfigPre resource
Giulio Fidente [Fri, 25 Sep 2015 18:02:36 +0000 (20:02 +0200)]
Add CephStorageExtraConfigPre resource

This change adds a CephStorageExtraConfigPre which can be used
to distribute hooks for the CephStorage nodes.

Change-Id: Id0023d8ffddb3ee5e855d5dcc32c76bc41ce4c63

8 years agoAllow a user to set specific setting per host
Yanis Guenane [Thu, 20 Aug 2015 08:24:57 +0000 (10:24 +0200)]
Allow a user to set specific setting per host

It is currently not possible to specify settings per host and not per
type of host.

One of the example of the problematic that could cause is : What if
node0 have devices /dev/sdb and /dev/sdc while node1 have devices
/dev/sda and /dev/sdd, they is currently no way to specify that simply.

The idea here is to add a top priority file in the hiera lookup that
will match the UUID of the System Information section in the output of
the dmidecode command.

The file could be provided with the firstboot/rsync stack for example.

Change-Id: I3ab082c8ebd2567bd1d914fc0b924e19b1eff7d0

8 years agoExample of passing per-node config data in pre_deploy config
Steven Hardy [Thu, 20 Aug 2015 12:30:00 +0000 (13:30 +0100)]
Example of passing per-node config data in pre_deploy config

Shows one method of passing a map of data in to the pre_deploy extraconfig
interface, such that it could be used in combination with
https://review.openstack.org/#/c/215013/ to create a node uuid specific
hieradata file, or to perform some other non-puppet per-node configuration.

This would be used by specifying an environment file like:
resource_registry:
      OS::TripleO::ControllerExtraConfigPre: puppet/extraconfig/pre_deploy/per_node.yaml
parameter_defaults:
      NodeDataLookup: |
        {"AB4114B1-9C9D-409A-BEFB-D88C151BF2C3": {"foo": "bar"},
         "8CF1A7EA-7B4B-4433-AC83-17675514B1B8": {"foo2": "bar2"}}

Change-Id: I62e344669e0ca781dd93d3f7d2190b70299877c2

8 years agoMerge "Rename -puppet.yaml templates."
Jenkins [Fri, 25 Sep 2015 14:58:42 +0000 (14:58 +0000)]
Merge "Rename -puppet.yaml templates."