Commit Graph

223 Commits

Author SHA1 Message Date
Zuul
adae981b14 Merge "Remove sensu-client service" 2019-10-10 22:59:46 +00:00
Zuul
9c6d10ebe5 Merge "Collectd-sensubility" 2019-10-09 00:52:41 +00:00
Martin Magr
b3ffd695fd Remove sensu-client service
Sensu client has been deprecated and it's functionality substituted
by collectd-sensubility. This patch removes sensu-client composable
service

Change-Id: I4be68eb7319b2c92cc7d0fc9df7a5c87dfb5106c
2019-10-01 12:07:46 +02:00
Martin Magr
2742319ba7 Collectd-sensubility
This patch adds parameters and logic for configuring
collectd-sensubility. Please note that privileged mode
needs to be removed so that container health check gets
smooth access to host's systemd data. We should instead
use --cap-add when some regression caused by missing
capability will arise.

Change-Id: I4422d25396e74f8b4b9980dc16386353bc6e4627
Depends-On: Ieb5042603ff76fd22f867a17a853bb1ec6a744f2
2019-10-01 12:07:37 +02:00
Michele Baldessari
176b30649b Give the OVN DBS service a separate Vip
This change (with its dependent reviews) creates a separate VIP for the OVN DBS
service. A more detailed explanation can be found in https://bugs.launchpad.net/tripleo/+bug/1841811.
The short explanation is that the OVN DBS HA service puts some additional constraints on the VIP it
uses and that is problematic when that VIP is used by other services (e.g. a change in OVN DBS master
will move the VIP and will also reset all mysql connections. It also prevents us splitting OVN DBS from
where haproxy runs).

Tested as follows:
A) Deployed a mster environment with this review and all its dependencies and correctly obtained
an OVN DBS service with its own Vip and the OVN services
(controller/metadata) pointing to this separate Vip

B) Deployed a master environment as is and then applied this review +
dependencies and observed that a redeploy correctly created a new VIP,
reconfigured the services to point to the new VIP and that the old
obsolete constraints created around the per-network VIP were removed

Closes-Bug: #1841811

Depends-On: Ic62b0fbc0fee40638811a5cd77a5dc5a4d82acf5
Change-Id: I620e37117c26b5b51bf9e1eda91daeb00fdf0f43
2019-09-23 13:05:39 +00:00
Zuul
687448b3d9 Merge "Remove bootstrap_nodeid group var" 2019-09-10 00:15:17 +00:00
James Slagle
88647fd3a5 Remove bootstrap_nodeid group var
The bootstrap_nodeid group var is no longer needed coming out of Heat
because it's value can be calculated entirely with the Ansible jinja2
template.

Change-Id: I7406cb4d79a5fd988482fc679bb94bc2d33218c2
2019-09-06 10:02:24 -04:00
Zuul
fa6d20fd9a Merge "Remove deployed-server related stack output" 2019-08-29 15:44:52 +00:00
Rabi Mishra
070945f278 Move GroupVars to overcloud.j2.yaml
These are role specific. There is no point of creating it
for every node nested stack of a role.

Change-Id: I5104154fc4c952c46caf42289531b9c4abd9ff6c
2019-08-23 08:38:46 +05:30
James Slagle
c4a0224ed5 Remove deployed-server related stack output
The DeployedServerEnvironment output has been removed from the stack
as they are no longer needed when using config-download with
pre-provisioned nodes.

Change-Id: If94997621ebd1096326ba77a167564a728102b54
2019-08-16 17:58:04 +00:00
Zuul
51c22afdf0 Merge "Add NovaLocalMetadataPerCell cell support" 2019-08-14 17:07:11 +00:00
Rabi Mishra
7e3ead74ff Use hiera config from ansible group_vars
Also drops unnecessary for loop from 'Server hieradata from vars'
task.

Change-Id: I0450bbdc9d2e24e8449d6a302cc672631f8312f6
2019-08-13 12:01:27 +05:30
Martin Schuppert
2cd9e44e66 Add NovaLocalMetadataPerCell cell support
Indicates that the nova-metadata API service has been deployed
per-cell, so that we can have better performance and data isolation
in a multi-cell deployment. Users should consider the use of this
configuration depending on how neutron is setup. If networks span
cells, you might need to run nova-metadata API service globally.
If your networks are segmented along cell boundaries, then you can
run nova-metadata API service per cell.

