beaker-vmpooler/vmpooler.md
2017-06-30 09:41:21 -07:00

45 lines
1.8 KiB
Markdown

[vmpooler](https://github.com/puppetlabs/vmpooler) is a puppet-built abstraction
layer over vSphere infrastructure that pools VMs to be used by beaker & other
systems.
beaker's vmpooler hypervisor interacts with vmpooler to get Systems Under Test
(SUTs) for testing purposes.
**Note** that if you're a puppet-internal user, you'll have to setup your SSH
keys to communicate with vmpooler SUTs. To do that, refer to our
[internal doc](https://confluence.puppetlabs.com/display/SRE/SSH+access+to+vmpooler+VMs).
# Tokens
Using tokens will allow you to extend your VMs lifetime, as well as interact
with vmpooler and your VMs in more complex ways. You can have beaker do these
same things by providing your `vmpooler_token` in the `~/.fog` file. For more
info about how the `.fog` file works, please refer to the beaker
[hypervisor README](https://github.com/puppetlabs/beaker/blob/master/docs/how_to/hypervisors/README.md).
An example of a `.fog` file with just the vmpooler details is below:
```yaml
:default:
:vmpooler_token: 'randomtokentext'
```
# Additional Disks
Using the vmpooler API, Beaker enables you to attach additional storage disks in the host configuration file. The disks are added at the time the VM is created. Logic for using the disk must go into your tests.
Simply add the `disks` key and a list containing the sizes(in GB) of the disks you want to create and attach to that host.
For example, to create 2 disks sized 8GB and 16GB to example-box:
```yaml
example-box:
disks:
- 8
- 16
roles:
- satellite
platform: el-7-x86_64
hypervisor: vmpooler
template: redhat-7-x86_64
```
Users with Puppet credentials can follow our instructions for getting & using
vmpooler tokens in our
[internal documentation](https://confluence.puppetlabs.com/pages/viewpage.action?spaceKey=SRE&title=Generating+and+using+vmpooler+tokens).