Changes include:
- callback plugin - fixed for Ansible 2.2
Apparently now `eventlet.monkey_patch()` breaks Ansible,
and since it is implicitly executed on any import from ironic package,
it breaks the callback plugin and the whole ansible-deploy driver
when using Ansible 2.2.
Instead, just copy-paste those several lines of code explicitly
into callback plugin module or use them from ironic_staging_drivers
code.
- ansible.cfg - add interprocess polling interval option.
Increasing it should decrease CPU load generated by each
ansible-playbook invocation and improve ironic-conductor performance
for parallel deployment of nodes with ansible-deploy driver
- in-memory inventory playbook - changed add_host module args to
correspond to Ansible 2.x
Change-Id: I365a82cd3592a7669599fe84674ca4abab8f576f
Closes-Bug: #1652326
AMT drivers recently were removed from ironic,
but some unit tests for AMT driver in ironic-staging-drivers still try
to use AMT-specific exceptions from ironic package instead of from
ironic-staging-drivers.
This patch changes affected places to use those exceptions from
ironic_staging_drivers.common module.
Change-Id: I7982cd8043a0508df6e26b8ef75738b7d3a82ee7
Closes-Bug: #1651069
Agent lookup/heartbeat as vendor passthru interface is deprecated and
is being removed from Ironic.
This patch updates all the drivers in ironic-staging-drivers to not rely
in this functionality.
Change-Id: Idfcfdff6a8657d6e6f09b8fe85ebaa0251969955
Related-Bug: #1640533
As part of the commit a9a1293312ca67c5e5dbb258146832516a41e939
to ironic, prepare_cleaning_ports and tear_down_cleaning_ports
methods from deploy_utils module were removed. This change
replaces their usage with network interface's add_cleaning_network
and remove_cleaning_network methods.
Closes-Bug: #1644874
Change-Id: I139c6284f93a63fbd5a02eef18610c7df236d2db
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>
The iboot mock was pointing to the iboot module in Ironic
(ironic.drivers.modules.iboot), this patch is changing it to point to
the module in ironic-staging-drivers otherwise, once iboot is removed
from the Ironic tree it's likely to break the unittests in this project.
Change-Id: I85fbfa9a83143ad309ae0cf6d5d45c8b7e45391e
This patch is removing python-libvirt from test-requirements.txt and
mocking that library for the tests.
Closes-Bug: #1616906
Change-Id: Id067476c58bf9ddedd6cfc5fe80303f7d949cb9e
The commit a9216bb07f4ccd4dc202fd1f5c14b36a08ac6046 in Ironic refactored
the vendor passtrhru classes and removed the kwargs from the
continue_deploy() method, breaking the tests in here.
Closes-Bug: #1612210
Change-Id: Ie471dddb7d05a0fd5710518ab38b555e7dce0596
This patch is importing the iBoot driver and its documentation from
ironic to ironic-staging-driver.
Since we can't have duplicated entry points in setuptools we had to
rename the driver names as following:
pxe_iboot -> pxe_iboot_iscsi
agent_iboot -> pxe_iboot_agent
fake_iboot -> fake_iboot_fake
Change-Id: I2783b8e65408811858ffb00c372aa7ae269ad75b
Change I0fc25c64339bc4c1f03ccb35cbc4efad4a7ad966 removes old ramdisk
support from Ironic, and pass_deploy_info() method does not present.
This patch removes pass_deploy_info() support from AMT driver.
Change-Id: Iece3d18a55c94cb9406bac477d643321e8c6fc0a
This patch installs pywsman, which is needed for AMT driver.
Adds AMT driver to Ironic enabled_drivers.
Change-Id: I5410c6c38d409dbcef8823602a05f99ff4c725b5
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
Remove unneeded "INTEL_NM" prefix.
There is comment on review of
I9becb7e4f62c773d2a21fd53255acad3098b47a3
Change-Id: Icb83201d3d4efbada96c250a52a2bf4eef31b81d
Intel Node Manager is able to provide some statistical parameters
directly without tools like ceilometer.
This patch adds vendor methods for statistics.
Change-Id: I9becb7e4f62c773d2a21fd53255acad3098b47a3
Libvirt has its own API. It allows to connect to different hypervisors
like xen, vmware, virtualbox, qemu, full list can be found at
https://libvirt.org/drivers.html.
It supports different type of transports like ssh, tcp, unix sockets.
This patch introduces new type of power and management drivers,
which use libvirt-python library to connect to hypervisor.
Change-Id: I2df214aab95c2f5d2505f5ad4ef9f3a542e44c6a
Depends-On: I12211db38a3fdb3b2d733e5769f2c052c32c4a75
Closes-Bug: #1523880
This patch adds two new entry points with Intel Node Manager
vendor interface: "agent_ipmitool_nm" and "fake_nm".
New vendor interface supports Intel Node Manager policies.
Change-Id: Iedbb3b906cef7bd5b2d768e926a59820ccd8c196
This patch is importing the Wake-On-Lan (WOL) driver and its documentation
from ironic to ironic-staging-driver.
Since we can't have duplicated entry points in setuptools we had to
rename the driver names as following:
pxe_wol -> pxe_wol_iscsi
agent_wol -> pxe_wol_agent
fake_wol -> fake_wol_fake
This patch is using the "<boot>_<power>_<deploy>" template to name the
drivers consistently.
Change-Id: I2b051494fdba7bf6ca30d8f7bb406511bf7d4d76
This commit is adding the version.py module for ironic-staging-drivers
and updating the doc/source/conf.py configuration file to use the new
version module.
Change-Id: If845ebb4ca35293a1cd4bd1a42e93999cb919777