Commit Graph

53 Commits

Author SHA1 Message Date
Dan Prince 2e261993ec flatten the gnocchi service configurations
This change combines the previous puppet and docker files into a single
file that performs the docker service installation and configuration
for the gnocchi services.

With this patch the baremetal version of each respective gnocchi service
has been removed.

Related-Blueprint: services-yaml-flattening

Change-Id: Ifd7df4e48ae18545b9d0a62bcfb32b3c5d8f8e0d
2019-03-11 08:19:47 -04:00
Alex Schultz ec8cc54df4 Switch debug to use logging classes
The puppet openstack modules have switched the debug setting to a
logging class in the modules. They are starting to remove the base debug
option so we need to switch our usages to use the logging classes

Change-Id: I690448db2de341ec428181f19364c93a3273b565
Needed-By: https://review.openstack.org/#/c/619379/
2018-12-10 08:32:28 -07:00
Pradeep Kilambi b3b027e731 Add a way to override base path when file driver is used
The goal is to be able to point the Gnocchi file driver directory
to an NFS share.

A new parameter GnocchiFileBasePath allows to customize
the bind mount to /var/lib/gnocchi.

Change-Id: I868a368161f4a529e5e7dc3593dc6862e3196247
2018-06-05 07:49:22 +02:00
Carlos Camacho 44ef2a3ec1 Change template names to rocky
The new master branch should point now to rocky.

So, HOT templates should specify that they might contain features
for rocky release [1]

Also, this submission updates the yaml validation to use only latest
heat_version alias. There are cases in which we will need to set
the version for specific templates i.e. mixed versions, so there
is added a variable to assign specific templates to specific heat_version
aliases, avoiding the introductions of error by bulk replacing the
the old version in new releases.

[1]: https://docs.openstack.org/heat/latest/template_guide/hot_spec.html#rocky
Change-Id: Ib17526d9cc453516d99d4659ee5fa51a5aa7fb4b
2018-05-09 08:28:42 +02:00
Giulio Fidente 0b1afb48e5 Allows for configuration of the Ceph cluster name
To be able to support multiple Ceph cluster, an initial step is
to allow for configuration of each cluster name.

Depends-On: I8d5293eaaf104b6374dfa13992a67ddc37397f10
Implements: blueprint custom-ceph-cluster-name
Change-Id: I1b4d51ca6a2d08fa7a68eea680eb104eff732057
2018-02-20 11:35:01 +01:00
Pradeep Kilambi b2b37b6bda Add S3 storage driver as an option and its config
S3 storage driver is a supported option for gnocchi upstream.

The puppet change has been added in this commit
I5a49fa34d344c4464ea883bf96350f00b0a17eac

Change-Id: Ib44278ef87c8c4d1c39a50d24c1f02fe1fe4042e
2018-02-08 10:50:12 -05:00
Pradeep Kilambi 100784c6ed Drop redundant delay param
This is already done in metricd templates, so we dont need it
here.

Change-Id: Ic0e9eb9480b62c49363067e3b64400074fd4b626
2018-01-11 22:36:46 +00:00
Carlos Camacho 927495fe3d Change template names to queens
The new master branch should point now to queens instead of pike.

So, HOT templates should specify that they might contain features
for queens release [1]

[1]: https://docs.openstack.org/heat/latest/template_guide/hot_spec.html#queens

Change-Id: I7654d1c59db0c4508a9d7045f452612d22493004
2017-11-23 10:15:32 +01:00
Juan Antonio Osorio Robles 2f7888c2c5 Add constraints to service Debug flags
The service debug flags (e.g. BarbicanDebug), allow the deployer to set
the verbose logging for a specific service. They are strings to allow
folks to set it up regardless of the global Debug flag being set.

This commit adds a constraint to set the allowed values for these
parameters. It is based on a subset of the underlying implementation
that sets this flag (which uses any2bool).

Change-Id: I35e7a7ee35aefb7108ec6b0bb8f3124610fb97ee
2017-11-06 08:23:21 +02:00
Ade Lee c9b7091536 Ensure Debug is a boolean
Oslo does not like it when Debug is not a proper python boolean
Closes-Bug: 1719929

Change-Id: Ib6c3969d4dd75d5fb2cc274266c060acff8d5571
2017-09-27 13:22:07 -04:00
Juan Antonio Osorio Robles 159939c746 Make swift's endpoint type configurable for gnocchi storage
It currently takes the default which is problematic for some
network isolated deployments.

Change-Id: I908b0e4f20f4b9f88a13fa52689d45946a2af27c
Closes-Bug: #1711063
2017-08-17 05:49:08 +00:00
Giulio Fidente baf6eee501 Adds network/cidr mapping into a new service property
Makes it possible to resolve network subnets within a service
template; the data is transported into a new property ServiceData
wired into every service which hopefully is generic enough to
be extended in the future and transport more data.

