ActiveTest Service Creation.

Onboarding is done by running 'make activetest'. fusion.img, qt600.img, vta.img, and vpma.img
should be in the corresponding service_profile's image/ folder in order for images to be
uploaded in glance.

The measurement agents can be created through the different agents tenants. For example, to
create a VPMA tenant, run 'make vpma 1' where '1' can be any numberical identifier for the
tenant to be created.

Measurement agents will automatically register with the fusion controller through the use of
the synchronizer. Furthermore, tests can be orchestrated through XOS by modifying the models
for the vpma agents.

Change-Id: I69bab4b5f771c87126781799217bb36fda478fd3
diff --git a/pod-activetest.yaml b/pod-activetest.yaml
new file mode 100644
index 0000000..4333ca4
--- /dev/null
+++ b/pod-activetest.yaml
@@ -0,0 +1,294 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: Setup the ActiveTest on the pod
+
+imports:
+   - custom_types/xos.yaml
+   - custom_types/ActiveTest.yaml
+
+topology_template:
+  node_templates:
+
+    mysite:
+      type: tosca.nodes.Site
+
+    qt600:
+      type: tosca.nodes.Image
+
+    vpma:
+      type: tosca.nodes.Image
+
+    fusion:
+      type: tosca.nodes.Image
+
+    vta:
+      type: tosca.nodes.Image
+
+    activetest.vta:
+      type: tosca.nodes.Flavor
+
+    m1.small:
+      type: tosca.nodes.Flavor
+
+    m1.large:
+      type: tosca.nodes.Flavor
+
+    External:
+      type: tosca.nodes.NetworkTemplate
+      properties:
+          access: indirect
+
+    Private-Indirect:
+      type: tosca.nodes.NetworkTemplate
+      properties:
+          access: indirect
+
+    management:
+      type: tosca.nodes.network.Network.XOS
+      properties:
+          no-create: true
+          no-delete: true
+          no-update: true
+
+    mysite_activetest_network_slice:
+      description: This slice exists solely to own the activetest network
+      type: tosca.nodes.Slice
+      properties:
+          network: noauto
+      requirements:
+          - site:
+              node: mysite
+              relationship: tosca.relationships.MemberOfSite
+
+    mysite_activetest_test_network1_slice:
+      description: This slice exists solely to own the activetest test network 1
+      type: tosca.nodes.Slice
+      properties:
+          network: noauto
+      requirements:
+          - site:
+              node: mysite
+              relationship: tosca.relationships.MemberOfSite
+
+    lan_activetest_public_network:
+      type: tosca.nodes.network.Network.XOS
+      properties:
+          ip_version: 4
+      requirements:
+          - network_template:
+              node: External
+              relationship: tosca.relationships.UsesNetworkTemplate
+          - owner:
+              node: mysite_activetest_network_slice
+              relationship: tosca.relationships.MemberOfSlice
+          - connection:
+              node: mysite_activetest_slice1
+              relationship: tosca.relationships.ConnectsToSlice
+
+    lan_activetest_test_network1:
+      type: tosca.nodes.network.Network.XOS
+      properties:
+          ip_version: 4
+      requirements:
+          - network_template:
+              node: External
+              relationship: tosca.relationships.UsesNetworkTemplate
+          - owner:
+              node: mysite_activetest_test_network1_slice
+              relationship: tosca.relationships.MemberOfSlice
+          - connection1:
+              node: mysite_vpma_slice1
+              relationship: tosca.relationships.ConnectsToSlice
+          - connection2:
+              node: mysite_vta_slice1
+              relationship: tosca.relationships.ConnectsToSlice
+          - connection3:
+              node: mysite_qt600_slice1
+              relationship: tosca.relationships.ConnectsToSlice
+
+#    ActiveTest:
+#      type: tosca.nodes.ActiveTest
+#      properties:
+#          view_url: /admin/activetest/activetestservice
+#          kind: activetestservice
+#          public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
+#          private_key_fn: /opt/xos/services/activetest/keys/activetest_rsa
+#      artifacts:
+#          pubkey: /opt/xos/services/activetest/keys/activetest_rsa.pub
+
+    ActiveTest:
+      type: tosca.nodes.ActiveTest
+      requirements:
+          - management:
+              node: management
+              relationship: tosca.relationships.UsesNetwork
+      properties:
+          view_url: /admin/activetest/activetestservice/$id$/
+          public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
+          private_key_fn: /opt/xos/services/activetest/keys/activetest_rsa
+          kind: ActiveTest
+      artifacts:
+          pubkey: /opt/xos/services/activetest/keys/activetest_rsa.pub
+
+    VTA:
+      type: tosca.nodes.VtaService
+      requirements:
+          - management:
+              node: management
+              relationship: tosca.relationships.UsesNetwork
+      properties:
+          view_url: /admin/activetest/activetestservice/$id$/
+          public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
+          private_key_fn: /opt/xos/services/activetest/keys/activetest_rsa
+          kind: ActiveTest
+      artifacts:
+          pubkey: /opt/xos/services/activetest/keys/activetest_rsa.pub
+
+    QT600:
+      type: tosca.nodes.Qt600Service
+      requirements:
+          - management:
+              node: management
+              relationship: tosca.relationships.UsesNetwork
+      properties:
+          view_url: /admin/activetest/activetestservice/$id$/
+          public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
+          private_key_fn: /opt/xos/services/activetest/keys/activetest_rsa
+          kind: ActiveTest
+      artifacts:
+          pubkey: /opt/xos/services/activetest/keys/activetest_rsa.pub
+
+    VPMA:
+      type: tosca.nodes.VpmaService
+      requirements:
+          - management:
+              node: management
+              relationship: tosca.relationships.UsesNetwork
+      properties:
+          view_url: /admin/activetest/activetestservice/$id$/
+          public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
+          private_key_fn: /opt/xos/services/activetest/keys/activetest_rsa
+          kind: ActiveTest
+      artifacts:
+          pubkey: /opt/xos/services/activetest/keys/activetest_rsa.pub
+
+    mysite_activetest_slice1:
+      description: ActiveTest Service Slice 1
+      type: tosca.nodes.Slice
+      properties:
+          network: noauto
+      requirements:
+          - site:
+              node: mysite
+              relationship: tosca.relationships.MemberOfSite
+          - management:
+              node: management
+              relationship: tosca.relationships.ConnectsToNetwork
+          - ActiveTest:
+              node: ActiveTest
+              relationship: tosca.relationships.MemberOfService
+          - image:
+              node: fusion
+              relationship: tosca.relationships.DefaultImage
+          - flavor:
+              node: m1.large
+              relationship: tosca.relationships.DefaultFlavor
+          - VTA:
+              node: VTA
+              relationship: tosca.relationships.MemberOfService
+          - VPMA:
+              node: VPMA
+              relationship: tosca.relationships.MemberOfService
+          - QT600:
+              node: QT600
+              relationship: tosca.relationships.MemberOfService
+
+    mysite_qt600_slice1:
+      description: ActiveTest QT600 Service Slice 1
+      type: tosca.nodes.Slice
+      properties:
+          network: noauto
+      requirements:
+          - site:
+              node: mysite
+              relationship: tosca.relationships.MemberOfSite
+          - management:
+              node: management
+              relationship: tosca.relationships.ConnectsToNetwork
+          - activetest:
+              node: lan_activetest_public_network
+              relationship: tosca.relationships.ConnectsToNetwork
+          - QT600:
+              node: QT600
+              relationship: tosca.relationships.MemberOfService
+          - image:
+              node: qt600
+              relationship: tosca.relationships.DefaultImage
+          - flavor:
+              node: m1.small
+              relationship: tosca.relationships.DefaultFlavor
+
+    mysite_vpma_slice1:
+      description: ActiveTest VPMA Service Slice 1
+      type: tosca.nodes.Slice
+      properties:
+          network: noauto
+      requirements:
+          - site:
+              node: mysite
+              relationship: tosca.relationships.MemberOfSite
+          - management:
+              node: management
+              relationship: tosca.relationships.ConnectsToNetwork
+          - activetest:
+              node: lan_activetest_public_network
+              relationship: tosca.relationships.ConnectsToNetwork
+          - VPMA:
+              node: VPMA
+              relationship: tosca.relationships.MemberOfService
+          - image:
+              node: vpma
+              relationship: tosca.relationships.DefaultImage
+          - flavor:
+              node: m1.small
+              relationship: tosca.relationships.DefaultFlavor
+
+    mysite_vta_slice1:
+      description: ActiveTest VTA Service Slice 1
+      type: tosca.nodes.Slice
+      properties:
+          network: noauto
+      requirements:
+          - site:
+              node: mysite
+              relationship: tosca.relationships.MemberOfSite
+          - management:
+              node: management
+              relationship: tosca.relationships.ConnectsToNetwork
+          - activetest:
+              node: lan_activetest_public_network
+              relationship: tosca.relationships.ConnectsToNetwork
+          - VTA:
+              node: VTA
+              relationship: tosca.relationships.MemberOfService
+          - image:
+              node: vta
+              relationship: tosca.relationships.DefaultImage
+          - flavor:
+              node: activetest.vta
+              relationship: tosca.relationships.DefaultFlavor
+
+    tenant#activetesttenant:
+        type: tosca.nodes.ActiveTestTenant
+        requirements:
+          - tenant:
+              node: ActiveTest
+              relationship: tosca.relationships.TenantOfService
+          - dependency:
+              node: mysite_activetest_slice1
+              relationship: tosca.relationships.DependsOn
+
+    EtherAssure:
+      type: tosca.nodes.DashboardView
+      properties:
+        url: https://localhost:9443