This change removes logic for releases older than train, because these
releases are already EOLed. This covers only undercloud-* roles and
playbooks.
Note that this change also removes the containerized_* variables
because current active releases(>=Train) no longer supports
non-containerized deployment. The containerized_undercloud_upgrade
variable is still left because the variable is still required by
the tripleo-ci-base-multinode-standard job template.
In addition, TripleO UI support is removed because the component was
retired before Train.
Change-Id: I5132e5bac4ddaa6f76564cab67e486cb5a4e2bbb
undercloud-setup rols is used by ipa-multinode role while
setting up ipaserver undercloud.
Not all the tasks of undercloud-setup is used there and
recently we moved the build-test-packages as a part of
undercloud-setup and added condition[1] specific to ipa
for skipping build-test-packages.
Which leads to skip fs039 (ovb based IPA deployment)
Run DLRN gate role tasks which calls build-test-packages
role.
Here is the example from the job:
https://review.rdoproject.org/zuul/builds?job_name=periodic-tripleo-ci-centos-8-ovb-3ctlr_1comp_1supp-featureset039-master
```
2021-09-02 01:48:42.859718 | primary | TASK [Run DLRN gate role] ******************************************************
2021-09-02 01:48:42.859779 | primary | Thursday 02 September 2021 01:48:42 +0000 (0:00:00.122) 0:01:08.801 ****
2021-09-02 01:48:42.955410 | primary | skipping: [undercloud]
2021-09-02 01:48:42.970685 | primary |
2021-09-02 01:48:42.970728 | primary | TASK [Install gated repo] ******************************************************
2021-09-02 01:48:42.971064 | primary | Thursday 02 September 2021 01:48:42 +0000 (0:00:00.111) 0:01:08.912 ****
2021-09-02 01:48:43.086896 | primary | skipping: [undercloud]
```
In order to avoid that, we are reusing specific tasks of
undercloud-setup in ipa-multinode role to fix the issue.
[1].https://review.opendev.org/c/openstack/tripleo-quickstart-extras/+/804971
Testproject: https://review.rdoproject.org/r/c/testproject/+/35104
Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>
Change-Id: Ifba29f9045d4e7e0d6b5ef1446e4ce4e28b44cad
In the downstream multinode-ipa job, undercloud-setup
get called twice and it is affacting bug[1].
This patch fixes the build-test-packages not to run twice
by putting a when clause and it will close bug[1].
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1994848
Change-Id: Ia79a9000af2ef6b65d997af2e1224139ceb6fed7
https://review.opendev.org/c/openstack/tripleo-quickstart/+/790701
removes tripleo-operator-ansible from TQE requires and will be get
installed from rpm as a part for undercloud deps.
In current setup, dlrn build the rpm packages just after undercloud
rpm packages installation but tripleo-operator-ansible is used before
that so that dlrn needs to build the changes early before undercloud
deps installation so that we can consume the changes in the deployment
via updated rpm installed from gating repo.
In order to do that, it moves build-test-packages roles task after repo
setup to install latest packages.
It also removes tripleo-operator-ansible from cloning on nodepool.
Testing different scenarios:
1. https://review.opendev.org/c/openstack/tripleo-heat-templates/+/801296
2. https://review.rdoproject.org/r/c/testproject/+/34676
Patch for moving remove_tags to skip_tag_list:
Depends-On: https://review.opendev.org/c/openstack/tripleo-ci/+/803919
Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>
Change-Id: I4f9f3f13346761d3dec35844234cb6ae03ad4107
[1] switched atop installation from RDO repos but
repos are getting setup later, so let's move atop
installation after repo setup.
Related-Bug: #1866202
Change-Id: I378e58eacd17d96c88352f06d1d42a1df765558b
Currently atop in CentOS8 jobs is installed from
Epel 7 repo which is wrong. Since atop is available
in RDO build deps repo let's use that when running
on CentOS8[1].
Also seen kernel panic related to atop as described
in related bug.
[1] https://review.rdoproject.org/r/#/q/topic:rdo-centos8-remove-epel
Related-Bug: #1866202
Change-Id: I4f605615fb1bdc720194244cb43be14648033271
In Idded7faba1ff6c811b94503c559029aeeaca6a06, we are changing the
default path for tripleo-undercloud-outputs.yaml and
tripleo-undercloud-passwords.yaml. These tasks in CI that expect the
files to exist at the old location are updated to use the first_found
lookup to check both the old and new paths.
Likewise, when the output files are written on the minion, they are
written to both the old and new locations until the tripleoclient patch
merges.
Once the tripleoclient patch merges, we can update these tasks to only
look at the new path.
Partial-Bug: #1921975
Signed-off-by: James Slagle <jslagle@redhat.com>
Change-Id: If28d5b225439162b7983165fe3bea605971cfb74
Removing the ens3 network-scripts file is needed when
creating a Centos 8 VM for the undercloud in baremetal
deployments.
Change-Id: I28760c662b7aaf27582c46281855d79f874f369e
Remove ens3 network interface file only when we don't have
actual ens3 interface. Don't delete it if ens3 is one of live
interfaces on the system.
Closes-Bug: #1885701
Change-Id: I6c331f8b71be5636b68cee2a1a2597d20d25e903
Rhel/Centos8 don't have bridge-utils utility. We have to create
network bridge using nmcli tool. Added template for RHEL8/C8
- add-provisioning-interface-os-major-version-8.sh.j2 and modified
logic in playbook to call relevant template based on OS Version.
We also set the required firewalld commands to allow proper network
traffic flow from undercloud to baremetal overcloud nodes.
Change-Id: I5e56b387283fa8deff857bcf3a39a007a3d876a3
Non fatal but confusing and avoidable error:
/bin/sh: /etc/ci/mirror_info.sh: No such file or directory
[DEPRECATION WARNING]: Invoking "pip" only once while using a loop via
squash_actions is deprecated. Instead of using a loop to supply multiple items
and specifying `name: "{{ item }}"`, please use `name: ['pip', 'setuptools']`
and remove the loop. This feature will be removed in version 2.11. Deprecation
warnings can be disabled by setting deprecation_warnings=False in ansible.cfg
Change-Id: I1495dd11405613b7ca63e81cfec8c3eead2dbece
In py3 containers there is no easy_install, but there is pip3.
Use pip3 ad failover to install ARA in py3 container.
Change-Id: I1cd87401058929f578e6b12b5501eba480562343
Provide a playbook and undercloud minion deploy role
Depends-On: https://review.opendev.org/#/c/672318/
Change-Id: Ia63561b9b7e8638e2d1869d4ad608a9b00da4deb
In hostname playbook, add a task to modify /etc/hosts.
tripleo_set_unique_hostname is a new boolean which if set to true,
will add a line to /etc/hosts with an unique hostname
( {{ ansible_hostname }}-unique ) which will resolve the first IPv4
address found in the inventory.
It is useful to reproduce a deployment where the operator is using
hostnames to create SSL certificates and deploy the undecloud with the
public host being an hostname/fqdn and not an IP address.
Related-Bug: #1763776
Change-Id: I6425499e5d248e6cb2285f14dd9c6e716122b90b
Upgrades yamllint to latest version and adots use of its strict
checking.
Fix all known problems reported by yamllint so we don't have to do
that while touching these files.
Change-Id: I4bdc520d9e2aff086c4b463718bc1e053261a4f5
Story: https://tree.taiga.io/project/tripleo-ci-board/task/381
Since https://review.openstack.org/615730 we default
to <hostname>.tripleodomain.example.com if hostname is
not set.
Some of the CI jobs use very long <hostname>'s, resulting
in the FQDN to be more than 63 characters long which is
the max for linux, see GETHOSTNAME(2).
Change the default to use: <hostname>.ooo.test instead.
Also, yamllint complain about indentation.
Closes-Bug: #1803703
Change-Id: If041b1c6e1da1d89d66ffafbbc6ab6c33bd80801
Makes those files conformant with current linting rules and avoids
linting errors when we need to toch them again.
Previous doing "pre-commit run -a" uncovered these errors, now is no
longer reporting any other errors.
Change-Id: Ie4cf229c8f11c2b55b323eac23c89483b26d3781
Use atop[1] tool to monitor the whole job process.
Atop generates binary output that could be downloaded
and then investigated locally.
Using atop -r /path/to/atop.bin you can read the file
and by pressing "t" to move 10 seconds futher or by
pressing "b" to jump to specific time in job and to see
what happened on host in this time. It allows to track
all resources in specific time.
It allows also tracking of containers separately.
For more info you can visit the site[1]
If atop installation fails it shouldn't fail the job,
so ignore_errors is added.
Currently it's for undercloud in OVB and all nodes in
multinode.
[1] https://www.atoptool.nl/
Change-Id: I7e17db3e376218f620a18db7ea7ca82d7578f618
Depends-On: Ibcdcfb4d8c5c94e1a06c7e635b0b6778ad318094
This sets the undercloud hostname from ansible variables instead of
having to call hostnamectl. This also sets a domain to the hostname if
needed.
The hostname is set with one of the following cases, in this order of
precedence
* When we have undercloud_cloud_domain defined, we use that for the FQDN
* When we have an FQDN we use that.
* If not, we default to <hostname>.tripleodomain.example.com
Note that these are only used if undercloud_undercloud_hostname wasn't
provided.
Depends-On: I7705744cab62f432e2e09bf1ee88bba809609cda
Change-Id: I649d6cb87458f2bc9623c84830a45bdcf54432d4
Closes-Bug: #1801769
Until we cannot pin ara deps to each branch.
In some of tripleo jobs ARA fails to install with error
"ImportError: 'module' object has no attribute 'check_specifier'"
Also improve error handling, only install ara if deps are met.
Change-Id: I719ee3665c12375a2f9bbb19685f4f626b26f7c9
Closes-Bug: #1792622
Newer versions of ara are causing newer versions of ansible to be pulled
in rather than using the packaged version provided. This change adds a
new variable called undercloud_ara_version which can be used to specify
a specific version for ara. Currently this is set to 0.15.0 which works
with the ansible 2.4.4 version we currently have in some stable repos.
Change-Id: Id2899044b4b0ac19d587cfe7e321193d5f0c542d
Closes-Bug: #1795009
In the latest versions of the undercloud install, ansible is used.
Use ARA to profile the undercloud install steps as driven by TripleO
and save the ARA report to logs/ara_oooq_root/
Change-Id: I2b034b83ba7779d15a5d69263e67d3aea3f631a8
Only run container tasks when required to:
1. prior to undercloud
2. prior to overcloud-prep-containers
3. prior to standalone deployment
Closes-Bug: #1777896
Change-Id: I50054a95500747972454305001d34c4c97b71e7f
Because of wrong idents setting undercloud hostname in script
doesn't work. Fix idents in ansible task.
Change-Id: I1e34b8974ff98219f666e8864189c496ae8d0be6
Starting from master(Rocky) manage /etc/hosts contents
and hostname for undercloud in tripleo client.
Change-Id: I0d1a712333d3db17cd871fb13ca8330b79fb4feb
Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
Fix undercloud-setup docs and defaults for custom_nameserver.
When it is not a list,
undercloud-setup/templates/ovb-undercloud-connectivity.sh.j2#n59
produces bad values treating each symbol of a string as a nameserver.
Related-bug: #1737555
Change-Id: I413ab6cbfbeb99fff5e6eb9f98077b18fa8bfab8
Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
I7d056b208d5ac0639e3277f3f4ae453a9ee639e8 removed
the default value of undercloud_rpm_dependencies causing
failures for jobs where the release files did not have
the variable overridden.
This review places the default in the extras-common role.
Change-Id: Iefd79b80a757af5ab05168892baeb68a7ab4efba
This patch contains changes to deploy a containerized undercloud by
using: "openstack undercloud install --use-heat" command.
Details of the changes:
- The experimental containerized undercloud deployments driven via
`undercloud deploy` CLI is not supported anymore for Pike.
- overcloud-prep-containers: fix an jinja2 syntax issue with "is defined"
- overcloud-prep-images: "--http-boot=/var/lib/ironic/httpboot" is
added to the "openstack overcloud image upload" command.
- undercloud_rpm_dependencies parameter has been created, default to
undercloud_tripleo_pkg value.
- Remove "undercloud_tripleo_pkg" so we only use
"undercloud_rpm_dependencies". Note that "undercloud_tripleo_pkg"
was only used in this repository.
- Remove "undercloud_update_packages" option which was technical debt.
- Add "undercloud_install_cli_options" option which is used to add extra
options to "openstack undercloud install" command.
- Add "undercloud_container_images_file" which is the environment file
with default parameters for containers to use with undercloud install CLI.
- Add "undercloud_custom_env_files" which provides custom t-h-t env files
for the "undercloud install" `undercloud.conf` interface.
- Generate the undercloud prep containers script. This script will
reproduce what we expect from our users to run with
"openstack overcloud container image prepare" command, for the
undercloud.
- Update undercloud-deploy.sh.j2, remove tech debt and update for new
bits.
- Install heat libraries and other dependencies for containerized UC
from python-tripleoclient-heat-installer. This should go away
once python-tripleoclient installs python-tripleoclient-heat-installer
automatically.
- Update undercloud-install.sh to use undercloud_install_cli_options
which is empty by default but will be used in the container-undercloud
featureset to override with the right parameters.
Partially-Implements: bp containerized-undercloud
Co-Authored-By: Bogdan Dobrelya <bdobreli@redhat.com>
Co-Authored-By: Emilien Macchi <emilien@redhat.com>
Co-Authored-By: Ian Main <imain@redhat.com>
Co-Authored-By: Martin André <m.andre@redhat.com>
Co-Authored-By: Wes Hayutin <weshayutin@gmail.com>
Change-Id: I7d056b208d5ac0639e3277f3f4ae453a9ee639e8
The /opt/stack variable was being used in a single
place and that use can be easily substituted
by the tripleo_root variable, which is the place
were the repositories are being downloaded. If
for some reason tripleo_root directory does not
end up in /new then an error appears as it won't
find /opt/stack/new/devstack/functions-common.
Change-Id: Ibff5e51c0b7a06b9915e222712738d6ca93a366f
The undercloud installer (when using --heat-native) can configure
its own docker settings.
Also, use yum install to add required packages until we can get these
installed via RDO.
Ensure the /etc/hosts file is cleaned out for the undercloud deployment
Co-Authored-By: Wes Hayutin <weshayutin@gmail.com>
Depends-On: I2d569eef136254dc81bdee93a7869fd361a8400d
Change-Id: I583128ef8fb986a08ea372344ed072e506b97d89
Since openvswitch-2.8, some selinux policies installed
with openstack-selinux are required for openvswitch
services to start properly.
Funtion ovs_vxlan_bridge is used in multinode environments
to instal ovs in subnodes, so this patch is installing
openstack-selinux when installing openvswitch. Note that
selinux is not mandatory in ovs for non-openstack environments
so it can't be added as dependency in RPM.
Change-Id: I47832c2cd84247f0ee0e02208e95c051087c494a
This was deleted in devstack-gate, as such needs to be carried here.
In zuulv3 we'll have ansible roles to handle this.
Change-Id: I7b39fede8dd475795f385c086623d6b2781b19e1
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
For vxlan-networking, this review adds the change to ifcfg-* file
and adds the MTU adjustment for br-ctlplane.
Change-Id: I15d9306b7c7dac22abbaa61da4bded200cf5bf2e
To deploy Ceph in the overcloud using ceph-ansible it is necessary
to have it installed in the undercloud.
Change-Id: I3963a54bb6ab814ef0a6b73798f06cbc5302079f
Depends-On: I6e948bd4671e719285f1cec7869b8b87ace2600f
Running quickstart with OVB needs to work with multiple host
clouds where different flavor sets are available.
This review:
* Adds variables to the flavor specifications so that they can be
overwritten by config files per host cloud environment
* Adds functionality to clean up stacks and keypairs
from the host cloud environment
* Includes cloning the Openstack Virtual Baremetal repo
within the ovb-manage-stack role
* Deletes the clouds.yaml file so it is not available,
with the tenant password exposed for longer than
necessary to create or delete the stack
* Changes the default key location to use
the user's default key on the undercloud
Change-Id: I5f0f7327a2509ef889b80a35024478b13df2c2a9