Use openstackclient from container

We have multiple places, such as bridge, where we use openstackclient
as a utility. The current practice tends to be installing it into a
venv somewhere. On bridge there are 16 venvs in /root - and in some
of them but not all exist a working openstack client.

Since it's purely an API interaction tool, all it needs is the
clouds.yaml files bind-mounted in. The openstackclient project
now publishes a container image. Install a wrapper script for
calling it into /usr/local on bridge.

Change-Id: I4c64125d5dd3c89275e259a57b0efa0847ac6fc2
This commit is contained in:
Monty Taylor 2020-03-03 10:51:03 -06:00
parent 312cadf53f
commit 967a055c5d
4 changed files with 31 additions and 0 deletions

View File

@ -0,0 +1 @@
An ansible role to install openstackclient container and helper script

View File

@ -0,0 +1,20 @@
#!/bin/bash
# Copyright (c) 2020 Red Hat, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
exec docker run -it --rm \
-v/etc/openstack:/etc/openstack \
docker.io/osclient/python-openstackclient \
openstack $@

View File

@ -0,0 +1,8 @@
- name: Add helper script
become: yes
copy:
dest: /usr/local/bin/openstack
group: root
mode: 0755
owner: root
src: openstack

View File

@ -4,6 +4,8 @@
- ansible-cron
- cloud-launcher-cron
- edit-secrets-script
- install-docker
- install-osc-container
- install-kubectl
- configure-kubectl
tasks: