Commit Graph

51 Commits

Author SHA1 Message Date
Riccardo Pittau 97b95f1686 Add centos9 based job
And make centos8 jobs non voting

Change-Id: I0002a53f6e2c3582b6de33d8c3e71101ff474196
2023-08-18 15:04:34 +00:00
Julia Kreger ba7d45a526 Update MD5 checksum references
Change-Id: Ibc73ba24aba7644bdfc131a23f2f4060bb053f4f
2023-05-08 12:14:17 -07:00
Dmitry Tantsur 77d802f3d6 Deprecate instance network boot
Remove or update the corresponding CI jobs. Use the new custom Cirros
image in the HTTP job to avoid relying on CentOS.

Temporary increase complexity requirements while we have a deprecation
warning in the provisioner.

Change-Id: I5e65f9949ee3b78430309017800b88c1ba21dd02
2022-08-24 13:19:52 +02:00
Riccardo Pittau f234b87bbb Add linters job
Fix lint errors to unblock CI

Change-Id: I02c1d7cc9f2f91e76d1b3edbc340df7ea83d2902
2022-07-12 10:05:31 +02:00
Julia Kreger 98c4c96c33 CI: Extend timeouts for RAX
It appears our jobs end up encountering some performance issues
on some RAX hosts where the overall runtime is already close to
the maximum for the job window.

Ultimately what happens is the performance ends up putting the boot
of the workload VM just a little bit later and we end up failing
the job as the VM is still early in booting up.

Change-Id: I309220d7f61f87b7457668fcf586d4ea152d363b
2022-06-23 09:32:13 -07:00
Dmitry Tantsur 5816be550b Provide a work around to fix the CI
Somehow, openstacksdk ends up logging to stdout. Strip the log message
before parsing it as JSON.

Change-Id: Id8e635de7bd8a246af7ae1750a556b752dd7dc85
2022-05-24 15:34:05 +02:00
Dmitry Tantsur a3e205fc05 Add a CentOS job with legacy local boot
When netboot is removed from Ironic, we need a job to cover local boot
in legacy mode. The new job will do it.

Also drop "local" from the job name, it's the default.

Change-Id: I6cad4556d770a733245d12f9a211e8ff7a3d884b
2022-05-16 18:16:26 +02:00
Dmitry Tantsur 018a19c1e8 Add a workaround to fix the CI
Change-Id: I9f939d115e0c6d167ab437c4420e06b4b211c66b
2022-04-14 16:24:19 +02:00
Dmitry Tantsur ce81c05548 Avoid non-Stream CentOS 8, it is EOL
Change-Id: I4300568c346ae81f0717584d1dbc9e75450b951b
2022-01-31 22:01:45 +01:00
Zuul 1c06881c32 Merge "Add a Centos8 UEFI based job" 2020-10-31 00:24:11 +00:00
Julia Kreger caf1a4f5ba Add a Centos8 UEFI based job
Turns out we seem to be using bios boot with all of the metalsmith
jobs, but we need to further test UEFI and ensure that we cover
uefi and partition/wholedisk code in the ramdisk... and these
jobs are actually not bad for this purpose.

Since we ultimately want to replace the centos7 job, but centos8.2
has some incompatabilities with our IPA image and bootloader
installation process with partition images, we need to resolve
those issues before making this job voting OR replacing the
centos7 job.

Change-Id: Ibe6c543179c811c3ef43feca173a4e744c7f5671
2020-10-29 12:45:22 +00:00
Steve Baker a7bd8fe1ae metalsmith_deployment role switch to metalsmith_instances
Instead of wrapping the metalsmith CLI, the metalsmith_deployment role
now uses the metalsmith_instances module. There are differences between
the instances formats of the role and the module which are partially
resolved with a simple transformation module called
metalsmith_deployment_defaults.

A 'candidates' attribute is added to metalsmith_instances, but keeping
the single 'name' attribute to remain compatible with the TripleO
usage.

Unresolved differences between the 2 are described below:

metalsmith_instances doesn't have a per-instance state attribute,
instead it has one state attribute for all instances. I propose that
support for per-instance state is dropped. This was never documented
in the README.rst anyway.

extra_args only applies to a CLI. Apart from --dry-run these arguments
are either for output formatting or Ironic API authentication. I propose
that this option is dropped. A metalsmith_debug arg is added to make
the ouput more verbose.

Change-Id: Ia30620821182c58050813e807cdde50a27d03c15
2020-10-08 09:48:20 +13:00
Julia Kreger e0ed4d2dee Rework jobs so failed devstack does not retry the job
Per clarkb, should any step in pre.yaml fail, zuul presently retries
the entire job up to the built in retry limit which cannot be changed
or disabled on a job basis. In the terms of setting up devstack, this
is not ideal as devstack is not perfect and can often fail for unrelated
reasons such as package mirrors being updated or even another project
or component failing to setup properly.

As such, in order to be good neighbors and minimize the amount of
time it takes to troubleshoot such issues, we need to move the
devstack setup into the main part of the CI job.

