Decommission java and docker manifests
[integration.git] / deployment / heat / onap-rke / scripts / gen-onap-oom-yaml.sh
1 #!/bin/bash
2 #
3 # Copyright 2018 Huawei Technologies Co., Ltd.
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 #     http://www.apache.org/licenses/LICENSE-2.0
10 #
11
12 if [ "$#" -ne 1 ]; then
13     echo This script generates the HEAT template for X number of k8s VMs
14     echo "$0 <num k8s vms>"
15     exit 1
16 fi
17 NUM_K8S_VMS=$1
18
19 if [ -z "$WORKSPACE" ]; then
20     export WORKSPACE=`git rev-parse --show-toplevel`
21 fi
22 PARTS_DIR=$WORKSPACE/deployment/heat/onap-rke/parts
23
24 cat <<EOF
25 #
26 # Generated by scripts/gen-onap-oom-yaml.sh; MANUAL CHANGES WILL BE LOST
27 #
28 EOF
29
30 cat $PARTS_DIR/onap-oom-1.yaml
31
32 cat <<EOF
33   nfs_volume:
34     type: OS::Cinder::Volume
35     properties:
36       size: 200
37
38   nfs_volume_att:
39     type: OS::Cinder::VolumeAttachment
40     properties:
41       instance_uuid: { get_resource: nfs_vm }
42       volume_id: { get_resource: nfs_volume }
43
44   nfs_vm:
45     type: OS::Nova::Server
46     properties:
47       name:
48         list_join: ['-', [{ get_param: 'OS::stack_name' }, 'nfs']]
49       image: { get_param: ubuntu_1804_image }
50       flavor: { get_param: nfs_vm_flavor }
51       key_name: { get_param: key_name }
52       networks:
53       - port: { get_resource: nfs_private_port }
54       user_data_format: RAW
55       user_data:
56         str_replace:
57           template:
58             get_file: nfs_vm_entrypoint.sh
59           params:
60             __nfs_volume_id__: { get_resource: nfs_volume }
61             __docker_proxy__: { get_param: docker_proxy }
62             __apt_proxy__: { get_param: apt_proxy }
63             __nfs_ip_addr__: { get_attr: [nfs_floating_ip, floating_ip_address] }
64             __nfs_private_ip_addr__: { get_attr: [nfs_floating_ip, fixed_ip_address] }
65             __integration_override_yaml__: { get_param: integration_override_yaml }
66             __integration_gerrit_branch__: { get_param: integration_gerrit_branch }
67             __integration_gerrit_refspec__: { get_param: integration_gerrit_refspec }
68             __oom_gerrit_branch__: { get_param: oom_gerrit_branch }
69             __oom_gerrit_refspec__: { get_param: oom_gerrit_refspec }
70             __docker_version__: { get_param: docker_version }
71             __kubectl_version__: { get_param: kubectl_version }
72             __helm_version__: { get_param: helm_version }
73             __helm_deploy_delay__: { get_param: helm_deploy_delay }
74             __mtu__: { get_param: mtu }
75             __portal_hostname__: { get_param: portal_hostname }
76             __public_net_id__: { get_param: public_net_id }
77             __oam_network_cidr__: { get_param: oam_network_cidr }
78             __oam_network_id__: { get_resource: oam_network }
79             __oam_subnet_id__: { get_resource: oam_subnet }
80             __sec_group__: { get_resource: onap_sg }
81             __k8s_01_vm_ip__: { get_attr: [k8s_01_floating_ip, floating_ip_address] }
82             __k8s_vm_ips__: [
83 EOF
84
85 for VM_NUM in $(seq -f %02g $NUM_K8S_VMS); do
86     K8S_VM_NAME=k8s_$VM_NUM
87     cat <<EOF
88               get_attr: [${K8S_VM_NAME}_floating_ip, floating_ip_address],
89 EOF
90 done
91
92 cat <<EOF
93             ]
94             __k8s_private_ips__: [
95 EOF
96
97 for VM_NUM in $(seq -f %02g $NUM_K8S_VMS); do
98     K8S_VM_NAME=k8s_$VM_NUM
99     cat <<EOF
100               get_attr: [${K8S_VM_NAME}_floating_ip, fixed_ip_address],
101 EOF
102 done
103
104 cat <<EOF
105             ]
106 EOF
107
108 for VM_NUM in $(seq -f %02g $NUM_K8S_VMS); do
109     VM_TYPE=k8s HOST_LABEL=compute VM_NUM=$VM_NUM envsubst < $PARTS_DIR/onap-oom-2.yaml
110 done
111
112 for VM_NUM in $(seq 3); do
113     VM_TYPE=orch HOST_LABEL=orchestration VM_NUM=$VM_NUM envsubst < $PARTS_DIR/onap-oom-2.yaml
114 done
115
116
117 cat $PARTS_DIR/onap-oom-3.yaml
118
119 for VM_NUM in $(seq -f %02g $NUM_K8S_VMS); do
120     K8S_VM_NAME=k8s_$VM_NUM
121     cat <<EOF
122   ${K8S_VM_NAME}_vm_ip:
123     description: The IP address of the ${K8S_VM_NAME} instance
124     value: { get_attr: [${K8S_VM_NAME}_floating_ip, floating_ip_address] }
125
126   ${K8S_VM_NAME}_vm_private_ip:
127     description: The private IP address of the ${K8S_VM_NAME} instance
128     value: { get_attr: [${K8S_VM_NAME}_floating_ip, fixed_ip_address] }
129
130 EOF
131 done
132
133 for VM_NUM in $(seq 3); do
134     K8S_VM_NAME=orch_$VM_NUM
135     cat <<EOF
136   ${K8S_VM_NAME}_vm_ip:
137     description: The IP address of the ${K8S_VM_NAME} instance
138     value: { get_attr: [${K8S_VM_NAME}_floating_ip, floating_ip_address] }
139
140   ${K8S_VM_NAME}_vm_private_ip:
141     description: The private IP address of the ${K8S_VM_NAME} instance
142     value: { get_attr: [${K8S_VM_NAME}_floating_ip, fixed_ip_address] }
143
144 EOF
145 done