Add Ruby code to determine full path to supporting files referenced in all Vagrantfiles. This will allow more effective use of Vagrant commands when not in the same directory as the Vagrantfile. |
||
|---|---|---|
| .. | ||
| credentials.yml | ||
| instances.yml | ||
| README.md | ||
| Vagrantfile | ||
Using Vagrant with OpenStack (Multiple Instances)
These files were created to allow users to use Vagrant (http://www.vagrantup.com) with OpenStack (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, 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.
-
Edit
credentials.ymlto supply a valid username, password, and tenant name for your particular OpenStack installation. -
Edit
Vagrantfileand look for comments stating "Edit the following line with your correct information". There are three changes you must make in theVagrantfile:- 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).
- You must set the correct URL for use with your OpenStack installation (see line 21 of
-
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-listcommand - 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
-
If you wish to spin up additional instances, add stanzas to the
instances.ymlfile, making sure to observe the correct YAML syntax. -
Ensure that the system running Vagrant has connectivity to the authentication URL for OpenStack.
-
Run
vagrant upto have Vagrant authenticate to OpenStack and create the desired instance for you. Once the instance is created, you can usevagrant sshto connect to the instance, andvagrant destroywill terminate (destroy) the OpenStack instance for you.
Enjoy!