131 Commits

Author SHA1 Message Date
Zuul
c33f8cb117 Merge "Remove NovaConsoleauth Service" 2019-05-17 16:21:03 +00:00
James Slagle
bb95ce8439 Remove HostEntryDeployment
This deployment was for getting the hostname of pre-provisioned nodes.
This is no longer required with config-download since a HostnameMap is
required to be used with config-download.

Change-Id: I35d7d03c5373a251dfe96c2f71c4915ee52f113a
implements: reduce-deployment-resources
2019-05-14 15:48:05 -04:00
James Slagle
3a1948390d Remove InstanceIdDeployment
This deployment is no longer needed as it was only setting metadata that
was used by os-collect-config. Now that config-download is used,
os-collect-config is no longer used, we can get rid of this deployment.

Change-Id: Icd45f7299c4053373b3161d90ad32135c9f40e5a
implements: reduce-deployment-resources
2019-05-14 15:48:05 -04:00
Martin Schuppert
20dbe32060 Remove NovaConsoleauth Service
As of Rocky [1], the nova-consoleauth service has been deprecated and
cell databases are used for storing token authorizations. All new consoles
will be supported by the database backend and existing consoles will be
reset. Console proxies must be run per cell because the new console token
authorizations are stored in cell databases.

nova-consoleauth was deprecated in tripleo with:
I68485a6c4da4476d07ec0ab5e7b5a4c528820a4f

This change now removes the NovaConsoleauth Service.

[1] https://docs.openstack.org/releasenotes/nova/rocky.html

Closes-Bug: #1828414

Change-Id: Icdfbf26b5e83cc07a560eb227a0cf822e4c5a1e3
2019-05-09 15:24:13 +02:00
Alex Schultz
90562b6f5d Use timesync service
The Ntp service should no longer defined on the roles as we should be
using the meta Timesync service to ensure the correct service is defined
for the sync service.

Change-Id: Ic2fb3291de78891d05ef12e3778263fe74fbff8c
Related-Blueprint: tripleo-chrony
Closes-Bug: #1827676
2019-05-03 14:41:27 -06:00
Marius Cornea
d9c83dbf9b Adjust deployed-server install package list for RHEL8
- python-ipaddress is not available in rhel8
 - python3-heat-agent* need to be installed instead of
   python-heat-agent*
 - lvm2 is required by ceph deployments

Closes-bug: 1827276

Change-Id: Id5eb7edb48a7c56e8c9a3798fc8bd3eb08f4294a
2019-05-01 16:46:12 -04:00
Lee Yarwood
555178160b placement: Introduce an extracted PlacementAPI service
This change introduces an optional extracted version of the Placement
service into TripleO. This extracted version will only be required once
the Placement service is fully removed from Nova during the T cycle
(previously S but delayed) at which point the corresponding
NovaPlacement service will also be removed from TripleO.

The majority of this change is code motion between the original
NovaPlacement service and the new PlacementAPI service.

Upgrades from the original NovaPlacement service to the extracted
PlacementAPI service are not currently supported by this change and will
be worked on independently during the Train cycle.

Co-authored-by: mschuppert@redhat.com

Depends-On: https://review.openstack.org/#/c/624335/
Change-Id: I9e3287bcbe9d317f32bf6b468c6ee17f04b6fff9
2019-04-18 17:34:06 +02:00
Emilien Macchi
b993163ffb deployed-server: start and enable network service
On the new versions of RHEL, the network service isn't enabled by
default because this mechanism became legacy.
However, our os-net-config doesn't use the new network manager, so we
still rely on on the network service to manage things like the virtual
bridges on the Undercloud and the Overcloud.

Closes-Bug: #1823353
Change-Id: I7094b36ef183dd388ea5a4c353f8eec43c9f2785
2019-04-05 11:33:12 -04:00
Emilien Macchi
f3b85e4ba5 Remove Congress
Congress doesn't seem to be used anywhere, we never had a bug report or
any sign of somebody out there actually using it.

Let's remove its support in TripleO, to reduce the codebase.

