[INT] updating aks install w/ master pass
[integration.git] / deployment / aks / util / create_openstack_cli.sh
1 #!/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
16 set +e
17
18 KUBECONFIG=$1
19 OPENSTACK_RC=$2
20 CLI_NAME=$3
21
22 export KUBECONFIG=$KUBECONFIG
23
24 kubectl create configmap openstack-rc-$CLI_NAME --from-file=$OPENSTACK_RC
25
26 cat  <<EOF | kubectl create -f -
27 apiVersion: v1
28 kind: Pod
29 metadata:
30   name: $CLI_NAME
31 spec:
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 python3 && \
43         apk add py3-pip && \
44         apk add python3-dev && \
45         apk add gcc && \
46         apk add musl-dev && \
47         apk add libffi-dev && \
48         apk add openssl-dev && \
49         pip3 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
57 EOF
58
59 # TODO 
60 # Add better check for pod readiness
61 sleep 120