Data can be consumed in service templates to set config values
which need to know what is the subnet where a deamon operates (for
example the Ceph Public vs Cluster network).

Change-Id: I28e21c46f1ef609517175f7e7ee19e28d1c0cba2
2017-07-14 13:44:04 +02:00
Pradeep Kilambi 7ec9860c77 Add support to configure Num of Storage sacks
Gnocchi 4 supports storage sacks during upgrade. lets make this
configurable if we want to use more metricd workers.

Change-Id: Ibb2ee885e59d43c1ae20887ec1026786d58c6b9e
2017-06-12 18:28:39 -04:00
Pradeep Kilambi b749a1e3c6 Revert "Add support to configure Num of Storage sacks"
This reverts commit a915b15001.

The argument is renamed and causing promotions to fail.

Change-Id: I7e1674cff75b606c20956edddf70eee2990fca78
2017-06-09 13:12:40 +00:00
Pradeep Kilambi a915b15001 Add support to configure Num of Storage sacks
Gnocchi 4 supports storage sacks during upgrade. lets make this
configurable if we want to use more metricd workers.

Change-Id: I27390b8babf8c4ef35f4c9b8a2e5be69fb9a54ee
2017-06-07 14:53:56 -04:00
Emilien Macchi 1e899703cc Ability to enable/disable debug mode per OpenStack service
Add ServiceDebug parameters for each services that will allow operators
to enable/disable Debug for specific services.

We keep the Debug parameters for backward compatibility.

Operators want to enable Debug everywhere:
  Debug: true
Operators want to disable Debug everywhere:
  Debug: false
Operators want to disable Debug everywhere except Glance:
  GlanceDebug: true
Operators want to enable Debug everywhere except Glance:
  Debug: true
  GlanceDebug: false

New parameters: AodhDebug, BarbicanDebug, CeilometerDebug, CinderDebug,
CongressDebug, GlanceDebug, GnocchiDebug, HeatDebug, HorizonDebug,
IronicDebug, KeystoneDebug, ManilaDebug, MistralDebug, NeutronDebug,
NovaDebug, OctaviaDebug, PankoDebug, SaharaDebug, TackerDebug,
ZaqarDebug.

Note: for backward compatibility in Horizon, HorizonDebug is set to
false, so we maintain previous behavior.

Change-Id: Icbf4a38afcdbd8471d1afc11743df9705451db52
Implement-blueprint: composable-debug
Closes-Bug: #1634567
2017-06-07 11:26:30 +02:00
Pradeep Kilambi d6bda4eb14 Update metric processing delay default
This helps with processing the backlog, so lets update
the default out of the box.

Change-Id: I06d4ca95f4a1da2864f4845ef3e7a74a1bce9e41
2017-06-04 23:18:04 +00:00
Pradeep Kilambi cb10ab2efe Upgrade gnocchi without skip-storage
When gnocchi-upgrade run, we need to ensure storage is upgraded so we
initialize the necessary storage sacks.

Closes-bug: #1693621

Change-Id: I84e4fc3b6ad7fd966c4097a29678a0fd5b7a20a5
2017-05-31 11:19:29 +00:00
Saravanan KR a096ddab34 Add role specific information to the service template
When a service is enabled on multiple roles, the parameters for the
service will be global. This change enables an option to provide
role specific parameter to services and other templates.

Two new parameters - RoleName and RoleParameters, are added to the
service template. RoleName provides the role name of on which the
current instance of the service is being applied on. RoleParameters
provides the list of parameters which are configured specific to the
role in the environment file, like below:

  parameters_default:
      # Default value for applied to all roles
      NovaReservedHostMemory: 2048
      ComputeDpdkParameters:
          # Applied only to ComputeDpdk role
          NovaReservedHostMemory: 4096

In above sample, the cluster contains 2 roles - Compute, ComputeDpdk.
The values of ComputeDpdkParameters will be passed on to the templates
as RoleParameters while creating the stack for ComputeDpdk role. The
parameter which supports role specific configuration, should find the
parameter first in in the RoleParameters list, if not found, then the
default (for all roles) should be used.
Implements: blueprint tripleo-derive-parameters

Change-Id: I72376a803ec6b2ed93903cc0c95a6ffce718b6dc
2017-05-15 10:06:46 +05:30
Zane Bitter b26fe7d164 Use the make_url function to build URLs
Change-Id: I2b23d92c85d5ecc889a7ee597b90e930bde9028e
Depends-On: I72f84e737b042ecfaabf5639c6164d46a072b423
2017-05-05 14:43:11 -04:00
Pradeep Kilambi e33e76684c Expose metric delay processing metric
For performance reasons we might want to tweak this param
lets expose this via tripleo. The puppet changes were
added in this patch I5de5283d1b14e0bba63d6d9a440611914ba86ca4