Introduces a new endpoint_map entry NovaMetadataInternal.

If NovaLocalMetadataPerCell is true, NovaMetadataCellInternal points
to the local cell endpoint.

If NovaLocalMetadataPerCell is false, NovaMetadataCellInternal points
to the central control plane nova metadata endpoint.

The NovaMetadataCellInternal endpoint is then used to configure the
nova-metadata api endpoint the ovn metadata agent points to.

Also removes setting the deprecated [DEFAULT]/nova_metadata_ip
hiera key and only uses [DEFAULT]/nova_metadata_host for the ovn
metadata agent.

Depends-On: https://review.opendev.org/675070
Depends-On: https://review.opendev.org/650943
Change-Id: I78f6d30676ee166f84d8aca1609b376bb73e5f2c
Closes-Bug: #1823760

Change-Id: I1e05230e4105a3706f0662b0c203137d05ebf3d8
2019-08-12 17:42:51 +02:00
Rabi Mishra
6ff7c512c3 Use ansible group_vars for extraconfig hieradata
Change-Id: I582fad2bd7b058a573c6e0398f05906582461861
Depends-On: https://review.opendev.org/#/c/673728
2019-08-06 23:21:47 +05:30
Rabi Mishra
5b2d2795a8 Use ansible group_vars for service_configs hieradata
Change-Id: Ifa05dc0bce634ad06efa7f4658845c8d6d044818
Depends-On: https://review.opendev.org/#/c/673727
2019-08-06 23:21:47 +05:30
Rabi Mishra
331d1c1943 Remove {{role.name}}MergedConfigSettings resource
Does not seem to be used.

Change-Id: I39dca3d5ec1f0c0b35ec182ada8c4aadd6842216
2019-07-31 10:40:41 +05:30
Rabi Mishra
dad706daf3 Move ConfigDatafiles to overcloud.j2.yaml
It seems we unnecessarily create resources in every nested stack.

Change-Id: I8b90b64cda5c27ff6b889337c116e9644372163c
2019-07-29 15:31:30 +05:30
Emilien Macchi
81211c114c Remove support for Cisco N1KV
Cisco N1KV has announced EOL & EOS. So we are removing its support in
TripleO.

Change-Id: Icd56f6cba30ea2a0377ccbc9e830cd981a00e478
2019-07-21 18:58:53 -04:00
Zuul
bdfc3caad9 Merge "Remove support for Midonet plugin" 2019-07-21 03:22:19 +00:00
Zuul
b8de91a534 Merge "Set HieradataVars as group vars instead" 2019-07-19 07:32:15 +00:00
Emilien Macchi
91d2875393 Remove support for Midonet plugin
The plugin isn't well maintained and we have zero feedback on how it is
working, therefore we are removing it from the tree; and a composable
service can be added out of tree later if needed.

Change-Id: Ibbcf0316aebd6c1ca87f510f5aa4c4b44941ed88
2019-07-18 19:12:36 +00:00
Emilien Macchi
2ccd776390 Remove support for Cisco UCSM plugin
The plugin doesn't have maintainers nor testing in recent releases,
let's remove it from the tree; and a composable service can be added
later if needed, out of tree.

Change-Id: I7edc7d1c817c5577a11effc6732fb3797574ebac
2019-07-15 10:42:41 -04:00
James Slagle
5c53029232 Set HieradataVars as group vars instead
Instead of writing a set of vars to hieradata_vars.yaml and then passing
that into tasks with vars_files, just set the data as group vars.

This makes for a simpler interface without having to remember to pass in
the data with vars_files on any task/play that might require them.

Change-Id: I851d9404861d55791bde1346c58bc1c94f591569
2019-07-13 11:50:30 +00:00
James Slagle
2f6f519149 Use Ansible for ssh known hosts config
Migrate to using the template mode of the tripleo-ssh-known-hosts role.

Detailed Changes:
common/deploy-steps.j2:
  Remove ssh_known_hosts_hostnames parameter
  Remove ssh_known_hosts variable in config-download output
  Set tripleo_ssh_known_hosts_use_template var to true when including
    the tripleo-ssh-known-hosts role to activate template mode.
