================== OpenStack Provider ================== It's possible to use Vagrant to provision VMs on OpenStack using the `Vagrant OpenStack Cloud Provider `. The only requirement for the Cloud provider is to have an Ubuntu Cloud image accesible to your tenant and a Security Rule that allows to do SSH into the instance. Environment variables --------------------- The usage of environment variables in OpenStack command-line clients is to avoid repeating some values. These variables have *OS_* as prefix. This provider will use them for authentication to Keystone service. .. code-block:: console export OS_AUTH_URL=http://:5000/v3 export OS_TENANT_NAME= export OS_PROJECT_NAME= export OS_USERNAME= export OS_PASSWORD= export OS_REGION_NAME= export OS_IDENTITY_API_VERSION= export OS_PROJECT_DOMAIN_ID= .. end OpenStack Vagrant provider needs additional information about the name of the image to be used and the networking where the instance will be provisioned. That information can be passed using the following variables .. code-block:: console export OS_IMAGE= export OS_NETWORK= export OS_FLOATING_IP_POOL= export OS_SEC_GROUP= .. end Tenant setup ------------ The *tools/setup_openstack.sh* script can be useful to get an idea of the process to setup the OpenStack environment with the necessary requirements. This script depends on the Environment Variables explained previously. ---- Devstack -------- It's possible to use this plugin to provision instances on `Devstack `. This is an example of the *local.conf* file that can be used as input for Devstack .. path local.conf .. code-block:: ini [[local|localrc]] ADMIN_PASSWORD= DATABASE_PASSWORD= RABBIT_PASSWORD= SERVICE_PASSWORD= SERVICE_TOKEN= # Used to only upload the Ubuntu Cloud Image DOWNLOAD_DEFAULT_IMAGES=False IMAGE_URLS+="http://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img" # (Optional) These values helps to improve the experience deploying and using Devstack GIT_BASE=https://git.openstack.org FORCE_CONFIG_DRIVE="True" disable_service tempest .. end .. note:: There is a validation that checks if the *vagrant-openstack-provider* plugin is installed raising an error for those cases when it isn't.