apex-tripleo-heat-templates.git
9 years agoos-net-config templates to configure vlans on bond
Dan Prince [Wed, 20 May 2015 18:27:28 +0000 (11:27 -0700)]
os-net-config templates to configure vlans on bond

This patch adds 5 new role templates to help configure
an OVS bond with vlans on top for each of the overcloud
roles.

These are meant to represent a more production network
which might use isolated nets, and should help facilitate
create a CI job which configures a bond w/ vlans on it.

The patch also includes an environment file to
enable configuration of bonded vlans by simply
sourcing this file.

Change-Id: Ibe4c9d933445014ce3bec5fb3d7e3139fc40cb32

9 years agoAn environment file to enable network isolation
Dan Prince [Fri, 22 May 2015 16:07:05 +0000 (09:07 -0700)]
An environment file to enable network isolation

This commit adds an environment file which adds all
the relevant resource registry entries to enable isolated
overcloud networks.

Change-Id: I8c5e0ca300b86a38925f59c9df7831d69da9f787

9 years agoSwitch net-config templates to use OS::stack_id
Dan Prince [Tue, 19 May 2015 19:19:52 +0000 (12:19 -0700)]
Switch net-config templates to use OS::stack_id

This patch removes the custom config_id outputs and replaces
it with OS::stack_id which allows us to just call get_resource
in the parent stack.

The motivation for this change is we'll be adding more os-net-config
templates and it would be nice to take advantage of this newer
template feature.

Change-Id: I6fcb26024b94420779b86766e16d8a24210c4f8e

9 years agoUpdate neutron local_ip to use the tenant network
Dan Prince [Wed, 29 Apr 2015 14:58:00 +0000 (10:58 -0400)]
Update neutron local_ip to use the tenant network

This patch uses the new NetIpMap and ServiceMap abstractions
to assign the Neutron tenant tunneling network addresses.
By default this is associated with the tenant network. If no
tenant network is activated this will still default to
the control plane IP address.

Change-Id: I9db7dd0c282af4e5f24947f31da2b89f231e6ae4

9 years agoAdd a network ports IP mapping resource
Dan Prince [Wed, 29 Apr 2015 14:53:07 +0000 (10:53 -0400)]
Add a network ports IP mapping resource

This patch adds a resource which constructs a Json output
parameter called net_ip_map which will allow us to easily
extract arbitrary IP addresses for each network using the
get_attr function in heat.

The goal is to use this data construct in each role
template to obtain the correct IP address on each
network.

Change-Id: I1a8c382651f8096f606ad38f78bbd76314fbae5f

9 years agoAdd isolated network ports to block storage roles
Dan Prince [Thu, 7 May 2015 01:14:01 +0000 (21:14 -0400)]
Add isolated network ports to block storage roles

This patch updates the cinder block storage roles so that
they can optionally make use of isolated network
ports on the storage, storage management, and internal_api
networks.

 -Multiple networks are created based upon settings in the heat
  resource registry. These nets will either use the noop network (the
  control plane pass-thru default) or create a custom Neutron port on
  each of the configured networks.

 -The ipaddress/subnet of each network is passed passed into the
  NetworkConfig resource which drives os-net-config. This allows the
  deployer to define a custom network template for static IPs, etc
  on each of the networks.

 -The ipaddress is exposed as an output parameter. By exposing
  the individual addresses as outputs we allow Heat to construct
  collections of ports for various services.

Change-Id: I4e18cd4763455f815a8f8b82c93a598c99cc3842

9 years agoAdd isolated network ports to swift roles
Dan Prince [Thu, 7 May 2015 01:04:22 +0000 (21:04 -0400)]
Add isolated network ports to swift roles

This patch updates the swift roles so that
they can optionally make use of isolated network
ports on the storage, storage management, and internal API
networks.

 -Multiple networks are created based upon settings in the heat
  resource registry. These nets will either use the noop network (the
  control plane pass-thru default) or create a custom Neutron port on
  each of the configured networks.

 -The ipaddress/subnet of each network is passed passed into the
  NetworkConfig resource which drives os-net-config. This allows the
  deployer to define a custom network template for static IPs, etc
  on each of the networks.

 -The ipaddress is exposed as an output parameter. By exposing
  the individual addresses as outputs we allow Heat to construct
  collections of ports for various services.

Change-Id: I9984404331705f6ce569fb54a38b2838a8142faa

9 years agoAdd isolated network ports to ceph roles
Dan Prince [Wed, 6 May 2015 20:16:17 +0000 (16:16 -0400)]
Add isolated network ports to ceph roles

This patch updates the ceph roles so that
they can optionally make use of isolated network
ports on the storage and storage management networks.

 -Multiple networks are created based upon settings in the heat
  resource registry. These nets will either use the noop network (the
  control plane pass-thru default) or create a custom Neutron port on
  each of the configured networks.

 -The ipaddress/subnet of each network is passed passed into the
  NetworkConfig resource which drives os-net-config. This allows the
  deployer to define a custom network template for static IPs, etc
  on each of the networks.

 -The ipaddress is exposed as an output parameter. By exposing
  the individual addresses as outputs we allow Heat to construct
  collections of ports for various services.

