heat_template_version: 2013-05-23 description: heat template that creates MOG stack parameters: pd_server_names: type: comma_delimited_list label: PD server names description: name of the PD instance pd_image_name: type: string label: image name description: PD image name pd_flavor_name: type: string label: PD flavor name description: flavor name of PD instance oam_server_names: type: comma_delimited_list label: OAM server names description: name of the OAM instance oam_image_name: type: string label: image name description: OAM image name oam_flavor_name: type: string label: OAM flavor name description: flavor name of OAM instance sm_server_names: type: comma_delimited_list label: SM server names description: name of the SM instance sm_image_name: type: string label: image name description: SM image name sm_flavor_name: type: string label: SM flavor name description: flavor name of SM instance ps_server_names: type: comma_delimited_list label: PS server names description: name of the PS instance ps_image_name: type: string label: PS image name description: PS image name ps_flavor_name: type: string label: PS flavor name description: flavor name of PS instance cm_server_names: type: comma_delimited_list label: CM server names description: name of the CM instance cm_image_name: type: string label: image name description: CM image name cm_flavor_name: type: string label: CM flavor name description: flavor name of CM instance availabilityzone_name: type: string label: availabilityzone name description: availabilityzone name oam_net_name: type: string label: oam network name description: name of the oam network oam_net_ips: type: comma_delimited_list label: internet network ips description: ip of the OAM network dummy_net_name_1: type: string label: csb ineternal cidr description: csb internal cidr packet_mirror_network_name: type: string label: packet mirror network name description: name of the network VMME_ps_boot_volume: type: string VMME_pd_boot_volume: type: string VMME_oam_boot_volume: type: string resources: server_ps_01: type: OS::Nova::Server depends_on: - packet_mirror_network properties: # config_drive: "True" name: {get_param: [ps_server_names, 0]} image: {get_param: pd_image_name} flavor: {get_attr: [network_policy_server, name]} availability_zone: {get_param: availabilityzone_name} scheduler_hints: { group: { get_resource: BE_Affinity }} block_device_mapping: [{device_name: "vda", volume_id : {get_param: VMME_ps_boot_volume }, delete_on_termination: "false" }] networks: - port: {get_resource: pd01_port_0} user_data_format: RAW server_pd_01: type: OS::Nova::Server depends_on: - packet_mirror_network properties: # config_drive: "True" name: {get_param: [pd_server_names, 0]} image: {get_param: pd_image_name} flavor: {get_attr: [network_policy_server, name]} availability_zone: {get_param: availabilityzone_name} scheduler_hints: { group: { get_resource: BE_Affinity }} block_device_mapping: [{device_name: "vda", volume_id : {get_param: VMME_pd_boot_volume }, delete_on_termination: "false" }] networks: - port: {get_resource: pd01_port_1} user_data_format: RAW server_oam_01: type: OS::Nova::Server depends_on: - packet_mirror_network properties: # config_drive: "True" name: {get_param: [oam_server_names, 0]} image: {get_param: pd_image_name} flavor: {get_attr: [network_policy_server, name]} availability_zone: {get_param: availabilityzone_name} scheduler_hints: { group: { get_resource: BE_Affinity }} block_device_mapping: [{device_name: "vda", volume_id : {get_param: VMME_oam_boot_volume }, delete_on_termination: "false" }] networks: - port: {get_resource: pd01_port_2} user_data_format: RAW pd01_port_0: type: OS::Neutron::Port properties: network: {get_attr: [network_policy_server, name]} security_groups: [{get_resource: jsa_security_group}] pd01_port_1: type: OS::Neutron::Port properties: network: {get_param: oam_net_name} security_groups: [{get_resource: jsa_security_group}] pd01_port_2: type: OS::Neutron::Port properties: network: {get_param: oam_net_name} security_groups: [{get_resource: jsa_security_group}] network_policy_server: type: OS::Contrail::NetworkPolicy properties: name: {get_param: dummy_net_name_1} resources_with_dependOn: type: OS::Neutron::Net depends_on: - server_oam_01 - server_pd_01 - server_ps_01 packet_mirror_network: type: OS::Neutron::Net properties: name: get_param: packet_mirror_network_name BE_Affinity: type: OS::Nova::ServerGroup properties: policies: ["affinity"] name: def jsa_security_group: type: OS::Neutron::SecurityGroup properties: description: ems security group name: Test-SecurityGroup rules: [{"direction": ingress, "ethertype": IPv6, "protocol": icmp, "remote_ip_prefix": "::/0"}] network_policy_server_pd: type: OS::Contrail::NetworkPolicy properties: name: {get_attr: [server_pd_01, accessIPv4]} network_policy_server_ps: type: OS::Contrail::NetworkPolicy properties: name: {get_attr: [server_ps_01, accessIPv4]} network_policy_server_oam: type: OS::Contrail::NetworkPolicy properties: name: {get_attr: [server_oam_01, accessIPv4]} outputs: out1: description: output_regula value: {get_attr: [server_pd_01, accessIPv4]} out2: description: output_regula value: {get_attr: [server_ps_01, accessIPv4]} out3: description: output_regula value: {get_attr: [server_oam_01, accessIPv4]} out4: description: output_regula value: {get_attr: [pd01_port_1, device_owner]} out5: description: output_regula value: get_attr: [pd01_port_0, device_id]