142 Commits

Author SHA1 Message Date
Zuul
5c3dc1dded Merge "Ovirt support" 2017-11-27 11:30:49 +00:00
Zuul
2f29913008 Merge "Updated from global requirements" 2017-11-17 10:12:07 +00:00
deepakmourya
33d6560992 Remove setting of version/release from releasenotes
Release notes are version independent, so remove version/release
values. We've found that projects now require the service package
to be installed in order to build release notes, and this is entirely
due to the current convention of pulling in the version information.

Release notes should not need installation in order to build, so this
unnecessary version setting needs to be removed.

This is needed for new release notes publishing, see 
I56909152975f731a9d2c21b2825b972195e48ee8 and the discussion starting 
at
http://lists.openstack.org/pipermail/openstack-dev/2017-November/124480.html

Change-Id: I5148aaf965a36443d8ed03d2ac87b5c286b56261
2017-11-17 03:45:48 +00:00
OpenStack Proposal Bot
d88a17a3e3 Updated from global requirements
Change-Id: I6f14161452c648183abbb2f176f67e8184a7d2f0
2017-11-16 11:05:55 +00:00
karimb
9a0935129d Ovirt support
This patch introduces new type of power and management drivers for ovirt vms.

Change-Id: Iebf31db70dfd800d47399c69d7b2255467a87a1d
Closes-Bug: #1564841
2017-11-15 12:20:04 +01:00
OpenStack Proposal Bot
d3b4be9216 Updated from global requirements
Change-Id: Ibd7e139c64d74d64da29bd737f71418e79cd2a52
2017-11-12 17:28:12 +00:00
Pavlo Shchelokovskyy
14763cc9c4 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
2017-11-08 19:00:52 +02:00
Zuul
f43415c8fd Merge "[ansible] Fix grub install for Ansible 2.4" 2017-11-01 03:41:48 +00:00
Pavlo Shchelokovskyy
25ad8e6926 [ansible] Fix grub install for Ansible 2.4
this is a followup to Id2bfd1ed552ed566b14f6ac5b222c011ff918bee

while adapting playbooks for Ansible 2.4 compatibility,
this place was missed, and playbooks tried to install grub
to a wrong device.

This patch re-uses the "ironic_root_device" fact set during discovery
as grub install target.

Change-Id: Ibfd885b4702ff86c802a8d184ebb406aae9262b5
2017-10-18 06:15:14 +00:00
Pavlo Shchelokovskyy
0e21965a8f Do not monkey-patch in ansible unit tests
some unit tests for ansible deploy interface were using
dumb monkeypatch instead of proper mocking.

Change-Id: I317e1b8e9f0ec4cb792ee09ce592cbd83f956b75
2017-10-14 13:40:44 +03:00
Jenkins
c1f3560a38 Merge "[ansible] fix wwn facts and root device hints" 2017-09-27 05:46:56 +00:00
Jenkins
3c4f3ccf17 Merge "[ansible] fixes for Anible 2.4 compat" 2017-09-26 19:16:54 +00:00
Jenkins
e6260ee33e Merge "Deprecate classic drivers" 2017-09-26 13:21:44 +00:00
Jenkins
9748f9b83e Merge "Improve cover tox env" 2017-09-26 13:09:06 +00:00
Pavlo Shchelokovskyy
6392125993 [ansible] fix wwn facts and root device hints
Apparently only checking that pyudev is importable is not enough,
as it can fail later if udev itself is not available on the system

Also bring the (empty) default between these two to be empty dict,
and fix logging invocations in WWN fact collecting module.

Change-Id: I137990280e90c9ca2687b38d98f6c5343e26e8d0
2017-09-26 08:54:21 +00:00
Pavlo Shchelokovskyy
0719dafc2f [ansible] fixes for Anible 2.4 compat
- fix callback plugin (add a new public methdod)
- ansible_devices fact now contains many more devices
  (at least with tinyipa ramdisk and virtual HW),
  so by default we now attempt to use only devices that
  have non-empty 'host' attribute, and thus are
  real block devices on some controller
  (not memory-mapped files, loop devices etc)

  + during provisioning, the default target for image
    when root device hints are absent will be the first such device
  + during cleaning, only such devices will be attempted to
    be cleaned