Change-Id: I35cb8e7812202f8a7bc0379067bf33d483cd2aec

9 years agoAdd isolated network ports to compute roles
Dan Prince [Wed, 6 May 2015 19:57:12 +0000 (15:57 -0400)]
Add isolated network ports to compute roles

This patch updates the compute roles so that
they can optionally make use of isolated network
ports on the tenant, storage, and internal_api networks.

 -Multiple networks are created based upon settings in the heat
  resource registry. These nets will either use the noop network (the
  control plane pass-thru default) or create a custom Neutron port on
  each of the configured networks.

 -The ipaddress/subnet of each network is passed passed into the
  NetworkConfig resource which drives os-net-config. This allows the
  deployer to define a custom network template for static IPs, etc
  on each of the networks.

 -The ipaddress is exposed as an output parameter. By exposing
  the individual addresses as outputs we allow Heat to construct
  collections of ports for various services.

Change-Id: Ib07b4b7256ede7fb47ecc4eb5abe64b9144b9aa1

9 years agoAdd isolated network ports to controller roles
Dan Prince [Mon, 27 Apr 2015 15:55:10 +0000 (11:55 -0400)]
Add isolated network ports to controller roles

This patch updates the controller roles so that
they can optionally make use of isolated network
ports on each of 5 available overcloud networks.

 -Multiple networks are created based upon settings in the heat
  resource registry. These nets will either use the noop network (the
  control plane pass-thru default) or create a custom Neutron port on
  each of the configured networks.

 -The ipaddress/subnet of each network is passed passed into the
  NetworkConfig resource which drives os-net-config. This allows the
  deployer to define a custom network template for static IPs, etc
  on each of the networks.

 -The ipaddress is exposed as an output parameter. By exposing
  the individual addresses as outputs we allow Heat to construct
  collections of ports for various services.

Change-Id: I9bbd6c8f5b9697ab605bcdb5f84280bed74a8d66

9 years agoAdd isolated net parameters to net-config stacks
Dan Prince [Wed, 6 May 2015 19:12:34 +0000 (15:12 -0400)]
Add isolated net parameters to net-config stacks

This patch adds parameters so that we can pass in the
ipaddress/subnet for each of the isolated overcloud
traffic nets to os-net-config templates. This
interface change will allow deployers to plug
in a custom version of an os-net-config template
that drives isolated network configuration.

Change-Id: I35bbe9a0bd81e79f9bfd531fe89c700af8b354c4

9 years agoAdd a ports (ip address) abstraction layer
Dan Prince [Mon, 27 Apr 2015 15:00:52 +0000 (11:00 -0400)]
Add a ports (ip address) abstraction layer

This patch adds a set of templates to create ports on isolated
networks via Heat. There are 5 port templates in total
which are split out according to the available overcloud
networks.

Change-Id: I5175ef48c1960ea0d13fc8518328db53921c70cd

9 years agoMerge "Wire in optional network creation for overcloud"
Jenkins [Tue, 26 May 2015 12:39:33 +0000 (12:39 +0000)]
Merge "Wire in optional network creation for overcloud"

9 years agoWire in optional network creation for overcloud
Dan Prince [Mon, 27 Apr 2015 14:53:30 +0000 (10:53 -0400)]
Wire in optional network creation for overcloud

This patch enables uses to selectively enable the creation
of split out networks for the overcloud traffic. These
networks will be created on the undercloud's neutron
instance.

By default a noop network is used so that no extra networks
are created. This allows our default to continue being
all traffic on the control plane.

Change-Id: Ied49d9458c2d94e9d8e7d760d5b2d971c7c7ed2d

9 years agoMerge "Firstboot rsync for development purposes"
Jenkins [Fri, 22 May 2015 12:22:02 +0000 (12:22 +0000)]
Merge "Firstboot rsync for development purposes"

9 years agoMerge "Add Glance as Pacemaker resource"
Jenkins [Fri, 22 May 2015 08:18:48 +0000 (08:18 +0000)]
Merge "Add Glance as Pacemaker resource"

9 years agoMerge "Add Cinder services as Pacemaker resources"
Jenkins [Fri, 22 May 2015 08:16:24 +0000 (08:16 +0000)]
Merge "Add Cinder services as Pacemaker resources"

9 years agoAlign puppet Controller post-deploy Deployment names
Steven Hardy [Tue, 12 May 2015 13:18:07 +0000 (09:18 -0400)]
Align puppet Controller post-deploy Deployment names

Align all Deployment resource so we can use a glob convention for
stepped deployments via heat hooks/breakpoints.

Since most resources already use a FooDeployment_StepN convention,
align those which deviate from this as a precursor to supporting
stepped deployment, e.g stepping through "*Deployment_Step*".

Change-Id: I6bfee04649aa36116d1141ebe06d08b310ec8939