extraconfig/tasks/ssh/host_public_key.yaml:
  Template removed as it was deprecated and is no longer used.
extraconfig/tasks/ssh/known_hosts_config.yaml:
  Template removed as it was deprecated and is no longer used.
overcloud-resource-registry-puppet.j2.yaml:
  Mappings for Ssh known hosts resources removed
overcloud.j2.yaml:
  Resources removed: SshKnownHostsConfig, SshKnownHostsHostnames,
    {{role.name}}SshKnownHostsDeployment
  Removed passing in ssh_known_hosts_hostnames parameter to
    common/deploy-steps.j2
puppet/role.role.j2.yaml:
  Removed SshHostPubKey and SshKnownHostsHostnames resources
  Removed known_hosts_entry and known_hosts_hostnames stack outputs
  Add role_networks to set Ansible group vars which is a list of enabled
    networks for the role

Change-Id: I10d0de42acc0b88b7947b464e976b5d0b9067ca2
2019-07-13 11:50:01 +00:00
Emilien Macchi
55ad225844 Remove service_names hieradata file
The service_names isn't useful anymore:

- hiera('service_names') has been replaced by hiera('enabled_services')
- sensu::subscriptions moved under the {{role.name.lower()}}_extraconfig
  hieradata file.

This is part of the effort which aims to reduce the number of hieradata
files.

Depends-On: I457f2c81a2cf6cc2f42dc4585b41b0d91dacc059
Change-Id: I22081888541e059cd9f258d15990f58df78c38d2
Closes-Bug: #1835551
2019-07-12 03:55:01 +00:00
James Slagle
c5ba2cec81 Use Ansible for {{role}} and host_extraconfig hieradata
Migrates these hieradata files to use the cloud_domain and fqdn
templates from tripleo-hieradata. The templates have more meaningful
names to actually represent the data that these hieradata files contain.

Detailed changes:
common/deploy-steps.j2:
  Add parameter for CloudDomain and add it to the Ansible global vars
  Remove the Per-host hieradata tasks and parameters as they are no longer used
  Add cloud_domain and fqdn to list of templates for tripleo-hieradata
overcloud.j2.yaml:
  Add role_networks to HieradataVars for each role
  Replace {{role}} and host_extraconfig from hieradata hierarchy with
    cloud_domain and fqdn.
puppet/role.role.j2.yaml:
  Remove {{role}} hieradata from hieradata Datafiles as the template is
    now used instead.
  Remove per host hieradata resources and output as they are no longer
    used.

Depends-On: I9c038399fccc4730b73e1a52281d7256ea689ee9
Change-Id: I136fb7aa864a2a3668f5a3845f3ded28b13bfe43
2019-07-10 18:13:03 +00:00
James Slagle
27e7005ad4 Use Ansible for net_ip_map hieradata
Migrates the net_ip_map hieradata from Heat to the tripleo-hieradata
role.

Detailed changes:
network/ports/port.j2:
  cidr output added for the network subnet cidr of the port
  port for a role
network/ports/noop.yaml:
  cidr output for compatiblity with port template interface
puppet/role.role.j2.yaml:
  {{network.name}}_cidr output added for the each networks subnet cidr
  Remove the net_ip_map hieradata from the per host datafiles generated
  by Heat as tripleo-hieradata template will be used instead.
overcloud.j2.yaml:
  consume cidr outputs from the roles, as well as the ctlplane subnet
  cidr and set them as hieradata vars that get passed into the
  templating process for tripleo-hieradata
common/deploy-steps.j2:
  Add a networks data structure to the global vars setting some needed
  vars for tripleo-heiradata.
  Use the net_ip_map template from tripleo-hieradata

Change-Id: Ib30e8347e1a50efec2b6a97482dc98c383cb7cf7
Depends-On: Iaec3654900f250eacf39c7748df166b716937358
2019-07-10 18:12:48 +00:00
Zuul
ba4051a7eb Merge "Revert "Revert "Remove os-collect-config related poperties and attributes""" 2019-07-03 17:44:32 +00:00
Rabi Mishra
5ba1fd2bc7 Revert "Revert "Remove os-collect-config related poperties and attributes""
Root cause fix in heat https://review.opendev.org/#/c/668718/ has landed. 

