52 Commits

Author SHA1 Message Date
Ghanshyam Mann
782d58e0cf Dropping the py35 testing
All the integration testing has been moved to
Bionic now[1] and py3.5 is not tested runtime for
Train or stable/stein[2].

As per below ML thread, we are good to drop the py35
testing now:
http://lists.openstack.org/pipermail/openstack-discuss/2019-April/005097.html

[1] http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004647.html
[2]
https://governance.openstack.org/tc/reference/runtimes/stein.html
https://governance.openstack.org/tc/reference/runtimes/train.html

Change-Id: I0ddf941773729e7de8a7f8cb7487aa147378cbdc
2019-04-14 22:17:44 +00:00
Julia Kreger
5f71c3c748 Correct author email address
Change-Id: I667496671f232e730831eede7bc723bdc4d82b1b
2018-11-27 14:58:23 -08:00
Julia Kreger
dcc5a473c7 Correct url in setup.cfg for documentation path
Change-Id: I43eb0e3a0c79fdbef3e971410503c700678dcbfa
2017-07-19 20:11:19 +00:00
Julia Kreger
6678a9d9c6 Rework base landing page to contributor docs
Change-Id: I1fea1922376f5dcb1c1efa2da20e33c82ba64d2d
2017-07-19 13:33:02 +00:00
Vu Cong Tuan
a212eca2ef Remove pbr warnerrors in favor of sphinx check
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
2017-06-09 14:44:45 +07:00
kavithahr
0e397eb988 Python 3.5 is added
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
2017-03-09 11:03:58 +05:30
Jenkins
001aa86630 Merge "Remove tests and common.i18n from autodoc" 2016-10-05 00:08:30 +00:00
Sharat Sharma
b63f20198e Changed the home-page of ironic-lib
Change-Id: I0562823fba4c5460b00666f023531da150897443
2016-10-03 12:43:46 +00:00
Dmitry Tantsur
f23ce3c91e Remove tests and common.i18n from autodoc
Change-Id: I52d579ea25ce36dc1cda0ffaeb8d0602e2b17f07
2016-10-03 14:42:04 +02:00
Jay Faulkner
4f58317ce0 Add framework for doc building in ironic-lib
This adds a doc build for ironic-lib. Currently the only documentation
is that generated from docstrings.

Change-Id: I6ee00ad863bc7ce72958db4e8d5b6871a5b96eb0
Partial-bug: #1614272
2016-08-18 09:14:52 -07:00
Aline Bousquet
fb46000e24 Add support for metrics
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
2016-06-28 13:38:01 +01:00
Lin Tan
733a40bc5c Explore config options to oslo-config-generator
Add entry points to explore config options.
This could be used for oslo-config-generator.

Partial-Bug: #1564195
Change-Id: Ibf844b903340f834cca5cc4539ddd9cecbeda90a
2016-03-31 02:29:06 +00:00
Ruby Loo
854ece3f29 Update setup.cfg
We aren't suppporting python 2.6.

Addressed a grammatical issue.

Change-Id: I6e89735a510ec87ae33dc29309d8be4b711d7489
2015-09-30 14:05:41 +00:00
Dmitry Tantsur
aa66ebc6ee Change PyPI name to ironic-lib and clean up setup.cfg
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
2015-08-13 12:36:21 +02:00
Faizan Barmawer
1d78cb7167 Initial commit for ironic-lib 2015-02-26 04:15:08 -08:00
Pavlo Shchelokovskyy
71c3f45df3 Fix file permissions in project
Remove erroneous execution bit from some files in repository.

Change-Id: Ib25b60b1b9f23b12b92a2bb397e9d8f22f86b42e
2015-02-16 19:51:20 +02:00
Jenkins
e3db56b7af Merge "Add VirtualBox drivers and its modules" 2015-02-07 01:02:47 +00:00
ChangBo Guo(gcb)
3c73a90cd2 Drop deprecated namespace for oslo.rootwrap
The oslo team is recommending everyone to switch to the
non-namespaced versions of libraries.[1]
oslo.rootwrap suggests to use oslo_rootwrap.cmd:main.[2]

[1]https://blueprints.launchpad.net/oslo-incubator/+spec/drop-namespace-packages
[2]https://github.com/openstack/oslo.rootwrap#using

Change-Id: I1fb59b43912afb4b2f85ecade1ee1a7154c9efba
2015-01-31 13:44:28 +08:00
Ramakrishnan G
dace1c9d59 Add VirtualBox drivers and its modules
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
2015-01-31 02:15:51 +00:00
Naohiro Tamura
864e02737b Add iRMC Driver and its iRMC Power module
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
2015-01-28 07:04:48 -08:00
Vladyslav Drok
cda5680082 Remove Python 2.6 from setup.cfg
Python 2.6 support is dropped so it should be removed from setup.cfg.

