| from libcloud.compute.types import Provider |
| from libcloud.compute.providers import get_driver |
| |
| cloud_init_config = """ |
| #cloud-config |
| |
| packages: |
| |
| - nginx |
| |
| runcmd: |
| |
| - service nginx start |
| |
| """ |
| |
| |
| OpenStack = get_driver(Provider.OPENSTACK) |
| driver = OpenStack( |
| "your_auth_username", |
| "your_auth_password", |
| ex_force_auth_url="http://192.168.1.101:5000", |
| ex_force_auth_version="2.0_password", |
| ) |
| |
| image = driver.get_image("image_id") |
| size = driver.list_sizes()[0] |
| |
| node = driver.create_node( |
| name="cloud_init", |
| image=image, |
| size=size, |
| ex_userdata=cloud_init_config, |
| ex_config_drive=True, |
| ) |