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
Ubuntu Xenial comes with Python 3.5 out-of-the-box,
and both ironic and ironic-staging-drivers are already gating against
py35 unit tests.
Change-Id: Ie1728d90b9eada194ae65aca15be5238edfa4ebc
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
Based on:
- `ironic-agent` element and uses IPA for lookup/heartbeats
- `devuser` element to set user name, permissions and SSH keys.
Additionally:
- ensures OpenSSH is installed and configured properly
- correctly sets hostname to avoid some Ansible problems with elevation
- overrides DIB_DEV_USER_PWDLESS_SUDO to always be "yes"
Ironic callback functionality requires Ironic API >= 1.22.
Change-Id: I3f6c3baf0197d27f2d423f52611666ca186cd0a4
Related-Bug: #1526308
Releasenote translation publishing is being prepared. 'locale_dirs'
needs to be defined in conf.py to generate translated version of the
release notes.
Note that this repository might not get translated release notes - or
no translations at all - but we add the entry here nevertheless to
prepare for it.
Change-Id: I260e6d906e9bfac28523bb3a93d4d598f8a3d169
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>
Remove old and unused constraints environments from tox.ini. Those
have never been used.
Note that the repo has in the past not used constraints in OpenStack
CI, this change keeps the status quo.
For more information about constraints see:
http://lists.openstack.org/pipermail/openstack-dev/2016-August/101474.html
Change-Id: Idb24ac27d5653b5f0c7a5f618b475c9e278fcc8a
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
There is an internal Ironic docs reference left after moving
this driver from Ironic repo, which does not work and produces warnings
during docs build.
Change-Id: I8111d90b530708b3a0ce00361ae532b933553536
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