Change-Id: I08d6f3132ebc045ba7e2d1295efe39af7c57187c
2020-09-09 11:32:51 -07:00
Dmitry Tantsur 9c93e986e1 Add the setuptools workaround
Also stop supporting Python 2 explicitly.

Change-Id: Ifba6afa9fcbad6d9517d09713ab17bac85879163
2020-09-02 11:07:32 +02:00
Riccardo Pittau 35e0457b6a Use is instead of ambiguous pipe
The pipe | can be interpreted as a filter and cause errors.
The correct way to define when a 'succeeded' condition is met
should be by using the word 'is'.

Change-Id: Ica8091d96a8a5f1ec93ec4f6bfb7e3f24672f29a
2020-06-17 10:03:03 +02:00
Dmitry Tantsur 777ca793c0 Be moderate about disk space in the CI
We're close to the limit on some testing nodes, so, while building
a CentOS image:
1) Delete files as soon as we no longer need them.
2) Do not copy kernel/ramdisk unnecessary

Move the libvirt pool for testing VMs to /opt since some testing
nodes have small root partitions.

Also move irrelevant vars out of zuul definitions.

Change-Id: I2a34b19ee823109899dc21031e663a3ea848a5c5
2020-03-18 15:52:56 +01:00
Dmitry Tantsur 2d801e2526 Stop requiring root size for whole disk images
This requirement has been fixed in newer versions of ironic.

Change-Id: I4460755ee66b4aa0b8a651b6bd142c769d669ee2
2019-11-05 18:29:16 +01:00
OpenDev Sysadmins fd85c9a4ed OpenDev Migration Patch
This commit was bulk generated and pushed by the OpenDev sysadmins
as a part of the Git hosting and code review systems migration
detailed in these mailing list posts:

http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003603.html
http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004920.html

Attempts have been made to correct repository namespaces and
hostnames based on simple pattern matching, but it's possible some
were updated incorrectly or missed entirely. Please reach out to us
via the contact information listed at https://opendev.org/ with any
questions you may have.
2019-04-19 19:31:09 +00:00
Dmitry Tantsur f69b81320b Repare the CI job
Change-Id: Ife00823256d5b491380b755cbc3517cf5ef1172a
2019-03-22 17:15:21 +01:00
Zuul 6fd61e4c33 Merge "Completely switch to openstacksdk" 2019-01-15 19:54:11 +00:00
Zuul f7678a3039 Merge "Always use the latest cirros image" 2019-01-15 16:46:17 +00:00
Dmitry Tantsur eee74d31b8 Completely switch to openstacksdk
Change-Id: I1729797fa03095d200c7334281915abc284b5732
2019-01-15 10:24:52 +01:00
Dmitry Tantsur 6de505be69 Always use the latest cirros image
Also limit lower-constraints to only direct dependencies, otherwise
things conflict with each other (and of little use anyway).

Change-Id: Ice8b6a72f5833d625352ffd09f64608afc4eac67
2019-01-15 10:22:55 +01:00
zhulingjie 7b86d4cd34 use include_tasks instead of include
include is marked as deprecated since ansible 2.4[0]

Switch to include_tasks or import_playbook as necessary

[0] https://docs.ansible.com/ansible/2.4/include_module.html#deprecated

Change-Id: Id7acc3fe99f8901a374894be3afdf467b7fed131
2018-10-11 15:57:53 -04:00
jacky06 2eed13885a Add the "---" into ansible yaml file
Change-Id: If4e684da58bffbe25d5bbed4dd4c56d0b5345114
Story: #2003783
Task: #26488
2018-09-16 01:41:07 -04:00
Dmitry Tantsur fc85cb9230 Support partition HTTP images in CLI
Also removed some dead code from sources.

Change-Id: I570eda45285771068711ef90d22550632411e98f
Story: #2002048
Task: #26208
2018-09-12 10:13:33 +02:00
Dmitry Tantsur 2afd20938d Support creating a swap partition
BREAKING: --root-disk-size => --root-size

Story: #2002171
Task: #20033
Change-Id: I5d6b38e1a9e71b608b40e140e34c4509b896a1ff
2018-09-10 17:00:41 +02:00
Dmitry Tantsur d20424fb0e Restore CI coverage for pre-created ports
Change-Id: Iedd14c1edadbe61036dceec273d579392bdda970
2018-09-07 11:51:02 +02:00
Dmitry Tantsur 6bdd479773 Support for HTTP image location
Story: #2002048
Task: #19695
Change-Id: I75f33ebca3ea65274dcfcd8f4ddbd193f34706a9
2018-09-07 10:04:38 +02:00
wangqi aa188dd1b8 Update usage of "|" to "is"
With the more recent versions of ansible, we should now use
"is" instead of the "|"

This should update it.

