blob: 01ae886731fe1c422755caf821dd96c582f7d19d [file] [log] [blame]
stark, steven6754bc12019-09-19 15:43:00 -07001#!/bin/bash
2# Copyright 2019 AT&T Intellectual Property. All rights reserved.
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
16set +e
17
18KUBECONFIG=$1
19OPENSTACK_RC=$2
20CLI_NAME=$3
21
22export KUBECONFIG=$KUBECONFIG
23
24kubectl create configmap openstack-rc-$CLI_NAME --from-file=$OPENSTACK_RC
25
26cat <<EOF | kubectl create -f -
27apiVersion: v1
28kind: Pod
29metadata:
30 name: $CLI_NAME
31spec:
32 containers:
33 - name: openstack-cli
34 image: alpine
35 volumeMounts:
36 - name: openstack-rc-$CLI_NAME
37 mountPath: /openstack
38 command: ["/bin/sh"]
39 args:
40 - -c
41 - apk update && \
42 apk add python && \
43 apk add py-pip && \
44 apk add python-dev && \
45 apk add gcc && \
46 apk add musl-dev && \
47 apk add libffi-dev && \
48 apk add openssl-dev && \
49 pip install python-openstackclient && \
50 sh -c 'echo ". /openstack/openstack_rc" >> /root/.profile; while true; do sleep 60; done;'
51 restartPolicy: Never
52 volumes:
53 - name: openstack-rc-$CLI_NAME
54 configMap:
55 name: openstack-rc-$CLI_NAME
56 defaultMode: 0755
57EOF
58
59# TODO
60# Add better check for pod readiness
61sleep 120