9 years agoMerge "Overcloud: bump HOT version to 2015-04-30"
Jenkins [Thu, 21 May 2015 16:03:12 +0000 (16:03 +0000)]
Merge "Overcloud: bump HOT version to 2015-04-30"

9 years agoAdd Glance as Pacemaker resource
Giulio Fidente [Thu, 21 May 2015 15:11:19 +0000 (17:11 +0200)]
Add Glance as Pacemaker resource

Change-Id: If87cc4d55e8524246d2cd41a62805f84780006b2

9 years agoAdd Cinder services as Pacemaker resources
Jiri Stransky [Thu, 21 May 2015 09:28:25 +0000 (11:28 +0200)]
Add Cinder services as Pacemaker resources

Add Pacemaker resources for Cinder services, also add relevant ordering
and colocation constraints.

Change-Id: Idc2e1b5ec96d882543f7a1a4ec723a010020ab02

9 years agoMerge "Start non-pacemakerized services in step 4"
Jenkins [Thu, 21 May 2015 10:11:12 +0000 (10:11 +0000)]
Merge "Start non-pacemakerized services in step 4"

9 years agoMerge "Use clustercheck script to control galera-ready"
Jenkins [Thu, 21 May 2015 08:20:48 +0000 (08:20 +0000)]
Merge "Use clustercheck script to control galera-ready"

9 years agoStart non-pacemakerized services in step 4
Jiri Stransky [Thu, 21 May 2015 08:16:46 +0000 (10:16 +0200)]
Start non-pacemakerized services in step 4

Previously we've been starting non-pacemakerized services in step 3 on
bootstrap node and in step 4 on others. Now that $sync_db in OpenStack
Puppet modules is decoupled from $enabled and $manage_service [1] we can
start the services in step 4 on all nodes.

[1] https://bugs.launchpad.net/puppet-glance/+bug/1452278

Change-Id: I6351d972ab00f4661d98338d95310d33f271de2f

9 years agoMerge "Prepare for adding OpenStack services to Pacemaker"
Jenkins [Thu, 21 May 2015 08:13:40 +0000 (08:13 +0000)]
Merge "Prepare for adding OpenStack services to Pacemaker"

9 years agoOvercloud: bump HOT version to 2015-04-30
Dan Prince [Wed, 20 May 2015 17:08:18 +0000 (10:08 -0700)]
Overcloud: bump HOT version to 2015-04-30

This patch bumps the HOT version for the overcloud
to Kilo 2015-04-30. We should have already done this
since we are making use of OS::stack_id (a kilo feature)
in some of the nested stacks. Also, this will give us access to
the new repeat function as well.

Change-Id: Ic534e5aeb03bd53296dc4d98c2ac5971464d7fe4

9 years agoMerge "Move sysctl settings into hieradata"
Jenkins [Wed, 20 May 2015 17:23:55 +0000 (17:23 +0000)]
Merge "Move sysctl settings into hieradata"

9 years agoMerge "Set up corosync using hostnames rather than IPs"
Jenkins [Wed, 20 May 2015 15:40:43 +0000 (15:40 +0000)]
Merge "Set up corosync using hostnames rather than IPs"

9 years agoMove sysctl settings into hieradata
Giulio Fidente [Tue, 19 May 2015 09:23:09 +0000 (11:23 +0200)]
Move sysctl settings into hieradata

This will configure the sysctl settings via puppet instead of
sysctl image element.

Change-Id: Ieb129d4cbe4b6d4184172631499ecd638073564f

9 years agoMerge "Clone params for pacemaker rabbitmq resource"
Jenkins [Wed, 20 May 2015 14:51:26 +0000 (14:51 +0000)]
Merge "Clone params for pacemaker rabbitmq resource"

9 years agoMerge "Provide RabbitMQ clients with a list of servers instead of VIP"
Jenkins [Wed, 20 May 2015 14:51:19 +0000 (14:51 +0000)]
Merge "Provide RabbitMQ clients with a list of servers instead of VIP"

9 years agoUse clustercheck script to control galera-ready
Giulio Fidente [Wed, 20 May 2015 14:19:28 +0000 (10:19 -0400)]
Use clustercheck script to control galera-ready

The exec timeout/attempts is configured so that it is
left running for up to 30mins if the command runs but is
unsuccessfull and up to 2h if the command times out.

Change-Id: I4b6b77e878017bf92d7c59c868d393e74405a355

9 years agoPrepare for adding OpenStack services to Pacemaker
Jiri Stransky [Wed, 20 May 2015 08:26:08 +0000 (10:26 +0200)]
Prepare for adding OpenStack services to Pacemaker

We need to write config for OpenStack services on all nodes in step 3 so
that we can then create pacemaker resources in step 4. (If we wrote
config on non-bootstrap nodes in step 4 as it is currently, services on
those nodes might be started unconfigured. This is an inter-node
ordering issue that cannot be easily solved from within Puppet
manifests, hence the use of steps to enforce this ordering.)

