Adds a new module for two qemu-img wrappers that are used both by Ironic
and IPA. The remaining functions in disk_utils are only used by IPA and,
since most of them require root, can no longer be used in the
post-rootwrap Ironic any more. They should be moved to IPA eventually.
Change-Id: I3364a58b52a3e57c2f52356a6496865b749e74a8
Continuing the work of @JayF in other repos.
Adds a tox target for codespell, `tox -e codespell`. Can optionally
be run as `tox -e codespell -- -w` to get automatic spelling fixes
applied where appropriate. Adds small amounts of configuration to
setup.cfg, including an ignore list of words.
Related Bug: https://bugs.launchpad.net/ironic-python-agent/+bug/2047654
Change-Id: I284045ee9dfb51eee59a0442abda657c74abed05
We have updated the yoga testing runtime to keep the
py36 testing.
- https://review.opendev.org/c/openstack/governance/+/820195
Unit tests job template is also updated to keep python
3.6 as a voting job. So with the py3.6 and py3.9 testing as voting
job template, we are keeping python 3.6, 3.7, 3.8, and 3.8 as
tested versions in the Yoga cycle.
- https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/820286
This commit re-add the python 3.6/3.7 versions in setup.cfg classifier.
Change-Id: I7129bb68320a7d6de40feea571e2ac03d4b09166
oslo.config is relying on the list_opts entrypoint to automatically
integrate the json_rpc options.
Story: 2009126
Task: 43038
Change-Id: Id50af71faec84bd778422ed86a3b99797158afdb
Setuptools v54.1.0 introduces a warning that the use of dash-separated
options in 'setup.cfg' will not be supported in a future version [1].
Get ahead of the issue by replacing the dashes with underscores. Without
this, we see 'UserWarning' messages like the following on new enough
versions of setuptools:
UserWarning: Usage of dash-separated 'description-file' will not be
supported in future versions. Please use the underscore name
'description_file' instead
[1] https://github.com/pypa/setuptools/commit/a2e9ae4cb
Change-Id: I0f8a792afc5a346d273b92e3aa77d59781b04a37
To be able to use the same JSON RPC implementation for ironic-inspector,
it is now imported in ironic-lib. Some additional abstraction laters are
added to avoid hard dependency on oslo.context and oslo.messaging.
Change-Id: I0e790cebcd086d26bf27b909f73842c3f46bbd77
This code is used by both ironic and ironic-inspector with barely
any difference and will be required to import the JSON RPC code.
To prevent IPA from depending on keystoneauth, the new requirement
is added as a new extra feature "keystone".
Change-Id: I8bc08ec9e081a67d1687033413fee63698e14e69
Now that we are running the Victoria tests that include a
voting py38, we can now add the Python 3.8 metadata to the
package information to reflect that support.
Change-Id: I0f06173f4758094168b9ce6c6253cd0fd3b53bdd
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
Make a few cleanups:
- Remove python 2.7 stanza from setup.py
- Add requires on python >= 3.6 to setup.cfg so that pypi and pip
know about the requirement
- Remove obsolete sections from setup.cfg
- Update classifiers
- Update requirements, no need for python_version anymore
- Switch to apidoc instead of autodoc for API docs, use sphinx-build.
Change-Id: Ie6107bc80961a7306957b17ac2eda44417b53d3e
The file was added to sources but not to setup.cfg which controls
which files are included in the wheel build.
Change-Id: Ied7ee2e3418673de7c2c9fa6f8407350d6b3314c
Story: 2006604
Task: 36772
Base ironic exception is moved to ironic_lib, but the configuration
option fatal_exception_format_errors is not exposed so it's not shown
in the example configuration file.
Change-Id: I19d7b586dc40a001c0fdcc4de003e41f65103c9a
To simplify standalone configuration, we need an ability for IPA
to discovery ironic and ironic-inspector on the local network.
This change adds the support code for using multicast DNS (RFC 6762)
with DNS service discovery (RFC 6763) to publish and discover
OpenStack services as proposed in the API SIG guideline
https://review.opendev.org/651222.
Change-Id: Iaf3422331238884412ce608c0667de7891945f98
Story: #2005393
Task: #30432
This change removes the now unused "warnerrors" setting,
which is replaced by "warning-is-error" in sphinx
releases >= 1.5 [1].
[1] http://lists.openstack.org/pipermail/openstack-dev/
2017-March/113085.html
Change-Id: Ic311ad8dc0ea211acdce770fb1f1726994f1c1a4
Added python 3.5 to setup.cfg so it contains all supported python
versions. Removed python 3.4 in tox.ini because the gating on
python 3.4 is restricted to <= Mitaka. This is due to the change
from Ubuntu Trusty to Xenial, where only python3.5 is available.
There is no need to continue to keep these settings.
Change-Id: I5051826fdc867caea9f6a17c39a86e1799365527
This adds a doc build for ironic-lib. Currently the only documentation
is that generated from docstrings.
Change-Id: I6ee00ad863bc7ce72958db4e8d5b6871a5b96eb0
Partial-bug: #1614272
This patch adds metrics to ironic-lib, so that it can be used by both
Ironic and IPA. It implements a generic MetricLogger including timers,
counters, and gauges with their respective decorators and context
managers. Two default MetricLogger are included: NoopMetricLogger and
StatsdMetricLogger.
Change-Id: I8a62414e6c03acb6f3457f1b8f81c03a9d3a8576
Co-Authored-By: Josh Gachnang <josh@pcsforeducation.com>
Co-Authored-By: Jim Rollenhagen <jim@jimrollenhagen.com>
Co-Authored-By: Alex Weeks <alex.weeks@gmail.com>
Partial-Bug: #1526219
Add entry points to explore config options.
This could be used for oslo-config-generator.
Partial-Bug: #1564195
Change-Id: Ibf844b903340f834cca5cc4539ddd9cecbeda90a
Our project is called ironic-lib, no point in publishing it as ironic_lib.
It's also inconsistent with tempest-lib.
This patch also removes unneeded elements from setup.cfg and switches
to postversioning.
Change-Id: I29c0f384fb8869ce3e28dedf0272fcc2e766fc26
This commit adds VirtualBox modules VirtualBoxPower
and VirtualBoxManagement for managing VMs
through VirtualBox web service. It also adds two
new drivers pxe_vbox and agent_vbox.
Implements: blueprint ironic-virtualbox-webservice-support
Change-Id: I1e23d21534be30cc4b5a06e998cdce0c5cb04ab6
Adding new iRMC Driver, namely pxe_irmc, to the list of available
drivers in Ironic and implementing the iRMC power module to interact
with ServerView Common Command Interface (SCCI) described in FUJITSU
Software ServerView Suite, Remote Management, iRMC S4 - integrated
Remote Management Controller.
Implements: blueprint irmc-power-driver
Change-Id: I90d8027877b0873ea13bfbd7731ff7bac3e35d13
This commit introduces a new deploy driver which uses iLO virtual
media to boot up proliant baremetal nodes, and uses agent to deploy
the baremetal nodes.
This patch also changes agent pxe config template slightly, so that
the names of agent ramdisk parameters generated in code and those
expected by agent ramdisk are same.
Change-Id: Ia5677dff294bc146b864bed180fbda939cf9bb38
Implements: blueprint ilo-virtualmedia-ipa
This commit introduces a new iLo deploy driver which uses virtual
media to boot up proliant baremetal nodes, and uses iSCSI to deploy
the baremetal nodes.
Change-Id: I98f47ed6082a3a28fce3148f6d5177cdb5c61881
Implements: blueprint ironic-ilo-virtualmedia-driver
Add a new PowerDriver module for remote control of node power by
enabling or disabling sockets on a rack power strip via SNMP.
Implements: blueprint ironic-snmp-power-driver
Change-Id: Ib16781eaa9737525c4d8a9231ecd9e72d7e2645e
Co-authored-by: David Hewson <dhewson@cray.com>
Co-authored-by: Mark Goddard <mgoddard@cray.com>
Previously, all dhcp was done explicitly through Neutron. This commit
adds an interface for dhcp providers, currently implemented by a
Neutron provider and a noop provider.
The provider can be set in the dhcp_provider config option, and
defaults to neutron.
Co-Authored-By: Jim Rollenhagen <jim@jimrollenhagen.com>
Co-Authored-By: Lucas Alvares Gomes <lucasagomes@gmail.com>
Implements: blueprint support-external-dhcp
Closes-Bug: #1282168
Change-Id: I7eea490c573914c6cd2a73056fe3a0ec91065dc0
This adds the ironic-nova-bm-migrate script which can be used to migrate
node and interface data as well as associated configuration from a
nova-baremetal environment to Ironic. It requires access to both databases
as well as the Nova configuration file.
Change-Id: I231730ad3e2cb289512c1f1166d4cef3358939f8
Co-authored-by: Adam Gandelman <adamg@ubuntu.com>
The "ilo" driver is not complete -- it only has a PowerInterface today.
This patch removes it from setup.cfg, deletes the drivers/ilo.py module,
and adds both PXEAndIloDriver and FakeIloDriver instead.
Change-Id: I431fd5155d0696a0a48ad8decf9f5317c5fcd7a2
Ports a custom power driver from Nova to Ironic so that iBoot capable
devices can be used.
Co-Authored-By: Dan Prince <dprince@redhat.com>
Closes-Bug: #1226042
Change-Id: Ibec34a7e0a69bb26d3e2a21b1f2d1a7ce3514347