diff options
author | Marco Platania <platania@research.att.com> | 2017-10-30 13:24:14 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2017-10-30 13:24:14 +0000 |
commit | ced3a62bae2d4b50dfc8a809b2b66b877ad46289 (patch) | |
tree | 115b1254bd94c9cd6019902a410b0c8ded94bfde | |
parent | dbc0f820f30a6cb3aa3f04eeb7bfdf73b58de04a (diff) | |
parent | f768cce7f8e65afbe4b1ae720a86d619d64f4fce (diff) |
Merge "Support MultiCloud proxyed Designate for DCAE"
-rw-r--r-- | README.md | 35 | ||||
-rw-r--r-- | heat/ONAP/onap_openstack.env | 32 | ||||
-rw-r--r-- | heat/ONAP/onap_openstack.yaml | 148 |
3 files changed, 103 insertions, 112 deletions
@@ -103,29 +103,28 @@ To get the flavor names used in your OpenStack environment, use the following Op openstack flavor list Some network parameters must be configured - dns_list: PUT THE ADDRESS OF THE EXTERNAL DNS HERE (e.g. a comma-separated list of IP addresses in your /etc/resolv.conf in UNIX-based Operating Systems) + dns_list: PUT THE ADDRESS OF THE EXTERNAL DNS HERE (e.g. a comma-separated list of IP addresses in your /etc/resolv.conf in UNIX-based Operating Systems). THIS LIST MUST INCLUDE THE DNS SERVER THAT OFFERS DNS AS AS SERVICE (see DCAE section below for more details) external_dns: PUT THE FIRST ADDRESS OF THE EXTERNAL DNS LIST HERE oam_network_cidr: 10.0.0.0/16 You can use the Google Public DNS 8.8.8.8 and 4.4.4.4 address or your internal DNS servers -DCAE spins up the data collection and analytics environment outside the HEAT template. This environment is composed of: 3-VM CDAP/Hadoop cluster, 1 VM for the DCAE data collector, and 1 VM for Postgres DB. DCAE needs to know where it has to spin up these VMs. DCAE configuration requires many parameters: - - dcaeos_cloud_env: PUT DCAE TARGET DEPLOYMENT STACK'S FLAVOR (e.g. OpenStack) HERE - dcaeos_keystone_url: PUT DCAE TARGET DEPLOYMENT STACK'S KEYSTONE URL HERE - dcaeos_openstack_region: PUT DCAE TARGET DEPLOYMENT STACK'S REGION HERE - dcaeos_openstack_tenant_id: PUT DCAE TARGET DEPLOYMENT STACK'S TENANT ID HERE - dcaeos_openstack_username: PUT DCAE TARGET DEPLOYMENT STACK'S USERNAME HERE - dcaeos_openstack_password: PUT DCAE TARGET DEPLOYMENT STACK'S PASSWORD HERE - dcaeos_dcae_key_name: PUT DCE TARGET DEPLOYMENT STACK'S UPLOADED KEY-PAIR NAME HERE - dcaeos_dcae_pub_key: PUT DCAE TARGET DEPLOYMENT STACK'S PUBLIC KEY HERE - dcaeos_private_key: PUT DCAE TARGET DEPLOYMENT STACK'S PRIVATE KEY HERE - dcaeos_openstack_private_network_name: PUT DCAE TARGET DEPLOYMENT STACK'S INTERNAL NETWOKR ID HERE - dcaeos_public_net_id: PUT DCAE TARGET DEPLOYMENT STACK'S PUBLIC NETWORK ID HERE - dcaeos_ubuntu_1604_image: PUT DCAE TARGET DEPLOYMENT STACK'S UBUNTU1604 IMAGE ID (TO BE USED BY DCAE VMS) HERE - dcaeos_centos_7_image: PUT DCAE TARGET DEPLOYMENT STACK'S CENTOS7 IMAGE ID (TO BE USED BY DCAE VMS) HERE - dcaeos_security_group: PUT DCAE TARGET DEPLOYMENT STACK'S SECURITY GROUP ID (TO BE USED BY DCAE VMS) HERE - dcaeos_flavor_id: PUT DCAE TARGET DEPLOYMENT STACK'S VM FLAVOR ID (TO BE USED BY DCAE VMS) HERE +DCAE spins up ONAP's data collection and analytics system in two phases. The first is the launching of a bootstrap VM that is specified in the ONAP Heat template. This VM requires a number of deployment specific conifiguration parameters being provided so that it can subsequently bring up the DCAE system. There are two groups of parameters. The first group relates to the launching of DCAE VMs, including parameters such as the keystone URL and additional VM image IDs/names. DCAE VMs are connected to the same internal network as the rest of ONAP VMs, but dynamically spun up by the DCAE core platform. Hence these parameters need to be provided to DCAE. Note that although DCAE VMs will be launched in the same tenant as the rest of ONAP, because DCAE may use MultiCloud node as the agent for interfacing with the underying cloud, it needs a separate keystone URL (which points to MultiCloud node instead of the underlying cloud). The second group of configuration parameters relate to DNS As A Service support (DNSaaS). DCAE requires DNSaaS for registering its VMs into organization-wide DNS service. For OpenStack, DNSaaS is provided by Designate. Designate support can be provided via an integrated service endpoint listed under the service catalog of the OpenStack installation; or proxyed by the ONAP MultiCloud service. For the latter case, a number of parameters are needed to configure MultiCloud to use the correct Designate service. These parameters are described below: + + dcae_keystone_url: PUT THE KEYSTONE URL OF THE OPENSTACK INSTANCE WHERE DCAE IS DEPLOYED (Note: put the MultiCloud proxy URL if the DNSaaS is proxyed by MultiCloud) + dcae_centos_7_image: PUT THE CENTOS7 IMAGE ID/NAME AVAILABLE AT THE OPENSTACK INSTANCE WHERE DCAE IS DEPLOYED + dcae_security_group: PUT THE SECURITY GROUP ID/NAME TO BE USED AT THE OPENSTACK INSTANCE WHERE DCAE IS DEPLOYED + dcae_key_name: PUT THE ACCESS KEY-PAIR NAME REGISTER AT THE OPENSTACK INSTANCE WHERE DCAE IS DEPLOYED + dcae_public_key: PUT THE PUBLIC KEY OF A KEY-PAIR USED FOR DCAE BOOTSTRAP NODE TO COMMUNICATE WITH DCAE VMS + dcae_private_key: PUT THE PRIVATE KEY OF A KEY-PAIR USED FOR DCAE BOOTSTRAP NODE TO COMMUNICATE WITH DCAE VMS + + dnsaas_config_enabled: true for false FOR WHETHER DNSAAS IS PROXYED + dnsaas_region: PUT THE REGION OF THE OPENSTACK INSTANCE WHERE DNSAAS IS PROVIDED + dnsaas_tenant_id: PUT THE TENANT ID/NAME OF THE OPENSTACK INSTANCE WHERE DNSAAS IS PROVIDED + dnsaas_keystone_url: PUT THE KEYSTONE URL OF THE OPENSTACK INSTANCE WHERE DNSAAS IS PROVIDED + dnsaas_username: PUT THE USERNAME OF THE OPENSTACK INSTANCE WHERE DNSAAS IS PROVIDED + dnsaas_password: PUT THE PASSWORD OF THE OPENSTACK INSTANCE WHERE DNSAAS IS PROVIDED + The ONAP platform can be instantiated via Horizon (OpenStack dashboard) or Command Line. diff --git a/heat/ONAP/onap_openstack.env b/heat/ONAP/onap_openstack.env index 06c09b9d..09cf505b 100644 --- a/heat/ONAP/onap_openstack.env +++ b/heat/ONAP/onap_openstack.env @@ -104,7 +104,7 @@ parameters: # dcae_base_environment: 1-NIC-FLOATING-IPS - dcae_zone: ZONE +# dcae_zone: ZONE # dcae_state: STATE @@ -115,23 +115,19 @@ parameters: # gitlab_branch: master # dcae_code_version: 1.1.0 - - dcaeos_cloud_env: PUT DCAE TARGET DEPLOYMENT STACK'S FLAVOR (e.g. openstack) HERE - dcaeos_keystone_url: PUT DCAE TARGET DEPLOYMENT STACK'S KEYSTONE URL HERE - dcaeos_openstack_region: PUT DCAE TARGET DEPLOYMENT STACK'S REGION HERE - dcaeos_openstack_tenant_id: PUT DCAE TARGET DEPLOYMENT STACK'S TENANT ID HERE - dcaeos_openstack_username: PUT DCAE TARGET DEPLOYMENT STACK'S USERNAME HERE - dcaeos_openstack_password: PUT DCAE TARGET DEPLOYMENT STACK'S PASSWORD HERE - dcaeos_dcae_key_name: PUT DCAE TARGET DEPLOYMENT STACK'S UPLOADED KEY-PAIR NAME HERE - dcaeos_dcae_pub_key: PUT DCAE TARGET DEPLOYMENT STACK'S PUBLIC KEY HERE - dcaeos_private_key: PUT DCAE TARGET DEPLOYMENT STACK'S PRIVATE KEY HERE - dcaeos_openstack_private_network_name: PUT DCAE TARGET DEPLOYMENT STACK'S INTERNAL NETWOKR ID HERE - dcaeos_public_net_id: PUT DCAE TARGET DEPLOYMENT STACK'S PUBLIC NETWORK ID HERE - dcaeos_ubuntu_1604_image: PUT DCAE TARGET DEPLOYMENT STACK'S UBUNTU1604 IMAGE ID (TO BE USED BY DCAE VMS) HERE - dcaeos_centos_7_image: PUT DCAE TARGET DEPLOYMENT STACK'S CENTOS7 IMAGE ID (TO BE USED BY DCAE VMS) HERE - dcaeos_security_group: PUT DCAE TARGET DEPLOYMENT STACK'S SECURITY GROUP ID (TO BE USED BY DCAE VMS) HERE - dcaeos_flavor_id: PUT DCAE TARGET DEPLOYMENT STACK'S VM FLAVOR ID (TO BE USED BY DCAE VMS) HERE - + + dnsaas_config_enabled: PUT WHETHER TO USE PROXYED DESIGNATE + dnsaas_region: PUT THE DESIGNATE PROVIDING OPENSTACK'S REGION HERE + dnsaas_tenant_id: PUT THE DESIGNATE PROVIDING OPENSTACK'S DEFAULT TENANT HERE + dnsaas_keystone_url: PUT THE DESIGNATE PROVIDING OPENSTACK'S KEYSTONE URL HERE + dnsaas_username: PUT THE DESIGNATE PROVIDING OPENSTACK'S USERNAME HERE + dnsaas_password: PUT THE DESIGNATE PROVIDING OPENSTACK'S PASSWORD HERE + dcae_keystone_url: PUT THE MULTIVIM PROVIDED KEYSTONE API URL HERE + dcae_centos_7_image: PUT THE CENTOS7 VM IMAGE NAME HERE FOR DCAE LAUNCHED CENTOS7 VM + dcae_security_group: PUT THE SECURITY GROUP NAME HERE FOR DCAE LAUNCHED VMS + dcae_key_name: PUT THE ON BOARDED KEY-PAIR NAME HERE FOR DCAE LAUNCHED VMS + dcae_public_key: PUT THE PUBLIC KEY OF A KEYPAIR HERE TO BE USED BETWEEN DCAE LAUNCHED VMS + dcae_private_key: PUT THE SECRET KEY OF A KEYPAIR HERE TO BE USED BETWEEN DCAE LAUNCHED VMS ################################ # # diff --git a/heat/ONAP/onap_openstack.yaml b/heat/ONAP/onap_openstack.yaml index 1b9b769a..97f80581 100644 --- a/heat/ONAP/onap_openstack.yaml +++ b/heat/ONAP/onap_openstack.yaml @@ -216,73 +216,62 @@ parameters: # # ########################### - dcaeos_cloud_env: + dnsaas_config_enabled: type: string - description: the cloud flavor of the OpenStack instance where DCAE is deployed + description: whether the DNSaaS configuration section is enabled - dcaeos_keystone_url: + dnsaas_region: type: string - description: the keystone URL of the OpenStack instance where DCAE is deployed + description: the region of the cloud instance providing the Designate DNS as a Service - dcaeos_openstack_region: + dnsaas_tenant_id: type: string - description: the region of the OpenStack instance where DCAE is deployed + description: the (default) tenant id of the cloud instance providing the Designate DNS as a Service - dcaeos_openstack_tenant_id: + dnsaas_keystone_url: type: string - description: the keystone URL of the OpenStack instance where DCAE is deployed + description: the keystone URL of the cloud instance providing the Designate DNS as a Service - dcaeos_openstack_username: + dnsaas_username: type: string - description: the username of the identity API of the OpenStack instance where DCAE is deployed + description: the username of the cloud instance providing the Designate DNS as a Service - dcaeos_openstack_password: + dnsaas_password: type: string - description: the password of the identity API of the OpenStack instance where DCAE is deployed + description: the password of the cloud instance providing the Designate DNS as a Service - dcaeos_dcae_key_name: + dcae_keystone_url: type: string - description: the key-pair name uploaded to the OpenStack instance where DCAE is deployed + description: the keystone URL for DCAE to use (via MultiCloud) - dcaeos_dcae_pub_key: + dcae_key_name: type: string - description: the public key of the key-pair uploaded to the OpenStack instance where DCAE is deployed + description: the name of the keypair on-boarded with Cloud - dcaeos_private_key: + dcae_private_key: type: string - description: the private key of the key-pair uploaded to the OpenStack instance where DCAE is deployed + description: the private key of the key-apir used between the DCAE bootstrap container and DCAE VMs - dcaeos_openstack_private_network_name: + dcae_public_key: type: string - description: the name/id of the network used as DCAE internal network in the OpenStack instance where DCAE is deployed + description: the prublic key of the key-apir used between the DCAE bootstrap container and DCAE VMs - dcaeos_public_net_id: + dcae_centos_7_image: type: string - description: the name/id of the network where DCAE gets floating IPs from in the OpenStack instance where DCAE is deployed + description: the id/name of the CentOS 7 VM imange - dcaeos_ubuntu_1604_image: + dcae_security_group: type: string - description: the name/id of the Ubuntu1604 VM image in the OpenStack instance where DCAE is deployed + description: the security group to be used by DCAE VMs - dcaeos_centos_7_image: - type: string - description: the name/id of the CentOS7 VM image in the OpenStack instance where DCAE is deployed - - dcaeos_security_group: - type: string - description: the name/id of the security group to be used by DCAE VMs in the OpenStack instance where DCAE is deployed - - dcaeos_flavor_id: - type: string - description: the name/id of the VM flavor to be used by DCAE VMs in the OpenStack instance where DCAE is deployed # dcae_base_environment: # type: string # description: DCAE Base Environment configuration (RACKSPACE/2-NIC/1-NIC-FLOATING-IPS) - dcae_zone: - type: string - description: DCAE Zone to use in VM names created by DCAE controller +# dcae_zone: +# type: string +# description: DCAE Zone to use in VM names created by DCAE controller # dcae_state: # type: string @@ -1717,7 +1706,6 @@ resources: user_data: str_replace: params: - __dcae_zone__: { get_param: dcae_zone } __rand_str__: { get_resource: random-str } # repo related __artifacts_version__: { get_param: artifacts_version } @@ -1734,40 +1722,45 @@ resources: __dcae_float_ip__: { get_attr: [dcae_c_floating_ip, floating_ip_address] } __dns_ip_addr__: { get_param: dns_ip_addr } __external_dns__: { get_param: external_dns } - # conf for the OpenStack env where DCAE is deployed - __dcaeos_cloud_env__: { get_param: dcaeos_cloud_env } - __dcaeos_keystone_url__: { get_param: dcaeos_keystone_url } - __dcaeos_openstack_region__: { get_param: dcaeos_openstack_region } - __dcaeos_tenant_id__: { get_param: dcaeos_openstack_tenant_id } - __dcaeos_openstack_user__: { get_param: dcaeos_openstack_username } - __dcaeos_openstack_password__: { get_param: dcaeos_openstack_password } - __dcaeos_key_name__: { get_param: dcaeos_dcae_key_name } - __dcaeos_pub_key__: { get_param: dcaeos_dcae_pub_key } - __dcaeos_private_key__: { get_param: dcaeos_private_key } - __dcaeos_openstack_private_network_name__: { get_param: dcaeos_openstack_private_network_name } - __dcaeos_public_net_id__: { get_param: dcaeos_public_net_id } - __dcaeos_ubuntu_1604_image__: { get_param: dcaeos_ubuntu_1604_image } - __dcaeos_centos_7_image__: { get_param: dcaeos_centos_7_image } - __dcaeos_security_group__ : { get_param: dcaeos_security_group } - __dcaeos_flavor_id__: { get_param: dcaeos_flavor_id } + # conf for VMs DCAE is to bringup + __openstack_keystone_url__: { get_param: keystone_url } + __dcae_keystone_url__: { get_param: dcae_keystone_url } + __dcaeos_cloud_env__: { get_param: cloud_env } + __dcaeos_keystone_url__: { get_param: dcae_keystone_url } + __dcaeos_region__: { get_param: openstack_region } + __dcaeos_tenant_id__: { get_param: openstack_tenant_id } + __dcaeos_username__: { get_param: openstack_username } + __dcaeos_password__: { get_param: openstack_api_key } + __dcaeos_key_name__: { get_attr: [vm_key, name] } + __dcaeos_key_name__: { get_param: dcae_key_name } + __dcaeos_public_key__: { get_param: dcae_public_key } + __dcaeos_private_key__: { get_param: dcae_private_key } + __dcaeos_private_network_name__: { get_attr: [oam_onap, name] } + __dcaeos_public_network_name__: { get_param: public_net_id } + __dcaeos_ubuntu_1604_image__: { get_param: ubuntu_1604_image } + __dcaeos_centos_7_image__: { get_param: dcae_centos_7_image } + __dcaeos_security_group__ : { get_param: dcae_security_group } + __dcaeos_flavor_id__: { get_param: flavor_medium } + __dcaeos_dnsaas_config_enabled__: { get_param: dnsaas_config_enabled } + __dcaeos_dnsaas_region__: { get_param: dnsaas_region } + __dcaeos_dnsaas_tenant_id__: { get_param: dnsaas_tenant_id} + __dcaeos_dnsaas_keystone_url__: { get_param: dnsaas_keystone_url } + __dcaeos_dnsaas_username__: { get_param: dnsaas_username } + __dcaeos_dnsaas_password__: { get_param: dnsaas_password } # fixed private IPs __mr_ip_addr__: { get_param: mr_ip_addr } __policy_ip_addr__: { get_param: policy_ip_addr } __sdc_ip_addr__: { get_param: sdc_ip_addr } + __openo_ip_addr__: { get_param: openo_ip_addr } + __aai1_ip_addr__: { get_param: aai1_ip_addr } + __aai2_ip_addr__: { get_param: aai2_ip_addr } # floating IPs __dns_floating_ip_addr__: { get_attr: [dns_floating_ip, floating_ip_address] } __aai1_floating_ip_addr__: { get_attr: [aai1_floating_ip, floating_ip_address] } __aai2_floating_ip_addr__: { get_attr: [aai2_floating_ip, floating_ip_address] } - __so_floating_ip_addr__: { get_attr: [so_floating_ip, floating_ip_address] } __mrouter_floating_ip_addr__: { get_attr: [mrouter_floating_ip, floating_ip_address] } - __robot_floating_ip_addr__: { get_attr: [robot_floating_ip, floating_ip_address] } - __vid_floating_ip_addr__: { get_attr: [vid_floating_ip, floating_ip_address] } - __sdnc_floating_ip_addr__: { get_attr: [sdnc_floating_ip, floating_ip_address] } __sdc_floating_ip_addr__: { get_attr: [sdc_floating_ip, floating_ip_address] } - __portal_floating_ip_addr__: { get_attr: [portal_floating_ip, floating_ip_address] } __policy_floating_ip_addr__: { get_attr: [policy_floating_ip, floating_ip_address] } - __appc_floating_ip_addr__: { get_attr: [appc_floating_ip, floating_ip_address] } - __clamp_floating_ip_addr__: { get_attr: [clamp_floating_ip, floating_ip_address] } __openo_floating_ip_addr__: { get_attr: [openo_floating_ip, floating_ip_address] } __dcae_c_floating_ip_addr__: { get_attr: [dcae_c_floating_ip, floating_ip_address] } @@ -1794,41 +1787,44 @@ resources: echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt echo "__external_dns__" > /opt/config/external_dns.txt # conf for the OpenStack env where DCAE is deployed + echo "__openstack_keystone_url__" > /opt/config/openstack_keystone_url.txt echo "__dcaeos_cloud_env__" > /opt/config/cloud_env.txt echo "__dcaeos_keystone_url__" > /opt/config/keystone_url.txt - echo "__dcaeos_openstack_region__" > /opt/config/openstack_region.txt + echo "__dcaeos_region__" > /opt/config/openstack_region.txt echo "__dcaeos_tenant_id__" > /opt/config/tenant_id.txt echo "__dcaeos_tenant_id__" > /opt/config/tenant_name.txt - echo "__dcaeos_openstack_user__" > /opt/config/openstack_user.txt - echo "__dcaeos_openstack_password__" > /opt/config/openstack_password.txt + echo "__dcaeos_username__" > /opt/config/openstack_user.txt + echo "__dcaeos_password__" > /opt/config/openstack_password.txt echo "__dcaeos_key_name__" > /opt/config/key_name.txt - echo "__dcaeos_pub_key__" > /opt/config/pub_key.txt + echo "__dcaeos_public_key__" > /opt/config/pub_key.txt echo "__dcaeos_private_key__" > /opt/config/priv_key - echo "__dcaeos_openstack_private_network_name__" > /opt/config/openstack_private_network_name.txt - echo "__dcaeos_public_net_id__" > /opt/config/public_net_id.txt + echo "__dcaeos_private_network_name__" > /opt/config/openstack_private_network_name.txt + echo "__dcaeos_public_network_name__" > /opt/config/public_net_id.txt echo "__dcaeos_ubuntu_1604_image__" > /opt/config/ubuntu_1604_image.txt echo "__dcaeos_centos_7_image__" > /opt/config/centos_7_image.txt echo "__dcaeos_security_group__" > /opt/config/security_group.txt echo "__dcaeos_flavor_id__" > /opt/config/flavor_id.txt + echo "__dcaeos_dnsaas_config_enabled__" > /opt/config/dnsaas_config_enabled.txt + echo "__dcaeos_dnsaas_region__" > /opt/config/dnsaas_region.txt + echo "__dcaeos_dnsaas_tenant_id__" > /opt/config/dnsaas_tenant_id.txt + echo "__dcaeos_dnsaas_keystone_url__" > /opt/config/dnsaas_keystone_url.txt + echo "__dcaeos_dnsaas_username__" > /opt/config/dnsaas_username.txt + echo "__dcaeos_dnsaas_password__" > /opt/config/dnsaas_password.txt # fixed private IP addresses of other ONAP components echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt echo "__policy_ip_addr__" > /opt/config/policy_ip_addr.txt echo "__sdc_ip_addr__" > /opt/config/sdc_ip_addr.txt + echo "__openo_ip_addr__" > /opt/config/openo_ip_addr.txt + echo "__aai1_ip_addr__" > /opt/config/aai1_ip_addr.txt + echo "__aai2_ip_addr__" > /opt/config/aai2_ip_addr.txt # floating IPs echo "__dns_floating_ip_addr__" > /opt/config/dns_floating_ip_addr.txt echo "__aai1_floating_ip_addr__" > /opt/config/aai1_floating_ip_addr.txt echo "__aai2_floating_ip_addr__" > /opt/config/aai2_floating_ip_addr.txt - echo "__so_floating_ip_addr__" > /opt/config/so_floating_ip_addr.txt echo "__mrouter_floating_ip_addr__" > /opt/config/mrouter_floating_ip_addr.txt - echo "__robot_floating_ip_addr__" > /opt/config/robot_floating_ip_addr.txt - echo "__vid_floating_ip_addr__" > /opt/config/vid_floating_ip_addr.txt - echo "__sdnc_floating_ip_addr__" > /opt/config/sdnc_floating_ip_addr.txt echo "__sdc_floating_ip_addr__" > /opt/config/sdc_floating_ip_addr.txt - echo "__portal_floating_ip_addr__" > /opt/config/portal_floating_ip_addr.txt echo "__policy_floating_ip_addr__" > /opt/config/policy_floating_ip_addr.txt - echo "__appc_floating_ip_addr__" > /opt/config/appc_floating_ip_addr.txt - echo "__clamp_floating_ip_addr__" > /opt/config/clamp_floating_ip_addr.txt - echo "__openo_floating_ip_addr__" > /opt/config/opoeno_floating_ip_addr.txt + echo "__openo_floating_ip_addr__" > /opt/config/openo_floating_ip_addr.txt echo "__dcae_c_floating_ip_addr__" > /opt/config/dcae_c_floating_ip_addr.txt # Download and run install script |