[Openstack] [ironic]How to add a new node (under libvirt) ?

Li, Chen chen.li at intel.com
Fri Jul 4 04:11:08 UTC 2014


Hi list,

I have installed a devstack environment with ironic.
And I can successfully boot instance with the VMs (work as ironic node) created by devstack.

Now I want to create a new VM on the same physical machine and add the new VM as an ironic node.

I tried to follow steps in "devstack/lib/ironic", here is what I have done:

1.         I have edited "devstack/tools/ironic/scripts/create-nodes", start 3 new VMs in libvirt:

virsh list --all

Id    Name                           State

----------------------------------------------------

4     baremetalbrbm_0                running

-     baremetalbrbm_1                 shut off

-     baremetalbrbm_2                 shut off

-     baremetalbrbm_CHEN_0           shut off

-     baremetalbrbm_CHEN_1           shut off

-     baremetalbrbm_CHEN_2           shut off

2.         Create chassis

ironic chassis-create

3.         Create ironic node

ironic node-create --chassis_uuid $CHASSIS_ID --driver pxe_ssh

            -i ssh_virt_type=$IRONIC_SSH_VIRT_TYPE

            -i ssh_address=$IRONIC_VM_SSH_ADDRESS

            -i ssh_port=$IRONIC_VM_SSH_PORT

            -i ssh_username=$IRONIC_SSH_USERNAME

            -i ssh_key_filename=$IRONIC_SSH_KEY_DIR/$IRONIC_SSH_KEY_FILENAME

            -p cpus=$IRONIC_VM_SPECS_CPU

            -p memory_mb=$IRONIC_VM_SPECS_RAM

            -p local_gb=$IRONIC_VM_SPECS_DISK

            -p cpu_arch=x86_64


4.         Create port

        ironic port-create --address $MAC --node_uuid $NODE_ID

5.         Create nova-flavor

nova flavor-create --ephemeral 0 baremetal-chen auto 2048 10 2

nova flavor-key baremetal-chen set "cpu_arch"="x86_64" "baremetal:deploy_kernel_id"=$kernel_id "baremetal:deploy_ramdisk_id"=$ramdisk_id

But these new nodes do not have power_state:
ironic node-list
+--------------------------------------+--------------------------------------+-------------+-----------------+-------------+
| uuid                                 | instance_uuid                        | power_state | provision_state | maintenance |
+--------------------------------------+--------------------------------------+-------------+-----------------+-------------+
| 01bf3f84-baae-4220-9cf4-f600083f9d3a | None                                 | power off   | None            | False       |
| 44da06e9-ef49-44b0-8fc0-5073e15ed5f1 | None                                 | None        | None            | False       |
| 7bf9bc19-0b24-4d0f-b6f8-dd3df5c992e5 | None                                 | None        | None            | False       |
| 82ef47a6-16ef-46cc-9c7d-a9f50d6a9ba3 | None                                 | power off   | None            | False       |
| 9c6ca940-f383-4ae2-8390-47d4cc779d9c | None                                 | None        | None            | False       |
| 4c192e12-c81a-4995-8e26-225e0da89267 | e544641f-0c52-4357-9097-db2083e4a81b | power on    | active          | False       |
+--------------------------------------+--------------------------------------+-------------+-----------------+-------------+

Error happen when I try to change the power_state:

ironic node-set-power-state 44da06e9-ef49-44b0-8fc0-5073e15ed5f1 reboot
SSH connection cannot be established: Failed to establish SSH connection to host 192.168.50.1.
Traceback (most recent call last):

  File "/usr/local/lib/python2.7/dist-packages/oslo/messaging/rpc/server.py", line 137, in inner
    return func(*args, **kwargs)

  File "/home/devstack/ironic/ironic/conductor/manager.py", line 249, in change_node_power_state
    task.driver.power.validate(task)

  File "/home/devstack/ironic/ironic/drivers/modules/ssh.py", line 374, in validate
    "any port associated with it.") % task.node.uuid)

InvalidParameterValue: SSH connection cannot be established: Failed to establish SSH connection to host 192.168.50.1.
(HTTP 400)

Anyone know why this happens ???
What should I do next ?

Thanks.
-chen

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20140704/3f505c15/attachment.html>


More information about the Openstack mailing list