Enabling helm3 & kubernetes 1.18 for RIC
[it/dep.git] / tools / k8s / heat / parts / part-1-v6.yaml
1 heat_template_version: 2015-10-15
2 description: OpenStack HOT for RIC Kubernetes cluster
3
4 parameters:
5   docker_proxy:
6     type: string
7     default: ""
8
9   apt_proxy:
10     type: string
11     default: ""
12
13   public_net_id:
14     type: string
15     description: The ID of the Public network for floating IP address allocation
16
17   public_v6net_id:
18     type: string
19     description: The ID of the IPv6 provider network for ipv6 interface IP address allocation
20
21   int_net_cidr:
22     type: string
23     description: CIDR of the OAM ONAP network
24
25   ubuntu_1604_image:
26     type: string
27     description: Name of the Ubuntu 16.04 image
28
29   k8s_vm_flavor:
30     type: string
31     description: VM flavor for k8s hosts
32
33   helm_override_yaml:
34     type: string
35     description: Content for helm_override.yaml
36
37   docker_manifest:
38     type: string
39     default: ""
40
41   key_name:
42     type: string
43     default: "id-oran-int"
44
45   docker_version:
46     type: string
47     default: "18.06.1"
48
49   k8s_version:
50     type: string
51     #default: "1.18.3"
52     default: "1.13.3"
53
54   k8s_cni_version:
55     type: string
56     default: "0.6.0"
57
58   helm_version:
59     type: string
60     #default: "3.2.3"
61     default: "2.12.3"
62
63   helm_deploy_delay:
64     type: string
65     default: "2m"
66
67   use_ramdisk:
68     type: string
69     description: Set to "true" if you want to use a RAM disk for /dockerdata-nfs/.
70     default: "false"
71
72   mtu:
73     type: number
74     default: 1500
75
76 resources:
77   random-str:
78     type: OS::Heat::RandomString
79     properties:
80       length: 4
81
82   cinder_volume:
83     type: OS::Cinder::Volume
84     properties:
85       size: 5
86       name:
87         str_replace:
88           template: volume_rand
89           params:
90             rand: { get_resource: random-str }
91
92   # RIC security group
93   ric_sg:
94     type: OS::Neutron::SecurityGroup
95     properties:
96       name:
97         str_replace:
98           template: base_rand
99           params:
100             base: ric_sg
101             rand: { get_resource: random-str }
102       description: security group for RIC traffic
103       rules:
104         # All egress traffic
105         - direction: egress
106           ethertype: IPv4
107         - direction: egress
108           ethertype: IPv6
109         # ingress traffic
110         # ICMP
111         - protocol: icmp
112           ethertype: IPv4
113         - protocol: icmp
114           ethertype: IPv6
115         - protocol: udp
116           ethertype: IPv4
117           port_range_min: 1
118           port_range_max: 65535
119         - protocol: udp
120           ethertype: IPv6
121           port_range_min: 1
122           port_range_max: 65535
123         - protocol: tcp
124           ethertype: IPv4
125           port_range_min: 1
126           port_range_max: 65535
127         - protocol: tcp
128           ethertype: IPv6
129           port_range_min: 1
130           port_range_max: 65535
131         # additional IP Protocols to allow
132         # SCTP
133         - protocol: 132
134           ethertype: IPv4
135         - protocol: 132
136           ethertype: IPv6
137
138
139   # RIC internal network
140   int_network:
141     type: OS::Neutron::Net
142     properties:
143       name:
144         str_replace:
145           template: ric_network_rand
146           params:
147             rand: { get_resource: random-str }
148
149   int_subnet:
150     type: OS::Neutron::Subnet
151     properties:
152       name:
153         str_replace:
154           template: oam_network_rand
155           params:
156             rand: { get_resource: random-str }
157       network_id: { get_resource: int_network }
158       cidr: { get_param: int_net_cidr }
159       dns_nameservers: [ "8.8.8.8" ]
160
161
162   router:
163     type: OS::Neutron::Router
164     properties:
165       name:
166         list_join: ['-', [{ get_param: 'OS::stack_name' }, 'router']]
167       external_gateway_info:
168         network: { get_param: public_net_id }
169
170   router_interface:
171     type: OS::Neutron::RouterInterface
172     properties:
173       router_id: { get_resource: router }
174       subnet_id: { get_resource: int_subnet }
175