This reverts commit b5a2a61dfe.

Change-Id: I9222fb6cc0c84d871bd7d8a4808e1212fbaf3a4e
2019-07-03 08:53:29 +00:00
Zuul
63606c0dea Merge "Use Ansible for vip_data hieradata" 2019-07-02 16:47:38 +00:00
Zuul
d97c65ea7c Merge "Use Ansible for all_nodes hieradata" 2019-07-02 16:47:32 +00:00
Zuul
437784cbe3 Merge "Revert "Remove os-collect-config related poperties and attributes"" 2019-07-02 16:32:45 +00:00
Sergii Golovatiuk
b5a2a61dfe Revert "Remove os-collect-config related poperties and attributes"
This reverts commit 89e9fe53b2.

Closes-Bug:  #1834881

Change-Id: I131cbafc126bcc4dbea5d38e0ff7adc177d114bd
2019-07-01 15:32:16 +00:00
James Slagle
a766106574 Use Ansible for vip_data hieradata
Migrates the vip_data hieradata to the tripleo-hieradata role which will
use a jinja2 template to create this file on the deployed nodes. Allows
for removing the AllNodesConfig resource/template completely.

Change-Id: I5412f26423a1739088f12705fa47bac2377b9817
Depends-On: Iaf91f36a189d8e00627c21f14ca992a4d60fa10f
2019-06-28 10:21:56 -04:00
James Slagle
4c34147cc1 Use Ansible for all_nodes hieradata
Migrate the generation of the all_nodes hieradata from Heat to using the
tripleo-hieradata role instead.

Change-Id: I9a37d1faec73a81a28d8f89d86375fb15ee765c7
Depends-On: I6e1e1c28dc09c9e04119db910068d62409a5afc8
2019-06-28 10:21:56 -04:00
James Slagle
f44f339399 Use Ansible for bootstrap_node hieradata
Instead of generating and saving the hieradata in the bootstrap_node
hieradata file in Heat, use the tripleo-hieradata role instead.

Change-Id: Id6a7b10acc65ca6cd2135796a80fad0723078871
Depends-On: I9ccccbfee44fc7c1375dec7357ccad6cba909c16
2019-06-28 10:21:56 -04:00
Emilien Macchi
e115e14e53 Use Ansible to configure the Hiera config
Replace the Heat resources which used to manage the hiera config file
and now use Ansible with the new tripleo-hieradata role.

Remove {{server_resource_name}}Deployment and
{{server_resource_name}}Config resources not needed anymore.

Change-Id: I88fe3460af93b83cc086afeb1c2b959bbb720470
implements: blueprint reduce-deployment-resources
Depends-On: Ia5f11ea1a2f16b736ed7053c5182c7f5a7eb1f4b
2019-06-21 10:15:34 -04:00
Emilien Macchi
cb767a97b9 Use Ansible for {{server_resource_name}}Deployment
Use the new tripleo-hieradata Ansible role to configure
the remaining Hieradata files that were created by Heat before.

{{server_resource_name}} isn't yet fully converted to Ansible, and
another patch will remove the resource when Ansible controls the
hiera.yaml file in /etc/puppet/hieradata.

Change-Id: Ib946b566d66300d23e7abc12498cc11d3f5fa5f8
implements: blueprint reduce-deployment-resources
2019-06-21 10:14:37 -04:00
Zuul
37445ea492 Merge "Remove os-collect-config related poperties and attributes" 2019-06-20 16:14:42 +00:00
Emilien Macchi
17e16e5107 Interface for Ansible Host variables
The new AnsibleHostVarsMap output is a map of roles to Ansible host
vars, which later will be in config-download and populate the Ansible
host vars for each host in each role.

Change-Id: I3880f0f72beb24ee0b0868dca48afce6328144d3
2019-06-18 02:47:17 +00:00
James Slagle
79d9113e5d Use ansible for HostsConfig
Replace the HostsConfig SoftwareDeployment with an ansible task.

