aboutsummaryrefslogtreecommitdiffstats
path: root/test/ete/labs/huawei/onap-oom.yaml
blob: 049e3732b515287f0c0a94a4d9dc919cb8a33939 (plain)
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
heat_template_version: 2015-10-15
description: ONAP on Kubernetes using OOM

parameters:
  docker_proxy:
    type: string

  apt_proxy:
    type: string

  public_net_id:
    type: string
    description: The ID of the Public network for floating IP address allocation

  dns_list:
    type: comma_delimited_list
    description: List of External DNS for OAM ONAP network

  oam_network_cidr:
    type: string
    description: CIDR of the OAM ONAP network

  keystone_url:
    type: string
    description: URL of OpenStack Keystone

  openstack_tenant_id:
    type: string
    description: OpenStack tenant ID

  openstack_tenant_name:
    type: string
    description: OpenStack tenant name (matching with the openstack_tenant_id)

  openstack_username:
    type: string
    description: OpenStack username

  openstack_api_key:
    type: string
    description: OpenStack password or API Key

  ubuntu_1404_image:
    type: string
    description: Name of the Ubuntu 14.04 image

resources:
  random-str:
    type: OS::Heat::RandomString
    properties:
      length: 4

  # ONAP management private network
  oam_network:
    type: OS::Neutron::Net
    properties:
      name:
        str_replace:
          template: "oam_network_RAND"
          params:
            RAND: { get_resource: random-str }

  oam_subnet:
    type: OS::Neutron::Subnet
    properties:
      name:
        str_replace:
          template: "oam_subnet_RAND"
          params:
            RAND: { get_resource: random-str }
      network_id: { get_resource: oam_network }
      cidr: { get_param: oam_network_cidr }
      dns_nameservers: { get_param: dns_list }

  router:
    type: OS::Neutron::Router
    properties:
      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: oam_subnet }

  rancher_vm:
    type: OS::Nova::Server
    properties:
      name: rancher
      image: xenial
      flavor: m1.medium
      key_name: onap_key
      networks:
      - network: { get_param: public_net_id }
      user_data_format: RAW
      user_data:
        str_replace:
          params:
            __docker_proxy__: { get_param: docker_proxy }
            __apt_proxy__: { get_param: apt_proxy }
          template:
            get_file: rancher_vm_entrypoint.sh

  k8s_vm:
    type: OS::Nova::Server
    properties:
      name: k8s
      image: xenial
      flavor: m1.xxlarge
      key_name: onap_key
      networks:
      - network: { get_param: public_net_id }
      user_data_format: RAW
      user_data:
        str_replace:
          params:
            __docker_proxy__: { get_param: docker_proxy }
            __apt_proxy__: { get_param: apt_proxy }
            __rancher_ip_addr__: { get_attr: [rancher_vm, first_address] }
            __openstack_tenant_id__: { get_param: openstack_tenant_id }
            __openstack_tenant_name__: { get_param: openstack_tenant_name }
            __openstack_username__: { get_param: openstack_username }
            __openstack_api_key__: { get_param : openstack_api_key }
            __public_net_id__: { get_param: public_net_id }
            __oam_network_id__: { get_resource: oam_network }
            __oam_subnet_id__: { get_resource: oam_subnet }
            __oam_network_cidr__: { get_param: oam_network_cidr }
            __ubuntu_1404_image__: { get_param: ubuntu_1404_image }
            __keystone_url__: { get_param: keystone_url }
          template:
            get_file: k8s_vm_entrypoint.sh