integrate A-CORD
(1) compute10, computeBBU1 only exist on real rack, if we do not comment them out,
in the cloudlab environment, the xos can not generate the correct network-cfg.
(2) so we create 2 versions of mcord.yaml and nodes.yaml files
for cloudlab and rack.
Change-Id: I688c9f5924491f5b809829058beaf24ba0af3596
diff --git a/mcord/mcord.yaml b/mcord/mcord.yaml
index c23c4c6..59fdaed 100644
--- a/mcord/mcord.yaml
+++ b/mcord/mcord.yaml
@@ -294,7 +294,7 @@
properties:
network: noauto
# default_flavor: m1.xlarge
- default_node: computeBBU2
+#default_node: computeBBU2
mysite_vpgwc_slice1:
description: vPGWC Service Slice 1
@@ -317,7 +317,7 @@
relationship: tosca.relationships.ConnectsToNetwork
properties:
network: noauto
- default_node: compute10
+#default_node: compute10
mysite_VPGWC_Component:
description: MCORD Service default Component
diff --git a/mcord/mcord.yaml.cloudlab b/mcord/mcord.yaml.cloudlab
new file mode 100644
index 0000000..59fdaed
--- /dev/null
+++ b/mcord/mcord.yaml.cloudlab
@@ -0,0 +1,335 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: Setup MCORD-related services.
+
+imports:
+ - custom_types/xos.yaml
+
+node_types:
+
+ tosca.nodes.MCORDService:
+ derived_from: tosca.nodes.Root
+ description: >
+ An XOS Service object. Services may be listed in the Service
+ directory and may be linked together via Tenancy Relationships.
+ capabilities:
+ scalable:
+ type: tosca.capabilities.Scalable
+ service:
+ type: tosca.capabilities.xos.Service
+ properties:
+ no-delete:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to delete this object
+ no-create:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to create this object
+ no-update:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to update this object
+ kind:
+ type: string
+ default: RAN
+ description: Type of service.
+ view_url:
+ type: string
+ required: false
+ description: URL to follow when icon is clicked in the Service Directory.
+ icon_url:
+ type: string
+ required: false
+ description: ICON to display in the Service Directory.
+ enabled:
+ type: boolean
+ default: true
+ published:
+ type: boolean
+ default: true
+ description: If True then display this Service in the Service Directory.
+ public_key:
+ type: string
+ required: false
+ description: Public key to install into Instances to allows Services to SSH into them.
+ private_key_fn:
+ type: string
+ required: false
+ description: Location of private key file
+ versionNumber:
+ type: string
+ required: false
+ description: Version number of Service.
+
+ tosca.nodes.VBBUComponent:
+ derived_from: tosca.nodes.Root
+ description: >
+ CORD: vBBU Component of MCORD Service.
+ properties:
+ kind:
+ type: string
+ default: RAN
+ description: Kind of component
+ s1u_tag:
+ type: string
+ required: false
+ default: 901
+ description: VTN stag port-name
+ s1mme_tag:
+ type: string
+ required: false
+ default: 900
+ description: VTN stag port-name
+ rru_tag:
+ type: string
+ required: false
+ default: 999
+ description: VTN stag port-name
+ display_message:
+ type: string
+ required: false
+ default: New vBBU Component
+ description: Just a message
+
+ tosca.nodes.VPGWCComponent:
+ derived_from: tosca.nodes.Root
+ description: >
+ CORD: vPGWC Component of MCORD Service.
+ properties:
+ kind:
+ type: string
+ default: VPGWC_KIND
+ description: Kind of component
+ s5s8_pgw_tag:
+ type: string
+ required: false
+ default: 300
+ description: VTN stag port-name
+ display_message:
+ type: string
+ required: false
+ default: New vPGWc Component
+ description: Just a message
+
+topology_template:
+ node_templates:
+ vBBU:
+ type: tosca.nodes.MCORDService
+ requirements:
+ properties:
+ kind: RAN
+ icon_url: /static/mCordServices/service_server.png
+ view_url: /admin/vbbu/vbbucomponent
+ public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
+ private_key_fn: /opt/xos/services/vbbu/keys/vBBU_rsa
+ artifacts:
+ pubkey: /opt/xos/services/vbbu/keys/vBBU_rsa.pub
+
+ vPGWC:
+ type: tosca.nodes.MCORDService
+ requirements:
+ properties:
+ kind: vEPC
+ icon_url: /static/mCordServices/service_server.png
+ view_url: /admin/vpgwc/vpgwccomponent
+ public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
+ private_key_fn: /opt/xos/services/vpgwc/keys/vPGWC_rsa
+ artifacts:
+ pubkey: /opt/xos/services/vpgwc/keys/vPGWC_rsa.pub
+
+ m1.xlarge:
+ type: tosca.nodes.Flavor
+
+ Private:
+ type: tosca.nodes.NetworkTemplate
+
+ External:
+ type: tosca.nodes.NetworkTemplate
+
+ management_template:
+ type: tosca.nodes.NetworkTemplate
+ properties:
+ visibility: private
+ translation: none
+
+ management:
+ type: tosca.nodes.network.Network.XOS
+# properties:
+# no-create: true
+# no-delete: true
+# no-update: true
+
+ lan_3gpp_s1mme_network:
+ type: tosca.nodes.network.Network.XOS
+ properties:
+ ip_version: 4
+ labels: lan_3gpp_s1uc_net
+ cidr: 172.16.1.0/24
+ start_ip: 172.16.1.3
+ end_ip: 172.16.1.12
+ gateway_ip: 172.16.1.1
+ requirements:
+ - network_template:
+ node: External
+ relationship: tosca.relationships.UsesNetworkTemplate
+ - owner:
+ node: mysite_mobile_net
+ relationship: tosca.relationships.MemberOfSlice
+ - connection:
+ node: mysite_vbbu_slice1
+ relationship: tosca.relationships.ConnectsToSlice
+
+ lan_3gpp_s1u_network:
+ type: tosca.nodes.network.Network.XOS
+ properties:
+ ip_version: 4
+ labels: lan_3gpp_s1u_net
+ cidr: 172.16.2.0/24
+ start_ip: 172.16.2.3
+ end_ip: 172.16.2.12
+ gateway_ip: 172.16.16.1
+ requirements:
+ - network_template:
+ node: External
+ relationship: tosca.relationships.UsesNetworkTemplate
+ - owner:
+ node: mysite_mobile_net
+ relationship: tosca.relationships.MemberOfSlice
+ - connection:
+ node: mysite_vbbu_slice1
+ relationship: tosca.relationships.ConnectsToSlice
+
+ lan_rru_network:
+ type: tosca.nodes.network.Network.XOS
+ properties:
+ ip_version: 4
+ labels: lan_rru_net
+ cidr: 172.16.0.0/24
+ start_ip: 172.16.0.3
+ end_ip: 172.16.0.12
+ gateway_ip: 172.16.0.1
+ requirements:
+ - network_template:
+ node: External
+ relationship: tosca.relationships.UsesNetworkTemplate
+ - owner:
+ node: mysite_mobile_net
+ relationship: tosca.relationships.MemberOfSlice
+ - connection:
+ node: mysite_vbbu_slice1
+ relationship: tosca.relationships.ConnectsToSlice
+
+ lan_3gpp_s5s8_pgw_network:
+ type: tosca.nodes.network.Network.XOS
+ properties:
+ ip_version: 4
+ labels: lan_3gpp_s5s8_pgw_net
+ cidr: 172.17.1.0/24
+ start_ip: 172.17.1.2
+ end_ip: 172.17.1.8
+ gateway_ip: 172.17.1.1
+ requirements:
+ - network_template:
+ node: External
+ relationship: tosca.relationships.UsesNetworkTemplate
+ - owner:
+ node: mysite_mobile_net
+ relationship: tosca.relationships.MemberOfSlice
+ - connection:
+ node: mysite_vpgwc_slice1
+ relationship: tosca.relationships.ConnectsToSlice
+
+ mysite:
+ type: tosca.nodes.Site
+
+ mcord-bbu-multi-nic:
+ type: tosca.nodes.Image
+
+ mcord-vpgwc-onos-multi-nic:
+ type: tosca.nodes.Image
+
+ trusty-server-multi-nic:
+ type: tosca.nodes.Image
+
+ mysite_management:
+ description: This slice exists solely to own the management network
+ type: tosca.nodes.Slice
+ properties:
+ network: noauto
+ requirements:
+ - site:
+ node: mysite
+ relationship: tosca.relationships.MemberOfSite
+
+ mysite_mobile_net:
+ description: This slice exists solely to own the mobile network
+ type: tosca.nodes.Slice
+ properties:
+ network: noauto
+ requirements:
+ - site:
+ node: mysite
+ relationship: tosca.relationships.MemberOfSite
+
+ mysite_vbbu_slice1:
+ description: vBBU Service Slice 1
+ type: tosca.nodes.Slice
+ requirements:
+ - vBBU:
+ node: vBBU
+ relationship: tosca.relationships.MemberOfService
+ - site:
+ node: mysite
+ relationship: tosca.relationships.MemberOfSite
+ - default_image:
+ node: mcord-bbu-multi-nic
+ relationship: tosca.relationships.DefaultImage
+ - default_flavor:
+ node: m1.xlarge
+ relationship: tosca.relationships.DefaultFlavor
+ - management:
+ node: management
+ relationship: tosca.relationships.ConnectsToNetwork
+ properties:
+ network: noauto
+# default_flavor: m1.xlarge
+#default_node: computeBBU2
+
+ mysite_vpgwc_slice1:
+ description: vPGWC Service Slice 1
+ type: tosca.nodes.Slice
+ requirements:
+ - vPGWC:
+ node: vPGWC
+ relationship: tosca.relationships.MemberOfService
+ - site:
+ node: mysite
+ relationship: tosca.relationships.MemberOfSite
+ - default_image:
+ node: mcord-vpgwc-onos-multi-nic
+ relationship: tosca.relationships.DefaultImage
+ - default_flavor:
+ node: m1.xlarge
+ relationship: tosca.relationships.DefaultFlavor
+ - management:
+ node: management
+ relationship: tosca.relationships.ConnectsToNetwork
+ properties:
+ network: noauto
+#default_node: compute10
+
+ mysite_VPGWC_Component:
+ description: MCORD Service default Component
+ type: tosca.nodes.VPGWCComponent
+ requirements:
+ - provider_service:
+ node: vPGWC
+ relationship: tosca.relationships.MemberOfService
+ - vpgwc_slice:
+ node: mysite_vpgwc_slice1
+ relationship: tosca.relationships.MemberOfSlice
+ properties:
+ display_message: vPGWC looks good!
+ s5s8_pgw_tag: 300
+
diff --git a/mcord/mcord.yaml.rack b/mcord/mcord.yaml.rack
new file mode 100644
index 0000000..c23c4c6
--- /dev/null
+++ b/mcord/mcord.yaml.rack
@@ -0,0 +1,335 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: Setup MCORD-related services.
+
+imports:
+ - custom_types/xos.yaml
+
+node_types:
+
+ tosca.nodes.MCORDService:
+ derived_from: tosca.nodes.Root
+ description: >
+ An XOS Service object. Services may be listed in the Service
+ directory and may be linked together via Tenancy Relationships.
+ capabilities:
+ scalable:
+ type: tosca.capabilities.Scalable
+ service:
+ type: tosca.capabilities.xos.Service
+ properties:
+ no-delete:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to delete this object
+ no-create:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to create this object
+ no-update:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to update this object
+ kind:
+ type: string
+ default: RAN
+ description: Type of service.
+ view_url:
+ type: string
+ required: false
+ description: URL to follow when icon is clicked in the Service Directory.
+ icon_url:
+ type: string
+ required: false
+ description: ICON to display in the Service Directory.
+ enabled:
+ type: boolean
+ default: true
+ published:
+ type: boolean
+ default: true
+ description: If True then display this Service in the Service Directory.
+ public_key:
+ type: string
+ required: false
+ description: Public key to install into Instances to allows Services to SSH into them.
+ private_key_fn:
+ type: string
+ required: false
+ description: Location of private key file
+ versionNumber:
+ type: string
+ required: false
+ description: Version number of Service.
+
+ tosca.nodes.VBBUComponent:
+ derived_from: tosca.nodes.Root
+ description: >
+ CORD: vBBU Component of MCORD Service.
+ properties:
+ kind:
+ type: string
+ default: RAN
+ description: Kind of component
+ s1u_tag:
+ type: string
+ required: false
+ default: 901
+ description: VTN stag port-name
+ s1mme_tag:
+ type: string
+ required: false
+ default: 900
+ description: VTN stag port-name
+ rru_tag:
+ type: string
+ required: false
+ default: 999
+ description: VTN stag port-name
+ display_message:
+ type: string
+ required: false
+ default: New vBBU Component
+ description: Just a message
+
+ tosca.nodes.VPGWCComponent:
+ derived_from: tosca.nodes.Root
+ description: >
+ CORD: vPGWC Component of MCORD Service.
+ properties:
+ kind:
+ type: string
+ default: VPGWC_KIND
+ description: Kind of component
+ s5s8_pgw_tag:
+ type: string
+ required: false
+ default: 300
+ description: VTN stag port-name
+ display_message:
+ type: string
+ required: false
+ default: New vPGWc Component
+ description: Just a message
+
+topology_template:
+ node_templates:
+ vBBU:
+ type: tosca.nodes.MCORDService
+ requirements:
+ properties:
+ kind: RAN
+ icon_url: /static/mCordServices/service_server.png
+ view_url: /admin/vbbu/vbbucomponent
+ public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
+ private_key_fn: /opt/xos/services/vbbu/keys/vBBU_rsa
+ artifacts:
+ pubkey: /opt/xos/services/vbbu/keys/vBBU_rsa.pub
+
+ vPGWC:
+ type: tosca.nodes.MCORDService
+ requirements:
+ properties:
+ kind: vEPC
+ icon_url: /static/mCordServices/service_server.png
+ view_url: /admin/vpgwc/vpgwccomponent
+ public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
+ private_key_fn: /opt/xos/services/vpgwc/keys/vPGWC_rsa
+ artifacts:
+ pubkey: /opt/xos/services/vpgwc/keys/vPGWC_rsa.pub
+
+ m1.xlarge:
+ type: tosca.nodes.Flavor
+
+ Private:
+ type: tosca.nodes.NetworkTemplate
+
+ External:
+ type: tosca.nodes.NetworkTemplate
+
+ management_template:
+ type: tosca.nodes.NetworkTemplate
+ properties:
+ visibility: private
+ translation: none
+
+ management:
+ type: tosca.nodes.network.Network.XOS
+# properties:
+# no-create: true
+# no-delete: true
+# no-update: true
+
+ lan_3gpp_s1mme_network:
+ type: tosca.nodes.network.Network.XOS
+ properties:
+ ip_version: 4
+ labels: lan_3gpp_s1uc_net
+ cidr: 172.16.1.0/24
+ start_ip: 172.16.1.3
+ end_ip: 172.16.1.12
+ gateway_ip: 172.16.1.1
+ requirements:
+ - network_template:
+ node: External
+ relationship: tosca.relationships.UsesNetworkTemplate
+ - owner:
+ node: mysite_mobile_net
+ relationship: tosca.relationships.MemberOfSlice
+ - connection:
+ node: mysite_vbbu_slice1
+ relationship: tosca.relationships.ConnectsToSlice
+
+ lan_3gpp_s1u_network:
+ type: tosca.nodes.network.Network.XOS
+ properties:
+ ip_version: 4
+ labels: lan_3gpp_s1u_net
+ cidr: 172.16.2.0/24
+ start_ip: 172.16.2.3
+ end_ip: 172.16.2.12
+ gateway_ip: 172.16.16.1
+ requirements:
+ - network_template:
+ node: External
+ relationship: tosca.relationships.UsesNetworkTemplate
+ - owner:
+ node: mysite_mobile_net
+ relationship: tosca.relationships.MemberOfSlice
+ - connection:
+ node: mysite_vbbu_slice1
+ relationship: tosca.relationships.ConnectsToSlice
+
+ lan_rru_network:
+ type: tosca.nodes.network.Network.XOS
+ properties:
+ ip_version: 4
+ labels: lan_rru_net
+ cidr: 172.16.0.0/24
+ start_ip: 172.16.0.3
+ end_ip: 172.16.0.12
+ gateway_ip: 172.16.0.1
+ requirements:
+ - network_template:
+ node: External
+ relationship: tosca.relationships.UsesNetworkTemplate
+ - owner:
+ node: mysite_mobile_net
+ relationship: tosca.relationships.MemberOfSlice
+ - connection:
+ node: mysite_vbbu_slice1
+ relationship: tosca.relationships.ConnectsToSlice
+
+ lan_3gpp_s5s8_pgw_network:
+ type: tosca.nodes.network.Network.XOS
+ properties:
+ ip_version: 4
+ labels: lan_3gpp_s5s8_pgw_net
+ cidr: 172.17.1.0/24
+ start_ip: 172.17.1.2
+ end_ip: 172.17.1.8
+ gateway_ip: 172.17.1.1
+ requirements:
+ - network_template:
+ node: External
+ relationship: tosca.relationships.UsesNetworkTemplate
+ - owner:
+ node: mysite_mobile_net
+ relationship: tosca.relationships.MemberOfSlice
+ - connection:
+ node: mysite_vpgwc_slice1
+ relationship: tosca.relationships.ConnectsToSlice
+
+ mysite:
+ type: tosca.nodes.Site
+
+ mcord-bbu-multi-nic:
+ type: tosca.nodes.Image
+
+ mcord-vpgwc-onos-multi-nic:
+ type: tosca.nodes.Image
+
+ trusty-server-multi-nic:
+ type: tosca.nodes.Image
+
+ mysite_management:
+ description: This slice exists solely to own the management network
+ type: tosca.nodes.Slice
+ properties:
+ network: noauto
+ requirements:
+ - site:
+ node: mysite
+ relationship: tosca.relationships.MemberOfSite
+
+ mysite_mobile_net:
+ description: This slice exists solely to own the mobile network
+ type: tosca.nodes.Slice
+ properties:
+ network: noauto
+ requirements:
+ - site:
+ node: mysite
+ relationship: tosca.relationships.MemberOfSite
+
+ mysite_vbbu_slice1:
+ description: vBBU Service Slice 1
+ type: tosca.nodes.Slice
+ requirements:
+ - vBBU:
+ node: vBBU
+ relationship: tosca.relationships.MemberOfService
+ - site:
+ node: mysite
+ relationship: tosca.relationships.MemberOfSite
+ - default_image:
+ node: mcord-bbu-multi-nic
+ relationship: tosca.relationships.DefaultImage
+ - default_flavor:
+ node: m1.xlarge
+ relationship: tosca.relationships.DefaultFlavor
+ - management:
+ node: management
+ relationship: tosca.relationships.ConnectsToNetwork
+ properties:
+ network: noauto
+# default_flavor: m1.xlarge
+ default_node: computeBBU2
+
+ mysite_vpgwc_slice1:
+ description: vPGWC Service Slice 1
+ type: tosca.nodes.Slice
+ requirements:
+ - vPGWC:
+ node: vPGWC
+ relationship: tosca.relationships.MemberOfService
+ - site:
+ node: mysite
+ relationship: tosca.relationships.MemberOfSite
+ - default_image:
+ node: mcord-vpgwc-onos-multi-nic
+ relationship: tosca.relationships.DefaultImage
+ - default_flavor:
+ node: m1.xlarge
+ relationship: tosca.relationships.DefaultFlavor
+ - management:
+ node: management
+ relationship: tosca.relationships.ConnectsToNetwork
+ properties:
+ network: noauto
+ default_node: compute10
+
+ mysite_VPGWC_Component:
+ description: MCORD Service default Component
+ type: tosca.nodes.VPGWCComponent
+ requirements:
+ - provider_service:
+ node: vPGWC
+ relationship: tosca.relationships.MemberOfService
+ - vpgwc_slice:
+ node: mysite_vpgwc_slice1
+ relationship: tosca.relationships.MemberOfSlice
+ properties:
+ display_message: vPGWC looks good!
+ s5s8_pgw_tag: 300
+
diff --git a/mcord/monitoring_synchronizer.yaml b/mcord/monitoring_synchronizer.yaml
new file mode 100644
index 0000000..5b248a9
--- /dev/null
+++ b/mcord/monitoring_synchronizer.yaml
@@ -0,0 +1,14 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: This recipe provides additional configuration for the onboarded services.
+
+imports:
+ - custom_types/xos.yaml
+
+topology_template:
+ node_templates:
+ servicecontroller#monitoring:
+ type: tosca.nodes.ServiceController
+ properties:
+ no-create: true
+ synchronizer_config: /root/setup/files/monitoring_synchronizer_config
diff --git a/mcord/monitoringservice.yaml b/mcord/monitoringservice.yaml
new file mode 100644
index 0000000..603ac09
--- /dev/null
+++ b/mcord/monitoringservice.yaml
@@ -0,0 +1,315 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: Setup CORD-related services -- vOLT, vCPE, vBNG.
+
+imports:
+ - custom_types/xos.yaml
+
+node_types:
+ tosca.nodes.SFlowService:
+ derived_from: tosca.nodes.Root
+ description: >
+ XOS SFlow Collection Service
+ capabilities:
+ scalable:
+ type: tosca.capabilities.Scalable
+ service:
+ type: tosca.capabilities.xos.Service
+ properties:
+ no-delete:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to delete this object
+ no-create:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to create this object
+ no-update:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to update this object
+ kind:
+ type: string
+ default: generic
+ description: Type of service.
+ view_url:
+ type: string
+ required: false
+ description: URL to follow when icon is clicked in the Service Directory.
+ icon_url:
+ type: string
+ required: false
+ description: ICON to display in the Service Directory.
+ enabled:
+ type: boolean
+ default: true
+ published:
+ type: boolean
+ default: true
+ description: If True then display this Service in the Service Directory.
+ public_key:
+ type: string
+ required: false
+ description: Public key to install into Instances to allows Services to SSH into them.
+ private_key_fn:
+ type: string
+ required: false
+ description: Location of private key file
+ versionNumber:
+ type: string
+ required: false
+ description: Version number of Service.
+ sflow_port:
+ type: integer
+ required: false
+ default: 6343
+ description: sFlow listening port
+ sflow_api_port:
+ type: integer
+ required: false
+ default: 33333
+ description: sFlow publish subscribe api listening port
+
+ tosca.nodes.CeilometerService:
+ derived_from: tosca.nodes.Root
+ description: >
+ XOS Ceilometer Service
+ capabilities:
+ scalable:
+ type: tosca.capabilities.Scalable
+ service:
+ type: tosca.capabilities.xos.Service
+ properties:
+ no-delete:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to delete this object
+ no-create:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to create this object
+ no-update:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to update this object
+ kind:
+ type: string
+ default: generic
+ description: Type of service.
+ view_url:
+ type: string
+ required: false
+ description: URL to follow when icon is clicked in the Service Directory.
+ icon_url:
+ type: string
+ required: false
+ description: ICON to display in the Service Directory.
+ enabled:
+ type: boolean
+ default: true
+ published:
+ type: boolean
+ default: true
+ description: If True then display this Service in the Service Directory.
+ public_key:
+ type: string
+ required: false
+ description: Public key to install into Instances to allows Services to SSH into them.
+ private_key_fn:
+ type: string
+ required: false
+ description: Location of private key file
+ versionNumber:
+ type: string
+ required: false
+ description: Version number of Service.
+ ceilometer_pub_sub_url:
+ type: string
+ required: false
+ description: REST URL of ceilometer PUB/SUB component
+
+ tosca.nodes.CeilometerTenant:
+ derived_from: tosca.nodes.Root
+ description: >
+ CORD: A Tenant of the Ceilometer Service.
+ properties:
+ kind:
+ type: string
+ default: generic
+ description: Kind of tenant
+
+topology_template:
+ node_templates:
+ service_ceilometer:
+ type: tosca.nodes.CeilometerService
+ requirements:
+ properties:
+ view_url: /admin/monitoring/ceilometerservice/$id$/
+ kind: ceilometer
+ ceilometer_pub_sub_url: http://10.11.10.1:4455/
+ public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
+ private_key_fn: /opt/xos/services/monitoring/keys/monitoringservice_rsa
+ artifacts:
+ pubkey: /opt/xos/services/monitoring/keys/monitoringservice_rsa.pub
+
+# service_sflow:
+# type: tosca.nodes.SFlowService
+# requirements:
+# properties:
+# view_url: /admin/monitoring/sflowservice/$id$/
+# kind: sflow
+# sflow_port: 6343
+# sflow_api_port: 33333
+
+ Private:
+ type: tosca.nodes.NetworkTemplate
+
+ management:
+ type: tosca.nodes.network.Network.XOS
+ properties:
+ no-create: true
+ no-delete: true
+ no-update: true
+
+# ceilometer_network:
+# type: tosca.nodes.network.Network.XOS
+# properties:
+# ip_version: 4
+# labels: ceilometer_client_access
+# requirements:
+# - network_template:
+# node: Private
+# relationship: tosca.relationships.UsesNetworkTemplate
+# - owner:
+# node: mysite_ceilometer
+# relationship: tosca.relationships.MemberOfSlice
+# - connection:
+# node: mysite_ceilometer
+# relationship: tosca.relationships.ConnectsToSlice
+
+ mysite:
+ type: tosca.nodes.Site
+
+ trusty-server-multi-nic:
+ type: tosca.nodes.Image
+
+ ceilometer-trusty-server-multi-nic:
+ type: tosca.nodes.Image
+
+ ceilometer-service-trusty-server-multi-nic:
+ type: tosca.nodes.Image
+
+ m1.small:
+ type: tosca.nodes.Flavor
+
+ mysite_ceilometer:
+ description: Ceilometer Proxy Slice
+ type: tosca.nodes.Slice
+ requirements:
+ - ceilometer_service:
+ node: service_ceilometer
+ relationship: tosca.relationships.MemberOfService
+ - site:
+ node: mysite
+ relationship: tosca.relationships.MemberOfSite
+ - default_image:
+ node: ceilometer-trusty-server-multi-nic
+ relationship: tosca.relationships.DefaultImage
+ - management:
+ node: management
+ relationship: tosca.relationships.ConnectsToNetwork
+ - m1.small:
+ node: m1.small
+ relationship: tosca.relationships.DefaultFlavor
+ properties:
+ default_node: nova-compute-1
+
+ # Virtual machines
+ ceilometer_service_instance:
+ type: tosca.nodes.Compute
+ capabilities:
+ # Host container properties
+ host:
+ properties:
+ num_cpus: 1
+ disk_size: 20 GB
+ mem_size: 2 GB
+ requirements:
+ - slice:
+ node: mysite_ceilometer
+ relationship: tosca.relationships.MemberOfSlice
+ - image:
+ node: ceilometer-service-trusty-server-multi-nic
+ relationship: tosca.relationships.UsesImage
+
+# mysite_sflow:
+# description: Slice for sFlow service
+# type: tosca.nodes.Slice
+# requirements:
+# - sflow_service:
+# node: service_sflow
+# relationship: tosca.relationships.MemberOfService
+# - site:
+# node: mysite
+# relationship: tosca.relationships.MemberOfSite
+
+# MOVING this section to monitoringtenant.yaml
+# my_ceilometer_tenant:
+# description: Ceilometer Service default Tenant
+# type: tosca.nodes.CeilometerTenant
+# requirements:
+# - provider_service:
+# node: service_ceilometer
+# relationship: tosca.relationships.MemberOfService
+# - dependency:
+# node: ceilometer_service_instance
+# relationship: tosca.relationships.DependsOn
+
+ # Virtual machines
+# sflow_service_instance:
+# type: tosca.nodes.Compute
+# capabilities:
+# # Host container properties
+# host:
+# properties:
+# num_cpus: 1
+# disk_size: 10 GB
+# mem_size: 4 MB
+# # Guest Operating System properties
+# os:
+# properties:
+# # host Operating System image properties
+# architecture: x86_64
+# type: linux
+# distribution: Ubuntu
+# version: 14.10
+# requirements:
+# - slice:
+# node: mysite_sflow
+# relationship: tosca.relationships.MemberOfSlice
+
+# MOVING the below sections to monitoringtenant.yaml
+# Ceilometer:
+# type: tosca.nodes.DashboardView
+# properties:
+# url: template:xosCeilometerDashboard
+# Tenant:
+# type: tosca.nodes.DashboardView
+# properties:
+# no-create: true
+# no-update: true
+# no-delete: true
+#
+# padmin@vicci.org:
+# type: tosca.nodes.User
+# properties:
+# firstname: XOS
+# lastname: admin
+# is_admin: true
+# requirements:
+# - tenant_dashboard:
+# node: Tenant
+# relationship: tosca.relationships.UsesDashboard
+# - ceilometer_dashboard:
+# node: Ceilometer
+# relationship: tosca.relationships.UsesDashboard
diff --git a/mcord/monitoringtenant.yaml b/mcord/monitoringtenant.yaml
new file mode 100644
index 0000000..37cda64
--- /dev/null
+++ b/mcord/monitoringtenant.yaml
@@ -0,0 +1,182 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: Setup CORD-related services -- vOLT, vCPE, vBNG.
+
+imports:
+ - custom_types/xos.yaml
+
+node_types:
+#FIXME: See if we can avoid redefining the below types again in this file by moving to common file
+ tosca.nodes.SFlowService:
+ derived_from: tosca.nodes.Root
+ description: >
+ XOS SFlow Collection Service
+ capabilities:
+ scalable:
+ type: tosca.capabilities.Scalable
+ service:
+ type: tosca.capabilities.xos.Service
+ properties:
+ no-delete:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to delete this object
+ no-create:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to create this object
+ no-update:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to update this object
+ kind:
+ type: string
+ default: generic
+ description: Type of service.
+ view_url:
+ type: string
+ required: false
+ description: URL to follow when icon is clicked in the Service Directory.
+ icon_url:
+ type: string
+ required: false
+ description: ICON to display in the Service Directory.
+ enabled:
+ type: boolean
+ default: true
+ published:
+ type: boolean
+ default: true
+ description: If True then display this Service in the Service Directory.
+ public_key:
+ type: string
+ required: false
+ description: Public key to install into Instances to allows Services to SSH into them.
+ private_key_fn:
+ type: string
+ required: false
+ description: Location of private key file
+ versionNumber:
+ type: string
+ required: false
+ description: Version number of Service.
+ sflow_port:
+ type: integer
+ required: false
+ default: 6343
+ description: sFlow listening port
+ sflow_api_port:
+ type: integer
+ required: false
+ default: 33333
+ description: sFlow publish subscribe api listening port
+
+ tosca.nodes.CeilometerService:
+ derived_from: tosca.nodes.Root
+ description: >
+ XOS Ceilometer Service
+ capabilities:
+ scalable:
+ type: tosca.capabilities.Scalable
+ service:
+ type: tosca.capabilities.xos.Service
+ properties:
+ no-delete:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to delete this object
+ no-create:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to create this object
+ no-update:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to update this object
+ kind:
+ type: string
+ default: generic
+ description: Type of service.
+ view_url:
+ type: string
+ required: false
+ description: URL to follow when icon is clicked in the Service Directory.
+ icon_url:
+ type: string
+ required: false
+ description: ICON to display in the Service Directory.
+ enabled:
+ type: boolean
+ default: true
+ published:
+ type: boolean
+ default: true
+ description: If True then display this Service in the Service Directory.
+ public_key:
+ type: string
+ required: false
+ description: Public key to install into Instances to allows Services to SSH into them.
+ private_key_fn:
+ type: string
+ required: false
+ description: Location of private key file
+ versionNumber:
+ type: string
+ required: false
+ description: Version number of Service.
+ ceilometer_pub_sub_url:
+ type: string
+ required: false
+ description: REST URL of ceilometer PUB/SUB component
+
+ tosca.nodes.CeilometerTenant:
+ derived_from: tosca.nodes.Root
+ description: >
+ CORD: A Tenant of the Ceilometer Service.
+ properties:
+ kind:
+ type: string
+ default: generic
+ description: Kind of tenant
+
+topology_template:
+ node_templates:
+ service_ceilometer:
+ type: tosca.nodes.CeilometerService
+ properties:
+ no-create: true
+ no-update: true
+ no-delete: true
+
+ my_ceilometer_tenant:
+ description: Ceilometer Service default Tenant
+ type: tosca.nodes.CeilometerTenant
+ requirements:
+ - provider_service:
+ node: service_ceilometer
+ relationship: tosca.relationships.MemberOfService
+
+ Ceilometer:
+ type: tosca.nodes.DashboardView
+ properties:
+ url: template:xosCeilometerDashboard
+ Tenant:
+ type: tosca.nodes.DashboardView
+ properties:
+ no-create: true
+ no-update: true
+ no-delete: true
+
+ padmin@vicci.org:
+ type: tosca.nodes.User
+ properties:
+ firstname: XOS
+ lastname: admin
+ is_admin: true
+ requirements:
+ - tenant_dashboard:
+ node: Tenant
+ relationship: tosca.relationships.UsesDashboard
+ - ceilometer_dashboard:
+ node: Ceilometer
+ relationship: tosca.relationships.UsesDashboard
diff --git a/mcord/nodes.yaml b/mcord/nodes.yaml
index 592d34f..a32cd2f 100644
--- a/mcord/nodes.yaml
+++ b/mcord/nodes.yaml
@@ -12,46 +12,6 @@
mysite:
type: tosca.nodes.Site
- computeBBU1:
- type: tosca.nodes.Node
- requirements:
- - site:
- node: mysite
- relationship: tosca.relationships.MemberOfSite
- - deployment:
- node: MyDeployment
- relationship: tosca.relationships.MemberOfDeployment
-
- computeBBU2:
- type: tosca.nodes.Node
- requirements:
- - site:
- node: mysite
- relationship: tosca.relationships.MemberOfSite
- - deployment:
- node: MyDeployment
- relationship: tosca.relationships.MemberOfDeployment
-
- compute9:
- type: tosca.nodes.Node
- requirements:
- - site:
- node: mysite
- relationship: tosca.relationships.MemberOfSite
- - deployment:
- node: MyDeployment
- relationship: tosca.relationships.MemberOfDeployment
-
- compute10:
- type: tosca.nodes.Node
- requirements:
- - site:
- node: mysite
- relationship: tosca.relationships.MemberOfSite
- - deployment:
- node: MyDeployment
- relationship: tosca.relationships.MemberOfDeployment
-
nova-compute-1:
type: tosca.nodes.Node
requirements:
diff --git a/mcord/nodes.yaml.cloudlab b/mcord/nodes.yaml.cloudlab
new file mode 100644
index 0000000..a32cd2f
--- /dev/null
+++ b/mcord/nodes.yaml.cloudlab
@@ -0,0 +1,23 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+ - custom_types/xos.yaml
+
+description: autogenerated nodes file
+
+topology_template:
+ node_templates:
+ MyDeployment:
+ type: tosca.nodes.Deployment
+ mysite:
+ type: tosca.nodes.Site
+
+ nova-compute-1:
+ type: tosca.nodes.Node
+ requirements:
+ - site:
+ node: mysite
+ relationship: tosca.relationships.MemberOfSite
+ - deployment:
+ node: MyDeployment
+ relationship: tosca.relationships.MemberOfDeployment
diff --git a/mcord/nodes.yaml.rack b/mcord/nodes.yaml.rack
new file mode 100644
index 0000000..592d34f
--- /dev/null
+++ b/mcord/nodes.yaml.rack
@@ -0,0 +1,63 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+ - custom_types/xos.yaml
+
+description: autogenerated nodes file
+
+topology_template:
+ node_templates:
+ MyDeployment:
+ type: tosca.nodes.Deployment
+ mysite:
+ type: tosca.nodes.Site
+
+ computeBBU1:
+ type: tosca.nodes.Node
+ requirements:
+ - site:
+ node: mysite
+ relationship: tosca.relationships.MemberOfSite
+ - deployment:
+ node: MyDeployment
+ relationship: tosca.relationships.MemberOfDeployment
+
+ computeBBU2:
+ type: tosca.nodes.Node
+ requirements:
+ - site:
+ node: mysite
+ relationship: tosca.relationships.MemberOfSite
+ - deployment:
+ node: MyDeployment
+ relationship: tosca.relationships.MemberOfDeployment
+
+ compute9:
+ type: tosca.nodes.Node
+ requirements:
+ - site:
+ node: mysite
+ relationship: tosca.relationships.MemberOfSite
+ - deployment:
+ node: MyDeployment
+ relationship: tosca.relationships.MemberOfDeployment
+
+ compute10:
+ type: tosca.nodes.Node
+ requirements:
+ - site:
+ node: mysite
+ relationship: tosca.relationships.MemberOfSite
+ - deployment:
+ node: MyDeployment
+ relationship: tosca.relationships.MemberOfDeployment
+
+ nova-compute-1:
+ type: tosca.nodes.Node
+ requirements:
+ - site:
+ node: mysite
+ relationship: tosca.relationships.MemberOfSite
+ - deployment:
+ node: MyDeployment
+ relationship: tosca.relationships.MemberOfDeployment