1+ #! /bin/bash
2+ # Copyright (c) 2021 Oracle and/or its affiliates.
3+ # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
4+
5+ # Fail on error
6+ set -e
7+
8+
9+ if ! provisioning-helper-pre-apply; then
10+ exit 1
11+ fi
12+
13+
14+ # Wait for dependencies
15+ DEPENDENCIES=' COMPARTMENT_OCID OCI_REGION TENANCY_OCID OKE_LIMIT_CHECK'
16+ while ! test -z " $DEPENDENCIES " ; do
17+ echo " Waiting for $DEPENDENCIES "
18+ WAITING_FOR=" "
19+ for d in $DEPENDENCIES ; do
20+ if ! state_done $d ; then
21+ WAITING_FOR=" $WAITING_FOR $d "
22+ fi
23+ done
24+ DEPENDENCIES=" $WAITING_FOR "
25+ sleep 1
26+ done
27+
28+
29+ # Provision the VCN, unless live labs
30+ if ! state_done VCN_OCID; then
31+ if test $( state_get RUN_TYPE) ! = " LL" ; then
32+ # Need to provision network
33+ STATE=$DCMS_INFRA_STATE /network
34+ mkdir -p $STATE
35+ cd $STATE
36+ cat > $STATE /input.env << !
37+ COMPARTMENT_OCID=$( state_get COMPARTMENT_OCID)
38+ OCI_REGION=$( state_get OCI_REGION)
39+ VCN_DNS_LABEL=dcmsoci
40+ !
41+ provisioning-apply $MSDD_INFRA_CODE /network/oci
42+ (
43+ source $STATE /output.env
44+ state_set VCN_OCID " $VCN_OCID "
45+ )
46+ else
47+ state_set VCN_OCID " NA"
48+ fi
49+ fi
50+
51+
52+ # Provision OKE
53+ if test $( state_get RUN_TYPE) == " LL" ; then
54+ # OKE is already provisioned. Just need to get the OKE OCID and configure kubectl
55+ OKE_OCID=` oci ce cluster list --compartment-id " $( state_get COMPARTMENT_OCID) " --query " join(' ',data[?" ' "lifecycle-state"' " =='ACTIVE'].id)" --raw-output`
56+ oci ce cluster create-kubeconfig --cluster-id " $OKE_OCID " --file $HOME /.kube/config --region " $REGION " --token-version 2.0.0
57+ else
58+ STATE=$DCMS_INFRA_STATE /k8s
59+ mkdir -p $STATE
60+ cd $STATE
61+ cat > $STATE /input.env << !
62+ COMPARTMENT_OCID=$( state_get COMPARTMENT_OCID)
63+ OCI_REGION=$( state_get OCI_REGION)
64+ TENANCY_OCID=$( state_get TENANCY_OCID)
65+ VCN_OCID=$( state_get VCN_OCID)
66+ !
67+ provisioning-apply $MSDD_INFRA_CODE /k8s/oke
68+ fi
69+
70+ echo " " > $OUTPUT_FILE
71+ state_set_done K8S_THREAD
0 commit comments