Change-Id: Ia78ec38520bd1295872ea2690e8d3f8d6b01c46c

9 years agoMerge "Consolidate use of $pacemaker_master in step 2"
Jenkins [Wed, 20 May 2015 08:55:19 +0000 (08:55 +0000)]
Merge "Consolidate use of $pacemaker_master in step 2"

9 years agoMerge "Enable VIPs via Pacemaker from step 2 instead of step 1"
Jenkins [Wed, 20 May 2015 08:51:26 +0000 (08:51 +0000)]
Merge "Enable VIPs via Pacemaker from step 2 instead of step 1"

9 years agoMerge "Move NTP and Memacache respectively into step 1 and step 2"
Jenkins [Wed, 20 May 2015 08:48:15 +0000 (08:48 +0000)]
Merge "Move NTP and Memacache respectively into step 1 and step 2"

9 years agoMerge "Ensure sync_db is consumed by Keystone and Cinder classes"
Jenkins [Wed, 20 May 2015 08:45:16 +0000 (08:45 +0000)]
Merge "Ensure sync_db is consumed by Keystone and Cinder classes"

9 years agoMerge "Remove unused enable_pacemaker setting from templates"
Jenkins [Tue, 19 May 2015 15:55:08 +0000 (15:55 +0000)]
Merge "Remove unused enable_pacemaker setting from templates"

9 years agoMerge "Configure HAProxy, Galera and MongoDB before start"
Jenkins [Tue, 19 May 2015 15:54:41 +0000 (15:54 +0000)]
Merge "Configure HAProxy, Galera and MongoDB before start"

9 years agoMerge "Update to reflect puppet-pacemaker changes"
Jenkins [Tue, 19 May 2015 15:54:29 +0000 (15:54 +0000)]
Merge "Update to reflect puppet-pacemaker changes"

9 years agoMerge "Fix RabbitMQ startup race"
Jenkins [Tue, 19 May 2015 15:53:33 +0000 (15:53 +0000)]
Merge "Fix RabbitMQ startup race"

9 years agoClone params for pacemaker rabbitmq resource
Jiri Stransky [Tue, 19 May 2015 15:02:05 +0000 (17:02 +0200)]
Clone params for pacemaker rabbitmq resource

Set clone params according to [1].

[1] https://github.com/beekhof/osp-ha-deploy/blob/f8a65ab4c34f94737edde7db60337b830bfe6311/pcmk/rabbitmq.scenario

Change-Id: I5644de2d6253ab762a1420560ecb5bee2fd83092
Co-Authored-By: Giulio Fidente <gfidente@redhat.com>
9 years agoProvide RabbitMQ clients with a list of servers instead of VIP
Giulio Fidente [Thu, 7 May 2015 17:05:13 +0000 (13:05 -0400)]
Provide RabbitMQ clients with a list of servers instead of VIP

This will change the way how RabbitMQ clients get to the servers,
they will not go through HAProxy anymore.

Change-Id: I522d7520b383a280505e0e7c8fecba9ac02d2c9b

9 years agoConsolidate use of $pacemaker_master in step 2
Giulio Fidente [Mon, 18 May 2015 14:57:55 +0000 (10:57 -0400)]
Consolidate use of $pacemaker_master in step 2

Aims at having the Pacemaker resources configuration happening
in a single if condition.

Change-Id: I497538510f80a356e876d476024671b787b77fc9

9 years agoEnable VIPs via Pacemaker from step 2 instead of step 1
Giulio Fidente [Mon, 18 May 2015 14:28:26 +0000 (10:28 -0400)]
Enable VIPs via Pacemaker from step 2 instead of step 1

Change-Id: I724c341f148fedf725f3b3da778e491741b754ae

9 years agoMerge "Environment which configures puppet pacemaker."
Jenkins [Tue, 19 May 2015 09:11:24 +0000 (09:11 +0000)]
Merge "Environment which configures puppet pacemaker."

9 years agoMerge "Add a directory for overcloud heat environments"
Jenkins [Tue, 19 May 2015 09:10:24 +0000 (09:10 +0000)]
Merge "Add a directory for overcloud heat environments"

9 years agoMove NTP and Memacache respectively into step 1 and step 2
Giulio Fidente [Mon, 18 May 2015 15:44:57 +0000 (11:44 -0400)]
Move NTP and Memacache respectively into step 1 and step 2

NTP synchronization is moved to to step 1 where initial Pacemaker
configuration is performed.

Memacached is moved to step 2 to make sure it is up before the
OpenStack services are started.

Change-Id: I84121a687ee5ddb522239ecefd4d1d76c2f910b5

9 years agoEnsure sync_db is consumed by Keystone and Cinder classes
Giulio Fidente [Mon, 18 May 2015 13:29:09 +0000 (09:29 -0400)]
Ensure sync_db is consumed by Keystone and Cinder classes

Change-Id: Ia8cb04b214c71afc884647fb20be3cc1a309c194

9 years agoRemove unused enable_pacemaker setting from templates
Giulio Fidente [Mon, 18 May 2015 13:17:31 +0000 (09:17 -0400)]
Remove unused enable_pacemaker setting from templates

Use of Pacemaker is governed by the resource registry since
change Ibefb80d0d8f98404133e4c31cf078d729b64dac3

Change-Id: I2f1fa8d6d28ae009940be2c2c530066197aa543b

9 years agoConfigure HAProxy, Galera and MongoDB before start
Jiri Stransky [Mon, 18 May 2015 12:32:49 +0000 (14:32 +0200)]
Configure HAProxy, Galera and MongoDB before start

As with RabbitMQ previously, we can hit the same race conditions between
config being written on all nodes vs. pacemaker starting the
services. Configuring the services at least one step earlier than
starting them will allow us to get rid of this race condition.

Change-Id: I78f47dfb82ca8609ed40f784d65ba92db3d411f3

9 years agoUpdate to reflect puppet-pacemaker changes
Jiri Stransky [Thu, 14 May 2015 16:08:58 +0000 (18:08 +0200)]
Update to reflect puppet-pacemaker changes

Recently puppet-pacemaker has changed in a backward incompatible way, we
need to reflect the changes in TripleO.

This patch also addresses non-deterministic order between corosync
service and VIP creation.

Depends-On: Ia68fee38f99dba18badc07eb0adbc473cfcffdf3
Change-Id: Ia7fe14cfb1401be98b62afeed589bb9f1b8af761
Co-Authored-By: Yanis Guenane <yanis.guenane@enovance.com>
9 years agoSet up corosync using hostnames rather than IPs
Jiri Stransky [Mon, 27 Apr 2015 12:02:19 +0000 (14:02 +0200)]
Set up corosync using hostnames rather than IPs

This ensures that the hosts in Corosync and in Pacemaker are the same,
to make our cluster setup compatible with the recommended architecture.

Change-Id: Id81f315768edd24b8978b8de7093e04904591ce2
Closes-Bug: #1447497
Depends-On: Idb9ad017ffb1048f38fedbd55cc974785f6b1c38

9 years agoFix RabbitMQ startup race
Giulio Fidente [Fri, 15 May 2015 09:49:16 +0000 (11:49 +0200)]
Fix RabbitMQ startup race

The Pacemaker resource agent might have attempted to start the
service when the rabbitmq-env.conf file wasn't written yet, making
it attempt to bind on 0.0.0.0

Co-Authored-By: Jason Guiditta <jguiditt@redhat.com>
Co-Authored-By: Jiri Stransky <jistr@redhat.com>
Change-Id: I081a0bfc6fc3943b8ade71799357022d29317d79

9 years agoEnvironment which configures puppet pacemaker.
Dan Prince [Thu, 14 May 2015 15:53:28 +0000 (11:53 -0400)]
Environment which configures puppet pacemaker.

Change-Id: I314955708ff99a557da5a6d223b1f56bd51855d9

9 years agoAdd a directory for overcloud heat environments
Dan Prince [Thu, 14 May 2015 15:49:34 +0000 (11:49 -0400)]
Add a directory for overcloud heat environments

This patch adds a new directory called environments which contains
custom Heat environment files that can be used to enable custom
overcloud features. As an initial example a puppet-ceph-devel.yaml
environment has been added which can be used to spin up a small Ceph
cluster for dev/testing.

This directory may be useful for collecting other
feature related Heat environment settings in the future as well.
Things like isolated network settings, etc.

Change-Id: Ia6998ae05d2363384d2a616a31d5795c8b2d85d5

9 years agoMerge "Ensure haproxy is not enabled by puppet-tripleo when EnablePacemaker"
Jenkins [Fri, 15 May 2015 09:07:21 +0000 (09:07 +0000)]
Merge "Ensure haproxy is not enabled by puppet-tripleo when EnablePacemaker"

9 years agoMerge "Makes sure galera can handle the connections"
Jenkins [Fri, 15 May 2015 08:59:35 +0000 (08:59 +0000)]
Merge "Makes sure galera can handle the connections"

9 years agoMakes sure galera can handle the connections
marios [Thu, 14 May 2015 13:38:06 +0000 (16:38 +0300)]
Makes sure galera can handle the connections

Increases the max_connections since this is currently set to 151.
This causes problems in a baremetal environment with multiple CPUs.
A related change is @ https://review.openstack.org/#/c/183046/2
for haproxy. There is also a bug report at

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

Change-Id: I9b4690191616cc04c4edc7b2402bd9ec54a7d17d

9 years agoMerge "Use pacemaker::resource::service instead of ::systemd"
Jenkins [Thu, 14 May 2015 16:35:13 +0000 (16:35 +0000)]
Merge "Use pacemaker::resource::service instead of ::systemd"

9 years agoEnsure haproxy is not enabled by puppet-tripleo when EnablePacemaker
Giulio Fidente [Mon, 11 May 2015 13:22:29 +0000 (15:22 +0200)]
Ensure haproxy is not enabled by puppet-tripleo when EnablePacemaker

