You should start by generating a generic configuration file for Juju, using the command:
juju generate-config
This will generate a file, environments.yaml , which will live in your ~/.juju/ directory (and will create the directory if it doesn't already exist).
Note
If you have an existing configuration, you can use juju
generate-config --show
to output the new config file, then copy and
paste relevant areas in a text editor etc.
The essential configuration sections for OpenStack look like this:
openstack: type: openstack # Specifies whether the use of a floating IP address is required to give the nodes # a public IP address. Some installations assign public IP addresses by default without # requiring a floating IP address. # use-floating-ip: false admin-secret: 13850d1b9786065cadd0f477e8c97cd3 # Globally unique swift bucket name control-bucket: juju-fd6ab8d02393af742bfbe8b9629707ee # Usually set via the env variable OS_AUTH_URL, but can be specified here # auth-url: https://yourkeystoneurl:443/v2.0/ # override if your workstation is running a different series to which you are deploying # default-series: precise # The following are used for userpass authentication (the default) auth-mode: userpass # Usually set via the env variable OS_USERNAME, but can be specified here # username: # Usually set via the env variable OS_PASSWORD, but can be specified here # password: # Usually set via the env variable OS_TENANT_NAME, but can be specified here # tenant-name: # Usually set via the env variable OS_REGION_NAME, but can be specified here # region:
Note
At any time you can run juju init --show
to display the most
revent version of the environments.yaml template file, instead of
having it write to file.
Remember to substitute in the parts of the snippet that are important to you. If you are deploying on OpenStack the following documentation might also be useful: