https://review.opendev.org/#/c/650899 added this new
Heat Parameter but set type to 'bool', the correct type
is 'boolean', this patch fixes it.
Also change the comparison in shell script to handle
both True/true by converting the variable to lower case.
Related-Bug: #1823727
Change-Id: I52ba523ecbfd8282858e3102b29189d8ce287a26
First implementation of scale-down tasks, for Red Hat Subcription
Manager.
With this patch, when an overcloud node will be removed, Ansible will
take care of unregister the node from the Red Hat subscription properly
before the node is actually removed from the stack.
Change-Id: I7c08b0f9dcbc583af02cef64d0e953756e344d27
To allow PAM to create home directory for
user who do not have one, ipa-client-install
need an option. This is added by MakeHomeDir
variable.
Closes-bug: #1823727
Change-Id: I040014482e9126947b8c4a1d7b1bf7645f926c4b
Signed-off-by: Cyril Lopez <cylopez@redhat.com>
When satellite is used in organization mode, deployments were failing
due to a change on code return on subscription manager. This last will
generate an error any way so this is a bypass.
Tested on queen.
Closes-Bug: #1822725
Change-Id: I0dd65cc752a6bd94bec59f695e55aa85ef8f0192
Signed-off-by: Cyril Lopez <cylopez@redhat.com>
Not all roles are connected to all networks, there is no
need to create metadata for networks not associated with
the role.
In edge/spine-and-leaf deployments the total number of
composable networks used can be high. Passing all the
networks we quickly go beyond the nova metadata fields
size limit (each field cannot exceed 256 bytes).
Also update tools/check-up-to-date.sh script to use the
simple yaml-diff.py instead of diff. The env generator
code will sort data, while jinja rendered environments
are not sorted, thus need to diff the data in yaml not
the text.
Closes-Bug: #1821377
Change-Id: I5ae3bc845b0a6ad6986d44b14ff4b0737a9b033b
We currently install python-simplejson unconditionally.
I believe we can avoid doing so because nothing actually uses simplejson
in these scripts:
$ grep -i simplejson extraconfig/services/ipaclient.yaml
$
We do this so we do not have to conditionalize the package installation
for CentOS/RHEL 8, because there the package is called
python3-simplejson
Change-Id: I133714ecbf8fb66647cb153a39dbd5a23bf68fe9
This change does two things:
1. it uses print() which is the only supported way of calling print
in python3 (and still works with python2). This way we avoid the
following error:
SyntaxError: Missing parentheses in call to 'print'. Did you mean print('...')?
2. It uses the PythonInterpreter variable to choose the python
interpreter
Tested and we correctly get the right wanted interpreter:
...
fqdn=`echo $data | /usr/bin/python3 -c 'import json,sys;obj=json.load(sys.stdin);print(obj.get("join", {}).get("hostname", ""))'`
...
Change-Id: I6e68664c650d0481a9f0cfd21985434d8c75e1a2
Co-Authored-By: Luca Miccini <lmiccini@redhat.com>
Change: I692fcc4a494b2cda1911814a53a0c6ec2f99f807 in
python-tripleoclient added support to define host routes
for the subnets in undercloud.conf.
Update the undercloud ctlplane network post script so
that it add's these routes to the host_routes property
of the undercloud ctlplane subnets.
THT already uses the data in the subnets host_routes, it
is passed as ControlPlaneStaticRoutes to NetworkConfig
unless ControlPlaneStaticRoutes was statically overriden
in the environment.
Closes-Bug: #1819464
Depends-On: I692fcc4a494b2cda1911814a53a0c6ec2f99f807
Change-Id: I46b7c7175f542ad4d375a20f133c05064e7b7222
With config-download as only supported mechanism, remove
the stack based deployments (which are already replaced
with ansible base service BootParams).
Change-Id: I7ca8189432adf64922bd74dc0bceb84a5b297390
This reverts commit 2a8719960103d2619e908290d80235e6079c334d.
BootParams takes care of the kernel args configuration and
reboot via ansible. But Enabling of OVS-DPDK (EnableDpdkDeployment)
is still handled as part of the PreNetworkConfig (host_config_and_reboot).
It can be cleaned-up to remove unused bits, but not the entire stack.
Change-Id: Ifeb029ddaeb2bc60f43abdb8bdb02a4c911ace30
host-config-and-reboot interface was deprecated in Queens in favor of:
OS::TripleO::Services::BootParams: extraconfig/pre_network/boot-params-service.yaml
and doesn't work with config-download, which has been the default since
Rocky.
Let's remove these files.
Change-Id: I85a781cecb7224881b827ff442376c706f1c771b
The openshift-ansible tasks are now invoked with the tripleo-admin
user, which doesn't by default have write access to /var/lib/mistral,
but it does have sudo access.
This change makes /var/lib/mistral/<stack>/openshift be owned by the
tripleo-admin user so that subsequent tasks can write to that
directory.
Change-Id: I7762af7b824ae0c7303438d48fc35c9f24a00c9c
Related-Bug: #1813832
Makes /var/lib/mistral/overcloud/skydive be owned by
tripleo-admin so that playbook and vars files can be written.
Change-Id: I72e396747f487a76822f18906edfb8c015b7dd36
This addresses a possible bug when using FreeIPA to do TLS
everywhere.
It is possible that the IPA server is not on the ctlplane.
In this case, when the nodes start up, the registration of the node
with IPA will fail, resulting in failed certificate issuance requests
later on.
We introduce a composable service to run in host_prep_tasks.
This will always run once the networks have been set up. If the
instance has already been enrolled (by cloud-init or in an update),
then the script executed by the service will just exit.
In this iteration, we simply execute the code that the cloud-init
would have done. In later releases, we will execute all the code
performed by novajoin-server here in ansible - and deprecate the
novajoin server.
Change-Id: I31f64c3cbd1d151e3c2a436cc3e2ec5316535087
Co-Authored-By: Juan Antonio Osorio Robles <jaosorior@redhat.com>
Resolves: rhbz#1661635
Closes-Bug: #1815924
The ceph-ansible tasks are now invoked with the tripleo-admin user,
which doesn't by default have write access to /var/lib/mistral, but it
does have sudo access.
This change makes /var/lib/mistral/overcloud/ceph-ansible be owned by
the tripleo-admin user so that subsequent tasks can write to that
directory.
Related-Bug: #1813832
Change-Id: I98bb38078be84cbda3e9a9e338af0d054dc53420
This simplifies the tripleo-heat-templates interface to only offer the
OpenShiftAnsiblePath parameter instead of the myriad of
OpenShift*Playbook parameters, since all of these would very likely be
in the same openshift-ansible directory.
Change-Id: I367a25ae1b03d8bdb712277bd8ade30e53b8af11
It could cause issue when being on inventory containing nodes marked as
new.
Specifically, it caused an undefined ansible variable error when
re-running the deploy playbook on an inventory that contained nodes in
the new_masters group.
Closes-Bug: #1812962
Change-Id: Iaf9403b5f60f06769d94317d261de8cad94274ab
This allows to run custom openshift-ansible playbooks with an inventory
that reflects the deployment status.
Related-Bug: #1812962
Change-Id: I94b6ae04a3e31fe0b7951df2446cc91b5842cd77
Re-using the same variable for each role was not very clean and forced
us to re-check which master nodes were new in the deployment. Instead,
use a dict for `role_nodes` and `new_role_nodes` with keys being the
role name.
This will allow us to re-generate updated inventory in later step
without needing to set the facts once again.
Related-Bug: #1812962
Change-Id: I21ed56a1c4d43a3e0945c8b74dd94ccf89dc05b0
I4aa8055fe800723b3e140f8232c9e41e769e11f3 wrongly replaced 'include'
with 'include_tasks' in openshift and kubernetes templates and broke
their deployment, resulting in an ansible error:
ERROR! 'include_tasks' is not a valid attribute for a Play
Use import_playbook instead.
Change-Id: I0bb9bfabeb06dc9d602ad173ce2d12d1771b6b1f
Closes-Bug: #1812983
This reverts commit 1143714b340cc5a3c9ed422af54fc12993067005.
So we're actually changing this out in packaging. It'll fail
if you deploy from code, but the fedora version of the
package should end up with /usr/bin/python3. This is why
we didn't hit this in CI.
https://review.rdoproject.org/r/#/c/18465/
Change-Id: Ibad6ff84b33ae3d6011c87028fe02695eea69482
Use str_replace to use Python3 interpreter when needed in cloud_yaml.py
called by undercloud_post and standalone_post.
Also for undercloud_post.py and undercloud_ctlplane_network.py.
Change-Id: I48d779c0b142d885214ca4c2158f61f7f886ebf7
We need to include also the Undercloud DB in a Mistral
environment to be able to create the DB backup from the CLI.
Now, we do this using python and THT but we didn't include it.
Change-Id: If503e733b103a34ae5639eb56dfae05f9783d59a
Closes-Bug: 1812839