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:
parent
312cadf53f
commit
967a055c5d
1
playbooks/roles/install-osc-container/README.rst
Normal file
1
playbooks/roles/install-osc-container/README.rst
Normal file
@ -0,0 +1 @@
|
|||||||
|
An ansible role to install openstackclient container and helper script
|
20
playbooks/roles/install-osc-container/files/openstack
Normal file
20
playbooks/roles/install-osc-container/files/openstack
Normal 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 $@
|
8
playbooks/roles/install-osc-container/tasks/main.yaml
Normal file
8
playbooks/roles/install-osc-container/tasks/main.yaml
Normal 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
|
@ -4,6 +4,8 @@
|
|||||||
- ansible-cron
|
- ansible-cron
|
||||||
- cloud-launcher-cron
|
- cloud-launcher-cron
|
||||||
- edit-secrets-script
|
- edit-secrets-script
|
||||||
|
- install-docker
|
||||||
|
- install-osc-container
|
||||||
- install-kubectl
|
- install-kubectl
|
||||||
- configure-kubectl
|
- configure-kubectl
|
||||||
tasks:
|
tasks:
|
||||||
|
Loading…
Reference in New Issue
Block a user