Change-Id: Icfe70de72eb2cf09fe2d00d9ae49baebc79e1886

9 years agoMerge "Create split out neutron networks via Heat."
Jenkins [Wed, 13 May 2015 20:43:28 +0000 (20:43 +0000)]
Merge "Create split out neutron networks via Heat."

9 years agoMerge "Add Galera as a Pacemaker resource when EnablePacemaker"
Jenkins [Wed, 13 May 2015 16:50:37 +0000 (16:50 +0000)]
Merge "Add Galera as a Pacemaker resource when EnablePacemaker"

9 years agoAdd Galera as a Pacemaker resource when EnablePacemaker
Yanis Guenane [Mon, 27 Apr 2015 13:25:43 +0000 (15:25 +0200)]
Add Galera as a Pacemaker resource when EnablePacemaker

This commit aims to support the creation of the galera cluster via
Pacemaker. With this commit in, three use-cases will be supported.

 * Non HA setup / Non Pacemaker setup : The deployment will take place
as it is currently the case in f20puppet-nonha. Nothing changes.

 * Non HA setup / Pacemaker setup : Even though it is a non ha setup,
galera cluster via pacemaker  will be deployed with a cluster nbr of 1.

 * HA setup / Non Pacemaker setup : N/A

 * HA setup / Pacemaker setup : It is assumed that HA setup will
always be with pacemaker.  So in this situation pacemaker will deploy a
cluster of 3 galera master nodes.

Depends-On: I7aed9acec11486e0f4f67e4d522727476c767d83
Change-Id: If0c37a86fa8b5aa6d452129bccf7341a3a3ba667

9 years agoUse optimized config for RabbitMQ cluster
Giulio Fidente [Mon, 11 May 2015 13:37:07 +0000 (15:37 +0200)]
Use optimized config for RabbitMQ cluster

Use some optimized configuration settings for RabbitMQ when
clustered. Data is ported from Astapor.

Change-Id: If54aff5654dbe75e68197588be12cb3995c77ec7

9 years agoUse pacemaker::resource::service instead of ::systemd
Giulio Fidente [Mon, 11 May 2015 13:26:27 +0000 (15:26 +0200)]
Use pacemaker::resource::service instead of ::systemd

The puppet-pacemaker module realizes some abstraction for the
different service types in ::service already.

Change-Id: Icd897e18fda01b1bf4722a975c991e26341ac129
Closes-Bug: 1449988

9 years agoPuppet: Split out controller pacemaker manifest
Dan Prince [Thu, 7 May 2015 02:22:39 +0000 (22:22 -0400)]
Puppet: Split out controller pacemaker manifest

This patch adds support for using the Heat resource registry
so that end users can enable pacemaker. Using this approach
allows us to isolate all of the pacemaker logic for the
controller in a single template rather than use conditionals
for every service that must support it.

Change-Id: Ibefb80d0d8f98404133e4c31cf078d729b64dac3

9 years agoCreate split out neutron networks via Heat.
Dan Prince [Mon, 27 Apr 2015 14:46:28 +0000 (10:46 -0400)]
Create split out neutron networks via Heat.

This patch adds a new abstraction for network creation
within Heat. This (optional) set of templates may be disabled
if you wish to create Neutron networks for the undercloud
via Heat templates... instead of using os-cloud-config
JSON to do so. Creating networks with Heat has the benefit
of being parameter driven so that users can quickly
enable networks using the resource registry and parameters.

There are 5 networks to start with which are roughly modeled
around networks an Overcloud user might want to use to isolate
their traffic. The intent is to make these opt-in and
configurable for end users.

The networks.yaml template can be used to create all of the
networks using parameters in the resource registry.

Change-Id: I5f2b3356378eb263d90d428cc83c7f5b141957e1

9 years agoMerge "Add MongoDB as a Pacemaker resource when EnablePacemaker"
Jenkins [Tue, 5 May 2015 20:55:17 +0000 (20:55 +0000)]
Merge "Add MongoDB as a Pacemaker resource when EnablePacemaker"

9 years agoMerge "puppet: install Horizon on overcloud-controller"
Jenkins [Tue, 5 May 2015 13:11:43 +0000 (13:11 +0000)]
Merge "puppet: install Horizon on overcloud-controller"

9 years agoMerge "Move Ceph OSD data path configuration into static ceph.yaml file"
Jenkins [Tue, 5 May 2015 08:58:36 +0000 (08:58 +0000)]
Merge "Move Ceph OSD data path configuration into static ceph.yaml file"

9 years agoAdd MongoDB as a Pacemaker resource when EnablePacemaker
Yanis Guenane [Tue, 28 Apr 2015 12:52:49 +0000 (14:52 +0200)]
Add MongoDB as a Pacemaker resource when EnablePacemaker

This commit allows one to configure MongoDB as a pacemaker resource when
EnablePacemaker is set to true

Change-Id: Iedfba3eb851442d0ca3b8c0a7163a63285ab6071

