Bug 1259393 - [RFE] Add support to register and deploy nodes with fake_pxe
Summary: [RFE] Add support to register and deploy nodes with fake_pxe
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: os-cloud-config
Version: 7.0 (Kilo)
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: y1
: 7.0 (Kilo)
Assignee: Lucas Alvares Gomes
QA Contact: Alexander Chuzhoy
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-09-02 13:58 UTC by Lucas Alvares Gomes
Modified: 2023-02-22 23:02 UTC (History)
8 users (show)

Fixed In Version: os-cloud-config-0.2.8-6.el7ost
Doc Type: Enhancement
Doc Text:
This enhancement adds support for the fake_pxe Ironic driver for registering machines without power management to the director. Use the fake_pxe driver as a fallback driver for machines without a power management system. Perform all power operations manually when using this driver.
Clone Of:
Environment:
Last Closed: 2015-10-08 12:17:51 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenStack gerrit 219414 0 None None None Never
Red Hat Product Errata RHSA-2015:1862 0 normal SHIPPED_LIVE Moderate: Red Hat Enterprise Linux OpenStack Platform 7 director update 2015-10-08 16:05:50 UTC

Description Lucas Alvares Gomes 2015-09-02 13:58:50 UTC
Description of problem:

Add Ironic driver support in os-cloud-config to parse drivers being registered with the fake_pxe driver.

The fake_pxe driver is a driver that has a Fake power interface (non-op) and use the PXE interface for the actually deployment. The idea is to have a simple way for operators to deploy something even if some manual operation is needed.

Comment 5 Udi Kalifon 2015-09-10 08:55:45 UTC
Need help to verify this bug:
1) How do I know if I have this driver installed ?
2) How do I register nodes with this driver ?
3) What are the implications of the fake power interface when deploying in real environments? Will a real deployment work as usual and what should I take notice of ?

Comment 7 Lucas Alvares Gomes 2015-09-14 13:39:54 UTC
(In reply to Udi from comment #5)
> Need help to verify this bug:
> 1) How do I know if I have this driver installed ?

This driver is in the Ironic tree, that's the driver we use for unittests so it will be always present (disabled by default)

> 2) How do I register nodes with this driver ?

1) You first need to enable it in the /etc/ironic/ironic.conf, i.e:

[DEFAULT]
...
enabled_drivers=pxe_ipmitool,pxe_drac,fake_pxe

2) Restart the ironic-conductor service

systemctl restart openstack-ironic-conductor

3) Register the nodes with the "openstack baremetal import --json instackenv.json" command or "ironic node-create"

In the intackenv.json file the "pm_type" field will be "fake_pxe" and the fields: "pm_addr", "pm_user", "pm_password" doesn't need to be specified since there's no power control system.

> 3) What are the implications of the fake power interface when deploying in
> real environments? Will a real deployment work as usual and what should I
> take notice of ?

The fake driver is a no-op driver for the power commands, so all the power commands will need manual intervention. So, to deploy a node one should do:

1) Operator starts the deployment normally and keep waiting the node's privison_state via the ironic node-list command.

2) Once the node goes from "deploying" to "deploy wait-callback" the operator should manually power on the machine. In that state Ironic assure that the PXE configurations have been created and Neutron DHCP have been updated to answer the DHCP request.

3) Operator should now just wait for the node to become "active", that indicates that the deployment has been finished successfully.

* NOTE: If we are using local boot the the node will go through these states:

deploying → deploy wait-callback → deploying → deploy wait-callback → active.

On the second "deploy wait-callback" nothing needs to be done, that's just state in Ironic to indicate that the ramdisk is now installing the bootloader in the node. So it's only needed to power on the machine at the first "deploy wait-callback" and reboot it when it becomes "active" so we boot it into the user image.

Hope that helps,
Lucas

Comment 9 Alexander Chuzhoy 2015-09-14 14:20:11 UTC
failedQA
This BZ depends on https://bugzilla.redhat.com/show_bug.cgi?id=1262454

Comment 11 Alexander Chuzhoy 2015-09-16 16:34:22 UTC
Veirifed:

Environment:
os-cloud-config-0.2.8-7.el7ost.noarch


Successfully registered the nodes, discovered them and started a deployment.

Had to manually power ON the nodes for the discovery.
The were turned off automatically after the discovery.
Had to manually power ON the nodes for the deployment.

Comment 13 errata-xmlrpc 2015-10-08 12:17:51 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2015:1862


Note You need to log in before you can comment on or make changes to this bug.