+++ /dev/null
-heat_template_version: 2013-05-23\r
-\r
-description: nested heat template that creates a PCRF OAM node stack\r
-\r
-parameters:\r
- pcrf_oam_server_name:\r
- type: string\r
- label: PCRF OAM server name\r
- description: PCRF OAM server name\r
- pcrf_oam_image_name:\r
- type: string\r
- label: image name\r
- description: PCRF OAM image name\r
- pcrf_oam_flavor_name:\r
- type: string\r
- label: PCRF OAM flavor name\r
- description: flavor name of PCRF OAM instance\r
- availabilityzone_name:\r
- type: string\r
- label: availabilityzone name\r
- description: availabilityzone name\r
- pcrf_cps_net_name:\r
- type: string\r
- label: CPS network name\r
- description: CPS network name\r
- pcrf_cps_net_ip:\r
- type: string\r
- label: CPS network ip\r
- description: CPS network ip\r
- pcrf_cps_net_mask:\r
- type: string\r
- label: CPS network mask\r
- description: CPS network mask\r
- pcrf_arbiter_vip:\r
- type: string\r
- label: OAM Arbiter LB VIP\r
- description: OAM Arbiter LB VIP\r
- pcrf_oam_net_name:\r
- type: string\r
- label: OAM network name\r
- description: OAM network name\r
- pcrf_oam_net_ip:\r
- type: string\r
- label: OAM network ip\r
- description: OAM network ip\r
- pcrf_oam_net_gw:\r
- type: string\r
- label: CPS network gateway\r
- description: CPS network gateway\r
- pcrf_oam_net_mask:\r
- type: string\r
- label: CPS network mask\r
- description: CPS network mask\r
- pcrf_oam_volume_id:\r
- type: string\r
- label: CPS OAM Cinder Volume\r
- description: CPS OAM Cinder Volume\r
- pcrf_security_group_name:\r
- type: string\r
- label: security group name\r
- description: the name of security group\r
- pcrf_vnf_id:\r
- type: string\r
- label: PCRF VNF Id\r
- description: PCRF VNF Id\r
-\r
-resources:\r
- network:\r
- type: OS::Heat::CloudConfig\r
- properties:\r
- cloud_config:\r
- write_files:\r
- - path: /etc/sysconfig/network-scripts/ifcfg-eth0\r
- permissions: "0644"\r
- content:\r
- str_replace:\r
- template: { get_file: nimbus-ethernet }\r
- params:\r
- $dev: eth0\r
- $ip: { get_param: pcrf_cps_net_ip }\r
- $netmask: { get_param: pcrf_cps_net_mask }\r
- - path: /etc/sysconfig/network-scripts/ifcfg-eth1\r
- permissions: "0644"\r
- content:\r
- str_replace:\r
- template: { get_file: nimbus-ethernet-gw }\r
- params:\r
- $dev: eth1\r
- $ip: { get_param: pcrf_oam_net_ip }\r
- $netmask: { get_param: pcrf_oam_net_mask }\r
- $gateway: { get_param: pcrf_oam_net_gw }\r
- runcmd:\r
- - ifdown eth0 && ifup eth0\r
- - ifdown eth1 && ifup eth1\r
- script_init:\r
- type: OS::Heat::SoftwareConfig\r
- properties:\r
- group: ungrouped\r
- config:\r
- str_replace:\r
- template: { get_file: cloud-nimbus.sh }\r
- params:\r
- $vm_name: { get_param: pcrf_oam_server_name }\r
- pcrf_server_init:\r
- type: OS::Heat::MultipartMime\r
- properties:\r
- parts:\r
- - config: { get_resource: network}\r
- - config: { get_resource: script_init}\r
-\r
- pcrf_server_oam:\r
- type: OS::Nova::Server\r
- properties:\r
- config_drive: "True"\r
- name: { get_param: pcrf_oam_server_name }\r
- image: { get_param: pcrf_oam_image_name }\r
- flavor: { get_param: pcrf_oam_flavor_name }\r
- availability_zone: { get_param: availabilityzone_name }\r
- networks:\r
- - port: { get_resource: pcrf_oam_port_0}\r
- - port: { get_resource: pcrf_oam_port_1}\r
- user_data_format: RAW\r
- user_data:\r
- get_resource: pcrf_server_init\r
- metadata:\r
- vnf_id: {get_param: pcrf_vnf_id}\r
- \r
- pcrf_oam_port_0:\r
- type: OS::Neutron::Port\r
- properties:\r
- network: { get_param: pcrf_cps_net_name }\r
- fixed_ips:\r
- - ip_address: { get_param: pcrf_cps_net_ip }\r
- allowed_address_pairs:\r
- - ip_address: { get_param: pcrf_arbiter_vip }\r
- security_groups: [{ get_param: pcrf_security_group_name }]\r
-\r
- pcrf_oam_port_1:\r
- type: OS::Neutron::Port\r
- properties:\r
- network: { get_param: pcrf_oam_net_name }\r
- fixed_ips:\r
- - ip_address: { get_param: pcrf_oam_net_ip }\r
- security_groups: [{ get_param: pcrf_security_group_name }]\r
-\r
- pcrf_oam_vol_attachment:\r
- type: OS::Cinder::VolumeAttachment\r
- properties:\r
- volume_id: { get_param: pcrf_oam_volume_id }\r
- mountpoint: /dev/vdd\r
- instance_uuid: { get_resource: pcrf_server_oam }\r
-\r
-outputs:\r
- pcrf_oam_vol_attachment_id:\r
- description: the pcrf_oam_vol_attachment_id id\r
- value: { get_resource: pcrf_oam_vol_attachment }\r