9 years agoMerge "Add support for Glance RBD backend"
Jenkins [Mon, 4 May 2015 16:49:08 +0000 (16:49 +0000)]
Merge "Add support for Glance RBD backend"

9 years agoAdd support for Glance RBD backend
Dan Prince [Thu, 9 Apr 2015 12:41:24 +0000 (08:41 -0400)]
Add support for Glance RBD backend

This patch adds support for a new GlanceBackend setting
which can be set to one of swift, rbd, or file to control
which Glance backend is configured for use by default.

Change-Id: Id6a3fbc3477e85e8e2446e3dc13d424f9535d0ff

9 years agoFirstboot rsync for development purposes
Jiri Stransky [Thu, 30 Apr 2015 17:37:32 +0000 (19:37 +0200)]
Firstboot rsync for development purposes

Could be used to e.g. make changes to the puppet modules on the fly
without the need to rebuild images. Documented in the template
description.

Change-Id: I6a1fef20d4f4afa4bedac5ea520949697793f0ed

9 years agoRevert "Keystone domain for Heat"
Dan Prince [Fri, 1 May 2015 16:22:31 +0000 (12:22 -0400)]
Revert "Keystone domain for Heat"

This reverts commit 7313930c22b9f18d67e630de084ffcc6fad5ebe7.

Seeing errors when trying to create the keystone admin
role with packages. (ImportError: No module named os_client_config)

Change-Id: I78796598ccb8d2ffd6bfca85dce7d18dc0fd768e
Related-bug: #1450786

9 years agoMerge "Keystone domain for Heat"
Jenkins [Thu, 30 Apr 2015 14:09:58 +0000 (14:09 +0000)]
Merge "Keystone domain for Heat"

9 years agoMerge "Allow deployer to choose Ceilometer backend"
Jenkins [Thu, 30 Apr 2015 08:39:56 +0000 (08:39 +0000)]
Merge "Allow deployer to choose Ceilometer backend"

9 years agoMerge "Disable dhcp_domain in Nova for the overcloud as well"
Jenkins [Wed, 29 Apr 2015 20:08:27 +0000 (20:08 +0000)]
Merge "Disable dhcp_domain in Nova for the overcloud as well"

9 years agoMerge "Remove hardcoded references to .novalocal in hostnames"
Jenkins [Wed, 29 Apr 2015 20:08:21 +0000 (20:08 +0000)]
Merge "Remove hardcoded references to .novalocal in hostnames"

9 years agoMerge "Add hooks for extra post-deployment config"
Jenkins [Wed, 29 Apr 2015 18:57:02 +0000 (18:57 +0000)]
Merge "Add hooks for extra post-deployment config"

9 years agoMerge "Add RabbitMQ as a Pacemaker resource when EnablePacemaker"
Jenkins [Wed, 29 Apr 2015 14:13:10 +0000 (14:13 +0000)]
Merge "Add RabbitMQ as a Pacemaker resource when EnablePacemaker"

9 years agoAllow deployer to choose Ceilometer backend
Yanis Guenane [Wed, 29 Apr 2015 07:19:11 +0000 (09:19 +0200)]
Allow deployer to choose Ceilometer backend

Ceilometer can use different backends. A recent change moved backend
support for Ceilometer from MySQL to MongoDB. This commit introduce a
greater flexibility, letting the deployer choose wheter MySQL or MongoDB
should be used as a backend for Ceilometer.

Change-Id: I0d5bfb0763cbcee234df7ab13574d866743d5ddf

9 years agoMerge "Configures haproxy as a Pacemaker resource"
Jenkins [Tue, 28 Apr 2015 13:55:42 +0000 (13:55 +0000)]
Merge "Configures haproxy as a Pacemaker resource"

9 years agoMerge "Switch VIP management from Keepalived to Pacemaker"
Jenkins [Tue, 28 Apr 2015 13:55:03 +0000 (13:55 +0000)]
Merge "Switch VIP management from Keepalived to Pacemaker"

9 years agoAdd RabbitMQ as a Pacemaker resource when EnablePacemaker
Giulio Fidente [Tue, 21 Apr 2015 14:57:39 +0000 (10:57 -0400)]
Add RabbitMQ as a Pacemaker resource when EnablePacemaker

Change-Id: I43a74c1db324144d33e96a94cb718db30e0fd243

9 years agoDisable dhcp_domain in Nova for the overcloud as well
Giulio Fidente [Tue, 28 Apr 2015 09:43:13 +0000 (05:43 -0400)]
Disable dhcp_domain in Nova for the overcloud as well

The overcloud networking is managed by Neutron so we do not want
Nova to append its default domain part to hostnames.

Change-Id: Ic1edda158bf0579ed34455ad27db8ca444d26b85

9 years agoRemove hardcoded references to .novalocal in hostnames
Giulio Fidente [Tue, 28 Apr 2015 09:38:11 +0000 (05:38 -0400)]
Remove hardcoded references to .novalocal in hostnames

Remove references to the .novalocal domain part in the hosts file.

