1a9e33d60c5b168ad596bccd8b15729f15ba10c9
[integration.git] / deployment / heat / onap-oom / parts / onap-oom-1.yaml
1 heat_template_version: 2015-10-15
2 description: ONAP on Kubernetes using OOM
3
4 parameters:
5   docker_proxy:
6     type: string
7
8   apt_proxy:
9     type: string
10
11   public_net_id:
12     type: string
13     description: The ID of the Public network for floating IP address allocation
14
15   oam_network_cidr:
16     type: string
17     description: CIDR of the OAM ONAP network
18
19   ubuntu_1604_image:
20     type: string
21     description: Name of the Ubuntu 16.04 image
22
23   rancher_vm_flavor:
24     type: string
25     description: VM flavor for Rancher
26
27   k8s_vm_flavor:
28     type: string
29     description: VM flavor for k8s hosts
30
31   etcd_vm_flavor:
32     type: string
33     description: VM flavor for etcd hosts
34
35   orch_vm_flavor:
36     type: string
37     description: VM flavor for orch hosts
38
39   integration_override_yaml:
40     type: string
41     description: Content for integration_override.yaml
42
43   integration_gerrit_branch:
44     type: string
45     default: "master"
46
47   integration_gerrit_refspec:
48     type: string
49     default: ""
50
51   oom_gerrit_branch:
52     type: string
53     default: "master"
54
55   oom_gerrit_refspec:
56     type: string
57     default: ""
58
59   docker_manifest:
60     type: string
61     default: ""
62
63   key_name:
64     type: string
65     default: "onap_key"
66
67   docker_version:
68     type: string
69     default: "17.03.2"
70
71   rancher_version:
72     type: string
73     default: "1.6.22"
74
75   rancher_agent_version:
76     type: string
77     default: "1.2.11"
78
79   kubectl_version:
80     type: string
81     default: "1.11.2"
82
83   helm_version:
84     type: string
85     default: "2.9.1"
86
87   helm_deploy_delay:
88     type: string
89     default: "2m"
90
91   use_ramdisk:
92     type: string
93     description: Set to "true" if you want to use a RAM disk for /dockerdata-nfs/.
94     default: "false"
95
96   mtu:
97     type: number
98     default: 1500
99
100 resources:
101   random-str:
102     type: OS::Heat::RandomString
103     properties:
104       length: 4
105
106   # ONAP security group
107   onap_sg:
108     type: OS::Neutron::SecurityGroup
109     properties:
110       name:
111         str_replace:
112           template: base_rand
113           params:
114             base: onap_sg
115             rand: { get_resource: random-str }
116       description: security group used by ONAP
117       rules:
118         # All egress traffic
119         - direction: egress
120           ethertype: IPv4
121         - direction: egress
122           ethertype: IPv6
123         # ingress traffic
124         # ICMP
125         - protocol: icmp
126         - protocol: udp
127           port_range_min: 1
128           port_range_max: 65535
129         - protocol: tcp
130           port_range_min: 1
131           port_range_max: 65535
132         # Protocols used for vLB/vDNS use case
133         - protocol: 47
134         - protocol: 53
135         - protocol: 132
136
137
138   # ONAP management private network
139   oam_network:
140     type: OS::Neutron::Net
141     properties:
142       name:
143         str_replace:
144           template: oam_network_rand
145           params:
146             rand: { get_resource: random-str }
147
148   oam_subnet:
149     type: OS::Neutron::Subnet
150     properties:
151       name:
152         str_replace:
153           template: oam_network_rand
154           params:
155             rand: { get_resource: random-str }
156       network_id: { get_resource: oam_network }
157       cidr: { get_param: oam_network_cidr }
158       dns_nameservers: [ "8.8.8.8" ]
159
160   router:
161     type: OS::Neutron::Router
162     properties:
163       name:
164         list_join: ['-', [{ get_param: 'OS::stack_name' }, 'router']]
165       external_gateway_info:
166         network: { get_param: public_net_id }
167
168   router_interface:
169     type: OS::Neutron::RouterInterface
170     properties:
171       router_id: { get_resource: router }
172       subnet_id: { get_resource: oam_subnet }
173
174   rancher_private_port:
175     type: OS::Neutron::Port
176     properties:
177       network: { get_resource: oam_network }
178       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
179       security_groups:
180       - { get_resource: onap_sg }
181
182   rancher_floating_ip:
183     type: OS::Neutron::FloatingIP
184     properties:
185       floating_network_id: { get_param: public_net_id }
186       port_id: { get_resource: rancher_private_port }
187