Browse Source

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
changes/57/711057/3
Monty Taylor 2 years ago
parent
commit
967a055c5d
  1. 1
      playbooks/roles/install-osc-container/README.rst
  2. 20
      playbooks/roles/install-osc-container/files/openstack
  3. 8
      playbooks/roles/install-osc-container/tasks/main.yaml
  4. 2
      playbooks/service-bridge.yaml

1
playbooks/roles/install-osc-container/README.rst

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

20
playbooks/roles/install-osc-container/files/openstack

@ -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

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

2
playbooks/service-bridge.yaml

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

Loading…
Cancel
Save