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
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
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
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
- 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
* 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
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
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
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
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
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
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
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
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
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
This change adds a new define for cinder::backend::dellemc_xtremio_iscsi
Change-Id: Icf4a199383064e7884953f0f5085dcef54c3b9a4
Implements: blueprint dellemc-xtremeio-cinder
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
* 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
* Add $ to to eval hosts to get proper dereference
* Add quatas around eval
* Replace let with ((i++))
Change-Id: I5dbb6ef16598905b6d3bbb9efc448e0b45cbe099