Change-Id: I5af1d3d7aa33fc3d0c1c32e35e3c27d8def1d9b8
2018-09-05 10:29:54 +00:00
Dmitry Tantsur 1f92d9a5fb Switch one of the CI jobs to Python 3
Change-Id: Ib513a713ac95da9ed14ea24643b4ea5b951892ec
2018-09-04 11:00:04 +02:00
Dmitry Tantsur d20abe3c79 Implement list_instances and `metalsmith list`
Change-Id: I51f83fcebf665be8b290774433fbf1da5108ec27
Story: #2003585
Task: #24891
2018-08-29 12:02:24 +02:00
Dmitry Tantsur 84976ec77d CI: split netboot (cirros) and localboot (centos) jobs
Change-Id: I363a3f60efaec52a7e0bd12c9145205447354a6f
2018-08-15 15:51:36 +02:00
Dmitry Tantsur e53b54b0de CI: stop setting LIBGUESTFS_DEBUG to avoid spamming logs
Change-Id: I2ffddca1dc70f991786a7f6d77eb9bba7040487d
2018-07-06 19:13:56 +02:00
Dmitry Tantsur 864459e219 CI: move CentOS image preparation into pre-run
Change-Id: I1243ad5c0cafd722d40d17e95cb7174ff3bafdf1
2018-07-06 11:32:16 +02:00
Dmitry Tantsur cbf7294be9 ansible: split waiting from provisioning
Introduces a new command 'wait' for this purpose.

Change-Id: I52ef0228cce2be276046b93c284743c4067da0a6
Story: #2002186
Task: #20058
2018-07-03 15:26:16 +02:00
Dmitry Tantsur 5cfaf5566d CI: try SSH into the deployed instances
Raise the VM specs and fix the partition image building.

Change-Id: I9e687d50b369402d36376e08496281d77afce215
2018-07-03 10:49:37 +02:00
Dmitry Tantsur 8464fced77 ansible: explicit support for netboot, correct extra_args
Change-Id: Ibff5911f5a9777683cf86f7c654a58020796c00a
2018-06-12 09:34:31 +02:00
Dmitry Tantsur c91a08fb16 Simple role to deploy instances
Story: #2002170
Task: #20029
Change-Id: I3fc0ea5144b83262a39593c8211bd88ce90e13f8
2018-06-11 11:01:08 +02:00
Dmitry Tantsur 320144a73e Add command and function to show instances
Story: #2002170
Task: #20027
Change-Id: I78991f75ea45ea61553d75301117c77a16ea8885
2018-06-08 16:38:46 +02:00
Dmitry Tantsur 71320f7a08 CI: Update ironic devstack variables
* Bring VM RAM to the recommended minimum of CentOS
* Publish bare metal machine logs

Change-Id: Ic5b368875196e15d6215e82dfdcf5a0b02da925b
2018-05-25 08:02:02 +02:00
Zuul 714e27aa11 Merge "CI: completely switch to CentOS images for testing" 2018-05-23 15:57:13 +00:00
Dmitry Tantsur 9d14cc808c CI: completely switch to CentOS images for testing
This involves unpacking the downloaded qcow2 to extract kernel/ramdisk.
The job timeout is increased since we're working with a bigger image.

Change-Id: Ia4d984b2675667ef6a28e6ce9e2f8284cdd64200
2018-05-23 15:18:53 +02:00
Dmitry Tantsur 18fbeab747 Unlock the node before deleting it in unprovisioning and default to not waiting
Cleaning can take a lot of time, we should not generally wait for it.

Change-Id: I6781b123dba933628210dec9f61967a305df2da5
2018-05-22 10:40:52 +02:00
Dmitry Tantsur 8b6e176b95 CI: run a local boot test with the CentOS image
Change-Id: I5f726023a0ff956d2950acbe43dc37da0cb5fb5b
2018-05-20 18:37:18 +02:00
Dmitry Tantsur 2b6f60a6e7 CI: use find module to find an SSH public key
Also moves this logic to a reusable tasks file.

Change-Id: Ic12743adaf8ce9ac255197c380c0556608e1c961
2018-05-20 17:42:52 +02:00
Dmitry Tantsur 1037276d61 Allow attaching existing ports
Also fix cleaning up node.extra and undeployment.

Change-Id: Ic63b3663caea4eb9acd9d8f48008785dec2a62d3
2018-05-17 15:51:26 +02:00
Dmitry Tantsur a065777baa CI: Install metalsmith requirements honoring upper-constraints
Change-Id: I399287f4cd46549f94bb272afab4600414311bae
2018-05-16 21:07:38 +02:00
Dmitry Tantsur e8b6131505 Support whole-disk images
Change-Id: I5c92b073a576e33139034aa1d106d84f2f092385
Story: #2002047
Task: #19694
2018-05-16 19:36:17 +02:00
Dmitry Tantsur 87a053a5aa Use openstack.config for arguments parsing
This change switches the CLI to use openstacksdk for populating
authentication arguments and creating a session. As a side effect,
using clouds.yaml is now supported and used in the CI.

Change-Id: If20ddc46f10d9deb34e595310313bd87e2e7243b
2018-05-16 13:37:29 +02:00