This change removes pxe_ucs, agent_ucs, pxe_iscsi_cimc and
pxe_agent_cimc. Best effort clean up was done to the documentation.
Change-Id: I4fe75e0d4a36228f2f6be6bf6ced6d37424b6fd3
This removes pxe_ilo, iscsi_ilo and agent_ilo. Also removed is
the whole documentation section dedicated to them.
Change-Id: Ie6f8a65d68ce4eb9c8467c416df5f3a35f0abe98
I've tried my best to provide a correct matching for these, but
there are two exceptions:
* fake_drac uses iscsi deploy with None boot, which cannot work,
so changing both to fake
* some fake drivers are migrated to the 'fake' power interface,
which is changed to include soft power as well.
The latter means that all fake classic drivers now support fake
soft power actions, while previously only fake_soft_power did.
Now fake_soft_power is identical to fake and is left for backward
compatibility
Also wrote more tests to check correctness of this migration.
Change-Id: I00c9c6ed698b10f035e65428e1a20d733c7e544a
Partial-Bug: #1690185
This change adds a new data migration: migrate_to_hardware_types.
It works by walking through known classic drivers, detecting matching
hardware types and interfaces and updates nodes accordingly.
Nodes that cannot be updated (e.g. matching hardware type is not
enabled) are skipped. A new migration option reset_unsupported_interfaces
can be set to True to allow resetting optional interfaces to their
no-op versions.
The example implementation are provided for the community supported
IPMI and SNMP drivers, as well as for fake drivers based on them.
Change-Id: I732b44f2ab1ef73f56b352415ffd9cdd8a0e232b
Partial-Bug: #1690185
SSH drivers are being unsupported for about a year now. All current
stable branches of ironic are officially supporting IPMI-capable HW
simulation via virtualbmc.
All ironic-related gate jobs have already been switched
to not use or enable those drivers.
This patch finally removes SSH-based power and managemtnt driver interfaces
and all classic drivers using those from ironic code and documentation.
Related exceptions and `ssh_connect` function, together with dependency
on `paramiko` package are removed as well.
Change-Id: Ieda7249b9cd78e3be1eff37804996295fc8d3969
Closes-Bug: #1570301
Depends-On: I9b60c9fa24652e9e64e787cd4e5b0152f51e7a28
- Adds new boot interface 'irmc-pxe'. Deprecates 'pxe' boot interface
from using with hardware type 'irmc'.
- Adds functions backup_bios_config and restore_bios_config to iRMC
management interface for implementing the BIOS BACKUP/RESTORE
mechanism supporting iRMC S4 hardware. The function backup_bios_config()
will be called automatically before deploying.
- Adds clean step restore_irmc_bios_config to restore BIOS config
for a node during automatic cleaning.
Change-Id: I04aa5bc2f5e287e048d0b52fee123e53ae2eaa99
Partial-Bug: #1639688
Code of 'pxe_ilo' drivers has been refactored to change 'deploy'
and 'boot' interfaces to iscsi_deploy.ISCSIDeploy() and
ilo.boot.IloPXEBoot() respectively.
Change-Id: Iebfc78e24ee9481ffb615cc6afea12519635645e
Partial-Bug: #1666787
The ipminative driver was marked as unsupported on September 28, 2016,
and an email was sent to the list on March 9th, 2017 asking for
volunteers to run third-party CI to save the driver from deprecation.
Additionally, many ironic contributors who also deploy ironic have
reported instability while using this driver. For these reasons it's
being removed from the main ironic tree. If there are any users still
interested in this driver, they are invited to host it elsewhere.
Change-Id: I9bc9f4cbd916f040a636b967ec5556197ad3d8a8
Closes-bug: #1671532
In accordance with ironic CI policies, this patch removesi some drivers
that are not tested on upstream or third-party CI
and for which maintainers have not communicated any plans
to have such testing.
This includes:
- virtualbox drivers
- seamicro drivers
- msftocs drivers
Change-Id: Ia3a7d798c877f4628946ee6c56d850b9847e6c3e
Closes-Bug: #1663018
Created a new Python module ironic.drivers.ipmi to contain all
supported IPMI-related drivers (both new and old).
Backward compatible aliases are left at old locations.
Change-Id: I526b8505d08b25b668af76d3fcd8f2feab31e420
Partial-Bug: #1524745
This patch removes the mentioned drivers from ironic code tree.
Per our third-party drivers policy they are unsupported,
and there is no existing plan to have third-party CI for them.
Nevertheless, if anybody still needs them, they are available in
ironic-staging-drivers repo.
Change-Id: I1219892bbc1b814d80b62c8ec89b90819071870f
Related-Bug: #1640533
This patch removes the deprecated agent lookup/heartbeat as vendor
passthru functionality from most of the drivers in following modules:
- ironic.drivers.agent
- ironic.drivers.pxe
- ironic.drivers.drac
- ironic.drivers.irmc
Some drivers are left untouched though:
- iLO and OneView drivers are a bit more complicated and will be fixed
in follow-up patches
- iBoot, WoL and AMT drivers will be fixed in ironic-staging-drivers
repo first and then removed from ironic tree.
Change-Id: Ia9ee46cda68ef823d1fe8e5ea03c1d5948810a50
Partial-Bug: #1640533
This will cause them to log a warning at startup, that it is unsupported
and may be removed later.
The drivers marked unsupported are any driver that uses:
* SSHPower / SSHManagement
* NativeIPMIPower / NativeIPMIManagement
* seamicro.Power / seamicro.Management
* IBootPower
* SNMPPower
* VirtualBoxPower / VirtualBoxManagement
* AMTPower / AMTManagement
* MSFTOCSPower / MSFTOCSManagement
* WakeOnLanPower
See the release note in this change for the full list of the setup.cfg
names for the drivers.
The remaining drivers are tested via OpenStack CI, and/or have a
third-party CI listed here[0] and are making an honest effort toward
having stable CI.
[0] https://wiki.openstack.org/wiki/ThirdPartySystems
Closes-Bug: #1526410
Change-Id: I9c09be6b7a734426a4c0b18cb61ece5389428cd5
IPMISocatConsole is a new console interface class using ipmitool and
socat. It has the same APIs of IPMIShellinaboxConsole class and
provides TCP4/TCP6 connection service to connect serial-on-LAN of
nodes.
IPMIConsole is a new console interface class using ipmitool and used
as parent class of IPMIShellinaboxConsole and IPMISocatConsol class.
This patch set implements new console driver interfaces
IPMISocatConsole.
To use PXE + IPMItool + socat, specify pxe_ipmitool_socat.
To use IPA + IPMItool + socat, specify agent_ipmitool_socat.
Spec: https://review.openstack.org/#/c/319505/
Partial-Bug: #1553083
Change-Id: I35a7dcb7e89baf16d096501fd44dbc12adc8c61e
To be specific, removed in this patch are:
* vendor passthru for the old ramdisk
* support for deploy_key
* various helper functions (like notify)
* devstack plugin support for the old ramdisk
Fixed:
* vendor passthru for drivers (add support for IPA to seamicro one)
* documentation for iSCSI-based deployment
Change-Id: I0fc25c64339bc4c1f03ccb35cbc4efad4a7ad966
This module enables iRMC out-of-band hardware inspection for FUJITSU
PRIMERGY bare metal nodes having iRMC S4 and beyond.
Change-Id: I8f406a9beb3fd3c01b15f764211ffd18494464f6
Closes-Bug: #1525108
Currently there is no support to get console in dev and
test environments, this patch implements a console driver
ShellinaboxConsole to add ability of console access for
SSH driver using 'virsh console'.
For non-virsh ssh drivers, a 'GET /v1/drivers/properties'
request will return False for the console interface (as
opposed to None) with a 'not supported ...' reason.
Change-Id: I2764e0cb4b5b489762e00cd266212b902acc0746
Closes-Bug: #1526305
This commit moves IloConsoleInterface class to separate file.
Change-Id: I143064efdba9f3056c7f980d36a88ef1e9a793fa
Implements: blueprint ilo-driver-uses-boot-interface
This commit implements new boot interface IloVirtualMediaBoot and
refactors IloVirtualMediaIscsiDeploy to use the same.
Implements: blueprint ilo-driver-uses-boot-interface
Change-Id: I5481e705892f66cb3184ac16ff56c123f5c69087
This commit adds self.raid = agent.AgentRAID()
for the drivers pxe_ipmitool, pxe_ipminative, pxe_ssh,
pxe_ilo, pxe_vbox. The same was done for agent drivers in
Ifa640d4839b2f08410ceec57c2972e2f9dc69db3.
It also adds test cases for these drivers which were
missing.
Change-Id: I5e7046ec56dd851a197da8571bd933cabd3dd210
Implements: blueprint inband-raid-configuration
Current drivers only allow for control of UCS servers via either IPMI or
UCSM, the Cisco UCS C-Series operating in standalone mode can also be
controlled via CIMC using its http/s XML API. This provides finer
control over the server than IPMI can, and doesn't require the extra
infrastructure that UCSM needs.
Change-Id: Ibd39040e3d7e82a87960d33150750433beb2453b
Implements: blueprint cisco-imc-pxe-driver
Currently, ipminative.VendorPassthru methods are not used in any
driver, while they should be in *IPMINative drivers.
Related-bug: #1486148
Change-Id: I6a3855780e74c52821930a3f3c0589b0a468a8e3
This commit refactors pxe.PXEDeploy. It moves code
related to PXE booting into a new boot interface
pxe.PXEBoot and keeps rest of the iSCSI deploy related
code in iscsi_deploy.ISCSIDeploy.
Implements: blueprint new-boot-interface
Change-Id: Ie96c02709200bd50f56458079e27b1f1daa60081
This patch implements a simple Wake-On-Lan power interface. For those
that does not have any fancy hardware just old PCs at home.
Wake-On-Lan is only capable of powering ON the machine, so it's
recommended to use the DIB ramdisk for testing the deployments with it
because it does a soft reboot on the machine at the end of the deployment.
After the machine is unprovisioned, you'll have to manually power it
off :-)
This patch also doesn't implement SecureON password feature for
Wake-On-Lan, I left a TODO in the code for those willing to implement it.
Implements: blueprint wol-power-driver
Change-Id: I6c0f98ef1cab1ebfb4a7e1d0aaae29672db1c5a4
This commit adds pxe_ucs, agent_ucs driver changes.
Adds support for the following:
- Power driver changes
- Management interface changes
- UCS Helper code, which can be reused with other parts of the driver,
ex: to support vendor apis.
Change-Id: I02211da5fad039dc7e6b509d547e473e9b57009b
Implements: blueprint cisco-ucs-pxe-driver
This patch enforces the rules E123, E126, E127, and E128 in the ironic
code base:
E123 - closing bracket does not match indentation of opening
bracket’s line
E126 - continuation line over-indented for hanging indent
E127 - continuation line over-indented for visual indent
E128 - continuation line under-indented for visual indent
This fixes any parts of the current code which fails these rules and
removes these rules from the tox.ini flake8 ignore list.
Change-Id: Ia96582b5e9abc088d6c1694afc93c59be4a4065c
Closes-Bug: 1421522
This patch changes module names, allows importing new module
name for inspector (will be later changed to ironic_inspector_client).
We need this patch to unbreak devstack support.
Change-Id: I34cc4336dcd7e8d44aebecf5c85b52c83f0c717b
Includes support for the Open CloudServer (OCS) chassis manager
power operations. The OCS design has been contributed by
Microsoft to the Open Compute project.
Implements blueprint msft-ocs-power-driver
Change-Id: Ic2c90ab5c8d79c55ae83dd485b3cf9281b600c23
This inspects the iLO to get the essential scheduling properties
and create the ironic ports for the requested macs.
It creates ports if the operator has provided the port numbers
in driver_info of the driver as there is no mechanism out-of-band
to know if server port is physically connected with a ethernet
cable.
Implements: blueprint ironic-node-properties-discovery
DocImpact
Change-Id: I0427f2657dab1145b90738760b1853689536a1e1
Start using in-band inspection with ironic-discoverd, but do not
instantiate the driver interface when discoverd support is disabled in
the config file.
* Check the CONF option prior to instantiating DiscoverdInspect class
and binding it to any driver interface
* Updates unit tests to better test the loading (or lack thereof) of the
driver.inspect interface, based on the CONF option
If in-band discovery is enabled by setting [discoverd] enabled=True in
the config file, then the following drivers will bind it to their
inspect interface:
* pxe_ssh
* pxe_ipmitool
* pxe_ipminative
* pxe_drac
This patch also fixes a few nits (copied from previous reviews).
The bug tagged below presently affects only the "fake" driver. Without
the above-mentioned changes, enabling discoverd for any
production-facing driver would have led to the problem described there.
Updated UnsupportedDriverExtension error message to suggest that
the extension might be disabled.
Co-authored-by: Devananda van der Veen <devananda.vdv@gmail.com>
Closes-bug: #1431999
Implements: blueprint inband-properties-discovery
Change-Id: I1dd844525852b1ec806f286d01dfc95313c6ad94
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
This module inherits ipmitool.IPMIManagement and overrides the
following two functions for iRMC Drivers in order to make use of iRMC
IPMI boot mode get/set capability and SCCI get sensor data.
* set_boot_device()
* get_sensors_data()
Implements: blueprint irmc-management-driver
Change-Id: I8dd6e76a7e85eb477dcde11e322fa1e308fe968c
oslo.utils 1.2.0 has changed its namespace from oslo.utils to
oslo_utils.
Co-Authored-By: Victor Sergeyev <vsergeyev@mirantis.com>
Change-Id: I07ce4791cfe3b32efb02be60f792bd1c4f03d82f
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 is to support management Interface for HP ProLiant Servers
using iLO client python library.
Change-Id: I2d909c682b0db6d6bc447c433e3448d31d3558a4
Implements: blueprint ilo-management-interface
Implements a console driver -- "ShellinaboxConsole" -- that uses
telnet+shellinabox to connect to serial console of physical servers
configured within the Seamicro Fabric Compute system.
SeaMicro System provides telnet facility to connect to any of
it's physical server's serial console. Port to which we telnet
depends on server-id.
Change-Id: I2e60f6402a984dbbb6e0f749729c5a7006310076
Implements: blueprint seamicro-serial-console
This change fixes all markup mistakes in docstrings that lead to
warnings and errors during docs building.
Partial-bug: #1277282
Change-Id: I092a684b7587b802427d57f4292398bfd21deeb1
Currently IloVirtualMediaIscsiDriver and IloVirtualMediaAgentDriver
and pxe_ilo driver uses ipmitool for console and management interfaces.
This imposes user/operator to specify ipmi credentials along with ilo
credentials (which are same) during creation of node.
This fix proposes to update the ipmi credentials on the fly by inheriting
IPMI console and Management Interface.
Change-Id: I81c1311b05bd00bb8245ceb71a140f6bdd2e7daa
Closes-bug:#1367182
After switching from uefi to bios boot mode, one system reset is
required in iLO for persistent boot device settings.pxe driver call
set_boot_device() which internally calls ipmitool to set boot device
to pxe, will fail in such scenarios.
This fix proposes to change the management interface for pxe_ilo driver
to call ilo set_boot_device using proliantutils ilo_client functions
instead of IPMI call
Change-Id: Idc0e3a765f447ae1d1118299e4815a06995e5414
Closes-bug: #1370466
This commit adds support for setting boot mode in pxe_ilo
driver with the help of iloclient.
It modifies the PXEAndIloDriver so that it uses
IloPower for power management,
IloPXEDeploy for image deployment,
IloPXEVendorPassthru for vendorpassthru,
IPMITool console and management interfaces.
Change-Id: Ifb29c6b4c60ce17a7e5c15af7fb62e1c1e1c9ad7
Implements: blueprint uefi-boot-for-ironic