When I merged the db status check in for database indexes, I missed
the most improtant line, which is where the object is populated with
the method name to be executed by the upgrade checks framework.
In the rush to try and clean-up after the impact of the Secure RBAC
work, I just didn't manually test the final file I uploaded into
review. I assumed it just worked because the job passed, but didn't
think about the resulting return codes which we *should* experience
on an upgrade from a prior version. Later on, I noticed that because
of the way the status checks are invoked, I also added the code to
do the index check in the wrong order, so I had to restructure things
so the method definition was known by the object on the class which
holds the method names list.
I guess I copied/pasted this over from another file I was testing
in just didn't run the final file. :( Funny enough, the index check
works like a charm now.
Also updates the status check invocation check in the upgrade script
for grenade, *as* warnings *are* permissible and not fatal.
Change-Id: Ifa9da65dc8df5bf9a369d6faeab310386dfd944a
It seems, however variables are getting set with grenade
in native zuulv3 jobs, the environment variables are no
longer comparing as they once did in standard bash jobs.
What worked previously, was [ "$VAR" == 'value' ], however
when comparing the newer grenade node jobs we see things like
[[ subnode != \s\u\b\n\o\d\e ]] returning true when single
quotes are used.
Comparison in the logs to where double quotes were used for
functionally the same comparision, revealed proper processing
and execution as expected.
As such, changing our single quotes to double quotes where
applicable.
For the record, I also quickly checked codesearch and it looks
like we were the only project to use single quotes for this
comparison.
Change-Id: I2db2e870e2c5f32aa061af025ee7ce12c4f7c049
Adds a check for compatibility of the object versions (in the DB)
with the release of ironic. This check is used by the
'ironic-status upgrade check' command.
The ironic-status command is added to devstack and grenade (when
upgrading).
Change-Id: I2043dc01856106d50356637db327a2817db90366
Story: 2004990
Task: 29459
As of 988243c93fb87190e1867ef913136ecf139e7cb8 in ipxe
"[virtio] Add virtio-net 1.0 support", VMs don't attempt
to boot over the network when using the virtio-net rom.
The ipxe-qemu package used in the grenade jobs contains
this problem. Switch to e1000 to avoid baremetal VMs
working on some hosts and not others.
Change-Id: I4ec297281380896ffe9004c4de7117586ded7149
Story: #2003808
Task: #26603
This was disabled when grenade switched to using rocky
as its base install as it didn't work with wsgi. Restore it
using a version that compatable with WSGI.
Task: #26604
Story: 2003808
Change-Id: I968339b48191df46a44f45c1794478aa0d1039f6
Downgrade ipxe-qemu during grenade job
Temporary workaround while we find the problem with the
newer ipxe-qemu package.
Task: #26553
Switch grenade job to wsgi
Now that grenade is using Rocky as its base we
can switch to WSGI for ir-api. Also now required
for CI as IRONIC_USE_WSGI was getting flipflopped
from False -> True -> False during the grenade job.
Task: #26594
Disable the ironic-api redirect as it doesn't work with wsgi
Task: #26595
Increase the keystone token timeout, for grenade jobs only
Task: #26596
Story: #2003808
Change-Id: Icc380e6e5128f15f90b3a86cb773e7bb8d60d076
Depends-On: Ib7d68d1360e3cdbfdc2ff185a9760461e75ac8c4
Run ironic-dbsync online_data_migrations on single node grenade
right after usual dbsync.
Do not set pin_relase_version for single node grenade as we
do cold upgrade and it is not required.
Related-Bug: 1526283
Related-Bug: 1502887
Change-Id: I2e331252aeb66376c2d6cc3c16b6de0aefca5434
As we do not upgrade nova on multinode grenade, there is no need to
restart it. This way we avoid breaking n-cpu service, as new
dependencies are installed and they may not work with old code.
Change-Id: Id0c13704654d43a663458b9c099a1a0477c746a6
We now run services under systemd, and this check is not necessary in
this case. Follow-up to commit ee538d1e7c1a92cb8412713e03cdfbcdacad7fab
to grenade.
Change-Id: I84ca621f0200838c04e267101848dc7ca16a5cfe
The reschedule, that happens in multinode jobs quite often, does not
work with multicell setup. Don't use multicell setup for our Ironic
jobs.
Increase the http timeout for clients in order to work around neutron
issue.
Change-Id: I2bbdac5cd431e72517cb1c72bb925660ec8e868b
This patch set nomulitcell flag when starting nova-compute because
multi-cell rabbit setup is not necessary in Grenade. This nomulticell
flag will be introduced with I08d7da843d18b426dda8a8a231039d950a4c0ce5.
Closes-Bug: 1700548
Change-Id: Ib55f6359751052d41b46e31ec8e15f46e33c1193
Ironic upgrade process has pre-requirement that ironic-conductors
should be upgraded before ironic-api. Grenade is launched on primary
node, where we have ir-api and ir-cond runnning. Do not start ir-api
on primary node after upgrade to avoid situation when we have new ir-api
(primary) and old ir-cond (subnode) as it is not allowed by upgrade
procedure. Instead redirect all requests destinied to ir-api on primary
node to subnode.
Depends-On: I026121121059768aa74389add7eee6e63fdb214d
Change-Id: I9e496353a1d3d6547e4881f96fb187e488cff83f
Adds handling of running ironic API under Apache as WSGI app to
devstack plugin.
New variable IRONIC_USE_MOD_WSGI (False by default) is added.
Another new variable IRONIC_WSGI_DIR (default is distro specific) is
also added, which specifies location for WSGI scripts.
Change-Id: I9c5ad56e1acd292ff0f9cc9b460125fc420abda5
Closes-Bug: #1513005
When running grenade with multitenancy, we are able to boot instances
in the network neutron has created in its upgrade phase, and we don't
have to change that setup.
Change-Id: I1038548ad4f93788fca3e2b7dd8ed93da0ce7702
Grenade is designed to upgrade services. We shouldn't add them during
upgrade. This patch removes case when we trying to add Ironic to cluster
on upgrade.
Change-Id: Id7159aac8c8a343e3d20561cedc4722d87d3e776
By sourcing localrc second time we try to enable ironic plugin
one more time witch is not allowed by [0]
This patch checks if ironic was enabled or not in base environment
without sourcing localrc.
[0] https://review.openstack.org/#/c/396794/
Change-Id: I432c243c66c0d11adcf4c6568968fbeaaf9acdcd
This changes up devstack code to make sure OVS does the right thing
after upgrading. After the neutron upgrade, it uses a new OVS tag for
networking, so this changes things over to the new one.
Make sure that we remove all resources that were created during
resources phase.
Set tempest fixed_network_name explicitly as it is prerequirement for
ironic, see reference.
Reference:
https://github.com/openstack/tempest/blob/039b2fe/tempest/scenario/manager.py#L1161
Change-Id: I35789602fb542bb33533211a742c3e4d265a3b91
Commit Id229617ec5cf2820c1033fd2c34fc160a75c46d6 recently introduced a
hard-coded identity API version in the setup script. This patch switches
the /v2.0/ to /v$IDENTITY_API_VERSION/ so we can work when v2 is
disabled as well.
Change-Id: Ib6fd666930bf45170f69d5f64ccadf617899f7c7
Ironic install initiates apache restart, it may cause nova-compute
failed to start.
This patch restart nova-compute after Ironic install for new phase.
And ensures that keystone is responding before starting n-cpu.
Related-Bug: 1537076
Change-Id: Id229617ec5cf2820c1033fd2c34fc160a75c46d6
The shutdown.sh & upgrade.sh scripts were attempting to load a file
which no longer exists. Have them load the correct file.
Change-Id: I864023880062fde0e84df81b7c7a6a17c0b09428
This is a straight copy of the ironic code in grenade's tree to here.
This is necessary to drop ironic code from devstack and complete the
devstack plugin work, as well as just the right thing to do, and will
help us move faster on grenade work.
Note that I'm not sure if this will or will not, and it may make our
grenade jobs explode during the transition. However, our grenade jobs
don't work right now anyway, so nothing of value was lost. :)
Change-Id: I8b065c60e9e06cd7fc10749c49bdf79d878fcc12