Change-Id: Idf14907adaf2f35440b6f28870fe18434eadd1be
Depends-On: Iadfdf4120c4d1c9b6976321753957fd4eecf301c

9 years agoMerge "Make all default values match overcloud defaults"
Jenkins [Mon, 27 Apr 2015 14:21:00 +0000 (14:21 +0000)]
Merge "Make all default values match overcloud defaults"

9 years agoConfigures haproxy as a Pacemaker resource
Giulio Fidente [Mon, 20 Apr 2015 17:05:25 +0000 (13:05 -0400)]
Configures haproxy as a Pacemaker resource

Change-Id: I6bf5ada5a5298f4079594f3cc8b01ac0ef85876e

9 years agoSwitch VIP management from Keepalived to Pacemaker
Giulio Fidente [Mon, 20 Apr 2015 11:20:07 +0000 (07:20 -0400)]
Switch VIP management from Keepalived to Pacemaker

Change-Id: I45511569fda6b00ca35b1e590537a29271e56ce0
Depends-On: I98b9b3dbc48009ce255d964ac580e1a31f279f1e

9 years agopuppet: install Horizon on overcloud-controller
Emilien Macchi [Sat, 14 Mar 2015 03:19:30 +0000 (23:19 -0400)]
puppet: install Horizon on overcloud-controller

Install OpenStack Dashboad (Horizon) on the Overcloud Controller with
Puppet.

Co-Authored-By: Giulio Fidente <gfidente@redhat.com>
Depends-On: If9b12d373e407be8be8428d77145f131eb450e88
Change-Id: I254e895014f58a51dade3dcdc63eabbb5dc458ac

9 years agoSeparate the network configuration per flavor.
Dan Sneddon [Wed, 15 Apr 2015 00:21:49 +0000 (17:21 -0700)]
Separate the network configuration per flavor.

This change allows a different network config for each family of hosts. For
instance, the controller may have a different network configuration than a
block storage node. This change adds a declaration for each family in the
overcloud-resource-registry.yaml & overcloud-resource-registry-puppet.yaml.

Change-Id: I083df7ebbb535f97d8ddec2ac0e06281c55986cd

9 years agoMove Ceph OSD data path configuration into static ceph.yaml file
Giulio Fidente [Wed, 22 Apr 2015 14:42:14 +0000 (16:42 +0200)]
Move Ceph OSD data path configuration into static ceph.yaml file

Change-Id: I577dc98cdf3648c9eb77bd084ae18273a52b22f9

9 years agoAdd hooks for extra post-deployment config
Steven Hardy [Thu, 9 Apr 2015 13:28:10 +0000 (14:28 +0100)]
Add hooks for extra post-deployment config

Adds optional hooks which can run operator defined additional config on
nodes after the application deployment has completed.

Change-Id: I3f99e648efad82ce2cd51e2d5168c716f0cee8fe

9 years agoEnable passing optional first-boot user-data
Steven Hardy [Thu, 2 Apr 2015 13:52:18 +0000 (09:52 -0400)]
Enable passing optional first-boot user-data

Currently all the OS::Nova::Server resource created don't pass any
user-data.  It's possible to pass user-data as well as using heat
SoftwareConfig/SoftwareDeployment resources, and this can be useful
when you have simple "first boot" tasks which are possible either via
cloud-init, or via simple run-once scripts.

This enables passing such data by implementing a new provider resource
OS::TripleO::NodeUserData, which defaults to passing an empty mime
archive (thus it's a no-op).  An example of non no-op usage is also
provided.

Change-Id: Id0caba69768630e3a10439ba1fc2547a609c0cfe

9 years agoMerge "Set EnablePacemaker == false be default"
Jenkins [Wed, 22 Apr 2015 20:05:51 +0000 (20:05 +0000)]
Merge "Set EnablePacemaker == false be default"

9 years agoSet EnablePacemaker == false be default
Dan Prince [Wed, 22 Apr 2015 12:47:37 +0000 (08:47 -0400)]
Set EnablePacemaker == false be default

Pacemaker is a new feature and should probably be disabled
by default.

Change-Id: I840d08c9e0563aeb7128eb2b21929612b7a5bf7a

9 years agoKeystone domain for Heat
Martin Mágr [Mon, 2 Mar 2015 10:04:20 +0000 (11:04 +0100)]
Keystone domain for Heat

This patch adds support for configuring Keystone domain for Heat
via heat-keystone-setup-domain script. It should be reverted
as soon as Keystone v3 is fully functional.

Change-Id: I7397f49fac17c30262d02b70021d613aef5c6cad

9 years agoParameter to enable/disable controller swift store
Dan Prince [Sat, 11 Apr 2015 02:14:44 +0000 (22:14 -0400)]
Parameter to enable/disable controller swift store

Adds a new ControllerEnableSwiftStorage parameter that
can be used to enable/disable use of the contoller node
as a Swift storage node.

Change-Id: Ic54144f4a46a671818c2f12e419cfa619b0dc1f9