Change-Id: I72f1fe3a47060fe37602a70b8a74fba72209127c
2017-05-03 15:29:33 +00:00
Pradeep Kilambi 4b3ec853e3 Swift auth url should use a suffix
gnocchi metricd and statsd are broken due to recent change
to support keystone v3. see I2feed8b1219069128faa1a1e8dcd2ddfbae7e40a
We need swift auth url to have suffix so it knows what endpoint
to use.

Change-Id: I753f37e121b95813e345f200ad3f3e75ec4bd7e1
2017-03-27 13:00:02 +00:00
Juan Antonio Osorio Robles 29b74f48e4 Remove unused KeystoneRegion parameter from gnocchi-base
This is used in gnocchi-api.yaml and is not needed on the base template.

Change-Id: I5ebd27dff3dca7053647a57eb4cdef56d38526c6
2017-03-22 12:49:21 +00:00
Emilien Macchi 0f48e7b35e gnocchi: deploy services with Keystone v3 endpoints
* Move swift_authurl to gnocchi-base hieradata, where other swift auth
  credentials live and switch it to versionless keystone endpoint.
* Force swift_auth_version to 3 for Keystone v3.
* Switch auth_uri to use versionless Keystone endpoint.
* Switch auth_url to use Keystone admin endpoint (instead of internal).
* Remove old parameters from gnocchi::api, not used anymore.

Partial-blueprint: keystone-v3

Change-Id: I2feed8b1219069128faa1a1e8dcd2ddfbae7e40a
2017-03-13 08:17:26 -04:00
Michele Baldessari 90431683b5 Make the DB URIs host-independent for all services
When fixing LP#1643487 we added ?bind_address to all DB URIs.
Since this clashes with Cellsv2 due to the URIs becoming host
dependent, we need a new approach to pass bind_address to pymysql
that leaves the DB URIs host-independent.

In change Iff8bd2d9ee85f7bb1445aa2e1b3cfbff1f397b18 we first create a
/etc/my.cnf.d/tripleo.cnf file with a [tripleo] section with the correct
bind-address option.

In this change we make sure that the DB URIs will point to the added
file and to the specific section containing the necessary bind-address
option. We do introduce a new MySQLClient profile which will hold all
this more client-specific configuration so that this change can fit
better in the composable roles work. Also, in the future it might
contain the necessary configuration for SSL for example.

Note that in case the /etc/my.cnf.d/tripleo.cnf file does not exist
(because it is created via the mysqlclient profile), things keep on
working as usual and the bind-address option simply won't be set, which
has no impact on hosts where there are no VIPs.

Co-Authored-By: Damien Ciabrini <dciabrin@redhat.com>

Change-Id: Ieac33efe38f32e949fd89545eb1cd8e0fe114a12
Related-Bug: #1643487
Closes-Bug: #1663181
Closes-Bug: #1664524
Depends-On: Iff8bd2d9ee85f7bb1445aa2e1b3cfbff1f397b18
2017-02-17 17:22:42 +01:00
Pradeep Kilambi ffd62b223f Remove create-legacy-resource-types opts
This flag is quite old and doesnt work as expected anymore.
Let ceilometer upgrade create these reource types instead.

Change-Id: I71ea6e2fd9418095de658d709c14bb3006ca2753
2017-01-26 20:03:18 +00:00
Jenkins 0bfe7c9279 Merge "DB connection: prevent src address from binding to a VIP" 2017-01-04 16:43:34 +00:00
Damien Ciabrini 56ebc7e58d DB connection: prevent src address from binding to a VIP
When a service connects to the database VIP from the node hosting this
VIP, the resulting TCP socket has a src address which is by default
bound to the VIP as well. If the VIP is failed over to another node
while the socket's Send-Q is not empty, TCP keepalive won't engage and
the service will become unavailable for a very long time (by default
more than 10m).

To prevent failover issues, DB connections should have the src address
of their TCP socket bound to the IP of the network interface used for
MySQL traffic. This is achieved by passing a new option to the
database connection URIs. This option is available starting from
PyMySQL 0.7.9-2.

We use a new intermediate variable in hiera to hold the IP to be used
as a source address for all DB connections. All services adapt their
database URI accordingly.

Moreover, a new YAML validation check is added to guarantee that new
services will construct their database URI appropriately.

Change-Id: Ic69de63acbfb992314ea30a3a9b17c0b5341c035
Closes-Bug: #1643487
2017-01-03 10:56:02 +01:00
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
Emilien Macchi d720f22925 telemetry: remove coordination_url hiera settings
They are now normalized and set in puppet-tripleo.