Change-Id: Idca6b12f1c0ca3bc15bedf6469d4063a4dac31fa
2019-02-28 16:29:03 -05:00
Zuul
1b346b941a Merge "Move UpgradeInitCommand and UpgradeInitCommonCommand to run by Ansible" 2019-02-01 19:49:26 +00:00
Carlos Camacho
9164e6adbd Move UpgradeInitCommand and UpgradeInitCommonCommand to run by Ansible
This change moves the execution of UpgradeInitCommand
and UpgradeInitCommonCommand to be executed with
Ansible in the upgrade step 0 instead of Heat.

Closes-bug: 1812659
Change-Id: I76eb6a2572e24b6f114e38897a68cd85276af3c6
2019-01-28 12:16:52 +01:00
Zuul
632ecfe41d Merge "deployed-servers: symlink ansible-playbook" 2019-01-25 23:13:51 +00:00
Emilien Macchi
7d3c7b16bb deployed-servers: symlink ansible-playbook
In RHEL8, we'll have /usr/bin/ansible-playbook provided by ansible package.
Everywhere in TripleO we rely on /usr/bin/ansible-playbook but the
ansible-python3 package in Fedora 28 doesn't provide it.

Until it does, we have a temporary workaround that will create a symlink only
if the file doesn't exist and if ansible-playbook3 is here.

Change-Id: I520bf0d665fa9a331fe94168595d3b09dbf1795c
Related-Bug: #1812837
2019-01-25 10:12:18 -05:00
Simon Dodsley
f77d8e7909 Add missing entries for Pure Storage Cinder Backend and fix typos
Closes-bug: 1807195
Change-Id: Ibaaaab9d4169829c0f71cf7acea25971b4526695
2019-01-23 09:34:13 -05:00
Zuul
8f4a2607d8 Merge "Make NetCidrMapValue contain list of cidrs in each net" 2019-01-09 20:02:14 +00:00
Harald Jensås
8665a0d97b Make NetCidrMapValue contain list of cidrs in each net
Prior to routed networks we only had one subnet per network.
With routed networks each network can have multiple subnets.
The NetCidrMapValue should contain a list storing the cidr
of each subnet for each network.

Ceph:
  list_join is used to make a comma separated list of
  cidrs for public_network, monitor_address_block,
  cluster_network and radosgw_address_block.

Partial: blueprint tripleo-routed-networks-templates
Depends-On: Ia8e219b30d4f8b199b882e95fe2834252a92c15a
Depends-On: I1ace0a02e6aa2610559fee0d8576e6f1bc98d699
Change-Id: I68e064d23ec5d43f59146d974cae604d2c5fdb52
2019-01-06 18:20:27 +01:00
Emilien Macchi
be07f991b6 Remove MongoDB
MongoDB support was stopped in Pike, it is not used anywhere now.
Therefore, in Stein are removing it to clean things up.

Change-Id: I4ec8f35b1dd71c25cfb41cc54105ac743ef67745
2019-01-04 15:17:00 +00:00
Jill Rouleau
971d97bf99 Correct file modes for rpmlint failures
Numerous files have incorrect modes set. Correct these so that executables
have 755 and yaml files are 644 to address rpmlint errors.

Change-Id: I8db36209b41a492f6b85e3469994de884bf556e8
2018-12-14 13:21:28 -07:00
Alex Schultz
1e5ccb4c7d Handle python binary look for scripts
We have some scripts that we deploy via tripleo that use inline python.
For this we need to be able to find an available python on the system in
order for it to work. This change adds a lookup function to the scripts
to find a working version of python as /usr/bin/python may not exist.

Change-Id: Ida7a7cbd064ebdb923f38c9102eb4b0771f9b273
Related-Blueprint: python3-support
2018-11-26 16:48:51 +00:00
James Slagle
30741a22d7 Make $SSH_OPTIONS overrideable
In some cases, it may be desireable to override $SSH_OPTIONS as used by
the deployed-server get-occ-config.sh script. Particularly in
environments that wish to remove -tt.

This patches makes it so that the value can be overridden via the shell.

