mirror of
https://codeberg.org/scottslowe/learning-tools.git
synced 2026-03-11 09:04:37 +00:00
Update README.md with final information. Add comments to Vagrantfile for better understanding and troubleshooting. Sanitize all files.
41 lines
3.3 KiB
Markdown
41 lines
3.3 KiB
Markdown
# Using Vagrant with OpenStack (Multiple Instances)
|
|
|
|
These files were created to allow users to use Vagrant ([http://www.vagrantup.com](http://www.vagrantup.com)) with OpenStack ([http://www.openstack.org](http://www.openstack.org)), where the VMs managed by Vagrant are instances in an OpenStack cloud. This configuration supports Vagrant operations against multiple instances, and was tested using Vagrant 1.7.4, version 0.7.0 of [the vagrant-openstack-provider plugin](https://github.com/ggiamarchi/vagrant-openstack-provider), and the "Juno" release of OpenStack.
|
|
|
|
## Contents
|
|
|
|
* **credentials.yml**: This YAML file contains the username, password, and tenant name for authenticating against OpenStack. You **must** edit this file to specify the correct information for your OpenStack installation.
|
|
|
|
* **instances.yml**: This YAML file contains the instance-specific information for the instance that will be created in OpenStack. You **must** edit this file to specify the correct instance name (as shown in the OpenStack Dashboard), flavor, image, floating IP pool, network name, SSH keypair name, and SSH username. _Failure to edit this file may result in errors trying to run Vagrant._
|
|
|
|
* **README.md**: The file you're currently reading.
|
|
|
|
* **Vagrantfile**: This file is used by Vagrant to spin up the OpenStack instance. You **must** edit this file to specify the correct URL for use with your OpenStack installation.
|
|
|
|
## Instructions
|
|
|
|
Please note that you'll need a working OpenStack installation in order to use these files.
|
|
|
|
1. Edit `credentials.yml` to supply a valid username, password, and tenant name for your particular OpenStack installation.
|
|
|
|
2. Edit `Vagrantfile` and look for comments stating "Edit the following line with your correct information". There are **three** changes you must make in the `Vagrantfile`:
|
|
* You must set the correct URL for use with your OpenStack installation (see line 21 of `Vagrantfile`).
|
|
* You must set the correct path and filename for the SSH private key to use with the OpenStack instances (see line 31 of `Vagrantfile`)
|
|
* You must verify the names of the security groups specified for use with the OpenStack instances (see line 46 of `Vagrantfile`).
|
|
|
|
3. Edit `instances.yml`. The fields in this YAML file is fairly straightforward, but here's a quick breakdown:
|
|
* A display name for the instance ("name")
|
|
* The name of an OpenStack flavor ("flavor"), which you can obtain using `nova flavor-list`
|
|
* The name of an OpenStack image ("image"), obtainable via the `glance image-list` command
|
|
* The name of a floating IP pool ("ip_pool")
|
|
* The name of the tenant network to which the new instance should be attached ("networks")
|
|
* The SSH keypair that OpenStack should inject into the instance ("keypair")
|
|
* The username Vagrant can use to log into the instance ("ssh_user"); this will vary from image to image
|
|
|
|
4. If you wish to spin up additional instances, add stanzas to the `instances.yml` file, making sure to observe the correct YAML syntax.
|
|
|
|
5. Ensure that the system running Vagrant has connectivity to the authentication URL for OpenStack.
|
|
|
|
6. Run `vagrant up` to have Vagrant authenticate to OpenStack and create the desired instance for you. Once the instance is created, you can use `vagrant ssh` to connect to the instance, and `vagrant destroy` will terminate (destroy) the OpenStack instance for you.
|
|
|
|
Enjoy!
|