Programmatic Access and Automation: Difference between revisions
No edit summary |
|||
| Line 128: | Line 128: | ||
<span id="CLI-COMMANDS"></span> | <span id="CLI-COMMANDS"></span> | ||
For common tasks such as managing instances, volumes, networks | For common tasks such as managing instances, volumes, and networks, see: | ||
[[Guide: OpenStack CLI – Basic Usage]] | [[Guide: OpenStack CLI – Basic Usage]] | ||
Revision as of 14:49, 25 April 2026
| In a Nutshell |
|
Application Credentials
How can I create an application credential?
Application Credentials (also called tokens) allow access to your OpenStack project in an automated or script-based way — without requiring a password. To create one, you must have the necessary member privileges in the target project.
Steps to Create an Application Credential
- Log in to the Dashboard and select the correct region.
- Go to Identity → Application Credentials and click Create Application Credential.
- In the form that opens, fill out:
- Name – a descriptive name for the credential.
- Secret – choose a secure secret (password-like).
- Expiration – set an (optional) expiration date.
- At the bottom of the form, click Create Application Credential.
- Download the OpenRC file and save it, for example as
my_token.sh. Alternatively, you can download the fileclouds.yaml.
Make sure to protect your secret — store it securely and do not share it.
Using the OpenRC file (Recommended for CLI Usage)
Source your credential file my_token.sh:
source my_token.sh
The following command will display the active cloud configuration (check the application credentials in the output):
openstack configuration show
Optional: Ask for the Secret at Runtime
For added security, you can modify your my_token.sh file so that the secret is not stored in plain text within the file. Replace the line:
export OS_APPLICATION_CREDENTIAL_SECRET=********************
with:
echo "Passphrase: " read -sr os_credential_secret_input export OS_APPLICATION_CREDENTIAL_SECRET="$os_credential_secret_input"
This way, you will be prompted for the secret each time you use the credential file.
Alternative: Using clouds.yaml (Recommended for Automation)
A clouds.yaml file provides a convenient way to configure access to OpenStack without exporting many environment variables manually.
Example clouds.yaml
clouds:
openstack:
auth:
auth_url: https://your-auth-url:5000
application_credential_id: "YOUR_ID"
application_credential_secret: "YOUR_SECRET"
region_name: "RegionOne"
interface: "public"
identity_api_version: 3
auth_type: "v3applicationcredential"
Loading and Testing the Configuration
If this is your only cloud, you can place the file at one of the default locations:
~/.config/openstack/clouds.yaml/etc/openstack/clouds.yaml
OpenStack CLI tools will automatically detect the file there.
If your file is stored in a custom location, you can specify it explicitly:
export OS_CLIENT_CONFIG_FILE=/path/to/clouds.yaml
In multi-cloud setups, you can define multiple entries and select one by specifying the cloud name, e.g.:
export OS_CLOUD=openstack
Once the above configuration is set, the following command will display the active cloud configuration (check the application credentials in the output):
openstack configuration show
OpenStack Client
How can I connect to the bwCloud-OS using the OpenStack CLI?
To manage your resources from the command line, you can use the Python OpenStack Client (openstack CLI tool).
Authentication Methods
There are in general two authentication methods:
Method 1: Using Application Credentials (Token-based – default in bwCloud-OS)
See the section Create an application credential.
Method 2: Using Username and Password (Login-based – not default in bwCloud-OS)
This method only works if password-based authentication is enabled for your account.
- Log in to the Dashboard.
- In the top-right corner, click "OpenStack RC File".
- Download and save the file, for example as
my_creds.sh.
Testing the Connection
Run the following commands in a terminal:
source ./my_creds.sh openstack token issue
This will issue an authentication token, confirming that your credentials are working correctly.
How can I perform basic operations with the OpenStack CLI?
For common tasks such as managing instances, volumes, and networks, see: Guide: OpenStack CLI – Basic Usage
Auto-Deployment
The following tools are commonly used for (semi-)automated provisioning of resources.
| Method | Usage |
|---|---|
| Terraform | This tool can be used to create an instance or a defined infrastructure. |
| Ansible | Create roles or tasks for all customizations that you make in an instance. |
Does bwCloud-OS provide templates for automated deployment of OpenStack instances?
Yes. You can use this Ansible template for an easier start.