Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 21 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ These apply only when the service offering itself does not specify CPU or memory
| --- | --- | --- |
| `cloudstack_network_id` | *unset* | Network ID, for isolated or VPC networks. |
| `cloudstack_security_group_id` | *unset* | Security group ID, for shared networks. |
| `associate_public_ip` | `false` | Acquire a public IP and set up static NAT automatically. |
| `associate_public_ip` | `false` | Acquire a public IP and forward the transport's port to the instance. This is a port forwarding rule for that one port, not static NAT, so nothing else on the instance is reachable through the public address. |
| `cloudstack_vm_public_ip` | *unset* | Public IP to connect to, when you configure advanced networking and static NAT yourself. |
| `cloudstack_create_firewall_rule` | `false` | Create a firewall rule opening the transport's port to the public IP. |
| `cloudstack_firewall_cidr` | `0.0.0.0/0` | Source range the firewall rule allows. Narrow this to your own network rather than leaving it open to the internet. |
Expand All @@ -161,7 +161,7 @@ These apply only when the service offering itself does not specify CPU or memory
| `password` | *generated by CloudStack* | Password to connect with. By default the driver uses the password CloudStack generates. |
| `cloudstack_ssh_keypair_name` | *unset* | Name of a CloudStack SSH keypair to deploy with. See [SSH keypairs](#ssh-keypairs). |
| `keypair_search_directory` | *see below* | Extra directory to search for the keypair's `.pem` file. |
| `cloudstack_sync_time` | `0` | Seconds to wait before connecting, to let `cloud-set-guest-password` or `cloud-set-guest-sshkey` finish. Raise this if logins fail intermittently just after boot. |
| `cloudstack_sync_time` | *unset* | Seconds to wait before connecting, to let `cloud-set-guest-password` or `cloud-set-guest-sshkey` finish. Raise this if logins fail intermittently just after boot. |

### Naming

Expand All @@ -177,7 +177,6 @@ These apply only when the service offering itself does not specify CPU or memory
| `cloudstack_userdata` | *unset* | User data passed to the VM. Must be a double-quoted string, so escapes such as `\n` are interpreted. |
| `cloudstack_job_poll_interval` | `10` | Seconds between checks on a running CloudStack job. |
| `cloudstack_job_timeout` | `600` | Seconds to wait for a CloudStack job before giving up. Raise this if deploys legitimately take longer. |
| `disable_ssl_validation` | `false` | Skip SSL certificate validation against the API. Only for a deployment without valid certificates. |

## SSH keypairs

Expand Down Expand Up @@ -285,6 +284,12 @@ driver:
cloudstack_create_firewall_rule: true
```

The driver forwards only the port your transport connects on — 22 for SSH,
5985 or 5986 for WinRM — and, with `cloudstack_create_firewall_rule`, opens
that same one port. If you need other ports reachable from outside, set up
static NAT yourself and point the driver at the address with
`cloudstack_vm_public_ip`.

### Static NAT configured by hand

```yaml
Expand Down Expand Up @@ -331,6 +336,18 @@ driver:
cloudstack_expunge: true
```

## Checking your configuration

The driver has no required settings, so a missing endpoint or credential is not
caught when Test Kitchen loads `kitchen.yml` — it surfaces part way through a
deploy. `kitchen doctor` moves that discovery earlier. It names every setting
you have left unset in one go, and then makes a real API call to confirm that
CloudStack accepts your keys:

```sh
bundle exec cinc kitchen doctor default-ubuntu
```

## Troubleshooting

**`NameError: uninitialized constant Kitchen::Driver::SSHBase`.** You are running
Expand Down Expand Up @@ -365,7 +382,7 @@ Everything else works identically.

## Contributing

Bug reports and pull requests are welcome on [GitHub](https://github.com/test-kitchen/kitchen-cloudstack). Porting the driver off the removed `SSHBase` class would be especially valuable. See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and the state of the test tooling.
Bug reports and pull requests are welcome on [GitHub](https://github.com/test-kitchen/kitchen-cloudstack). See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup, the layout of the test suite, and the changes that would be most useful.

## Authors

Expand Down
Loading