This is a mechanically generated change to replace openstack.org
git:// URLs with https:// equivalents.
This is in aid of a planned future move of the git hosting
infrastructure to a self-hosted instance of gitea (https://gitea.io),
which does not support the git wire protocol at this stage.
This update should result in no functional change.
For more information see the thread at
http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003825.html
Change-Id: I981d17f85bc836ed450c7292abd044f4ac4c798c
Zuul no longer requires the project-name for in-repo configuration.
Omitting it makes forking or renaming projects easier.
Change-Id: I35d63c54218fcf2a47ed0f25f86a70e9f87d62c2
to prevent breakages due to new Ansible versions, cap the installed
version to the latest known to work (2.3.x)
Change-Id: Id899837cf6a6a4fd476f01892a683d04213e0ca5
some places (apart from job names) were changed compared to what's
in openstack-zuul-jobs currently, mostly added/changed irrelevant-files,
and refactored to have a base dummy job to define common things.
Change-Id: Iff64438857e0947db1154645f6e2e964b38593c6
(cherry picked from commit 14763cc9c4)
Install ironic from stable/pike, and use default upper constraints in
tox as of stable/pike as well.
Also use stable/pike as default branch for git review.
Change-Id: I537a731df702273d0184b02fa7532eaff8a167ba
for each driver, install the 'other' dependencies first just in case
those contain something needed to build the Python dependencies when
installing them.
Change-Id: I5a35dcc2d7ee516e3db52f982d6af8205d7a7ba6
Co-Authored-By: Karim Boumedhel <karimboumedhel@gmail.com>
since DevStack is now using systemd, we can leverage that when setting
up callback_plugin used by Ansible started by ansble-deploy driver.
This patch adds two more options to the ironic_log callback plugin
configuration file - use_journal and use_syslog.
When set, they will override respective values from ironic config.
The callback plugin config is set to force usage of journald by default
in the devstack plugin.
Change-Id: I5c788dd6621c95a28aecc727a3988ad4f101b2a8
SSH-based power and management interfaces are unsupported and about to
be removed from ironic.
Change-Id: I0d00fbabb7402ef96bb26a68b64d04ae3231a5d5
Related-Bug: #1570301
The i18n team has decided not to translate the logs because it
seems like it not very useful; operators prefer to have them in
English so that they can search for those strings on the internet.
Change-Id: Ifcb4c4331440d94322a56a1e3bed04cff453cbad
Related-Bug: #1674374
this is a followup to I4d6d7619c6f3ba25c29263ffe5d778698e598429
([ansible] Improve partition images support)
fixes some typos and removes commented/unused code.
Change-Id: Iafda13a657956bc04b591c0911cf3338705f33c4
If disks are not being shred completely, some partitioning metadata
that was stored in the headers of partitions themselves can still
survive partition table data cleanup, and later can interfere with new
partitioning scheme on nodes when new partition sizes are the same but
their metadata (for example boot flag) is changed.
This patch adds a set of tasks that will wipe a small amount of blocks
(1024 by default) before and after partition boundatries to make sure
those will not be re-read.
Change-Id: I251d77be24ab6052d3f1f8cb5af68d477cf1f270
Co-Authored-By: Ihor Pukha <ipukha@mirantis.com>
This patch adds support for Ironic root hints to ansible deploy driver.
The advanced root hints based on oslo.utils operators are not supported yet,
only exact matches.
Change-Id: I6fd468cfa9a7792fa0e55aa58c337396e13d76ee
- partitioning scheme now closer resembles what's being done by IPA
- for partition images the root partition is last so that it can grow
- for whole-disk images, configdrive is created as far as possible
- added support for setting disk label for created partition table,
supported are 'gpt' and 'msdos' (default)
- for 'gpt' disks, a bios_grub partiton is prepended to standard ones
- 'parted' module for Ansible was renamed to ``ironic_parted`` to not
shadow ``parted`` module included in Ansible 2.3
It was also rewritten to be cleaner and more stable:
- changed accepted module arguments
- added support for units (MiB and % for now)
- added more validations
- left support for msdos and gpt partition tables only
- partitions are created one by one, and actual block devices created
are searched for and reported.
- module returns only after all partitions are available for write
Change-Id: I4d6d7619c6f3ba25c29263ffe5d778698e598429
DeprecationWarning: "Using the 'enforce_type' argument is deprecated
in version '4.0' and will be removed in version '5.0': The argument
enforce_type has changed its default value to True and then will
be removed completely."
Change-Id: Ia189a7ee1d4e2c238cfb0e25d00c250be2f231b9
Possibly existing out-of-tree playbooks will be imcompatible
with this version and must be rewritten!
Changes include:
- all info passed into ansible playbooks from ironic is now available in
the playbooks as elements of 'ironic' dictionary to better differentiate
those from other vars possibly created/set inside playbooks.
- any field of node's instance_info having a form of "image_<field>"
is now available in playbooks as "ironic.image.<field>" var.
- 'parted' tag in playbooks is removed and instead differentiation
between partition and whole-disk imaged is being done based on
ironic.image.type var value.
- 'shutdown' tag is removed, and soft power-off is moved to a separate
playbook, defined by new driver_info field 'ansible_shutdown_playbook'
('shutdown.yaml' by default)
- default 'deploy' role is split into smaller roles,
each targeting a separate stage of deployment process
to faciliate customiation and re-use
- discover - e.g. set root device and image target
- prepare - if needed, prepare system, e.g. create partitions
- deploy - download/convert/write user image and configdrive
- configure - post-deployment steps, e.g. installing the bootloader
Documentation is updated.
Change-Id: I158a96d26dc9a114b6b607267c13e3ee1939cac9
To use this driver property, tasks that soft poweroff the deploy ramdisk
in-band are tagged with additional 'shutdown' tag and are executed
separately.
Change-Id: Ie7bae9dd9fa17a764599390362e1c7f6926c7746
make driver much closer to AgentDeploy by reusing HeartbeatMixin and
implementing other required methods
This effectively requires ironic version > 7.0
Change-Id: I9ba5186ecdae49a17785a109341050c828c849cc
- make cleaning re-use url from agent heartbeat as node ip
- improve validation of cleaning steps
- require step names to be present and unique
Change-Id: I63067c2d91a05673f5f46c38a4ffbc9c0999342c
this function was moved to common place in deploy_utils and now can be
easily reused.
Also, it does basic disk layout parsing and validation so there is no
more need to do it in ansible-deploy driver.
Change-Id: I2054dc1f124a62ef1f45c8a0dad0b755e8de23ea
Specify 'ironic_staging_drivers' as the name of the application for
the flake8-import-order plugin. That way it knows that imports of
ironic_staging_drivers should come after external libraries.
Change-Id: I7e8046baea6de65f9473f34fb84837380a41699a
bring ironic_staging_drivers pep8 checks in line with main ironic:
- update hacking version to the one from g-r
- add import order checks, with the same style
- enable same additional checks from hacking
Only two small violations found, so better to update now while it's
easy.
Change-Id: I12459a1ffdb122f50ce25230e310412f18717ef5
During Newton release some methods in ironic have changed there call
signatures adding arguments useful for ansible-deploy driver.
This patch removes workarounds that were in place for backward
compatibility when calling these methods/functions.
Effectively ansible-deploy driver now requires ironic of Newton release
or newer.
Change-Id: Ic6aa1516fe76b68f8c33aaf021221efb05cf3807
current latest stable Ansible releases to PyPI (2.1.4.0, 2.2.1.0) have
Jinja2<2.9 as hard-coded requirement to account for a bug present in
Jinja2 2.9.[0-4], while current OpenStack upper constraints have
Jinja2==2.9.5 (the global requirements.txt still allows Jinja2>2.8).
This makes those latest stable Ansible releases incompatible with current
OpenStack global requirements.
This patch might be reverted in the future if OpenStack's upper
constraint for Jinja2 is downgraded to 2.8.1 again.
Change-Id: I5e5648cb2dcf6fca01cb887b52f4a56b964b0c30
Allow switching the ironic nodes in DevStack to one of staging drivers.
This will enable running standard ironic tests against this driver
on a gate job.
Currently only pxe_ipmitool_ansible driver is handled,
as it can in priciple be tested on gates with virtual HW.
Change-Id: Ief19ccb2711aed03ad0c4f4feee73edaa5c554c9
It is possible to rebuild the pre-built tinyipa image available
at tarballs.openstack.org to make it usable with ansible-deploy driver.
The rebuild is rather fast, and only downloads 2 packages from TC mirrors
(SSH server and dependencies).
Change-Id: Ie39ce67dc93e7d53bf75937c7defacafad5fbfcf
Related-Bug: #1526308