Change-Id: I197481c577b85894178e7899a55869da47847755
Closes-Bug: #1629279
Depends-On: Ic6de09acf0d36ca90cc2041c0add1bc2b4a369a5
2016-09-30 09:48:56 -04:00
Emilien Macchi b97c913f23 Telemetry: add redis_password hiera parameter
Add redis_password parameter in Hiera so we can re-use it from
puppet-tripleo later for Aodh, Ceilometer and Gnocchi.

Change-Id: I038e2bac22e3bfa5047d2e76e23cff664546464d
Partial-Bug: #1629279
2016-09-30 09:44:13 -04:00
Dan Prince 7ba5525207 Move db::mysql into service_config_settings
This patch movs the various db::mysql hiera settings into a
'mysql' specific service_config_settings section for each
service so that these will only get applied on the MySQL service
node. This follows a similar puppet-tripleo change where we
create the actual databases for all services locally on
the MySQL service node to avoid permission issues.

Change-Id: Ic0692b1f7aa8409699630ef3924c4be98ca6ffb2
Closes-bug: #1620595
Depends-On: I05cc0afa9373429a3197c194c3e8f784ae96de5f
Depends-On: I5e1ef2dc6de6f67d7c509e299855baec371f614d
2016-09-28 07:01:49 -04:00
Dan Prince 38bbf11207 Fix debug parameter in gnocchi-base.yaml
This gnocchi-base service was using get_input to obtain
the debug setting which won't work here. This patch adds in
the standard Debug heat parameter to the service and sets
it via get_param.

Change-Id: Idfb772567d5711083b82ae8cb4bce2c4498b4d64
2016-08-26 16:12:59 -04:00
Jenkins b61f1a33d5 Merge "Enable gnocchi systemd services" 2016-08-25 13:26:19 +00: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
Emilien Macchi a19da8ef49 gnocchi: use new authtoken parameters
Configure Gnocchi with authtoken new class in the Puppet module, and
also remove the useless parameters that didn't exist in the module.

Change-Id: I414990c4fd5c5c1cd43d50c7a3947a4a29f4587a
2016-08-16 21:54:51 -04:00
Jenkins 85938c987c Merge "Set coordination url for gnocchi storage" 2016-08-17 01:00:58 +00:00
Jenkins 46e7d8110f Merge "Move gnocchi's kestone::auth parameters to API profile" 2016-08-12 15:48:26 +00:00
Pradeep Kilambi c93fb4f4d6 Set coordination url for gnocchi storage
Change-Id: I8107b84eaea8baf3ed664c70d4cf16537d869bcb
2016-08-11 16:37:50 -04:00
Steven Hardy 450be229c3 Convert EndpointMap to not require per-service VIP parameters
Currently we have a hard-coded set of per-service parameters, which
will cause problems for custom roles and full composability.

As a first step towards making this more configurable, remove the
hard-coded per-service parameters from overcloud.yaml, and adjust
the EndpointMap generation to instead accept two mappings, the
ServiceNetMap and a mapping of networks to IPs (effectively this
just moves the map lookup inside the endpoint map instead of
inside overcloud.yaml)

Change-Id: Ib522e89c36eed2115a6586dd5a6770907d9b33db
Partially-Implements: blueprint custom-roles
2016-08-11 14:35:48 +03:00
Juan Antonio Osorio Robles ba1fb563d1 Move gnocchi's kestone::auth parameters to API profile
In the move to composable services, these parameters are not
necessary in the controller, but in the profile itself. They are not
yet in use but will be used to populate the keystone endpoint.

Change-Id: Iab3ab05e16872d94d3b3ab4827e2f87f4970aee3
2016-08-09 16:29:07 +03:00
Steven Hardy 9b36f36a05 Replace hard-coded regionOne with parameter references
In a few places we hard-code the config values to regionOne, but
there is a parameter available to set this.

Change-Id: I9f5138103deb45f7432ee44e03a08dcf54c2990d
2016-08-03 15:01:57 +01: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
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 aa71f16a69 Merge "Move mysql::host param from MysqlInternal to MysqlNoBracketsInternal" 2016-07-22 14:03:33 +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
Giulio Fidente 248390bbe3 Move mysql::host param from MysqlInternal to MysqlNoBracketsInternal
The ::host parameter expects IPv6 addresses withouth brackets; this
change aligns the remaining services to use MysqlNoBracketsInternal
as it happens already for the others (eg. Keystone).

Change-Id: Ia72d325447408b1cb5fea836034bbcd75d17ddf1
2016-07-21 18:45:48 +02:00