Jump to: navigation, search

Difference between revisions of "Ironic/TripleO"

m (Using Ironic with TripleO)
m (Using Ironic with TripleO)
Line 2: Line 2:
 
In this section, we will go over how to set up Ironic within the TripleO enviroment.
 
In this section, we will go over how to set up Ironic within the TripleO enviroment.
  
: '''Note''': TripleO is under rapid development and may invalidate this walk through.
+
: '''Note''': TripleO is under rapid development and may invalidate this walk-through.
  
 
If not familiar with TripleO and / or have not used the DiskImage-Builder (DIB) tool before, please read and familiarize yourself with the TripleO story. Here are some good starting points:
 
If not familiar with TripleO and / or have not used the DiskImage-Builder (DIB) tool before, please read and familiarize yourself with the TripleO story. Here are some good starting points:

Revision as of 00:48, 25 February 2014

Using Ironic with TripleO

In this section, we will go over how to set up Ironic within the TripleO enviroment.

Note: TripleO is under rapid development and may invalidate this walk-through.

If not familiar with TripleO and / or have not used the DiskImage-Builder (DIB) tool before, please read and familiarize yourself with the TripleO story. Here are some good starting points:

Check out this revision of TripleO:

 https://review.openstack.org/#/c/72969

Switch the undercloud to build with Ironic by doing:

 export USE_IRONIC=1

Then, follow TripleO's Devtest-Doc up to the devtest_undercloud section.

Register the Ironic service

In devtest_undercloud-walkthru's step #10, nodes are registered to the undercloud's nova-baremetal and not Ironic. Instead of that, we'll create a 'baremetal' node and register it with ironic, via the undercloud.

Allow Ironic's SSH driver to connect to your local machine:

ssh heat-admin@$UNDERCLOUD_IP "cat /opt/stack/boot-stack/ironic-ssh-power-key.pub" >> ~/.ssh/authorized_keys

Copy the Ironic API credentials to your local machine:

ssh heat-admin@$UNDERCLOUD_IP -- 'sudo cat /root/stackrc' > $TRIPLEO_ROOT/tripleo-incubator/ironicrc
sed -i "s/localhost/$UNDERCLOUD_IP/" $TRIPLEO_ROOT/tripleo-incubator/ironicrc
source $TRIPLEO_ROOT/tripleo-incubator/ironicrc

Create an emulated baremetal node

This will create a 'baremetal' node:

export UNDERCLOUD_MAC=$(create-nodes $NODE_CPU $NODE_MEM $NODE_DISK $NODE_ARCH 1)

Use the ironic client to enroll the baremetal node:

HOST_IP=$(ip addr show virbr0 | grep inet | awk '{print $2}' | sed 's/\/[0-9]*//')
CHASSIS=$(ironic chassis-create -d TestChassis | grep uuid | awk '{print $4}')
NODE=$(ironic node-create -c $CHASSIS -d pxe_ssh | grep ' uuid ' | awk '{print $4}')
ironic port-create -n $NODE -a $UNDERCLOUD_MAC 
ironic node-update $NODE add \
 driver_info/ssh_virt_type=virsh \
 driver_info/ssh_address=$HOST_IP \
 driver_info/ssh_key_filename=/opt/stack/boot-stack/ironic-ssh-power-key \
 driver_info/ssh_username=$(whoami)

Confirm everything is enrolled and correct:

ironic node-show $NODE

You can now control the power state of this node with this command:

ironic node-set-power-state $NODE [on|off|reboot]