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
This commit adds a deploy driver for the ironic-python-agent
project. Caveats:
* Only basic functionality (deploy and tear_down) is implemented.
* Only whole disk images are supported.
Implements: blueprint agent-driver
Change-Id: Iebf8d8f756770549d6fcd1bb2fe94d2585d576b1
Add a new ironic driver for managing HP Proliant Gen8 servers
using iLO4. This commit introduces the power module for
IloDriver.
Implements: blueprint ironic-ilo-power-driver
Change-Id: I8d521f67fb14a6132626782b05cd490cd42ba476
Co-Authors: Anusha Ramineni<anusha.iiitm@gmail.com>
Bump preversion to 2014.2 to formally open Juno development.
The Icehouse release branch (milestone-proposed) will be cut
from the last commit before this one.
Change-Id: Ifa98e88c4c78ef904b79da57a47195344ff4b3fb
Correct the version string in setup.cfg for Icehouse.
Make ironic/version.py use PBR instead of the stale code that was there.
Make ironic/common/config.py properly set the version string so that
all CLI commands output it when "--version" is passed.
Remove openstack.common.version module which is no longer present in
oslo-incubator.
Closes-bug: #1294389
Change-Id: I9a7bfe5fc1b79934cf2467d6f8a6c16f41205dbf
* Implement ironic's PowerInterface for SeaMicro power driver
* Use python-seamicroclient to access SeaMicro hardware
* Adds unit tests for SeaMicro power driver
* Adds python-seamicroclient to requirments.txt
Change-Id: I4b7263a28d479faebe1969f3d622bbb1f9957897
Implements: blueprint seamicro-power-driver
Remove rootwrap code copied from oslo-incubator, make the
ironic-rootwrap console_script entrypoint point to oslo.rootwrap
code instead.
Patch based on: https://review.openstack.org/#/c/67422
Change-Id: I3dd2c4cab6652dea5bd755b6048cbeea9edc81cf
Partial-Bug: #1268674
Implemented a power driver for baremetal node that uses the native
python ipmi driver called pyghmi.
Change-Id: I41954ebba7c8fa2873a7f1a1f73a4511b0afa301
Implements: blueprint native-ipmi
To make naming more consistent with other ipmi drivers that
will be introduced later, the module name for ipmi driver
that uses the ipmitool is renamed from ipmi to ipmitool.
Change-Id: I8ec0d4beb29a06af7b27d3ff0620fab5446579b1
This rename to "conductor" more clearly communicates that this service
has a many-to-many relationship. One or more service instances
coordinate between each other to conduct actions on a set of nodes,
using guarded locks to prevent conflicting simultaneous actions on any
given node. The old name "manager" suggested a more one-to-many relationship,
which is not the design pattern which we use here.
Rename ironic/manager to ironic/conductor
Rename ironic.manager.manager.ManagerService
to ironic.conductor.manager.ConductorManager
Rename ironic-manager to ironic-conductor
Update docs too
Change-Id: I3191be72a44bdaf14c763ce7519a7ae9066b2bc5
Based on discussions during and after the Ironic team meeting on June
03, regarding support for substantially different driver work flows,
this is a re-working of the internal driver API.
tl;dr: The strict separation of "control" and "deploy" driver was an
artefact of the ipmi + pxe implementation used in nova-baremetal,
and does not map on to all drivers. Furthermore, the prior
implementation did not accurately represent the separation of
"core", "standard", and "vendor-specific" driver functionality.
These changes impact the v1 API structure, but since that is largely not
implemented yet, this change does not attempt to affect the public API
itself.
Highlights:
- No more deploy + control driver; nodes have one and only one driver.
This drops the deploy_driver and deploy_info parameters,
and renames control_driver -> driver, and control_info -> driver_info.
- Interfaces for core, standard, and vendor functionality now clearly
defined in the driver API.
- Improve Fake driver to demonstrate use of interfaces.
- Convert IPMI and SSH driver classes into interfaces, and move to
drivers/modules/ directory.
- Stub for the pxe interfaces.
- Stub implementations of pxe+ipmi and pxe+ssh drivers.
- driver_info field uses more standard names, but requires
driver-specific data to be in a nested object. Examples in
tests/db/utils.py as before.
A separate doc change will follow this to update the API v1 spec.
Also includes some cosmetic cleanup of test_ssh.py and test_ipmi.py.
Change-Id: I057ede8e07b1b57010e81ef58415debe0ba8b934
- Added ironic-rootwrap to setup.cfg/entry_points
- Use ironic-rootwrap as root-helper for execute()
Change-Id: I93f9f5fa60e456ce86f878e2a35c849d0ceeca14
Converting nova's virtual_power_manager for use by ironic
Implements: blueprint virtual-power-driver.
Change-Id: Ie24564e349aca863578955385f084f1be8b0b053
Authored-by: Devananda van der Veen <devananda.vdv@gmail.com>
Authored-by: Chris Krelle <nobodycam@gmail.com>
Also turn on doc API autoindexing.
This depends on https://review.openstack.org/30520 landing in pbr and a
new point release being cut, as it uncovered a bug.
Change-Id: I8f4ffc4f7c54c7b207d6d52e74ccab020596e602
Also, add (task, node) to the base and fake driver method parameters.
Prepares the way for adding TaskManagers in a following patch.
Change-Id: I846227b2416445a539f9ac51d86b33ea49d4abcb