Change-Id: I28b205c8a8027de4168b65f272983b38bb09dd2d
2014-12-11 17:37:35 +02:00
Thierry Carrez
4c157a36f1 Open Kilo development
Bump pre-version to 2015.1 to formally open master branch to Kilo
development.

Change-Id: I02697038476e6c165b44f92b065a9d0b410f78a7
2014-10-02 17:50:53 +02:00
Julien Danjou
38ca91f745 Replace custom lazy loading by stevedore
Change-Id: I0b09e8822af6e8c3ce7299d31eb53f30a50262bc
2014-10-01 12:32:06 +02:00
Ramakrishnan G
9625b1d8c2 IloVirtualMediaAgent deploy driver
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
2014-09-03 16:51:33 -07:00
Ramakrishnan G
7c96c4f430 IloVirtualMediaIscsi deploy driver
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
2014-09-03 16:46:57 -07:00
Stig Telfer
8c01894b13 Adds SNMP power 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>
2014-09-03 15:25:07 +01:00
Jenkins
57d1a071fe Merge "Make DHCP provider pluggable" 2014-08-29 19:48:02 +00:00
Ellen Hui
c0fc1197a4 Make DHCP provider pluggable
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
2014-08-29 10:26:03 -07:00
Roman Prykhodchenko
0b9a0ca561 Script to migrate Nova BM data to Ironic
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>
2014-08-28 10:53:16 -07:00
Imre Farkas
66cf9f8aa6 Add DracDriver and its DracPower module
Implements: blueprint drac-power-driver
Change-Id: If93231c39ce901224f3a920f5342c44ba1b26851
2014-08-19 16:28:52 +02:00
Devananda van der Veen
28d3f3914f Replace incomplete "ilo" driver with pxe_ilo and fake_ilo
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
2014-08-14 15:02:06 -07:00
Lucas Alvares Gomes
89f3844802 Port iBoot PDU driver from Nova
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
2014-07-31 18:48:04 +01:00
Jim Rollenhagen
758392039b Add ironic-python-agent deploy driver
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
2014-07-30 23:27:11 +00:00
Ramakrishnan G
df82792686 Add IloDriver and its IloPower module
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>
2014-07-17 20:50:53 +05:30
Devananda van der Veen
1c3602eadc Open Juno development
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
2014-04-01 08:27:33 -07:00
Devananda van der Veen
bfb3af0b91 Correct version.py and update current version string
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
2014-03-21 13:50:05 -07:00
Rohan Kanade
bb579f0391 Implement the SeaMicro Power driver
* 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
2014-03-03 20:52:19 +01:00
Lucas Alvares Gomes
88e99898ea Use oslo.rootwrap library instead of local copy
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
2014-01-17 16:18:52 +00:00
Sascha Peilicke
4bb982ee96 Support building wheels (PEP-427)
With that, building and uploading wheels to PyPI is only one "python
setup.py bdist_wheel" away.

Change-Id: I3d25f7157b429d44f338fab9a3d68dbf9c73be8c
2013-11-19 09:56:09 +01:00
Monty Taylor
09e4fe300b Update from global requirements
Also, more importantly, get rid of d2to1 references.

Change-Id: I3c51eaf807b8642d9326d110813f62a9b4898d5b
2013-09-30 09:34:20 -07:00
linggao
bb84bc34b7 Add native ipmi driver
Implemented a power driver for baremetal node that uses the native
python ipmi driver called pyghmi.

Change-Id: I41954ebba7c8fa2873a7f1a1f73a4511b0afa301
Implements: blueprint native-ipmi
2013-09-25 20:43:44 +00:00
linggao
772a6df3d4 Rename ipmi driver to ipmitool
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
2013-09-13 13:31:42 +00:00
Devananda van der Veen
a360cb8771 Rename "manager" to "conductor"
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
2013-07-03 04:03:22 -07:00
Devananda van der Veen
5e0e2492e9 Restructuring driver API and inheritance.
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
2013-06-11 17:12:21 -07:00
Ghe Rivero
0df28a9b2f Fix ironic-rootwrap capability.
- Added ironic-rootwrap to setup.cfg/entry_points
- Use ironic-rootwrap as root-helper for execute()

Change-Id: I93f9f5fa60e456ce86f878e2a35c849d0ceeca14
2013-06-05 19:54:10 +02:00
Chris Krelle
7c56cbd4b0 Add ssh power manager.
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>
2013-06-05 08:25:12 -07:00
Monty Taylor
e7af30fd4f Add support for Sphinx Docs.
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
2013-05-25 08:03:45 +02:00
Devananda van der Veen
820bfc0f32 Update driver names and base class.
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
2013-05-22 19:55:32 -07:00
Devananda van der Veen
ab13c0d3ac Implement skeleton for a new DB backend. 2013-05-13 00:58:31 -07:00
Devananda van der Veen
f07ce83226 Implement initial draft of a Pecan-based API. 2013-05-13 00:57:31 -07:00