Execute a list of functions after series upgrade if one is
supplied. This change is driven by the upgrade testing of vault.
Vault needs to be unsealed after it is rebooted.
It is likely that there are other commands that we
would like to run in our tests, so this is a new SSH
command runner that the existing SSH check has been
updated to use.
resource_removed is used in many places to monitor removal of
different kinds of OpenStack resource. It is reasonable to expect a
flavor to be removed in a few seconds where as an image based instance
may take minutes to be removed. With that in mind this change
exposes the retry options used by tenacity allowing the caller to
set reasonable expectations for the resource removal.
* Expose resource_reaches_status' retry options
resource_reaches_status is used in many places to monitor many
different kinds of OpenStack resource. It is reasonable to expect a
flavor to be created in a few seconds where as an image based instance
may take minutes to become active. With that in mind this change
exposes the retry options used by tenacity allowing the caller to
set reasonable expectations for the resource state change.
In addition the image based instance creation call is updated
to retry for longer as this has been timing out.
* Remove swap files
A number of packages were requiring interaction on upgrade even with
do-release-upgrade -f DistUpgradeViewNonInteractive. By setting DPkg
options in apt.conf upgraded packages do the right thing.
Set 'DPkg::options { "--force-confdef"; };' on hosts being upgraded.
Remove all calls to time.sleep and use block_until_unit_wl_status to
manage the timing of the upgrade steps.
Also use run_via_ssh to execute commands while the juju agents are down
during a series upgrade.
Utilities for performing series upgrades.
Place holder for future stand alone series upgrade zaza test.
Small change to overlay template to allow stand alone zaza tests.
* Make image creation a noop if image already exists
* Two admin projects are created, one in the default domain and
one in the admin domain. To differentiate between them specify the
admin domain when searching for the project id. This, in turn, ensures
that the security group rules are applied to the correct 'default' security
group.
* Fix cirros image name
The get_undercloud_keystone_session function was mistakenly using the
get_keystone_scope function. The get_keystone_scope function is only
for use with the overcloud.
Use of the get_keystone_scope function mistakenly caused undercloud
authentication to mix overcloud authentication.
We would only see this when the overcloud is Liberty because only
liberty uses scope=DOMAIN with keystone v3.