Getting Started
The staging-ovirt driver allows OpenStack to easily use ovirt/RHV virtual machines as overcloud nodes. For those of us running virtualized OpenStack labs, it’s a huge step forward – as we either were previously having to hack our way around pxe_ssh or vmbc. Neither was a great solution.
In order to use the staging-ovirt driver , I first I needed to configure the undercloud to use the staging-ovirt driver. See undercloud.conf below.
[DEFAULT] | |
local_ip = 10.1.98.2/24 | |
undercloud_public_vip = 10.1.98.3 | |
undercloud_admin_vip = 10.1.98.4 | |
local_interface = eth1 | |
masquerade_network = 10.1.98.0/24 | |
dhcp_start = 10.1.98.100 | |
dhcp_end = 10.1.98.120 | |
network_cidr = 10.1.98.0/24 | |
network_gateway = 10.1.98.2 | |
inspection_iprange = 10.1.98.130,10.1.98.150 | |
inspection_runbench = false | |
undercloud_debug = false | |
store_events = false | |
enabled_hardware_types = staging-ovirt | |
inspection_enable_uefi = false |
Then create an instackenv.json. In the example below pm_addr is the IP of my local RHV manager.
"arch": "x86_64", | |
"cpu": "1", | |
"disk": "10", | |
"mac": [ | |
"00:1a:4a:16:01:5a" | |
], | |
"memory": "1024", | |
"name": "ospd13-ctrl01", | |
"pm_addr": "10.1.99.10", | |
"pm_password": "redhat", | |
"pm_type": "staging-ovirt", | |
"pm_user": "admin@internal", | |
"pm_vm_name": "ospd13-ctrl01", | |
"capabilities": "profile:control,boot_option:local" |
You should then be able to import your nodes.
[simterm]
$ openstack overcloud node import instackenv.json
[/simterm]
Troubleshooting
Note that I ran into an error importing my nodes. Error shown below.
[{u’result’: u’Node 09dfefec-e5c3-42c4-93d0-45fb44ce37a8 did not reach state “manageable”, the state is “enroll”, error: Failed to get power state for node 09dfefec-e5c3-42c4-93d0-45fb44ce37a8. Error: global name \’sdk\’ is not defined’}, {u’result’: u’Node 59dce2eb-3aea-41f9-aec2-3f13deece30b did not reach state “manageable”, the state is “enroll”, error: Failed to get power state for node 59dce2eb-3aea-41f9-aec2-3f13deece30b. Error: global name \’sdk\’ is not defined’}, {u’result’: u’Node 0895a6d0-f934-44d0-9c26-25e61b6679cb did not reach state “manageable”, the state is “enroll”, error: Failed to get power state for node 0895a6d0-f934-44d0-9c26-25e61b6679cb. Error: global name \’sdk\’ is not defined’}, {u’result’: u’Node 68bdf1cb-fe1f-48ab-b96d-fb5edaf17154 did not reach state “manageable”, the state is “enroll”, error: Failed to get power state for node 68bdf1cb-fe1f-48ab-b96d-fb5edaf17154. Error: global name \’sdk\’ is not defined’}]
Help was found here.
Apparently I was missing a package. I needed to yum install the package shown below and restart ironic-conductor
[simterm]
# sudo yum -y install python-ovirt-engine-sdk4.x86_64
# sudo systemctl restart openstack-ironic-conductor.service
[/simterm]