Change-Id: I14ab6765b3e55f602bb8ae56a313fce9812e3f59
Closes-Bug: #1800834
2018-10-31 09:07:15 -04:00
Emilien Macchi
7bebdefda8 Introduce OS::TripleO::Services::Podman
Podman service will be in charge of installing, configuring, upgrading
and updating podman in TripleO.

For now, the service is disabled by default but included in all roles.
In the cycle, we'll make it the default.

Note: when Podman will be able to run in TripleO without Docker,
we'll do like https://review.openstack.org/#/c/586679/ and make it as
a generic service that can be switched to either podman or docker.
But for now, we need podman & docker working side by side.

Depends-On: Ie9f5d3b6380caa6824ca940ca48ed0fcf6308608
Change-Id: If9e311df2fc7b808982ee54224cc0ea27e21c830
2018-10-02 01:47:46 +00:00
Steve Baker
93d87cf18d Always enable image prepare service for docker clouds
This change includes the service
OS::TripleO::Services::ContainerImagePrepare by default in the overcloud
which will trigger a container image prepare in the same way as is
currently done for the containerized undercloud.

Along with the mistral action which populates the container image
parameters, this change makes blueprint container-prepare-workflow
functionally complete.

Change-Id: I8b0c5e630e63ef6a2e6f70f1eb00fd02f4cfd1c0
Blueprint: container-prepare-workflow
2018-08-15 12:09:23 +00:00
Harald Jensås
6ab86a3ebe ControlPlaneSubnetCidr using get_attr
Use get_attr on the server resource to resolve attribute
value from the subnet(s) and pass it to the parameter
'ControlPlaneSubnetCidr' used in the THT/network/config/*
templates.

As the value is now resolved from resource attributes,
this changes the default for 'ControlPlaneSubnetCidr' to ''
as well as the comment that these value should be overriden
in parameters_defaults. It also removes the parameter from
network-environment templates.

A conditinal is used in  puppet/role.role.j2.yaml so that
the parameter value is used whenever it is not '' (the
default) to provide backwards compatibility in case the user
set a different value (different from the one used in
undercloud.conf) for this parameter in
network-environment.yaml.

When deploying a routed control plane the network config
templates would previously need to be updated to carry
'ControlPlaneXSubnetCidr' parameter (in case the subnet
mask is not the same for all the routed network leafs).
With 8 Leafs in addition to the network local to the
undercloud that is 8 parameters less to place in the
configuration. By getting the value to pass from the
server resource this change reduces the required nic-config
template customisation (reduces the risk of user error).

Partial: blueprint tripleo-routed-networks-templates
Change-Id: I92ee0f9a2107cdf1ca5903d3756a235a79c36c73
2018-07-14 09:11:28 +02:00
Zuul
27d11e133b Merge "Use UpgradeInitCommonCommand with deployed-server too" 2018-06-14 11:05:03 +00:00
Zuul
7028d4fbe8 Merge "Use user specified private key when deleting temp keys" 2018-06-13 08:48:47 +00:00
Jiri Stransky
e8532bea1e Use UpgradeInitCommonCommand with deployed-server too
We've hit an issue in multinode CI that Ansible wasn't getting updated
during `upgrade prepare`. UpgradeInitCommonCommand wasn't being
executed because it was left out from deployed-server.yaml.

Change-Id: I940c3e05944829a6a4155722181e5fa85a963660
Closes-Bug: #1776474
2018-06-12 14:25:14 +02:00
Sergii Golovatiuk
9a37e5ac42 Fix fail_if_empty invocation with pipes
* Since $@ parameter may have pipe '|' it should be processed correctly.
  Currenly the part before pipe is assigned as $@ so bash runs pipe with
  commands after it after execution of function. However, we want to assign
  command with pipe to $@ thus "" around command with pipe are required.
* replace $() with eval as $() doesn't work correctly with pipe as it tries to
  escape pipe so output variable contains wrong data.
* This patch adds tonumber to first invocation

Change-Id: I958e14c0a4ea4b5782d2c74dc895471b0f70b875
2018-06-05 17:20:52 +02:00
Zuul
da48ba5454 Merge "Disable StrictHostKeyChecking when removing keys too" 2018-05-31 14:26:20 +00:00
James Slagle
d04e7ea4f3 Use user specified private key when deleting temp keys
We use the user specified private key when we inject the temporary ssh
key, and we should also use it when we delete the temprorary ssh keys.
Even though this script is no longer used on master, we should commit
this so we can backport to queens.

Change-Id: Id389984b87209f959e4cf439abd8165a3a08ead3
Closes-Bug: #1773980
2018-05-29 08:53:19 -04:00
Harald Jensås
96a5a4936b Deployed Server - portmap should match neutron API
The cidr property for a Neutron subnet should contain
the network cidr, not the network prefixlen.

This change fixes the example provided in the description
for the fake neutron port in deployed-server.

Closes-bug: #1772396
Depends-On: I0f8cad690a178e7b70044c38b2277a51ae3734eb
Change-Id: I8b00eda3a9c047ce73aad11cac9b13bca653c544
2018-05-21 14:45:20 +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
James Slagle
49d0721335 Convert resource_name to number
When sorting by resource_name, first convert it to a number so that
it's sorted correctly. Otherwise, deployments with > 10 nodes could
configure nodes out of order.

Change-Id: I604428dacd63140f4e89b45c55f7eb859df27fe7
Closes-Bug: #1768158
2018-04-30 20:07:00 -04:00
Zuul
991a8d7f61 Merge "Fix path to deployed-server-environment.yaml" 2018-04-26 09:41:52 +00:00
Ben Nemec
0edc478348 Disable StrictHostKeyChecking when removing keys too
Otherwise subsequent deploys can fail if an IP is reused.

-o UserKnownHostsFile=/dev/null is also added to avoid ugly messages
in the script output because of mismatched hostkeys that we're going
to ignore anyway.

Change-Id: If7eabd5df2ffc29d125c4f65f7fee1b0f4085817
Closes-Bug: 1766924
2018-04-25 11:41:03 -05:00
Zuul
822bd996b3 Merge "Support separate oslo.messaging services for RPC and Notification" 2018-04-25 04:43:46 +00:00
Ben Nemec
955d1da63d Fix path to deployed-server-environment.yaml
It's in environments/ not deployed-server/

Change-Id: I03b8b5ee7a8bcb583a5e64f19ec6a5ab9a9bb771
2018-04-24 15:39:17 -05:00
Andrew Smith
78bc457585 Support separate oslo.messaging services for RPC and Notification
This commit introduces oslo.messaging services in place of a single
rabbitmq server. This will enable the separation of rpc and
notifications for the continued use of a single backend (e.g.
rabbitmq server) or a dual backend for the messaging communications.

This patch:
* add oslo_messaging_rpc and oslo_messaging_notify services
* add puppet services for rpc and notification
  (rabbitmq and qdrouterd servers)
* add docker services to deploy rpc (rabbitmq or qdrouterd)
  and notify (rabbitmq or shared)
* retains rabbit parameters for core services
* update resource registries, service_net_map, roles, etc.
* update ci environment container scenarios
* add environment generator for messaging
* add release note

Depends-On: Ic2c1a58526febefc1703da5fec12ff68dcc0efa0
Depends-On: I154e2fe6f66b296b9b643627d57696e5178e1815
Depends-On: I03e99d35ed043cf11bea9b7462058bd80f4d99da
Needed-By: Ie181a92731e254b7f613ad25fee6cc37e985c315
Change-Id: I934561612d26befd88a9053262836b47bdf4efb0
2018-04-22 04:33:44 +00:00
Carlos Goncalves
9526cef547 Containerize Neutron LBaaS service plugin
Change-Id: I68e5ca5a78a2bd08082a494b636c6e2debb6bbae
2018-04-18 10:53:48 +02:00
Zuul
8fd00675e8 Merge "Remove no longer used disable_upgrade_deployment flag" 2018-04-03 05:30:26 +00:00
mandreou
66df6bdb46 Remove no longer used disable_upgrade_deployment flag
In I75f087dc456c50327c3b4ad98a1f89a7e012dc68 we removed much of
the legacy upgrade workflow. This now also removes the
disable_upgrade_deployment flag and the tripleo_upgrade_node.sh
script, both of which are no longer used and have no effect on
the upgrade.

Related reviews
    I7b19c5299d6d60a96a73cafaf0d7103c3bd7939d tripleo-common
    I4227f82168271089ae32cbb1f318d4a84e278cc7 python-tripleoclient

Change-Id: Ib340376ee80ea42a732a51d0c195b048ca0440ac
2018-03-29 15:27:30 +03:00
James Slagle
154879b68d get-occ-config.sh: fix handling multiple nodes in a role
When using get-occ-config.sh with a role with a count greater
than 1, the script will now configure all nodes that are of that role
type instead of exiting after only configuring the first.

Previously, the expression ((i++)) evaluated to 0, and when using
arithmetic expansion, causes a rc of 1, which caused the script to exit
after configuring the first node.

Change-Id: I0a39f2b8f1de5302fd426999acfe5043b0361987
Closes-Bug: #1759581
2018-03-29 12:20:06 +00:00
Zuul
b8044a36b6 Merge "Fix newton compat mode for deployed server." 2018-03-21 11:52:27 +00:00
Zuul
0da17202ec Merge "Add support for Dell EMC XtremIO Cinder ISCSI Backend" 2018-03-16 01:18:44 +00:00
Sofer Athlan-Guyot
5015cc6dd8 Fix newton compat mode for deployed server.
The ControlPlanePort interface changed in the deployed-server
ressource.  It now takes an additional fixed_ips parameters.

This add the required parameter and is required for FFU testing in CI.

Adjust the validation to take the fixed_ips discrepancies between two
different templates interfaces in deployed-neutron-port and
ctlplane-port.

Change-Id: I58af23129bcba04a367d0169dcafd53d33ab42f2
Closes-Bug: #1755837
2018-03-15 15:52:53 +00:00
rajinir
a462d796a7 Add support for Dell EMC XtremIO Cinder ISCSI Backend
This change adds a new define for cinder::backend::dellemc_xtremio_iscsi

Change-Id: Icf4a199383064e7884953f0f5085dcef54c3b9a4
Implements: blueprint dellemc-xtremeio-cinder
2018-03-09 14:25:14 -06:00
Zuul
ecbe72ba9b Merge "Introduce wait_backoff, fail_if_empty wrappers" 2018-03-02 13:40:49 +00:00
Harald Jensas
d0a03972a6 Use ipaddress module
This patch replaces use of ipaddr python module with
ipaddress module. The ipaddr has been superseded by the
ipaddress module.

Also install python-ipaddress instead of python-ipaddr in
deployed-server bootstrap scripts.

Closes-Bug: #1751934
Change-Id: I63ae89869c8994e17b3460f9ae94e5fa922f6237
2018-02-27 18:01:21 +01:00
Sergii Golovatiuk
fc06a7deba Introduce wait_backoff, fail_if_empty wrappers
* wait_backoff wrapper retries the command several time increasing backoff
  timeout exponentially. Its log is added to to stderr.

* Under some circumstances (race condition), stack may be created but it's
  resources are not. fail_if_empty wrapper fails if no output received.

* Some openstack commands were wrapped as there is a delay between stack and
  resource creations. Usually it's not visible on speedy environments. However,
  when undercloud is located on small VM or cloud flavour is m1.medium then a
  race condition may occur as heat creates stack and its resources
  sequentially. This means there may be cases when stack is created but its
  resources are not. Wrapping openstack calls with wait_backoff and
  fail_if_empty guarantees output with proper exit code

Change-Id: If10f4d58f3689bc7d817c8ac2c31e48501e937ce
2018-02-23 11:21:27 +00:00
Sergii Golovatiuk
961f7315f3 Refactor get-occ-config.sh
* Add $ to to eval hosts to get proper dereference
* Add quatas around eval
* Replace let with ((i++))

Change-Id: I5dbb6ef16598905b6d3bbb9efc448e0b45cbe099
2018-02-20 16:14:14 +01:00
Zuul
e8c37e90a4 Merge "Add subnet property to ctlplane network for server resources" 2018-02-08 01:27:21 +00:00