a96c9a37324f5d4384e1fb5d76c54607543ad252
[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: "refs/heads/master"
50
51   oom_gerrit_branch:
52     type: string
53     default: "master"
54
55   oom_gerrit_refspec:
56     type: string
57     default: "refs/heads/master"
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 resources:
97   random-str:
98     type: OS::Heat::RandomString
99     properties:
100       length: 4
101
102   # ONAP security group
103   onap_sg:
104     type: OS::Neutron::SecurityGroup
105     properties:
106       name:
107         str_replace:
108           template: base_rand
109           params:
110             base: onap_sg
111             rand: { get_resource: random-str }
112       description: security group used by ONAP
113       rules:
114         # All egress traffic
115         - direction: egress
116           ethertype: IPv4
117         - direction: egress
118           ethertype: IPv6
119         # ingress traffic
120         # ICMP
121         - protocol: icmp
122         - protocol: udp
123           port_range_min: 1
124           port_range_max: 65535
125         - protocol: tcp
126           port_range_min: 1
127           port_range_max: 65535
128
129
130   # ONAP management private network
131   oam_network:
132     type: OS::Neutron::Net
133     properties:
134       name:
135         str_replace:
136           template: oam_network_rand
137           params:
138             rand: { get_resource: random-str }
139
140   oam_subnet:
141     type: OS::Neutron::Subnet
142     properties:
143       name:
144         str_replace:
145           template: oam_network_rand
146           params:
147             rand: { get_resource: random-str }
148       network_id: { get_resource: oam_network }
149       cidr: { get_param: oam_network_cidr }
150       dns_nameservers: [ "8.8.8.8" ]
151
152   router:
153     type: OS::Neutron::Router
154     properties:
155       name:
156         list_join: ['-', [{ get_param: 'OS::stack_name' }, 'router']]
157       external_gateway_info:
158         network: { get_param: public_net_id }
159
160   router_interface:
161     type: OS::Neutron::RouterInterface
162     properties:
163       router_id: { get_resource: router }
164       subnet_id: { get_resource: oam_subnet }
165
166   rancher_private_port:
167     type: OS::Neutron::Port
168     properties:
169       network: { get_resource: oam_network }
170       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
171       security_groups:
172       - { get_resource: onap_sg }
173
174   rancher_floating_ip:
175     type: OS::Neutron::FloatingIP
176     properties:
177       floating_network_id: { get_param: public_net_id }
178       port_id: { get_resource: rancher_private_port }
179