https://github.com/42bv/docker-openstack-client
Run the OpenStack clients in a docker container
https://github.com/42bv/docker-openstack-client
dockerfile openstack openstack-clients openstack-heat python-heatclient python-openstackclient
Last synced: 3 months ago
JSON representation
Run the OpenStack clients in a docker container
- Host: GitHub
- URL: https://github.com/42bv/docker-openstack-client
- Owner: 42BV
- License: mit
- Created: 2017-11-22T16:23:45.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-08-21T10:48:48.000Z (over 7 years ago)
- Last Synced: 2024-12-26T21:08:14.239Z (about 1 year ago)
- Topics: dockerfile, openstack, openstack-clients, openstack-heat, python-heatclient, python-openstackclient
- Language: Dockerfile
- Homepage: https://hub.docker.com/r/42bv
- Size: 36.1 KB
- Stars: 0
- Watchers: 10
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
[](https://hub.docker.com/r/42bv/openstack-client/builds/)  [](https://hub.docker.com/r/42bv/openstack-client/)
# [](https://www.openstack.org)
Run the OpenStack clients in a Docker container.
## Projects included
### [python-openstackclient](https://github.com/openstack/python-openstackclient)
> OpenStack Client is a command-line client for OpenStack that brings the command set for Compute, Identity, Image, Object Store and Block Storage APIs together in a single shell with a uniform command structure.
### [python-heatclient](https://github.com/openstack/python-heatclient)
> This is a client library for Heat built on the Heat orchestration API. It provides a Python API (the heatclient module) and a command-line tool (heat).
---
## Requirements
- [Docker](https://www.docker.com/community-edition)
## Build
Modify and build the container image from source:
```
git clone https://github.com/42BV/docker-openstack-client.git
cd docker-openstack-client
```
```
docker build -t openstack-client: .
```
## Pull
### Supported tags and Dockerfile links
- latest ([Dockerfile](https://github.com/42BV/docker-openstack-client/blob/master/Dockerfile))
Download a ready for use container image:
```
docker pull 42bv/openstack-client:latest
```
## Usage
### Credentials
Create a clouds.yaml file. You can find this information the the Horizon dashboard. You can add mutiple clouds to this file.
```
clouds:
:
auth:
auth_url: ""
username: ""
password: ""
user_domain_name: "Default"
project_domain_name: "Default"
project_name: "" # optional
region_name: ""
identity_api_version: 3
```
### Important
- Make sure you set (`-e`) the `OS_CLOUD` variable with the name of your cloud.
- Mount (`-v`) the directory containing `clouds.yaml` to `/etc/openstack`.
### Run in Interactive Mode:
```
docker run -it --rm -v $PWD:/etc/openstack -e "OS_CLOUD=" --name openstack-client 42bv/openstack-client:latest
```
### Run in Detached Mode:
```
docker run -id --rm -v $PWD:/etc/openstack -e "OS_CLOUD=" --name openstack-client 42bv/openstack-client:latest
docker exec openstack-client openstack
```
To see if you are connected to your cloud run:
```
configuration show
```
---
## Heat Orchestration Templates

Template Guide: https://docs.openstack.org/heat/latest/template_guide/index.html
Using templates to launch a stack:
- Run openstack-client in "Detached Mode" as described above.
- When referencing Heat Orchestration Templates, note that the workdir inside the container is `/etc/openstack`.
```
docker exec openstack-client openstack stack create -t /etc/openstack/
```