Pass fabric's global netcfg to ONOS
Change-Id: I1ee62106428a37d22fef92b0d1f29a33c661f55a
diff --git a/xos/configurations/cord-pod/cord-fabric-vr.json b/xos/configurations/cord-pod/cord-fabric-vr.json
new file mode 100644
index 0000000..7420cb9
--- /dev/null
+++ b/xos/configurations/cord-pod/cord-fabric-vr.json
@@ -0,0 +1,161 @@
+{
+ "ports" : {
+ "of:0000000000000001/5" : {
+ "interfaces" : [
+ {
+ "ips" : [ "10.0.1.254/24" ]
+ }
+ ]
+ },
+ "of:0000000000000001/7" : {
+ "interfaces" : [
+ {
+ "ips" : [ "10.0.1.254/24" ]
+ }
+ ]
+ },
+ "of:0000000000000002/5" : {
+ "interfaces" : [
+ {
+ "ips" : [ "10.0.2.254/24" ]
+ }
+ ]
+ },
+ "of:0000000000000002/32" : {
+ "interfaces" : [
+ {
+ "name" : "internet-router",
+ "ips" : [ "10.231.254.202/30" ],
+ "mac" : "00:16:3e:4b:5a:04"
+ }
+ ],
+ "pimInterface" : {
+ "interfaceName" : "internet-router",
+ "enabled" : true,
+ "helloInterval" : 1,
+ "holdTime" : 3,
+ "propagationDelay" : 500,
+ "overrideInterval" : 2500
+ }
+ }
+ },
+ "devices" : {
+ "of:0000000000000001" : {
+ "segmentrouting" : {
+ "name" : "Leaf-R1",
+ "nodeSid" : 101,
+ "routerIp" : "10.0.1.254",
+ "routerMac" : "00:00:00:00:01:80",
+ "isEdgeRouter" : true,
+ "adjacencySids" : []
+ }
+ },
+ "of:0000000000000002" : {
+ "segmentrouting" : {
+ "name" : "Leaf-R2",
+ "nodeSid" : 102,
+ "routerIp" : "10.0.2.254",
+ "routerMac" : "00:00:00:00:02:80",
+ "isEdgeRouter" : true,
+ "adjacencySids" : []
+ }
+ },
+ "of:0000000000000191" : {
+ "segmentrouting" : {
+ "name" : "Spine-R1",
+ "nodeSid" : 103,
+ "routerIp" : "192.168.0.11",
+ "routerMac" : "00:00:01:00:11:80",
+ "isEdgeRouter" : false,
+ "adjacencySids" : []
+ }
+ },
+ "of:0000000000000192" : {
+ "segmentrouting" : {
+ "name" : "Spine-R2",
+ "nodeSid" : 104,
+ "routerIp" : "192.168.0.22",
+ "routerMac" : "00:00:01:00:22:80",
+ "isEdgeRouter" : false,
+ "adjacencySids" : []
+ }
+ }
+ },
+ "hosts" : {},
+ "links" : {
+ "of:0000000000000001/1-of:0000000000000191/1" : {
+ "basic" : {}
+ },
+ "of:0000000000000001/3-of:0000000000000192/1" : {
+ "basic" : {}
+ },
+ "of:0000000000000002/1-of:0000000000000191/3" : {
+ "basic" : {}
+ },
+ "of:0000000000000002/3-of:0000000000000192/3" : {
+ "basic" : {}
+ },
+ "of:0000000000000191/1-of:0000000000000001/1" : {
+ "basic" : {}
+ },
+ "of:0000000000000192/1-of:0000000000000001/3" : {
+ "basic" : {}
+ },
+ "of:0000000000000191/3-of:0000000000000002/1" : {
+ "basic" : {}
+ },
+ "of:0000000000000192/3-of:0000000000000002/3" : {
+ "basic" : {}
+ }
+ },
+ "apps" : {
+ "org.onosproject.core" : {
+ "core" : {
+ "linkDiscoveryMode" : "STRICT"
+ },
+ "multicast": {
+ "ingressVlan": "None",
+ "egressVlan": "None"
+ }
+ },
+ "org.onosproject.segmentrouting" : {
+ "segmentrouting" : {
+ "vRouterMacs" : [
+ "a4:23:05:34:56:78", "a4:23:05:34:56:79"
+ ],
+ "vRouterId" : "of:0000000000000002",
+ "suppressSubnet" : [
+ "of:0000000000000002/31", "of:0000000000000002/32"
+ ],
+ "suppressHostByProvider" : [
+ "org.onosproject.provider.host"
+ ],
+ "suppressHostByPort" : [
+ "of:0000000000000002/31", "of:0000000000000002/32"
+ ]
+ },
+ "xconnect": {
+ "of:0000000000000001": [
+ {
+ "vlan": 10,
+ "ports": [5, 73],
+ "name": "OLT1"
+ },
+ {
+ "vlan": 20,
+ "ports": [5, 89],
+ "name": "OLT2"
+ }
+ ]
+ }
+ },
+ "org.onosproject.router" : {
+ "router" : {
+ "controlPlaneConnectPoint" : "of:0000000000000002/31",
+ "ospfEnabled" : "true",
+ "pimEnabled" : "true",
+ "interfaces" : [ "internet-router" ]
+ }
+ }
+ }
+}
diff --git a/xos/configurations/cord-pod/make-fabric-yaml.sh b/xos/configurations/cord-pod/make-fabric-yaml.sh
index a829690..c65156b 100644
--- a/xos/configurations/cord-pod/make-fabric-yaml.sh
+++ b/xos/configurations/cord-pod/make-fabric-yaml.sh
@@ -22,6 +22,9 @@
no_container: true
rest_hostname: onos-fabric
replaces: service_ONOS_Fabric
+ rest_onos/v1/network/configuration/: { get_artifact: [ SELF, fabric_network_cfg_json, LOCAL_FILE ] }
+ artifacts:
+ fabric_network_cfg_json: /root/setup/cord-fabric-vr.json
service#fabric:
type: tosca.nodes.FabricService
@@ -67,5 +70,5 @@
node: service#fabric
relationship: tosca.relationships.UsedByService
properties:
- dependencies: org.onosproject.lldpprovider, org.onosproject.hostprovider, org.onosproject.openflow-base, org.onosproject.openflow, org.onosproject.drivers, org.onosproject.segmentrouting
+ dependencies: org.onosproject.drivers, org.onosproject.openflow-base, org.onosproject.netcfghostprovider, org.onosproject.netcfglinksprovider, org.onosproject.segmentrouting, org.onosproject.vrouter, org.onosproject.hostprovider
EOF
diff --git a/xos/core/models/service.py b/xos/core/models/service.py
index 83b827c..d3a8f98 100644
--- a/xos/core/models/service.py
+++ b/xos/core/models/service.py
@@ -327,7 +327,7 @@
class ServiceAttribute(PlCoreBase):
name = models.CharField(help_text="Attribute Name", max_length=128)
- value = StrippedCharField(help_text="Attribute Value", max_length=1024)
+ value = models.TextField(help_text="Attribute Value")
service = models.ForeignKey(Service, related_name='serviceattributes',
help_text="The Service this attribute is associated with")