OpenStack is one the most popular cloud projects. It's an open source project to build public and/or private clouds. You can use Salt Cloud to launch OpenStack instances.
/etc/salt/cloud.providers
or
/etc/salt/cloud.providers.d/openstack.conf
:my-openstack-config:
# Set the location of the salt-master
#
minion:
master: saltmaster.example.com
# Configure the OpenStack driver
#
identity_url: http://identity.youopenstack.com/v2.0/tokens
compute_name: nova
protocol: ipv4
compute_region: RegionOne
# Configure Openstack authentication credentials
#
user: myname
password: 123456
# tenant is the project name
tenant: myproject
provider: openstack
# skip SSL certificate validation (default false)
insecure: false
One of the best ways to get information about OpenStack is using the novaclient python package (available in pypi as python-novaclient). The client configuration is a set of environment variables that you can get from the Dashboard. Log in and then go to Project -> Access & security -> API Access and download the "OpenStack RC file". Then:
source /path/to/your/rcfile
nova credentials
nova endpoints
In the nova endpoints
output you can see the information about
compute_region
and compute_name
.
It depends on the OpenStack cluster that you are using. Please, have a look at the previous sections.
The user
and password
is the same user as is used to log into the
OpenStack Dashboard.
Here is an example of a profile:
openstack_512:
provider: my-openstack-config
size: m1.tiny
image: cirros-0.3.1-x86_64-uec
ssh_key_file: /tmp/test.pem
ssh_key_name: test
ssh_interface: private_ips
The following list explains some of the important properties.
nova flavor-list
.nova image-list
.For more information concerning cloud profiles, see here.
If no ssh_key_file is provided, and the server already exists, change_password will use the api to change the root password of the server so that it can be bootstrapped.
change_password: True
Use userdata_file to specify the userdata file to upload for use with cloud-init if available.
userdata_file: /etc/salt/cloud-init/packages.yml