Commit Graph

123 Commits

Author SHA1 Message Date
OpenDev Sysadmins 16039b049e 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:51:43 +00:00
Ian Wienand 5a7c8e0a45 Replace openstack.org git:// URLs with https://
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
2019-03-24 20:33:55 +00:00
James E. Blair e4f3d9d20a Zuul: Remove project name
Zuul no longer requires the project-name for in-repo configuration.
Omitting it makes forking or renaming projects easier.

Change-Id: I35d63c54218fcf2a47ed0f25f86a70e9f87d62c2
2018-01-27 14:16:57 -08:00
Pavlo Shchelokovskyy 720419ed70 Use ironic-tempest-plugin for ansible-deploy job
tempest plugin in ironic tree is about to be removed

Change-Id: I6283db5203b28bbb7a8194cbee02c343d4d00a3d
2017-12-19 08:24:06 +00:00
Zuul 7591b27b06 Merge "Cap Ansible version" into stable/pike 2017-12-04 17:24:32 +00:00
Pavlo Shchelokovskyy 8716bf5a11 Cap Ansible version
to prevent breakages due to new Ansible versions, cap the installed
version to the latest known to work (2.3.x)

Change-Id: Id899837cf6a6a4fd476f01892a683d04213e0ca5
2017-11-09 16:04:02 +02:00
Pavlo Shchelokovskyy 4fa1ae9ac4 Migrate Zuul3 jobs in tree
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)
2017-11-09 12:45:13 +02:00
Pavlo Shchelokovskyy 20a4d0c418 Pin ironic and constraints to stable/pike
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
2017-08-31 09:11:38 +00:00
Jenkins ae929e98a4 Merge "Update .gitignore" 2017-08-30 14:32:08 +00:00
Jenkins 91ff7f503a Merge "Removes unnecessary utf-8 encoding" 2017-08-24 10:21:50 +00:00
Pavlo Shchelokovskyy 721f64dad1 Change python vs other dependencies install order
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>
2017-08-08 15:14:41 +00:00
Arundhati Surpur c1d25ad954 Removes unnecessary utf-8 encoding
This patches removes unnecessary utf-8
encoding in doc/source/conf.py

Change-Id: I7cd94e0af47433eb427d74d8a36aa0cb534a2e64
2017-07-19 18:04:35 +05:30
Arundhati Surpur c2509d3a40 Update .gitignore
Because egg* already ignores egg-info.

Change-Id: Ie16695c1932f0b2c9627a1f16e04a306e99f82c4
2017-07-19 17:59:03 +05:30
Pavlo Shchelokovskyy 47d5e7a7b9 [ansible] add journald and syslog loggers
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
2017-07-10 12:26:12 +00:00
Pavlo Shchelokovskyy 6e415c3284 Remove pxe_ssh_ansible driver
SSH-based power and management interfaces are unsupported and about to
be removed from ironic.

Change-Id: I0d00fbabb7402ef96bb26a68b64d04ae3231a5d5
Related-Bug: #1570301
2017-07-08 19:39:26 +03:00
Jenkins 090ce16c79 Merge "Remove usage of parameter enforce_type" 2017-07-03 17:48:32 +00:00
Jenkins 65f1f87040 Merge "Remove translation of log messages" 2017-07-03 17:48:27 +00:00
OpenStack Proposal Bot 900bb09431 Updated from global requirements
Change-Id: I6386635f4167b3b9ed9a74b023428cb7fd55ff90
2017-06-30 12:15:44 +00:00
Ngo Quoc Cuong 722459abb3 Remove translation of log messages
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
2017-06-27 23:07:31 -04:00
Pavlo Shchelokovskyy f6736f563e [ansible] Fix nits in ironic_parted module
this is a followup to I4d6d7619c6f3ba25c29263ffe5d778698e598429
([ansible] Improve partition images support)

fixes some typos and removes commented/unused code.

Change-Id: Iafda13a657956bc04b591c0911cf3338705f33c4
2017-06-23 08:18:46 +00:00
Pavlo Shchelokovskyy b4fc5fae01 [ansible] re-write grub install as ansible tasks
remove install-grub.sh script in favor of proper ansible tasks

