78 Commits

Author SHA1 Message Date
Steven Hardy
3c6ec654b4 Bump template version for all templates to "ocata"
Heat now supports release name aliases, so we can replace
the inconsistent mix of date related versions with one consistent
version that aligns with the supported version of heat for this
t-h-t branch.

This should also help new users who sometimes copy/paste old templates
and discover intrinsic functions in the t-h-t docs don't work because
their template version is too old.

Change-Id: Ib415e7290fea27447460baa280291492df197e54
2016-12-23 11:43:39 +00:00
Juan Antonio Osorio Robles
b4cd2ed1ee Use network-based fqdn entry from hiera instead of the custom fact
This changes how we get the network-based FQDNs for the specific
services, from using the custom fact, to the new hiera entries.

Change-Id: Iae668a5d89fb7bee091db4a761aa6c91d369b276
2016-12-01 11:18:23 +02:00
Dan Prince
7876851011 Hiera optimization: use a new hiera hook
This patch optimizes how we deploy hiera by using a new
heat hook specifically designed to help compose hiera
within heat templates. As part of this change:

 - we update all the 'hiera' software configurations to set the group to hiera
   instead of os-apply-config.

 - The new format uses JSON instead of YAML. The hook actually writes
   out the hiera JSON directly so no conversion takes place. Arrays,
   Strings, Booleans all stay in their native formats. As such we can avoid
   having to do many of the awkward string and list conversions in t-h-t to
   support the previous YAML formatting.

 - The new hook prefers JSON over YAML so upgrading users will have the
   new files prefered. (we will post a cleanup routine for the old files
   soon but this isn't a new behavior, JSON is now simply prefered.)

 - A lot of services required edits to account for default settings that
   worked in YAML that no longer work correctly in the native JSON
   format. In almost all these cases I think the resulting codes looks
   cleaner and is more explicit with regards to what is getting
   configured in hiera on the actual nodes.

Depends-On: I6a383b1ad4ec29458569763bd3f56fd3f2bd726b
Closes-bug: #1596373

Change-Id: Ibe7e2044e200e2c947223286fdf4fd5bcf98c2e1
2016-11-30 22:16:13 -05:00
Steven Hardy
0f742c7ec9 Disable keepalived for HA deployments via t-h-t
Currently this is disabled via a conditional in the keepalived
profile in puppet-tripleo, but this will be incompatible with
the planned composable upgrades implementation.  Instead we should
disable the service template by mapping to OS::Heat::None, and
ensure the haproxy manifest uses the t-h-t generated hiera value
keepalived_enabled instead of hard-coding a hiera override in the
haproxy template.

Change-Id: I85a8b1cca7268506de22adfb3a8ce7faa4f157ef
Partial-Bug: #1642936
Depends-On: I90faf51881bd05920067c1e1d82baf5d7586af23
2016-11-18 11:45:57 +00:00
Dan Prince
3fa2ab420c Include redis/mongo hiera when using pacemaker
This patch updates the pacemaker composable service templates for
mongo and redis to extend the proper base (redis.yaml and mongo.yaml)
templates instead of the -base.yaml versions. This was causing
some missing hiera settings for these services which caused symptoms
like missing firewall rules for these services.

Change-Id: I3f94acbf4d1baadbb151b1c4d34b4a0ab28ad5e5
Partial-bug: #1629934
2016-10-04 10:04:44 -04:00
Giulio Fidente
7822c9756a Cinder volume service is not managed by Pacemaker on BlockStorage
We do not want cinder-volume to be managed by Pacemaker on
BlockStorage nodes, where Pacemaker is not running at all.

This change adds a new BlockStorageCinderVolume service name
which can (and is, by default) mapped to the non Pacemaker
implementation of the service.

The error was:
Could not find dependency Exec[wait-for-settle] for
Pacemaker::Resource::Systemd[openstack-cinder-volume]

Also moves cinder::host setting into the Pacemaker specific service
definition because we only want to set a shared host= string when
the service is managed by Pacemaker.

Closes-Bug: #1628912
Change-Id: I2f7e82db4fdfd5f161e44d65d17893c3e19a89c9
2016-09-29 17:57:40 +02:00
Juan Antonio Osorio Robles
99449a38fb Use parameter name to configure gmcast_listen_addr
This used to used mysql_bind_ip, but this parameter is quite misleading
since what it actually configures is not the bind-ip itself, but the
gmcast.listen_addr parameter. This fixes that confusion.

Depends-On: Iea4bd67074824e5dc6732fd7e408743e693d80b3
Change-Id: I2b114600e622491ccff08a07946926734b50ac70
2016-09-26 16:53:22 +03:00
Juan Antonio Osorio Robles
a387c110a6 Bind MySQL address to hostname appropriate to its network
This now takes into use the mysql_bind_host key, to set an
appropriate fqdn for mysql to bind to.

Closes-Bug: #1627060
Change-Id: I50f4082ea968d93b240b6b5541d84f27afd6e2a3
Depends-On: I316acfd514aac63b84890e20283c4ca611ccde8b
2016-09-26 10:37:58 +03:00
Lars Kellogg-Stedman
0d9298bb8f Add fluentd client service
This implements support for installing fluentd agents as a composable
service on the overcloud.

Depends-On: I2e1abe4d8c8359e56ff626255ee50c9cacca1940

Implements: tripleo-opstools-centralized-logging
Change-Id: I23b0e23881b742158fcfb6b8c145a3211d45086e
2016-09-17 01:31:12 +00:00
Juan Antonio Osorio Robles
b1c32247a2 Make Nova VNC Proxy service name match service net map
If these names don't match then we cannot set the service's nodes,
VIP and network.

Change-Id: I8f1c0eaf62eee2704a5f2556a553032106db606b
Closes-Bug: #1621368
2016-09-10 12:43:59 +03:00
Martin Mágr
25ad7b8e1e Availability monitoring agents support
- adds possibility to install sensu-client on all nodes
- each composable service has it's own subscription

Co-Authored-By: Emilien Macchi <emilien@redhat.com>
Co-Authored-By: Michele Baldessari <michele@redhat.com>
Implements: blueprint tripleo-opstools-availability-monitoring
Change-Id: I6a215763fd0f0015285b3573305d18d0f56c7770
2016-08-31 09:22:59 -04:00
Pradeep Kilambi
a30d1745f9 Fix base service type inheriting gnocchi service templates
Change-Id: I5018e4cdb1e5df7c2d67a8c1248d7453941b725f
2016-08-25 14:39:41 -04:00
Pradeep Kilambi
aae669aa17 Fix base service type inheriting ceilometer service pcmk templates
Change-Id: Id2227bedee098e0f18704a3dc82fb0be311ff4d2
2016-08-25 14:37:53 -04:00
Jenkins
b61f1a33d5 Merge "Enable gnocchi systemd services" 2016-08-25 13:26:19 +00:00
Dan Prince
58bf3932a8 Move MySQL settings out of puppet/controller.yaml
This moves the config settings out of controller.yaml for MySQL
and into puppet/services/database/mysql.yaml.

The top leve MysqlRootPassword is still maintained by default
in overcloud.yaml so that users who upgrade won't get
broken. New users may optionally specify the MysqlRootPassword
as a parameter instead which will take priority over the top
level generated parameter.

We drop the top level MysqlClusterUniquePart because it is no
longer used (I think it was a remnant from t-i-e).

Related-Bug: #1604414

Change-Id: I06ebac0f4c87dabfccefb2e550a64650868c5b26
2016-08-23 21:29:02 -04:00
Michele Baldessari
fbbd134f6b Enable gnocchi systemd services
Marian Krcmari noticed that on a freshly deployed HA Newton system
gnocchi-metricd and gnocchi-statsd are down. This likely came about when
gnocchi moved to composable roles
(I40a3815923099d00a0f3fc1d88a942784e7c6fb9) and those settings made
sense when it was managed by pacemaker.

Also make sure that all services are disabled when managed via
pacemaker and add manage_service: false for gnocchi-api for pacemaker
which was missing.

Change-Id: If7d681e0fa3e84379ac83c8a55b481369fe2849e
2016-08-18 23:18:30 +02:00
Dan Prince
3b62761d2f Add DefaultPasswords to composable services
This patch adds a new DefaultPasswords parameter to
composable services. This is needed to help provide
access to top level password resources that overcloud.yaml
currently manages (passwords for Rabbit, Mysql, etc.).

Moving the RandomString resources into composable services
would cause them to regenerate within the stack. With this
approach we can leave them where they are while we deprecate
the top level mechanism and move the code that uses the
passwords into the composable services.

Change-Id: I4f21603c58a169a093962594e860933306879e3f
2016-08-18 12:45:30 -04:00
Giulio Fidente
885b37c80e Pass ServiceNetMap to services
This will be needed to pick the network where the service has
to bind to from within the service template.

Change-Id: I52652e1ad8c7b360efd2c7af199e35932aaaea8c
2016-08-18 12:36:18 -04:00
Erno Kuvaja
75110de9dd Add cinder-backup service as role
Tempest tests for cinder contain backup tests that fail
unless cinder-backup service is started. This patch facilitates
the service start upon the overcloud deployment.

Original patch converted to composable role.

Co-Authored-By: Giulio Fidente <gfidente@redhat.com>
Depends-On: Ib1dfe52b83ab01819fc669312967950e75d8ddf1
Change-Id: I9ca97b3f1c26aac6d81b3525377e1f5fb962313f
2016-08-10 19:02:08 +00:00
Steven Hardy
0327fc2bbb Add Sahara services to ControllerServices list
https://review.openstack.org/#/c/318840/ decomposed the Sahara services
but they weren't added to the ControllerServices list, thus are now disabled.

Since we shipped mitaka with sahara enabled by default, we should probably add
them so the behavior is consistent when folks upgrade.

This also fixes a couple of issues we missed when landing the initial service
templates (partly because CI didn't test them).

In order for each service to operate independently when used with Pacemaker,
the roles needed to be separated. This commit also does this.

Depends-On: Id61eb15b1e2366f5b73c6e7d47941651e40651b1
Change-Id: I0846b328e9d938275e373d58f0b99219b19b326c
Closes-Bug: #1592284
Co-Authored-By: Brad P. Crochet <brad@redhat.com>
2016-08-06 10:45:31 +02:00
Michele Baldessari
81de065665 Next generation HA architecture work
This is the THT part that brings us the next generation architecture
as described in the following spec:
https://review.openstack.org/#/c/299628/

Blueprint:
https://blueprints.launchpad.net/tripleo/+spec/ha-lightweight-architecture

So far we tested deployment + tripleo.sh --overcloud-pingtest and
failover + tripleo.sh --overcloud-pingtest

Note that many of the Pacemaker template files become redundant with
this change, but to simplify the process of getting this change landed,
those templates will not be removed until a future commit.

Depends-On: I5e7585c08675d8a4bd071523b94210d325d79b59

Change-Id: I00bccb2563c006f80baed623b64f1e17af20dd4e
Implements: blueprint ha-lightweight-architecture
Co-Author: cmsj@tenshu.net
2016-08-04 15:07:39 +02:00
Ryan Hefner
b99733d08a Enable Manila integration - as a composable controller service
Allows the installation and configuration of Manila.
Supports the generic driver only. This has a dependency on the
puppet-tripleo classes for manila where the puppet specific
config now lives.

The review at https://review.openstack.org/#/c/315658/ has been
merge into this one, as of v68, so manila lands as a composable
service. This was brought up on the mailing list at [1]

[1] http://lists.openstack.org/pipermail/openstack-dev/2016-May/096126.html

Co-Authored-By: Marios Andreou <marios@redhat.com>
Implements: blueprint composable-services-within-roles
Depends-On: I444916d60a67bf730bf4089323dba1c1429e2e71
Depends-On: I9eda4b3364e5c59342761a1ec71b0eb567c69cf1
Depends-On: I571b65a5402c1028418476a573ebeb9450ed00c9
Change-Id: I7acebac4354fca1f8d7ff6c343c1346bf29b81c6
2016-08-02 17:18:07 +03:00
Jenkins
9aec3de5b8 Merge "Convert service_name to underscore syntax" 2016-07-29 08:52:05 +00:00
Steven Hardy
7df649f59e Convert service_name to underscore syntax
Currently we use hyphens, e.g cinder-api, but in overcloud.yaml
we have a lot of references to services (e.g for AllNodesConfig)
by underscore, e.g cinder_api.  To enable dynamic generation of
this data, we need the service name in underscore format.

Change-Id: Ief13dfe5d8d7691dfe2534ad5c39d7eacbcb6f70
2016-07-28 16:31:36 +01:00
Jenkins
9c73a7316d Merge "Create role for the fake openstack-core resource" 2016-07-28 13:26:17 +00:00
Giulio Fidente
b0e53995ec Create role for the fake openstack-core resource
Change-Id: Iacd94294b8a66bc082bb2b3e8d3364ec1bf053b8
Depends-On: I16a786ce167c57848551c7245f4344c382c55b3d
2016-07-27 22:58:01 +02:00
Emilien Macchi
315fa31963 Migrate Puppet Hieradata to composable services
Migrate puppet/hieradata/*.yaml parameters to puppet/services/*.yaml
except for some services that are not composable yet.

Co-Authored-By: Juan Antonio Osorio Robles <jaosorior@redhat.com>
Change-Id: I7e5f8b18ee9aa63a1dffc6facaf88315b07d5fd7
2016-07-27 12:23:38 -04:00
Jenkins
094c9d0bf6 Merge "Fixes type and description for NeutronL3HA" 2016-07-23 12:09:48 +00:00
Jenkins
af9352e800 Merge "Remove unused redis_vip parameter" 2016-07-22 16:07:45 +00:00
Dan Prince
6b30ff11d4 Add 'service_name' to composable services
This patch adds a new service_name section to each composable
service. We now have an explicit unit test check to ensure that
service_name exists in tools/yaml-validate.py.

This patch also wires service_names into hieradata on each
of the roles so that tools can access the deployed services locally
during deployment and upgrades.

Change-Id: I60861c5aa760534db3e314bba16a13b90ea72f0c
2016-07-22 07:29:39 -04:00
Tim Rozet
8d0497d819 Fixes type and description for NeutronL3HA
puppet-neutron takes this variable as boolean.  Although it doesn't
change the behavior in master (because the variable is used directly as
config), in mitaka it is used as a conditional and should be properly
fixed.

Also a fix is needed in python-tripleoclient because it is hard coded to
be True there based on number of controllers being greater than 1.
Therefore we shoudl remove that logic from tripleoclient and implement
it in THT.  In order to do that the pacemaker version of the variable is
defaulted to true.

Partial-Bug: 1605379

Change-Id: I0b797dbe188382e2dc32506913aaa60a0a21bd68
Signed-off-by: Tim Rozet <trozet@redhat.com>
2016-07-21 16:31:27 -04:00
Emilien Macchi
1d38b75367 Deploy Horizon with composable apache service
Deploy Horizon with composable apache service and don't include:
::tripleo::profile::pacemaker::apache

Because it's already included in the profiles in puppet-tripleo.

Change-Id: I5382d5cc95ba10805019142a9a223dbd4a4b8074
Depends-On: Id28c618133e53e28dfac7e3e9cf9f5f5a6b2421a
2016-07-21 13:41:14 +00:00
Giulio Fidente
8e0a4df8d3 Remove unused redis_vip parameter
Depends-On: I6ba962c682dc2ab8c6ee5238e0c176d9ae05d696
Change-Id: I796524128c49fe1927e96288d40b257a4d862ee7
2016-07-21 11:39:56 +02:00
Emilien Macchi
6a629a4dcc Move MySQL Galera within composable services
This patch just moves the Puppet code into puppet-tripleo.
A future iteration will be to move parameters within the service
template.

Closes-Bug: #1601853
Depends-On: I7ddae28a6affd55c5bffc15d72226a18c708850e
Change-Id: I51a05dbf53f516b200c146b35529ce563ce9ac7b
2016-07-14 08:59:40 -04:00
Pradeep Kilambi
0415a2a82b Gnocchi composable roles
Implements: blueprint composable-services-within-roles

Co-Authored-By: Juan Antonio Osorio Robles <jaosorior@redhat.com>
Co-Authored-By: Carlos Camacho <ccamacho@redhat.com>

Depends-On: Id728aae79442c45ab48fe0914c065f1807e8890d

Closes-Bug: #1601846
Change-Id: I40a3815923099d00a0f3fc1d88a942784e7c6fb9
2016-07-12 14:14:24 +02:00
Emilien Macchi
81863d1014 Re-enable Ceilometer composable roles for controller
This patch brings back Ceilometer composable roles for controller,
module some adjustments to make it work.

Fixes 3 issues in Ceilometer composable services

1) This patch fixes the hiera maps in the pacemaker ceilometer*
templates. These were lists and should be a map.

2) fixes a critical issue in ceilometer-base.yaml where the
password was incorrectly coded in the YAML using get_param on
a string which wasn't actually a parameter.

3) Fixes the ceilometer_coordination_url so that it uses a YAML anchor
as was implied instead of get_param on a string which wasn't a
parameter.

4) Fixes the default database connection to use mongodb and configured
in puppet-tripleo profile appropriately.

Co-Authored-By: Dan Prince <dprince@redhat.com>
Co-Authored-By: Pradeep Kilambi <pkilambi@redhat.com>

Closes-Bug: #1601844
Change-Id: Ia0a59121b9ffd5e07647f66137ce53870bc6b5d6
2016-07-11 11:00:36 -04:00
Dan Prince
800ee92b75 Composable Midonet for Neutron
Depends-On: I2393fc3c360f5f5786411f64dbcd06f380376093

Change-Id: I606cb1f7ef7d651b5d145bfa10ef3aa1561b1590
Partially-implements: blueprint composable-services-within-roles
2016-07-08 14:44:05 +00:00
Jenkins
0fbe987ed4 Merge "Split Heat pacemaker roles into separate services" 2016-07-05 20:33:55 +00:00
Dan Prince
c93ba28a89 Revert "Ceilometer composable roles for controller"
This reverts commit c48410a05ec0ffd11c717bcf350badc9e5f0e910.

We've discovered this patch never had passing CI due to a DLRN
build failure.

Change-Id: I546cb3e340d20701662affda7e28b586c58ba6de
2016-06-23 14:38:56 -04:00
Jenkins
e8fdaf13de Merge "Ceilometer composable roles for controller" 2016-06-23 05:57:11 +00:00
Jenkins
23ec8e1509 Merge "Composable opencontrail plugin" 2016-06-23 03:58:25 +00:00
Pradeep Kilambi
c48410a05e Ceilometer composable roles for controller
Depends-On: I4b5e93a108e80e91af26ffee454130ee18c0042e

Change-Id: I59c948ead475f449cb8d1b752f39b7eaaf056130
2016-06-23 03:06:03 +00:00
Emilien Macchi
f498ff200e Update neutron ml2 class
Class was moved in with other plugins, it's just an update.

Change-Id: I6436c5c36ac0081a720cb8a737a573b1246127a1
Depends-On: I35332df5800083f3373f5c37411534d11e9b4401
2016-06-22 11:37:43 -04:00
Brad P. Crochet
5921122068 Split Heat pacemaker roles into separate services
In order for each service to operate independently when used with Pacemaker,
the roles needed to be separated.

Change-Id: I0440b7b119fc9b7bb3db8a2bf341c0c6db8d3d33
Depends-On: I3fa76562c13191884a53848ad5adcbc9f5a24f61
2016-06-22 12:00:26 +00:00
Dan Prince
37bb689a0f Composable opencontrail plugin
Partially-implements: blueprint composable-services-within-roles

Change-Id: I17ac5dc2a6fb82a82d1db039e61fc8e87ba88333
2016-06-16 15:04:25 -04:00
Dan Prince
9e502fc07d Composable neutron nuage plugin
Partially-implements: blueprint composable-services-within-roles

Depends-On: Ia4a297008b259a8e238bd1ad511e82f4e5ab6d63
Change-Id: I80ac1a5393a17d4cf997cd3ef060574455d1b5ec
2016-06-16 15:04:25 -04:00
Jenkins
07586ca090 Merge "Composable Neutron Plumgrid plugin" 2016-06-15 05:20:12 +00:00
Emilien Macchi
16d0489291 Enable nova-vncproxy as a composable service
Implement NovaVncproxy service using nova-base for common
meters.

Change-Id: I6463cad5aa722d8c8febac1414d03637d6daec37
Depends-On: I5bc2a77b5832706bd9167cf40e5a7e0f95d7b346
Implements: blueprint composable-services-within-roles
2016-06-14 12:00:56 +03:00
Emilien Macchi
80ad670ad8 Enable nova-consoleauth as a composable service
Implement NovaConsoleauth service using nova-base for common
meters.

Depends-On: I955b4fc07dc07d8adc32411848e3e131d77a5123
Implements: blueprint composable-services-within-roles
Change-Id: I7248f9c0a7a575675a2c2551ca9f8f51290a6656
2016-06-14 12:00:56 +03:00
Emilien Macchi
94bf2d5a0c Enable nova-scheduler as a composable service
Implement NovaScheduler service using nova-base for common parameters.

Depends-On: I5e1c90e3c6dc556f872ced73744c5c74caaa3635
Change-Id: Ie50716a09c53d656835b16991128c94b35cf1ed2
Implements: blueprint composable-services-within-roles
2016-06-14 12:00:56 +03:00