implements: blueprint reduce-deployment-resources
Change-Id: Ifd4bc4ce5618587c341ecbf37f82777ae6fc2f4a
2019-06-17 12:05:27 +00:00
James Slagle
ec68f1740c Use ansible for AllNodesValidationConfig
Replaces the Heat SoftwareDeployment resoure for
AllNodesValidationConfig with an Ansible stask instead.

Depends-On: I0b3188ef45dc379f83c36561616b422418845b66
Change-Id: I6e8f8f29cf9ef906b9be55f27aa536d8cc200190
implements: blueprint reduce-deployment-resources
2019-06-15 03:49:06 +00:00
James Slagle
d87c49f4d5 Add HostnameNetworkConfigMap output
This output will map server names to their NetworkConfig resource id.
This makes it easy to retrieve the NetworkConfig resource for each
server in the config-download code.

Change-Id: I315f2e2eb880e9f3cb67d9f4cdc789f08c6c4021
implements: blueprint reduce-deployment-resources
2019-06-12 14:57:38 +00:00
Rabi Mishra
89e9fe53b2 Remove os-collect-config related poperties and attributes
Change-Id: Iaac90d40adaf519be25c2de25ee27e17bfc8ce80
Partial-Bug: #1832441
2019-06-12 11:39:07 +05:30
Zuul
81be2cec96 Merge "Add {{role.name}}RemovalPoliciesMode parameter" 2019-06-07 13:18:15 +00:00
James Slagle
9be6c1c935 Use ansible for AllNodesDeployment
Replaces the SoftwareDeployment resource for AllNodesDeployment with the
usage of the new tripleo-hieradata role.

Change-Id: Ic174699ef038ca3028c21a49373658a5d43844f6
Depends-On: I28b5c2bedbba1c27da628c6bda4c7a57ca0f3ad7
implements: blueprint reduce-deployment-resources
2019-06-03 13:34:35 -04:00
James Slagle
1c4304aeac Make node_ips generic in the Heat template
Replaces the expressions for the node_ips values which resulted in
hardcoded data coming out of the Heat stack with a generic Ansible
jinja expression that will read the same values from the Ansible
inventory and facts.

The data will be rendered at config-download runtime instead of
during the Heat stack operation. This allows for more generic use of
the config-download playbooks with the Ansible inventory alone.

For example, adding a new node to the Ansible inventory and adding
it to the inventory group for a service would cause that node's ip
to be automatically added to the corresponding node_ips lists in the
hieradata. No Heat stack update would be required to add the node.

Depends-On: Iae9ccdf6fad2fabdce66650ee7b064f1ac9528e4
Change-Id: I2a5a7a8ecc992ce558301abfb7a7a098b22743fe
implements: blueprint reduce-deployment-resources
2019-05-30 19:48:28 -04:00
Rabi Mishra
b3b9b44dae Add {{role.name}}RemovalPoliciesMode parameter
This adds a new paramter to reset/update existing blacklisted nodes
set prior to this update with either node delete or using parameter
{{role.name}}RemovalPolicies.

Change-Id: I870d7605e35a7cda76d9de0e8830a87c898533d6
2019-05-22 10:42:09 +05:30
Alex Schultz
eafe390853 Try a timesync as part of first boot
We're running into issues where if someone creates a firstboot script
that touches a file that will eventually be mounted into a container, it
can fail if the time of the file ends up being in the future due to a
later timesync. Let's try a basic timesync bootstrap as part of
cloud-init to address the case of configuration changes occuring prior
to the host_prep_tasks where we traditionally configure chrony/ntp

Depends-On: https://review.opendev.org/#/c/659398
Change-Id: I294eba826b98c5793336815282f766e3d2e60a51
Related-Bug: #1776869
2019-05-20 21:34:50 +00:00
James Slagle
e0d26441f1 Add ServiceNetMap to global_vars
This adds the ServiceNetMap value to global_vars for config-download.
This will make the value consumable from ansible tasks when running
config-download.

Additional values can be added in a similar fashion in the future to
allow for less hardcoded data coming out of Heat, and instead using
jinja expressions to consume data from Ansible variables when
config-download runs.

Change-Id: I8c442caac140f1c96123c1be47e858949419fd8f
2019-04-24 14:10:30 -04:00