diff options
Diffstat (limited to 'robot')
18 files changed, 269 insertions, 281 deletions
diff --git a/robot/assets/templates/appc/vnf_mount.template b/robot/assets/templates/appc/vnf_mount.jinja index 8ad11359..14f638fe 100644 --- a/robot/assets/templates/appc/vnf_mount.template +++ b/robot/assets/templates/appc/vnf_mount.jinja @@ -1,9 +1,9 @@ <node xmlns="urn:TBD:params:xml:ns:yang:network-topology"> - <node-id>${nodeid}</node-id> - <host xmlns="urn:opendaylight:netconf-node-topology">${host}</host> - <port xmlns="urn:opendaylight:netconf-node-topology">${port}</port> - <username xmlns="urn:opendaylight:netconf-node-topology">${username}</username> - <password xmlns="urn:opendaylight:netconf-node-topology">${password}</password> + <node-id>{{nodeid}}</node-id> + <host xmlns="urn:opendaylight:netconf-node-topology">{{host}}</host> + <port xmlns="urn:opendaylight:netconf-node-topology">{{port}}</port> + <username xmlns="urn:opendaylight:netconf-node-topology">{{username}}</username> + <password xmlns="urn:opendaylight:netconf-node-topology">{{password}}</password> <tcp-only xmlns="urn:opendaylight:netconf-node-topology">false</tcp-only> <!-- non-mandatory fields with default values, you can safely remove these if you do not wish to override any of these values--> <reconnect-on-changed-schema xmlns="urn:opendaylight:netconf-node-topology">false</reconnect-on-changed-schema> diff --git a/robot/assets/templates/cds/vfmodule.template b/robot/assets/templates/cds/vfmodule.template deleted file mode 100644 index bde231e0..00000000 --- a/robot/assets/templates/cds/vfmodule.template +++ /dev/null @@ -1,16 +0,0 @@ -{ - "modelInfo": { - "modelType": "vfModule", - "modelName": "${vf_module_model_name}", - "modelVersionId": "${vf_module_model_version_id}", - "modelCustomizationId": "${vf_module_model_customization_id}" - }, - "instanceName": "${vf_module_name}", - "instanceParams": [ - { - "vfw_param1": "24", - "vfw_param2": "24", - "vfw_param3": "24" - } - ] -} diff --git a/robot/assets/templates/cds/vnf.template b/robot/assets/templates/cds/vnf.template deleted file mode 100644 index 954654e6..00000000 --- a/robot/assets/templates/cds/vnf.template +++ /dev/null @@ -1,23 +0,0 @@ -{ - "modelInfo": { - "modelType": "vnf", - "modelName": "${vnf_model_name}", - "modelVersionId": "${vnf_model_version_id}", - "modelCustomizationName": "${vnf_model_customization_name}", - "modelCustomizationId": "${vnf_model_customization_id}" - }, - "cloudConfiguration": { - "lcpCloudRegionId": "${cloud_region}", - "tenantId": "${tenant_id}" - }, - "platform": { - "platformName": "test" - }, - "lineOfBusiness": { - "lineOfBusinessName": "someValue" - }, - "productFamilyId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", - "instanceName": "${vnf_name}", - "instanceParams": [], - "vfModules": [${vf_modules}] -} diff --git a/robot/assets/templates/cds/so_request.template b/robot/assets/templates/so/cds_request.jinja index bf0a8edb..bd82bc74 100644 --- a/robot/assets/templates/cds/so_request.template +++ b/robot/assets/templates/so/cds_request.jinja @@ -1,29 +1,29 @@ { "requestDetails" : { "subscriberInfo" : { - "globalSubscriberId" : "${subscriber_id}" + "globalSubscriberId" : "{{subscriber_id}}" }, "requestInfo" : { "suppressRollback" : true, "productFamilyId" : "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", "requestorId" : "ym9479", - "instanceName" : "${service_instance_name}", + "instanceName" : "{{service_instance_name}}", "source" : "VID" }, "requestParameters" : { - "subscriptionServiceType" : "${subscription_service_type}", + "subscriptionServiceType" : "{{subscription_service_type}}", "userParams" : [ { "service" : { "instanceParams" : [], - "instanceName" : "${service_instance_name}", + "instanceName" : "{{service_instance_name}}", "resources" : { - "vnfs" : ${vnfs} + "vnfs" : {{vnfs} }, "modelInfo" : { "modelType" : "service", - "modelName" : "${service_model_name}", - "modelVersionId" : "${service_model_UUID}" + "modelName" : "{{service_model_name}}", + "modelVersionId" : "{{service_model_UUID}}" } } } @@ -39,9 +39,9 @@ }, "modelInfo" : { "modelVersion" : "10.0", - "modelVersionId" : "${service_model_UUID}", - "modelInvariantId" : "${service_model_invariantUUID}", - "modelName" : "${service_model_name}", + "modelVersionId" : "{{service_model_UUID}}", + "modelInvariantId" : "{{service_model_invariantUUID}}", + "modelName" : "{{service_model_name}}", "modelType" : "service" } } diff --git a/robot/assets/templates/so/cds_vfmodule.jinja b/robot/assets/templates/so/cds_vfmodule.jinja new file mode 100644 index 00000000..b4b7d7e0 --- /dev/null +++ b/robot/assets/templates/so/cds_vfmodule.jinja @@ -0,0 +1,16 @@ +{ + "modelInfo": { + "modelType": "vfModule", + "modelName": "{{vf_module_model_name}}", + "modelVersionId": "{{vf_module_model_version_id}}", + "modelCustomizationId": "{{vf_module_model_customization_id}}" + }, + "instanceName": "{{vf_module_name}}", + "instanceParams": [ + { + "vfw_param1": "24", + "vfw_param2": "24", + "vfw_param3": "24" + } + ] +} diff --git a/robot/assets/templates/so/cds_vnf.jinja b/robot/assets/templates/so/cds_vnf.jinja new file mode 100644 index 00000000..d3aa35d1 --- /dev/null +++ b/robot/assets/templates/so/cds_vnf.jinja @@ -0,0 +1,23 @@ +{ + "modelInfo": { + "modelType": "vnf", + "modelName": "{{vnf_model_name}}", + "modelVersionId": "{{vnf_model_version_id}}", + "modelCustomizationName": "{{vnf_model_customization_name}}", + "modelCustomizationId": "{{vnf_model_customization_id}}" + }, + "cloudConfiguration": { + "lcpCloudRegionId": "{{cloud_region}}", + "tenantId": "{{tenant_id}}" + }, + "platform": { + "platformName": "test" + }, + "lineOfBusiness": { + "lineOfBusinessName": "someValue" + }, + "productFamilyId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", + "instanceName": "{{vnf_name}}", + "instanceParams": [], + "vfModules": [{{vf_modules}}] +} diff --git a/robot/assets/templates/web/index.html.jinja b/robot/assets/templates/web/index.html.jinja new file mode 100644 index 00000000..e8cd8b51 --- /dev/null +++ b/robot/assets/templates/web/index.html.jinja @@ -0,0 +1,192 @@ +<html><head> + <title>Quicklinks To Running Instances</title> + </head> + + <body> + <h1>The Portal</h1> + + The portal is the entry point to design/provision/operate ONAP. From there you can get to SDC, VID and Policy portals. + + The portal can be found at:<p> + + <a href="http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/login.htm">Portal</a> + <p> + One requires role based user names and passwords to receive the full portal functionality. In the demo setup we pre provisioned: + <p> + <ul> + <li> jh0003 Admin </li> + <li> cs0008 Designer </li> + <li> jm0007 Tester </li> + <li> op0001 Operator </li> + <li> gv0001 Governance </li> + <li> pm0001 Product Manager </li> + <li> ps0001 Product Strategy </li> + </ul> + <p> + the password for all of them is: demo123456! + + <h3>/etc/hosts or C:\Windows\system32\drivers\etc\hosts</h> + <pre> + +{{portal}}}}portal portal.api.simpledemo.onap.org +{{sdc}} sdc sdc.api.simpledemo.onap.org +{{vid}} vid vid.api.simpledemo.onap.org +{{policy}} policy policy.api.simpledemo.onap.org +{{aai1}} aai1 aai.api.simpledemo.onap.org + +{{robot}} robot +{{appc}} appc +{{mso}} so +{{sdnc}} sdnc +{{openo}} multi-service +{{dcae_controller}} dcae +{{message_router}} message-router +{{bus_controller}} dmaap-bc +{{clamp}} clamp + +{{portal}} {{prefix}}-portal +{{sdc}} {{prefix}}-sdc +{{vid}} {{prefix}}-vid +{{policy}} {{prefix}}-policy +{{aai1}} {{prefix}}-aai1 +{{robot}} {{prefix}}-robot +{{appc}} {{prefix}}-appc +{{mso}} {{prefix}}-so +{{sdnc}} {{prefix}}-sdnc +{{openo}} {{prefix}}-multi-service +{{dcae_controller}} {{prefix}}-dcae +{{message_router}} {{prefix}}-message-router +{{clamp}} {{prefix}}-clamp + + </pre> + + <h1> The Reality </h1> + + As everything should go through the portal there are many subsystems which have there own GUI or API which come in very handy when debugging things. Here the most important once. + + <h2> Testing </h2> + + <h3>Robot Logs</h3> + + <a href="http://{{robot}}:88/logs/"> Robot Logs </a> + + <h3>Robot vm_properties.py for local testing</h3> + <pre> +GLOBAL_INJECTED_ARTIFACTS_VERSION = "{{GLOBAL_INJECTED_ARTIFACTS_VERSION}}" +GLOBAL_INJECTED_GITLAB_PASSWORD = "password" +GLOBAL_INJECTED_GITLAB_USERNAME = "username" +GLOBAL_INJECTED_NETWORK = "{{GLOBAL_INJECTED_NETWORK}}" +GLOBAL_INJECTED_NEXUS_DOCKER_REPO = "{{GLOBAL_INJECTED_NEXUS_DOCKER_REPO}}" +GLOBAL_INJECTED_NEXUS_PASSWORD = "password" +GLOBAL_INJECTED_NEXUS_USERNAME = "docker" +GLOBAL_INJECTED_OPENSTACK_API_KEY = "openstackapikey" +GLOBAL_INJECTED_OPENSTACK_PASSWORD = "openstackpass" +GLOBAL_INJECTED_OPENSTACK_USERNAME = "openstackuser" +GLOBAL_INJECTED_OPENSTACK_TENANT_ID = "{{GLOBAL_INJECTED_OPENSTACK_TENANT_ID}}" +GLOBAL_INJECTED_REGION = "{{GLOBAL_INJECTED_REGION}}" +GLOBAL_INJECTED_KEYSTONE = "{{GLOBAL_INJECTED_KEYSTONE}}" +GLOBAL_INJECTED_AAI1_IP_ADDR = "{{aai1}}" +GLOBAL_INJECTED_APPC_IP_ADDR = "{{appc}}" +GLOBAL_INJECTED_DCAE_IP_ADDR = "{{dcae_controller}}" +GLOBAL_INJECTED_SO_IP_ADDR = "{{mso}}" +GLOBAL_INJECTED_MR_IP_ADDR = "{{message_router}}" +GLOBAL_INJECTED_BC_IP_ADDR = "{{bus_controller}}" +GLOBAL_INJECTED_POLICY_IP_ADDR = "{{policy}}" +GLOBAL_INJECTED_PORTAL_IP_ADDR = "{{portal}}" +GLOBAL_INJECTED_SDC_IP_ADDR = "{{sdc}}" +GLOBAL_INJECTED_SDNC_IP_ADDR = "{{sdnc}}" +GLOBAL_INJECTED_VID_IP_ADDR = "{{vid}}" +GLOBAL_INJECTED_MSB_IP_ADDR = "{{openo}}" +GLOBAL_INJECTED_CLAMP_IP_ADDR = "{{clamp}}" +GLOBAL_INJECTED_VM_FLAVOR = "{{GLOBAL_INJECTED_VM_FLAVOR}}" +GLOBAL_INJECTED_VM_IMAGE_NAME = "{{GLOBAL_INJECTED_VM_IMAGE_NAME}}" +GLOBAL_INJECTED_PUBLIC_NET_ID = "{{GLOBAL_INJECTED_PUBLIC_NET_ID}}" + + </pre> + + <h2> SDN-C </h2> + + <a href="http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@{{sdnc}}:8282/apidoc/explorer/index.html"> Controller </a> with admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U <p> + + <a href="http://{{sdnc}}:8843/signup"> To sign up </a> <p> + <a href="http://{{sdnc}}:8843/login"> Admin </a> <p> + + <h2> App-C </h2> + + <a href="http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@{{appc}}:8282/apidoc/explorer/index.html"> Controller </a> with admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U <p> + + <h2> Policy </h2> + + <b> Not working. </b> : + <a href="http://healthcheck:zb!XztG34@{{policy}}:6969/healthcheck"> Healthcheck </a> <p> + + <h2> MSO </h2> + + <a href="http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@{{mso}}:9990/"> JBOSS GUI </a> with admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U <p> + + <a href="http://{{mso}}:8080/camunda"> Camunda GUI </a> with admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U <p> + + <h2> DCAE </h2> + + <h3> General GUIs </h3> + <a href="http://console:ZjJkYjllMjljMTI2M2Iz@{{dcae_controller}}:9998/resources"> DCAE Controller </a> + This might show up empty in a web browser as no content type is set in the response. If that's the case use curl: <p> + + curl http://console:ZjJkYjllMjljMTI2M2Iz@{{dcae_controller}}:9998/resources <p> + + <a href="http://{{dcae_cdap}}:9999/ns/TCA/apps/dcae-tca/programs/flows/TCAVESCollectorFlow/runs"> CDAP GUI </a> <p> + + <h3> DCAE internal Message Router </h3> + + <a href="http://{{dcae_coll}}:3904/topics"> Topics </a> <p> + + <a href="http://{{dcae_coll}}:3904/events/unauthenticated.SEC_MEASUREMENT_OUTPUT/monitor/0?timeout=10000"> MR topic for collector to TCA </a> <p> + + <a href="http://{{dcae_coll}}:3904/events/unauthenticated.TCA_EVENT_OUTPUT/monitor/0?timeout=10000"> MR topic for TCA alert to Policy </a> <p> + + <h2> Message Router used between core components </h2> + + <a href="http://{{message_router}}:3904/topics"> List of Topics </a> <p> + + <h3> Topics of Interest </h3> + + For topics without authentication one can monitor the traffic on a topic with: <p> + + http://{{message_router}}:3904/events/PUT_TOPIC_HERE/group1/C1?timeout=5000 <p> + + some important once listed below. <p> + + <ul> + <li> <a href="http://{{message_router}}:3904/events/APPC-CL/monitor/0?timeout=10000"> APPC-CL Topic -- Policy Publishes Requests and APP-C publishes response </a> + <li> <a href="http://{{message_router}}:3904/events/PDPP-CONFIGURATION/monitor/0?timeout=10000"> PDPD-CONFIGURATION Topic </a> + <li> <a href="http://{{message_router}}:3904/events/POLICY-CL-MGT/monitor/0?timeout=10000"> POLICY-CL-MGT Topic -- Control loop operational policy </a> + <li> <a href="http://{{message_router}}:3904/events/DCAE-CL-EVENT/monitor/0?timeout=10000"> DCAE-CL-EVENT Topic -- Provides the Analytics output from DCAE</a> + + </ul> + + <h1> SSH to VM </h1> + + The following links will open a shell and ssh to the various running VMs (at least on a Mac). It assumes that the .ssh/config file has been set appropriately and /etc/hosts has been updated to the running instance.<p> + + <a href="ssh://{{aai1}}"> AAI1 </a><p> + <a href="ssh://{{policy}}"> Policy </a><p> + <a href="ssh://{{sdc}}"> SDC </a><p> + <a href="ssh://{{portal}}"> Portal </a><p> + <a href="ssh://{{dcae_controller}}"> DCAE </a><p> + <a href="ssh://{{appc}}"> APP-C </a><p> + <a href="ssh://{{mso}}"> MSO </a><p> + <a href="ssh://{{sdnc}}"> SDN-C </a><p> + <a href="ssh://{{vid}}"> VID </a><p> + <a href="ssh://{{message_router}}"> Message Router </a><p> + <a href="ssh://{{robot}}"> Robot Framework for testing </a><p> + <a href="ssh://{{onapdns}}"> DNS server for management network </a><p> + + Inside the VM you can list the docker containers by typing: <p> + docker ps <p> + and can get a shell prompt by executing the bash command. + For example: <p> docker exec -it openecompete_container bash <p> + + + + +</body></html> diff --git a/robot/assets/templates/web/index.html.template b/robot/assets/templates/web/index.html.template deleted file mode 100644 index 5e156c41..00000000 --- a/robot/assets/templates/web/index.html.template +++ /dev/null @@ -1,192 +0,0 @@ -<html><head> - <title>Quicklinks To Running Instances</title> - </head> - - <body> - <h1>The Portal</h1> - - The portal is the entry point to design/provision/operate ONAP. From there you can get to SDC, VID and Policy portals. - - The portal can be found at:<p> - - <a href="http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/login.htm">Portal</a> - <p> - One requires role based user names and passwords to receive the full portal functionality. In the demo setup we pre provisioned: - <p> - <ul> - <li> jh0003 Admin </li> - <li> cs0008 Designer </li> - <li> jm0007 Tester </li> - <li> op0001 Operator </li> - <li> gv0001 Governance </li> - <li> pm0001 Product Manager </li> - <li> ps0001 Product Strategy </li> - </ul> - <p> - the password for all of them is: demo123456! - - <h3>/etc/hosts or C:\Windows\system32\drivers\etc\hosts</h> - <pre> - -${portal} portal portal.api.simpledemo.onap.org -${sdc} sdc sdc.api.simpledemo.onap.org -${vid} vid vid.api.simpledemo.onap.org -${policy} policy policy.api.simpledemo.onap.org -${aai1} aai1 aai.api.simpledemo.onap.org - -${robot} robot -${appc} appc -${mso} so -${sdnc} sdnc -${openo} multi-service -${dcae_controller} dcae -${message_router} message-router -${bus_controller} dmaap-bc -${clamp} clamp - -${portal} ${prefix}-portal -${sdc} ${prefix}-sdc -${vid} ${prefix}-vid -${policy} ${prefix}-policy -${aai1} ${prefix}-aai1 -${robot} ${prefix}-robot -${appc} ${prefix}-appc -${mso} ${prefix}-so -${sdnc} ${prefix}-sdnc -${openo} ${prefix}-multi-service -${dcae_controller} ${prefix}-dcae -${message_router} ${prefix}-message-router -${clamp} ${prefix}-clamp - - </pre> - - <h1> The Reality </h1> - - As everything should go through the portal there are many subsystems which have there own GUI or API which come in very handy when debugging things. Here the most important once. - - <h2> Testing </h2> - - <h3>Robot Logs</h3> - - <a href="http://${robot}:88/logs/"> Robot Logs </a> - - <h3>Robot vm_properties.py for local testing</h3> - <pre> -GLOBAL_INJECTED_ARTIFACTS_VERSION = "${GLOBAL_INJECTED_ARTIFACTS_VERSION}" -GLOBAL_INJECTED_GITLAB_PASSWORD = "password" -GLOBAL_INJECTED_GITLAB_USERNAME = "username" -GLOBAL_INJECTED_NETWORK = "${GLOBAL_INJECTED_NETWORK}" -GLOBAL_INJECTED_NEXUS_DOCKER_REPO = "${GLOBAL_INJECTED_NEXUS_DOCKER_REPO}" -GLOBAL_INJECTED_NEXUS_PASSWORD = "password" -GLOBAL_INJECTED_NEXUS_USERNAME = "docker" -GLOBAL_INJECTED_OPENSTACK_API_KEY = "openstackapikey" -GLOBAL_INJECTED_OPENSTACK_PASSWORD = "openstackpass" -GLOBAL_INJECTED_OPENSTACK_USERNAME = "openstackuser" -GLOBAL_INJECTED_OPENSTACK_TENANT_ID = "${GLOBAL_INJECTED_OPENSTACK_TENANT_ID}" -GLOBAL_INJECTED_REGION = "${GLOBAL_INJECTED_REGION}" -GLOBAL_INJECTED_KEYSTONE = "${GLOBAL_INJECTED_KEYSTONE}" -GLOBAL_INJECTED_AAI1_IP_ADDR = "${aai1}" -GLOBAL_INJECTED_APPC_IP_ADDR = "${appc}" -GLOBAL_INJECTED_DCAE_IP_ADDR = "${dcae_controller}" -GLOBAL_INJECTED_SO_IP_ADDR = "${mso}" -GLOBAL_INJECTED_MR_IP_ADDR = "${message_router}" -GLOBAL_INJECTED_BC_IP_ADDR = "${bus_controller}" -GLOBAL_INJECTED_POLICY_IP_ADDR = "${policy}" -GLOBAL_INJECTED_PORTAL_IP_ADDR = "${portal}" -GLOBAL_INJECTED_SDC_IP_ADDR = "${sdc}" -GLOBAL_INJECTED_SDNC_IP_ADDR = "${sdnc}" -GLOBAL_INJECTED_VID_IP_ADDR = "${vid}" -GLOBAL_INJECTED_MSB_IP_ADDR = "${openo}" -GLOBAL_INJECTED_CLAMP_IP_ADDR = "${clamp}" -GLOBAL_INJECTED_VM_FLAVOR = "${GLOBAL_INJECTED_VM_FLAVOR}" -GLOBAL_INJECTED_VM_IMAGE_NAME = "${GLOBAL_INJECTED_VM_IMAGE_NAME}" -GLOBAL_INJECTED_PUBLIC_NET_ID = "${GLOBAL_INJECTED_PUBLIC_NET_ID}" - - </pre> - - <h2> SDN-C </h2> - - <a href="http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@${sdnc}:8282/apidoc/explorer/index.html"> Controller </a> with admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U <p> - - <a href="http://${sdnc}:8843/signup"> To sign up </a> <p> - <a href="http://${sdnc}:8843/login"> Admin </a> <p> - - <h2> App-C </h2> - - <a href="http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@${appc}:8282/apidoc/explorer/index.html"> Controller </a> with admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U <p> - - <h2> Policy </h2> - - <b> Not working. </b> : - <a href="http://healthcheck:zb!XztG34@${policy}:6969/healthcheck"> Healthcheck </a> <p> - - <h2> MSO </h2> - - <a href="http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@${mso}:9990/"> JBOSS GUI </a> with admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U <p> - - <a href="http://${mso}:8080/camunda"> Camunda GUI </a> with admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U <p> - - <h2> DCAE </h2> - - <h3> General GUIs </h3> - <a href="http://console:ZjJkYjllMjljMTI2M2Iz@${dcae_controller}:9998/resources"> DCAE Controller </a> - This might show up empty in a web browser as no content type is set in the response. If that's the case use curl: <p> - - curl http://console:ZjJkYjllMjljMTI2M2Iz@${dcae_controller}:9998/resources <p> - - <a href="http://${dcae_cdap}:9999/ns/TCA/apps/dcae-tca/programs/flows/TCAVESCollectorFlow/runs"> CDAP GUI </a> <p> - - <h3> DCAE internal Message Router </h3> - - <a href="http://${dcae_coll}:3904/topics"> Topics </a> <p> - - <a href="http://${dcae_coll}:3904/events/unauthenticated.SEC_MEASUREMENT_OUTPUT/monitor/0?timeout=10000"> MR topic for collector to TCA </a> <p> - - <a href="http://${dcae_coll}:3904/events/unauthenticated.TCA_EVENT_OUTPUT/monitor/0?timeout=10000"> MR topic for TCA alert to Policy </a> <p> - - <h2> Message Router used between core components </h2> - - <a href="http://${message_router}:3904/topics"> List of Topics </a> <p> - - <h3> Topics of Interest </h3> - - For topics without authentication one can monitor the traffic on a topic with: <p> - - http://${message_router}:3904/events/PUT_TOPIC_HERE/group1/C1?timeout=5000 <p> - - some important once listed below. <p> - - <ul> - <li> <a href="http://${message_router}:3904/events/APPC-CL/monitor/0?timeout=10000"> APPC-CL Topic -- Policy Publishes Requests and APP-C publishes response </a> - <li> <a href="http://${message_router}:3904/events/PDPP-CONFIGURATION/monitor/0?timeout=10000"> PDPD-CONFIGURATION Topic </a> - <li> <a href="http://${message_router}:3904/events/POLICY-CL-MGT/monitor/0?timeout=10000"> POLICY-CL-MGT Topic -- Control loop operational policy </a> - <li> <a href="http://${message_router}:3904/events/DCAE-CL-EVENT/monitor/0?timeout=10000"> DCAE-CL-EVENT Topic -- Provides the Analytics output from DCAE</a> - - </ul> - - <h1> SSH to VM </h1> - - The following links will open a shell and ssh to the various running VMs (at least on a Mac). It assumes that the .ssh/config file has been set appropriately and /etc/hosts has been updated to the running instance.<p> - - <a href="ssh://${aai1}"> AAI1 </a><p> - <a href="ssh://${policy}"> Policy </a><p> - <a href="ssh://${sdc}"> SDC </a><p> - <a href="ssh://${portal}"> Portal </a><p> - <a href="ssh://${dcae_controller}"> DCAE </a><p> - <a href="ssh://${appc}"> APP-C </a><p> - <a href="ssh://${mso}"> MSO </a><p> - <a href="ssh://${sdnc}"> SDN-C </a><p> - <a href="ssh://${vid}"> VID </a><p> - <a href="ssh://${message_router}"> Message Router </a><p> - <a href="ssh://${robot}"> Robot Framework for testing </a><p> - <a href="ssh://${onapdns}"> DNS server for management network </a><p> - - Inside the VM you can list the docker containers by typing: <p> - docker ps <p> - and can get a shell prompt by executing the bash command. - For example: <p> docker exec -it openecompete_container bash <p> - - - - -</body></html> diff --git a/robot/resources/aai/service_instance.robot b/robot/resources/aai/service_instance.robot index 5a4c4573..fa238ce5 100644 --- a/robot/resources/aai/service_instance.robot +++ b/robot/resources/aai/service_instance.robot @@ -9,7 +9,6 @@ Library OperatingSystem Library RequestsLibrary Library ONAPLibrary.JSON Library ONAPLibrary.Templating -Library StringTemplater Resource ../stack_validation/validate_vlb.robot Resource ../stack_validation/validate_vfw.robot Resource ../stack_validation/validate_vvg.robot diff --git a/robot/resources/appc_interface.robot b/robot/resources/appc_interface.robot index f74ee1de..7aed6e1c 100644 --- a/robot/resources/appc_interface.robot +++ b/robot/resources/appc_interface.robot @@ -2,17 +2,15 @@ Documentation The main interface for interacting with APP-C. It handles low level stuff like managing the http request library and APP-C required fields Library RequestsLibrary Library ONAPLibrary.Utilities -Library OperatingSystem +Library ONAPLibrary.Templating Library SeleniumLibrary -Library StringTemplater -Resource global_properties.robot Resource browser_setup.robot *** Variables *** ${APPC_INDEX_PATH} /restconf ${APPC_HEALTHCHECK_OPERATION_PATH} /operations/SLI-API:healthcheck ${APPC_CREATE_MOUNTPOINT_PATH} /config/network-topology:network-topology/topology/topology-netconf/node/ -${APPC_MOUNT_XML} robot/assets/templates/appc/vnf_mount.template +${APPC_MOUNT_XML} appc/vnf_mount.jinja ${APPC_ENDPOINT} ${GLOBAL_APPC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_APPC_IP_ADDR}:${GLOBAL_APPC_SERVER_PORT} ${APPC_CDT_Config_Scaleout} ${EXECDIR}/robot/assets/templates/appc/template_ConfigScaleOut_vLoadBalancer_vLoadBalancer-test0_0.0.1V_vLB.xml ${APPC_CDT_Config_Scaleout_PD} ${EXECDIR}/robot/assets/templates/appc/pd_ConfigScaleOut_vLoadBalancer_vLoadBalancer-test0_0.0.1V_vLB.yaml @@ -57,8 +55,8 @@ Create Mount Point In APPC [Documentation] Go tell APPC about the PGN we just spun up... [Arguments] ${nodeid} ${host} ${port}=${GLOBAL_PGN_PORT} ${username}=admin ${password}=admin ${dict}= Create Dictionary nodeid=${nodeid} host=${host} port=${port} username=${username} password=${password} - ${template}= OperatingSystem.Get File ${APPC_MOUNT_XML} - ${data}= Template String ${template} ${dict} + Create Environment appc ${GLOBAL_TEMPLATE_FOLDER} + ${data}= Apply Template appc ${APPC_MOUNT_XML} ${dict} ${resp}= Run APPC Put Request ${APPC_INDEX PATH}${APPC_CREATE_MOUNTPOINT_PATH}${nodeid} ${data} Should Be True 200 <= ${resp.status_code} < 300 [Return] ${resp} diff --git a/robot/resources/asdc_interface.robot b/robot/resources/asdc_interface.robot index 80ecc35f..fe33e07c 100644 --- a/robot/resources/asdc_interface.robot +++ b/robot/resources/asdc_interface.robot @@ -7,7 +7,6 @@ Library OperatingSystem Library Collections Library SeleniumLibrary Library String -Library StringTemplater Library ArchiveLibrary Library ONAPLibrary.Openstack Library DateTime diff --git a/robot/resources/heatbridge.robot b/robot/resources/heatbridge.robot index 90725177..f91f9c4e 100644 --- a/robot/resources/heatbridge.robot +++ b/robot/resources/heatbridge.robot @@ -1,7 +1,6 @@ *** Settings *** Library HeatBridge Library Collections -Library StringTemplater Library OperatingSystem Library ONAPLibrary.ServiceMapping Library ONAPLibrary.Templating @@ -73,8 +72,7 @@ Run Create VNFC Return From Keyword If '${resp.status_code}' != '200' ${info}= Set Variable ${resp.json()} ${keys}= Create Dictionary - Set To Dictionary ${keys} vserver_name=${info['server']['name']} - ${vnfc_name}= Template String ${VSERVER_NAME} ${keys} + ${vnfc_name}= Catenate \ ${info['server']['name']} ${vnfc_nc}= Set Variable ${service} ${vnfc_func}= Set Variable ${service} Create VNFC If Not Exists ${vnfc_name} ${vnfc_nc} ${vnfc_func} diff --git a/robot/resources/portal-sdk/portalDef.robot b/robot/resources/portal-sdk/portalDef.robot index 3cd2a6f4..b6f8e577 100644 --- a/robot/resources/portal-sdk/portalDef.robot +++ b/robot/resources/portal-sdk/portalDef.robot @@ -5,7 +5,6 @@ Library OperatingSystem Library RequestsLibrary Library DateTime Library Collections -Library StringTemplater Library String Library ONAPLibrary.Templating diff --git a/robot/resources/sdngc_interface.robot b/robot/resources/sdngc_interface.robot index 988fe4c9..f36e08e0 100644 --- a/robot/resources/sdngc_interface.robot +++ b/robot/resources/sdngc_interface.robot @@ -5,7 +5,6 @@ Library ONAPLibrary.Utilities Library SeleniumLibrary Library Collections Library String -Library StringTemplater Library ONAPLibrary.ServiceMapping Library ONAPLibrary.Templating Resource global_properties.robot diff --git a/robot/resources/stack_validation/packet_generator_interface.robot b/robot/resources/stack_validation/packet_generator_interface.robot index 5482aaa3..85b997d2 100644 --- a/robot/resources/stack_validation/packet_generator_interface.robot +++ b/robot/resources/stack_validation/packet_generator_interface.robot @@ -1,7 +1,6 @@ *** Settings *** Documentation The main interface for interacting with A&AI. It handles low level stuff like managing the http request library and A&AI required fields Library RequestsLibrary -Library StringTemplater Library ONAPLibrary.Utilities Library ONAPLibrary.Templating Library OperatingSystem @@ -19,7 +18,7 @@ ${PGN_ENABLE_STREAMS_V2_TEMPLATE} vfw/vfw_pg_streams_v2.jinja Connect To Packet Generator [Documentation] Enables packet generator for the passed stream on the passed host [Arguments] ${host} ${alias}=pgn - ${map}= Create Dictionary host=${host} port=${GLOBAL_PACKET_GENERATOR_PORT} path=${PGN_PATH} + ${map}= Create Dictionary host=${host} port=${GLOBAL_PACKET_GENERATOR_PORT} ${url}= Template String ${PGN_URL_TEMPLATE} ${map} ${auth}= Create List ${GLOBAL_PACKET_GENERATOR_USERNAME} ${GLOBAL_PACKET_GENERATOR_PASSWORD} ${session}= Create Session ${alias} ${url} auth=${auth} diff --git a/robot/resources/test_templates/vnf_orchestration_with_cds_test_template.robot b/robot/resources/test_templates/vnf_orchestration_with_cds_test_template.robot index f11715e3..952882d2 100644 --- a/robot/resources/test_templates/vnf_orchestration_with_cds_test_template.robot +++ b/robot/resources/test_templates/vnf_orchestration_with_cds_test_template.robot @@ -21,22 +21,21 @@ Resource ../global_properties.robot Resource ../so_interface.robot Library ONAPLibrary.Openstack -Library ONAPLibrary.Utilities +Library ONAPLibrary.Utilities +Library ONAPLibrary.Templating Library Collections Library String Library ONAPLibrary.JSON Library RequestsLibrary -Library OperatingSystem -Library StringTemplater -Library Collections +Library Collections *** Variables *** ${service_template} robot/assets/cds/service-Vfirewall0911-template.yml ${env} robot/assets/cds/env.yml -${so_request_template} robot/assets/templates/cds/so_request.template -${vnf_template_name} robot/assets/templates/cds/vnf.template -${vfmodule_template_name} robot/assets/templates/cds/vfmodule.template +${so_request_template} so/cds_request.jinja +${vnf_template_name} so/cds_vnf.jinja +${vfmodule_template_name} so/cds_vfmodule.jinja ${so_uri_path} /onap/so/infra/serviceInstantiation/v7/serviceInstances *** Variables *** @@ -87,6 +86,7 @@ Orchestrate VNF With CDS ${list}= Create List ${vnfs}= Get From Dictionary ${jsondata['topology_template']} node_templates ${keys}= Get Dictionary Keys ${vnfs} + Create Environment cds ${GLOBAL_TEMPLATE_FOLDER} :FOR ${key} IN @{keys} \ ${vnf}= Get From Dictionary ${vnfs} ${key} \ Get VNF Info ${key} ${vnf} ${dict} @@ -95,13 +95,11 @@ Orchestrate VNF With CDS \ ${value}= Convert To Lowercase ${value} \ ${vfmodules}= Get VFModule Info ${jsondata} ${value} ${dict} \ Set To Dictionary ${dict} vf_modules=${vfmodules} - \ ${vnf_template}= OperatingSystem.Get File ${vnf_template_name} - \ ${vnf_payload}= Template String ${vnf_template} ${dict} + \ ${vnf_payload}= Apply Template cds ${vnf_template_name} ${dict} \ ${data}= Catenate [${vnf_payload}] Set To Dictionary ${dict} vnfs=${data} - ${resp}= OperatingSystem.Get File ${so_request_template} - ${request}= Template String ${resp} ${dict} + ${request}= Apply Template cds ${so_request_template} ${dict} Log To Console --------request-------- Log to console ${request} Log To Console --------end request-------- @@ -134,12 +132,12 @@ Get VFModule Info ${keys}= Get Dictionary Keys ${vfModules} ${data}= Catenate ${delim}= Catenate + Create Environment cds ${GLOBAL_TEMPLATE_FOLDER} :FOR ${key} IN @{keys} \ ${module}= Get From Dictionary ${vfModules} ${key} \ Log to console ${vnf} ${key} \ Run keyword if "${vnf}" in "${key}" set vfmodule param ${key} ${module} ${dict} - \ ${vfmodule_template}= OperatingSystem.Get File ${vfmodule_template_name} - \ ${vfmodule_payload}= Template String ${vfmodule_template} ${dict} + \ ${vfmodule_payload}= Apply Template cds ${vfmodule_template_name} ${dict} \ ${data}= Catenate ${data} ${delim} ${vfmodule_payload} \ ${delim}= Catenate , Log To Console ${data} diff --git a/robot/resources/vid/teardown_vid.robot b/robot/resources/vid/teardown_vid.robot index ef65598b..d6880289 100644 --- a/robot/resources/vid/teardown_vid.robot +++ b/robot/resources/vid/teardown_vid.robot @@ -1,13 +1,12 @@ *** Settings *** Documentation The main interface for interacting with VID. It handles low level stuff like managing the selenium request library and VID required steps Library SeleniumLibrary -Library Collections +Library Collections Library String -Library StringTemplater Resource vid_interface.robot Resource create_vid_vnf.robot Resource create_service_instance.robot -Resource ../heatbridge.robot +Resource ../heatbridge.robot *** Variables *** ${VID_ENV} /vid diff --git a/robot/testsuites/update_onap_page.robot b/robot/testsuites/update_onap_page.robot index 57a433b3..3d79cf46 100644 --- a/robot/testsuites/update_onap_page.robot +++ b/robot/testsuites/update_onap_page.robot @@ -3,7 +3,7 @@ Documentation Initializes ONAP Test Web Page and Password Library Collections Library OperatingSystem -Library StringTemplater +Library ONAPLibrary.Templating Resource ../resources/openstack/keystone_interface.robot Resource ../resources/openstack/nova_interface.robot @@ -11,7 +11,7 @@ Resource ../resources/openstack/nova_interface.robot Test Timeout 5 minutes *** Variables *** -${URLS_HTML_TEMPLATE} robot/assets/templates/web/index.html.template +${URLS_HTML_TEMPLATE} index.html.jinja ${HOSTS_PREFIX} vm ${WEB_USER} test @@ -69,8 +69,8 @@ Update ONAP Page *** Keywords *** Create File From Template [Arguments] ${template} ${file} ${values} - ${data} OperatingSystem.Get File ${template} - ${data}= Template String ${data} ${values} + Create Environment web ${GLOBAL_TEMPLATE_FOLDER} + ${data}= Apply Template web ${template} ${values} Create File ${file} ${data} Set Public Ip |