|
| 1 | +# Basic OpenStack architecture with networking |
| 2 | + |
| 3 | +This provides a template for running a simple architecture on an OpenStack |
| 4 | +cloud. |
| 5 | + |
| 6 | +To simplify the example, this intentionally ignores deploying and |
| 7 | +getting your application onto the servers. However, you could do so either via |
| 8 | +[provisioners](https://www.terraform.io/docs/provisioners/) and a configuration |
| 9 | +management tool, or by pre-baking configured images with |
| 10 | +[Packer](http://www.packer.io). |
| 11 | + |
| 12 | +After you run `terraform apply` on this configuration, it will output the |
| 13 | +floating IP address assigned to the instance. After your instance started, |
| 14 | +this should respond with the default nginx web page. |
| 15 | + |
| 16 | +First set the required environment variables for the OpenStack provider by |
| 17 | +sourcing the [credentials file](http://docs.openstack.org/cli-reference/content/cli_openrc.html). |
| 18 | + |
| 19 | +``` |
| 20 | +source openrc |
| 21 | +``` |
| 22 | + |
| 23 | +Afterwards run with a command like this: |
| 24 | + |
| 25 | +``` |
| 26 | +terraform apply \ |
| 27 | + -var 'external_gateway=c1901f39-f76e-498a-9547-c29ba45f64df' \ |
| 28 | + -var 'pool=public' |
| 29 | +``` |
| 30 | + |
| 31 | +To get a list of usable floating IP pools run this command: |
| 32 | + |
| 33 | +``` |
| 34 | +$ nova floating-ip-pool-list |
| 35 | ++--------+ |
| 36 | +| name | |
| 37 | ++--------+ |
| 38 | +| public | |
| 39 | ++--------+ |
| 40 | +``` |
| 41 | + |
| 42 | +To get the UUID of the external gateway run this command: |
| 43 | + |
| 44 | +``` |
| 45 | +$ neutron net-show FLOATING_IP_POOL |
| 46 | ++---------------------------+--------------------------------------+ |
| 47 | +| Field | Value | |
| 48 | ++---------------------------+--------------------------------------+ |
| 49 | +| admin_state_up | True | |
| 50 | +| id | c1901f39-f76e-498a-9547-c29ba45f64df | |
| 51 | +| mtu | 0 | |
| 52 | +| name | public | |
| 53 | +| port_security_enabled | True | |
| 54 | +| provider:network_type | vxlan | |
| 55 | +| provider:physical_network | | |
| 56 | +| provider:segmentation_id | 1092 | |
| 57 | +| router:external | True | |
| 58 | +| shared | False | |
| 59 | +| status | ACTIVE | |
| 60 | +| subnets | 42b672ae-8d51-4a18-a028-ddae7859ec4c | |
| 61 | +| tenant_id | 1bde0a49d2ff44ffb44e6339a8cefe3a | |
| 62 | ++---------------------------+--------------------------------------+ |
| 63 | +``` |
0 commit comments