OpenStack client

"Prompt"

Docker container image with the OpenStack client and 'stack' helper tool.

Registries

Gitlab

Automated builds are available at GitLab

  • Alpine:
    docker pull registry.gitlab.com/gbraad/openstack-client:alpine
  • CentOS:
    docker pull registry.gitlab.com/gbraad/openstack-client:centos
  • Fedora:
    docker pull registry.gitlab.com/gbraad/openstack-client:fedora
  • Ubuntu:
    docker pull registry.gitlab.com/gbraad/openstack-client:ubuntu

Docker hub

Alternative automated build are available from the Docker registry.

  • Alpine:
    docker pull gbraad/openstack-client:alpine
  • CentOS:
    docker pull gbraad/openstack-client:centos
  • Fedora:
    docker pull gbraad/openstack-client:fedora
  • Ubuntu:
    docker pull gbraad/openstack-client:ubuntu

Download

If for some reason you can not access the above registries, you can also download and import the images from BinTray

docker load -i gbraad-docker-openstack-client-alpine.tar.xz

Usage

Cloud configurations

Store your stackrc files in a local folder called .stack

$ ls -al ~/.stack
total 20
drwxr-xr-x  2 ubuntu ubuntu 4096 Jun  2 06:37 .
drwxr-xr-x 31 ubuntu ubuntu 4096 Jun 28 02:52 ..
-rw-r--r--  1 ubuntu ubuntu 1581 May 28 16:07 dreamhost
-rw-r--r--  1 ubuntu ubuntu 1646 Jun  2 06:37 trystack

Or place your clouds.yaml in ~/.config/openstack More information about clouds.yaml can be found here

$ cat ~/.config/openstack/clouds.yaml
clouds:
  dreamhost:
    auth:
      auth_url: https://iad2.dream.io:5000/v2.0
      project_name: dhc123456
      username: c4pash3n1
      password: 0p3nSt4ck
    region_name: RegionOne
  trystack:
    auth:
      auth_url: http://8.43.86.2:5000/v2.0
      project_name: facebook89115xxxx
      username: facebook89115xxxx
      password: xxxxxxxxxxxxxxxxx
    region_name: RegionOne

Setup an alias

Setup a local alias makes running the container a lot easier

Container based on Alpine

$ alias stack='docker run -it --rm -v $PWD:/workspace -v ~/.stack:/root/.stack registry.gitlab.com/gbraad/openstack-client:alpine stack'
$ alias openstack='docker run -it --rm -v $PWD:/workspace -v ~/.config/openstack:/root/.config/openstack registry.gitlab.com/gbraad/openstack-client:alpine openstack'

Container based on CentOS

$ alias stack='docker run -it --rm -v $PWD:/workspace -v ~/.stack:/root/.stack registry.gitlab.com/gbraad/openstack-client:centos stack'
$ alias openstack='docker run -it --rm -v $PWD:/workspace -v ~/.config/openstack:/root/.config/openstack registry.gitlab.com/gbraad/openstack-client:centos openstack'

Container based on Fedora

$ alias stack='docker run -it --rm -v $PWD:/workspace -v ~/.stack:/root/.stack registry.gitlab.com/gbraad/openstack-client:fedora stack'
$ alias openstack='docker run -it --rm -v $PWD:/workspace -v ~/.config/openstack:/root/.config/openstack registry.gitlab.com/gbraad/openstack-client:fedora openstack'

Container based on Ubuntu

$ alias stack='docker run -it --rm -v $PWD:/workspace -v ~/.stack:/root/.stack registry.gitlab.com/gbraad/openstack-client:ubuntu stack'
$ alias openstack='docker run -it --rm -v $PWD:/workspace -v ~/.config/openstack:/root/.config/openstack registry.gitlab.com/gbraad/openstack-client:ubuntu openstack'

Issue command

Perform a nova list or openstack server list for Trystack

$ stack trystack nova list
$ stack trystack openstack server list

Or using clouds.yaml:

$ openstack --os-cloud trystack server list

Thanks

Authors

"Gerard Braad"
@gbraad