As I didn’t found extensive docs about provisioning Red Hat Openstack on a vmware infrastructure, I browsed the python code.
Python is a very expressive and clear language and you can get to the point in a moment!
I then was able to create the following instack.json to power-management a set of vmware machines.
Despite the many ways to pass ssh_* variables via ironic, the right way of running it via the instack.json is to:
– use the `pm_virt_type` instead of `ssh_virt_type`;
– express the ssh_key_content in the pm_password parameter like shown in the docs;
– set capabilities like profile and boot_option directly.
The key should be json-serialized on one line, replacing CR with ‘\n’.
{ "nodes":[ { "mac":[ "00:0c:29:00:00:01" ], "capabilities": "profile:control,boot_option:local" "cpu":"8", "memory":"16384", "disk":"60", "arch":"x86_64", "pm_type":"pxe_ssh", "pm_virt_type": "vmware", "pm_addr":"172.18.0.1", "pm_user":"vmadmin", "pm_password":"-----BEGIN RSA PRIVATE KEY-----\nMY\nRSA\nKEY\n-----END RSA PRIVATE KEY-----" }, {..other nodes..}