Change-Id: Id2bfd1ed552ed566b14f6ac5b222c011ff918bee
Closes-Bug: #1718361
2017-09-26 08:53:08 +00:00
Pavlo Shchelokovskyy
7cbb03074d Deprecate classic drivers
this patch deprecates classic drivers defined by ironic_staging_drivers
package in favor of hardware types.
A proper warning is shown on classic drivers init.
DevStack plugin no longer enables any classic driver from staging
drivers, and only hardware types are tested.

Change-Id: Ic53b71c94287804f3c66f5e9a6249f605c234211
2017-09-26 08:49:33 +00:00
Pavlo Shchelokovskyy
fff783fed1 Move Ansible-deploy testing to hw types
when switching nodes to use ansible-deploy,
use the `staging-ipmi-ansible` hw type with `staging-ansible`
deploy interface instead of the classic `pxe_ipmitool_ansible` driver.

This change is backward compatible with the job definition in
project-config which must remain the same until the stable/pike and
older branches are supported.

Also, change our ansible callback plugin settings only when testing
ansible-deploy interface.

Change-Id: Iba5eb5a5aace982561d4e11042a14c2de0dd8b98
2017-09-26 08:49:33 +00:00
Pavlo Shchelokovskyy
0ed6fd2a30 Improve cover tox env
Reuse `setenv` settings from parent `testenv` env

This is a followup to I3aefd97312bb9e5985e601dd192913247046d6e4

Change-Id: I4960a737a68ee146447cb6e4a5c6fe5b36a6dfc1
2017-09-26 08:46:59 +00:00
Jenkins
52b1bc11d6 Merge "[ansible] configure SSL validation" 2017-09-26 08:36:07 +00:00
Jenkins
de2992c95b Merge "Add stestr-specific files" 2017-09-25 13:48:51 +00:00
Pavlo Shchelokovskyy
0cdc53948f [ansible] configure SSL validation
This patch adds a number of configration options and playbook variables
that govern SSL validation and authentication when accessing the image
store to download the image and configdrive from the deploy ramdisk.

Most of them are not yet used in the default set of playbooks provided
with the driver
(for example some of them require yet unreleased Ansible 2.4),
however they can be used by custom playbooks, for example to upload
and enable those custom CA bundle and cert files to the ramdisk at
deploy time.

This patch also sets DevStack to disable validation of image store SSL
certificate by ansible deploy interface (similar to how IPA is currently
confugured).

This patch also caps Anisble < 2.4, since our custom callback plugin
has troubles with the newest Ansible 2.4 version (to be fixed later).

Change-Id: Id40f1067361cc32e98973c70fc5cd3d4242308d0
Closes-Bug: #1717858
2017-09-25 10:48:24 +00:00
OpenStack Proposal Bot
659b5c3df7 Updated from global requirements
Change-Id: I224debfa61403324e31f24aa77477c86d382ac96
2017-09-23 05:57:57 +00:00
Pavlo Shchelokovskyy
b4a0a06b66 Add stestr-specific files
os-testr>=1.0 uses stestr as test runner instead of testrepository.

This patch adds appropriate config and git ignore options for stestr.

Change-Id: I3aefd97312bb9e5985e601dd192913247046d6e4
2017-09-22 11:45:29 +00:00
Jenkins
7a8f69187a Merge "Updated from global requirements" 2017-09-09 21:59:18 +00:00
Yuriy Zveryanskyy
c1d9f44dbd Add hardware types
Classic drivers will be deprecated, add hardware types for
staging drivers. "staging-" prefix used for entrypoints.

The DevStack plugin is amended to enable all hardware types and
interfaces registered by the ironic-staging-driver package
to test that they do not break ironic-conductor start when enabled
For this a new script is added to read entrypoints registered by a Python
package.
As previousely, by default `iboot` drivers are not enabled
as they require a client library not available on PyPI.

Change-Id: I26541adc9b99f7a436be0e3f8ef31c0ff64ff5d4
2017-08-31 11:34:40 +00:00
OpenStack Proposal Bot
2704492bc4 Updated from global requirements
Change-Id: If597f059dadd3b44ffcf33b3194dc793f0aa3027
2017-08-30 23:21:18 +00:00
Jenkins
ae929e98a4 Merge "Update .gitignore" 0.7.0 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