Merge R3 into master
[it/dep.git] / tools / k8s / heat / parts / part-1.yaml
diff --git a/tools/k8s/heat/parts/part-1.yaml b/tools/k8s/heat/parts/part-1.yaml
new file mode 100644 (file)
index 0000000..a0ff0eb
--- /dev/null
@@ -0,0 +1,189 @@
+heat_template_version: 2015-10-15
+description: OpenStack HOT for RIC Kubernetes cluster
+################################################################################
+#   Copyright (c) 2019 AT&T Intellectual Property.                             #
+#   Copyright (c) 2019 Nokia.                                                  #
+#                                                                              #
+#   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                             #
+#                                                                              #
+#   Unless required by applicable law or agreed to in writing, software        #
+#   distributed under the License is distributed on an "AS IS" BASIS,          #
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   #
+#   See the License for the specific language governing permissions and        #
+#   limitations under the License.                                             #
+################################################################################
+
+parameters:
+  docker_proxy:
+    type: string
+    default: ""
+
+  apt_proxy:
+    type: string
+    default: ""
+
+  public_net_id:
+    type: string
+    description: The ID of the Public network for floating IP address allocation
+
+  public_v6net_id:
+    type: string
+    description: The ID of the IPv6 provider network for ipv6 interface IP address allocation
+
+  int_net_cidr:
+    type: string
+    description: CIDR of the OAM ONAP network
+
+  ubuntu_1604_image:
+    type: string
+    description: Name of the Ubuntu 16.04 image
+
+  k8s_vm_flavor:
+    type: string
+    description: VM flavor for k8s hosts
+
+  helm_override_yaml:
+    type: string
+    description: Content for helm_override.yaml
+
+  docker_manifest:
+    type: string
+    default: ""
+
+  key_name:
+    type: string
+    default: "id-oran-int"
+
+  docker_version:
+    type: string
+    default: "18.06.1"
+
+  k8s_version:
+    type: string
+    default: "1.13.3"
+
+  k8s_cni_version:
+    type: string
+    default: "0.6.0"
+
+  helm_version:
+    type: string
+    default: "2.12.3"
+
+  helm_deploy_delay:
+    type: string
+    default: "2m"
+
+  use_ramdisk:
+    type: string
+    description: Set to "true" if you want to use a RAM disk for /dockerdata-nfs/.
+    default: "false"
+
+  mtu:
+    type: number
+    default: 1500
+
+resources:
+  random-str:
+    type: OS::Heat::RandomString
+    properties:
+      length: 4
+
+  cinder_volume:
+    type: OS::Cinder::Volume
+    properties:
+      size: 5
+      name:
+        str_replace:
+          template: volume_rand
+          params:
+            rand: { get_resource: random-str }
+
+  # RIC security group
+  ric_sg:
+    type: OS::Neutron::SecurityGroup
+    properties:
+      name:
+        str_replace:
+          template: base_rand
+          params:
+            base: ric_sg
+            rand: { get_resource: random-str }
+      description: security group for RIC traffic
+      rules:
+        # All egress traffic
+        - direction: egress
+          ethertype: IPv4
+        - direction: egress
+          ethertype: IPv6
+        # ingress traffic
+        # ICMP
+        - protocol: icmp
+          ethertype: IPv4
+        - protocol: icmp
+          ethertype: IPv6
+        - protocol: udp
+          ethertype: IPv4
+          port_range_min: 1
+          port_range_max: 65535
+        - protocol: udp
+          ethertype: IPv6
+          port_range_min: 1
+          port_range_max: 65535
+        - protocol: tcp
+          ethertype: IPv4
+          port_range_min: 1
+          port_range_max: 65535
+        - protocol: tcp
+          ethertype: IPv6
+          port_range_min: 1
+          port_range_max: 65535
+        # additional IP Protocols to allow
+        # SCTP
+        - protocol: 132
+          ethertype: IPv4
+        - protocol: 132
+          ethertype: IPv6
+
+
+  # RIC internal network
+  int_network:
+    type: OS::Neutron::Net
+    properties:
+      name:
+        str_replace:
+          template: ric_network_rand
+          params:
+            rand: { get_resource: random-str }
+
+  int_subnet:
+    type: OS::Neutron::Subnet
+    properties:
+      name:
+        str_replace:
+          template: oam_network_rand
+          params:
+            rand: { get_resource: random-str }
+      network_id: { get_resource: int_network }
+      cidr: { get_param: int_net_cidr }
+      dns_nameservers: [ "8.8.8.8" ]
+
+
+  router:
+    type: OS::Neutron::Router
+    properties:
+      name:
+        list_join: ['-', [{ get_param: 'OS::stack_name' }, 'router']]
+      external_gateway_info:
+        network: { get_param: public_net_id }
+
+  router_interface:
+    type: OS::Neutron::RouterInterface
+    properties:
+      router_id: { get_resource: router }
+      subnet_id: { get_resource: int_subnet }
+