In order to ANSIBLE_INJECT_FACT_VARS=False we have to use ansible_facts
instead of ansible_* vars. This change switches our distribution and
hostname related items to use ansible_facts instead.
Change-Id: Id01e754f0cf9f6e98c02f45a4011f3d6f59f80a1
Related-Bug: #1915761
We've seen that large amount of facts for hosts have a direct impact on
task execution as part of the deployment. This change reduces the
amount of data that we are collecting when we use facts and leverages
more targeted methods to collect the required information.
Change-Id: I49e6ca02c2b4791641fb27ebf258ef6c9d52dd9e
Related-Bug: #1915761
When we delete and recreate a stack multiple times, it can lead to
outdated facts and cause tripleo-kernel to disable nic1 when it
shouldn't. This happens when we have a bond/team on nic1 at some point
during the deployment.
Closes-Bug: #1906082
Signed-off-by: David Vallee Delisle <dvd@redhat.com>
Change-Id: I808daf58b606c717ab1bbae7d3d869d5baa67352
For FFU, leapp tool requires the /etc/default/grub file
to have entries to start with "GRUB". upgrade_steps for
ffu has been updated to fix it for FFU. Align the args
with the same name for the fresh deployment too.
Related-Bug: #1890769
Change-Id: I2349f30d2159e068ebdb453372050459b7a78c65
During update/upgrade/scale, already deployed node should
not be rebooted, if the kernel args are changed. Reboot of
the node should be planned by the user with migration and
downtime window. With this change, the kernel args will be
updated to the already deployed node, but it will not be
applied with reboot. For fresh nodes, where kernel args
entry is not found, the reboot will be applied.
In case, when the existing node is deployed without kernel
args but during an update the kernel args are added. At this
time a reboot is required, because there are other services
which depends on the kernel args like hugepages for OvS-DPDK
and iommu for SR-IOV.
It leaves with another edge case, when the node is deployed
with only SR-IOV and OvS-DPDK is added later or vice-versa,
the node will not be rebooted. As such kind of deployments
require network config changes, it requires more planning.
This scenario has to be handled on case-by-case basis.
Closes-Bug: #1895105
Change-Id: I25fbad4ef76bccc45a06f78751f7efb906758b90
Handlers normally don't run until the end of a play execution. Since we
are forcing a handler run in the middle of the tasks there is not a good
reason to use handlers for this case. Additionally we're not relying on
this handler anywhere else. Because of this, let's switch to explicit
tasks that check changed results instead of handlers. We've seen issues
with trying to use handlers in ansible when not using a linear strategy.
Change-Id: I4eb5ece7d5c1d25f5beacd9e21e20ae9f3d45c17
Closes-Bug: #1888853
Forcing lo.disable_ipv6=0 in tripleo-ansible may result in such
value being placed in /etc/sysctl.d/99-tripleo.conf *before*
net.ipv6.conf.all.disable_ipv6 = 1, thus effectively being ignored.
See rhbz#1841522 for an example of a side effect of this, where
'KernelDisableIPv6: 1' results in epmd/rabbitmq being unable to start.
Depends-on: https://review.opendev.org/#/c/732098
Change-Id: Iea01c7d6ef19ed2f0a2b7ecab15de0c30fcb4f8c
The default overcloud-full image uses grub config path
/boot/grub2/grub.cfg however images with EFI boot partitions use grub
config path /boot/efi/EFI/redhat/grub.cfg.
This means for EFI based images, persisting kernel boot args is
currently broken. This change fixes this by checking a known list of
grub.cfg paths and regenerating the config for each file which already
exists.
Change-Id: I9ef130a3f437c82e9e3ec2f2bc82df3ea45c410f
Closes-Bug: #1877215
This change replaces all of the roles references in our various files with the
new role name. This is being done because Ansible no longer allows hyphens in
role names.
Change-Id: Ie899714aca49781ccd240bb259901d76f177d2ae
Signed-off-by: Kevin Carter <kecarter@redhat.com>
All roles that have a hyphen in them need to be renamed to use an
underscore. This change creates a symlink to all roles using their
original name which will ensure we maintain compatibility with
the rest of the TripleO stack. This is being done because roles with
hyphens are no longer valid within collections.
A temp PBR update has been made to accomodate all of the symlinks to
the legacy role names.
[0] https://docs.ansible.com/ansible/devel/dev_guide/developing_collections.html#roles-directory
Change-Id: Id00a3670351990e5489a297c4c7200f8c05af096
Signed-off-by: Kevin Carter <kecarter@redhat.com>