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