Change-Id: I74ef330bcefdf0a88df7572cb0cbcf2ba07d3dc8
2017-06-23 08:18:46 +00:00
Pavlo Shchelokovskyy 0800a24d5f [ansible] Add more thorough disk metadata cleanup
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>
2017-06-23 08:18:46 +00:00
Jenkins bfa752be23 Merge "Updated from global requirements" 2017-06-22 11:30:45 +00:00
Yuriy Zveryanskyy 84b1b0d34e [ansible] Add basic root device hints support
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
2017-06-16 19:25:58 +00:00
Pavlo Shchelokovskyy 1d6b1b89d2 [ansible] Improve partition images support
- 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
2017-06-16 19:25:51 +00:00
OpenStack Proposal Bot 804cdc1692 Updated from global requirements
Change-Id: I0cf59e66e0137086bbdff5058c3b67189f9f85e1
2017-06-15 16:24:17 +00:00
Van Hung Pham f44f4e8d17 Remove usage of parameter enforce_type
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
2017-06-14 11:02:03 +07:00
Pavlo Shchelokovskyy b963a18c63 [ansible] Major changes in playbooks "API"
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
2017-06-12 13:47:18 +00:00
brault c67e89c1f1 Corrected typos from "resposible" to "responsible" and from "tho" to "though""tho" to "though"
Change-Id: I032719dc3ca4abec0a72e7f3da3eebeef444346d
2017-06-08 08:01:47 -04:00
OpenStack Proposal Bot a65455b5df Updated from global requirements
Change-Id: I7618a60261a688ed2609b8b803c16e179da63da7
2017-06-02 21:56:27 +00:00
Jenkins bbed32e5dd Merge "[ansible] add metrics collection" 2017-05-24 08:52:48 +00:00
Jenkins d71f00d910 Merge "[ansible] honor deploy_forces_oob_reboot" 2017-05-24 08:52:43 +00:00
Jenkins 4a0242eadd Merge "[ansible] driver refactoring" 2017-05-24 08:38:18 +00:00
Jenkins 8aee66dfaa Merge "[ansible] improve cleaning" 2017-05-24 08:34:18 +00:00
OpenStack Proposal Bot 407d20d6f4 Updated from global requirements
Change-Id: I8bc718dc7ecd577f251f959c16d02d8616cfadc4
2017-05-17 03:48:48 +00:00
Pavlo Shchelokovskyy 1ab7c51edb [ansible] add metrics collection
add standard ironic metrics collection decorators to methods of
ansible-deploy driver.

Change-Id: I8f2230e1a1caf2751fb76290e9cc51556392dee1
2017-05-15 17:21:11 +00:00
Pavlo Shchelokovskyy e1ece310fa [ansible] honor deploy_forces_oob_reboot
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
2017-05-15 17:21:11 +00:00
Pavlo Shchelokovskyy 6e8cd3163f [ansible] driver refactoring
make driver much closer to AgentDeploy by reusing HeartbeatMixin and
implementing other required methods

This effectively requires ironic version > 7.0

Change-Id: I9ba5186ecdae49a17785a109341050c828c849cc
2017-05-15 17:21:02 +00:00
Pavlo Shchelokovskyy 77326e7a5c [ansible] improve cleaning
- 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
2017-05-15 15:07:28 +00:00
Pavlo Shchelokovskyy 6eaf42f11f [ansible] reuse build_instance_info_for_deploy
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
2017-05-08 16:56:21 +00:00
OpenStack Proposal Bot 4e2b9280a9 Updated from global requirements
Change-Id: Ie16fb5e4aeab9fb86e3b11f62d410714c9ea090a
2017-04-12 04:12:37 +00:00
Jenkins 7dc7cd2a3d Merge "Specify ironic_staging_drivers as name of the app" 2017-03-20 17:40:29 +00:00
Vladyslav Drok 1da32662b2 Specify ironic_staging_drivers as name of the app
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
2017-03-20 18:40:32 +02:00
OpenStack Proposal Bot d3a23f07ae Updated from global requirements
Change-Id: I06ff4fbe5f2b44e181321ee0ff68bd4d8bf57fe4
2017-03-20 13:20:56 +00:00
Jenkins de501d2460 Merge "[ansible] remove call signatures workarounds" 2017-03-20 11:43:01 +00:00
Pavlo Shchelokovskyy 92865503a7 Update style checkers
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
2017-03-17 20:37:57 +00:00
Pavlo Shchelokovskyy d2e2683046 [ansible] remove call signatures workarounds
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
2017-03-17 19:19:20 +00:00
Pavlo Shchelokovskyy 17d8d23a5f [ansible] skip latest stable ansible releases
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
2017-02-27 14:06:38 +02:00
Pavlo Shchelokovskyy 961240213b Enable testing of particular staging driver
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
2017-02-13 17:44:23 +00:00
Pavlo Shchelokovskyy afb682bf54 Re-use tinyipa image for ansbile-deploy
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
2017-02-13 16:39:34 +00:00