Commit Graph

13 Commits

Author SHA1 Message Date
Dmitry Tantsur 1c40f8ae57 Fix the CI
* Fix the default interfaces in the devstack plugin
* Do not default to netboot with a whole disk image
* Add missing stestr dependency, removed unused dependencies

Change-Id: I88fe1eb17acb27f18a3093367a29b5f5049d74af
2022-05-10 15:08:55 +02:00
Pavlo Shchelokovskyy 725b85484f Remove Ansible-deploy interface
it is now part of ironic itself, and version in ironic-staging-drivers
conflicts with version in ironic, blocking ironic-conductor from
starting when ironic-staging-drivers is installed.

Change-Id: I917b7399b3249143ba6cf75f61d96a1c64f94e7d
2017-12-18 14:55:35 +02: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 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
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
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
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
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 ffd006e098 Add Ansible-deploy driver
Requires Ironic API >= 1.22 when using heartbeats to Ironic API.

For better logging and proper deployment failure handling,
Ironic should be > '6.1.1.dev147' version.

Tested with and targets Ansible >= 2.1

Experimental DIB element: I3f6c3baf0197d27f2d423f52611666ca186cd0a4
Experimental TinyCore-based bootstrap:
Ie39ce67dc93e7d53bf75937c7defacafad5fbfcf

Tested with DevStack, Bifrost and Mirantis OpenStack,
with both VMs and real IPMI hardware.
Tempest's baremetal_server_basic_ops test reliably passes on DevStack
with `pxe_ssh_ansible` driver.

More elaborate documentation will be proposed in next changes.

Change-Id: Ib9317d365d7bc39aa00a9d9e1eadddd2f9b2947f
Related-bug: #1526308
Co-Authored-By: Yuriy Zveryanskyy <yzveryanskyy@mirantis.com>
2016-09-16 21:54:24 +03:00
Vasyl Saienko 7a08bec56a Install amt driver requirements
This patch installs pywsman, which is needed for AMT driver.
Adds AMT driver to Ironic enabled_drivers.

Change-Id: I5410c6c38d409dbcef8823602a05f99ff4c725b5
2016-06-08 19:06:01 +03:00
Vasyl Saienko afee94c720 Add devstack plugin
This is initial commit of ironic-staging-drivers devstack plugin.
The plugin install ironic-staging-drivers and adds drivers specified
in devstack/enabled-drivers.txt to Ironic enabled_drivers.

It install driver specific requirements by walking through list of
staging drivers directories and calls:
  pip_install -r $driver/python-requirements.txt
  source $driver/other-requirements.sh

Directories specified in IRONIC_DRIVERS_EXCLUDED_DIRS are ignored.

List of enabled ironic drivers:
 fake_wol_fake, pxe_wol_iscsi, pxe_wol_agent,
 agent_ipmitool_nm, fake_nm,
 pxe_libvirt_agent, pxe_libvirt_iscsi, fake_libvirt_fake

Moves libvirt requirements to libvirt/python-requirements.txt

amt driver requires openwsman library, and will be added in next CR.

Change-Id: I281118b6e4bf17c98717d7727f99e61db418ba20
2016-06-08 19:05:31 +03:00