140 Commits

Author SHA1 Message Date
Thierry Carrez
e8391b3630 Open Liberty development
Bump pre-version in setup.cfg to formally open Liberty development.
Kilo release branch will be cut from the previous commit.

Change-Id: I869afdbe3eb4f80277082329cb9a5794812f15f2
2015-04-14 00:27:11 +00:00
Lin Tan
f72a694784 Add AMT-PXE-Driver Power&Management&Vendor Interface
Introduce a new driver pxe-amt to extend Ironic's range to desktops.
AMT (Active Management Technology)/vPro is widely used in desktops
to remotely control the power, similar to IPMI in servers.
It will use AMT as power management and PXE as deploy management.
This patch only provides basic operations to support the workflow of
remotely deploying on AMT/vPro system.

This adds power, management and it's own vendor interface.
This also adds a new fake-amt driver.

Implements blueprint amt-pxe-driver
Change-Id: Idd9b63d124f52e24efab8b49dfe1f2e25b8387e6
2015-03-10 00:19:27 +08:00
Dmitry Tantsur
03eb9e022e Add module for in-band inspection using ironic-discoverd
Also adds FakeDiscoverdDriver for the sake of testing.

Change-Id: I49463e7eb897c73b42e1d2816b4f2001b885c7f6
Implements: blueprint inband-properties-discovery
2015-03-05 16:32:26 +01:00
Pavlo Shchelokovskyy
86f197cdbf 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
53e09e0688 Merge "Add VirtualBox drivers and its modules" 2015-02-07 01:02:47 +00:00
ChangBo Guo(gcb)
bfd74942df 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
0818cb7627 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
4412b83481 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
5f398aa2ae 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
36d784fd2d 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
72d6cf7fc4 Replace custom lazy loading by stevedore
Change-Id: I0b09e8822af6e8c3ce7299d31eb53f30a50262bc
2014-10-01 12:32:06 +02:00
Ramakrishnan G
5894ff356e 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
571579a005 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
8a6b72030c 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
49877f6bf7 Merge "Make DHCP provider pluggable" 2014-08-29 19:48:02 +00:00
Ellen Hui
f1adedde75 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
24d09f7715 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
a2d3e4c493 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
55858be5f8 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
7f8fed748d 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
3e568fbbbc 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
e59e5cdb1f 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
02417ebe8d 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
8e854d7eb8 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
ba207b4aa0 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
60ca7410ba 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
2285029147 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
85e237361f Update from global requirements
Also, more importantly, get rid of d2to1 references.

Change-Id: I3c51eaf807b8642d9326d110813f62a9b4898d5b
2013-09-30 09:34:20 -07:00
linggao
2089d3c01b 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
86934b81c5 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
8eb63c2078 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
59d5bea14a 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
81174e108a 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
7ffa36c35e 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
23f30cb6fe 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
c835425781 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
9e242f8d2d Implement skeleton for a new DB backend. 2013-05-13 00:58:31 -07:00
Devananda van der Veen
8ac57c720c Implement initial draft of a Pecan-based API. 2013-05-13 00:57:31 -07:00
Monty Taylor
a520425dd9 Renamed nova to ironic. 2013-05-02 15:55:48 -04:00
Monty Taylor
84a7dc47e2 Added project infrastructure needs. 2013-05-02 14:55:43 -04:00