A minimal example that provisions a Fedora instance and its security group rules on OpenStack.
-
Create a new stack:
pulumi stack init
-
Install dependencies:
python3 -m venv venv source venv/bin/activate pip install -r requirements.txt -
Modify
__main__.pyto include your keypair and image. -
Run
pulumi upto preview and deploy changes:pulumi up
Previewing update (dev): Type Name Plan pulumi:pulumi:Stack pulum-dev + ├─ openstack:images:Image fedora create + ├─ openstack:compute:Keypair default create + ├─ openstack:networking:SecGroupRule secgroupRule1 create + ├─ openstack:networking:SecGroupRule secgroupRule2 create + ├─ openstack:networking:SecGroupRule secgroupRule3 create + └─ openstack:compute:Instance test_fedora create Outputs: ~ instance_ip: "192.168.0.243" => output<string> Resources: + 6 to create 1 unchanged Duration: 38s -
View the host name and IP address of the instance via
stack output:pulumi stack output
Current stack outputs (1): OUTPUT VALUE instance_ip 192.168.0.243 -
Verify that the OpenStack instance exists, by either using the Horizon dashboard or running
openstack server list:openstack server list
+--------------------------------------+-------------+--------+-------------------------------------+--------------------------+----------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+-------------+--------+-------------------------------------+--------------------------+----------+ | 8bdf8a6d-ac53-4448-ae09-e2a08ad554a0 | test_fedora | ACTIVE | public=192.168.0.243, 2001:db8::36b | fedora | m1.small | +--------------------------------------+-------------+--------+-------------------------------------+--------------------------+----------+
Once you're finished experimenting, destroy your stack and remove it to avoid incurring any additional cost:
pulumi destroy
pulumi stack rm