blob: 7d0d23bd2c34e17f04c98ead7b2b33b2f049688f [file] [log] [blame]
Scott Baker50421662016-06-27 22:09:48 -07001FN=$SETUPDIR/vtn-external.yaml
2
3rm -f $FN
4
5cat >> $FN <<EOF
6tosca_definitions_version: tosca_simple_yaml_1_0
7
8imports:
9 - custom_types/xos.yaml
10
11description: autogenerated node tags file for VTN configuration
12
13topology_template:
14 node_templates:
15
16 service#ONOS_CORD:
17 type: tosca.nodes.ONOSService
18 requirements:
19 properties:
20 kind: onos
21 view_url: /admin/onos/onosservice/\$id$/
22 no_container: true
23 rest_hostname: onos-cord
24 replaces: service_ONOS_CORD
25
26 service#vtn:
27 type: tosca.nodes.VTNService
28 properties:
29 view_url: /admin/vtn/vtnservice/\$id$/
30 privateGatewayMac: 00:00:00:00:00:01
31 localManagementIp: 172.27.0.1/24
32 ovsdbPort: 6641
33 sshUser: root
34 sshKeyFile: /root/node_key
35 sshPort: 22
Scott Baker0d369d12016-11-08 16:37:30 -080036 xosEndpoint: http://xos:8888/
Scott Baker50421662016-06-27 22:09:48 -070037 xosUser: padmin@vicci.org
38 xosPassword: letmein
39 replaces: service_vtn
Scott Bakereccc7d52016-09-09 11:43:22 -070040 vtnAPIVersion: 2
Scott Baker50421662016-06-27 22:09:48 -070041
42EOF
43
44NODES=$( bash -c "source $SETUPDIR/admin-openrc.sh ; nova host-list" |grep compute|awk '{print $2}' )
45I=0
Andy Bavier3c008372016-08-02 15:10:42 -040046BRIDGE_IDX=1
Scott Baker50421662016-06-27 22:09:48 -070047for NODE in $NODES; do
Andy Bavierf5d2b292016-11-21 20:32:58 -050048 echo "[INFO] processing $NODE"
Andy Bavier3c008372016-08-02 15:10:42 -040049 BRIDGE_ID=$(printf "of:%016d" $BRIDGE_IDX )
50 BRIDGE_IDX=$(expr $BRIDGE_IDX + 1)
Andy Bavierf5d2b292016-11-21 20:32:58 -050051 # Try fabric interface
52 FIP=$(ssh -i node_key -o StrictHostKeyChecking=no ubuntu@$NODE ip -4 addr show fabric 2> /dev/null | grep inet | awk '{print $2}')
Andy Bavier3c008372016-08-02 15:10:42 -040053 if [ -z "$FIP" ]
54 then
Andy Bavierf5d2b292016-11-21 20:32:58 -050055 # IP address has already moved to br-int, skip it
56 echo "[INFO] $NODE: No IP address on 'fabric' interface, skipping..."
57 continue
Andy Bavier3c008372016-08-02 15:10:42 -040058 fi
59
Scott Baker50421662016-06-27 22:09:48 -070060 cat >> $FN <<EOF
61 $NODE:
62 type: tosca.nodes.Node
63
64 # VTN bridgeId field for node $NODE
65 ${NODE}_bridgeId_tag:
66 type: tosca.nodes.Tag
67 properties:
68 name: bridgeId
Andy Bavier3c008372016-08-02 15:10:42 -040069 value: $BRIDGE_ID
Scott Baker50421662016-06-27 22:09:48 -070070 requirements:
71 - target:
72 node: $NODE
73 relationship: tosca.relationships.TagsObject
74 - service:
75 node: service#ONOS_CORD
76 relationship: tosca.relationships.MemberOfService
77
78 # VTN dataPlaneIntf field for node $NODE
79 ${NODE}_dataPlaneIntf_tag:
80 type: tosca.nodes.Tag
81 properties:
82 name: dataPlaneIntf
83 value: fabric
84 requirements:
85 - target:
86 node: $NODE
87 relationship: tosca.relationships.TagsObject
88 - service:
89 node: service#ONOS_CORD
90 relationship: tosca.relationships.MemberOfService
91
92 # VTN dataPlaneIp field for node $NODE
93 ${NODE}_dataPlaneIp_tag:
94 type: tosca.nodes.Tag
95 properties:
96 name: dataPlaneIp
Andy Bavier3c008372016-08-02 15:10:42 -040097 value: $FIP
Scott Baker50421662016-06-27 22:09:48 -070098 requirements:
99 - target:
100 node: $NODE
101 relationship: tosca.relationships.TagsObject
102 - service:
103 node: service#ONOS_CORD
104 relationship: tosca.relationships.MemberOfService
105
Scott Bakerb08cd8d2016-10-12 09:56:34 -0700106 # VTN dataPlaneIntf field for node $NODE
Scott Baker53f01352016-10-19 10:05:56 -0700107# ${NODE}_hostManagementIface_tag:
108# type: tosca.nodes.Tag
109# properties:
110# name: hostManagementIface
111# value: veth3
112# requirements:
113# - target:
114# node: $NODE
115# relationship: tosca.relationships.TagsObject
116# - service:
117# node: service#ONOS_CORD
118# relationship: tosca.relationships.MemberOfService
Scott Bakerb08cd8d2016-10-12 09:56:34 -0700119
Scott Baker50421662016-06-27 22:09:48 -0700120EOF
121done
122
123cat >> $FN <<EOF
124 VTN_ONOS_app:
125 type: tosca.nodes.ONOSVTNApp
126 requirements:
127 - onos_tenant:
128 node: service#ONOS_CORD
129 relationship: tosca.relationships.TenantOfService
130 - vtn_service:
131 node: service#vtn
132 relationship: tosca.relationships.UsedByService
133 properties:
Charles Chanf95f74e2016-07-27 14:28:49 -0700134 install_dependencies: http://mavenrepo:8080/repository/org/opencord/cord-config/1.1-SNAPSHOT/cord-config-1.1-SNAPSHOT.oar,http://mavenrepo:8080/repository/org/opencord/vtn/1.1-SNAPSHOT/vtn-1.1-SNAPSHOT.oar
Scott Baker50421662016-06-27 22:09:48 -0700135 dependencies: org.onosproject.drivers, org.onosproject.drivers.ovsdb, org.onosproject.openflow-base, org.onosproject.ovsdb-base, org.onosproject.dhcp
136 autogenerate: vtn-network-cfg
137EOF