1 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2 <topology xmlns="http://www.cisco.com/VIRL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="0.9" xsi:schemaLocation="http://www.cisco.com/VIRL https://raw.github.com/CiscoVIRL/schema/v0.9/virl.xsd">
4 <entry key="management_network" type="String">flat</entry>
6 <node name="tg1" type="SIMPLE" subtype="server" location="570,238" vmImage="server-java-nested">
8 <entry key="config" type="String">#cloud-config
10 - ln -s -t /etc/rc.d /etc/rc.local
12 manage_etc_hosts: true
13 nfs_server_scratch: $$NFS_SERVER_SCRATCH$$
14 nfs_server_common: $$NFS_SERVER_COMMON$$
17 - systemctl start getty@ttyS0.service
18 - systemctl start rc-local
19 - touch /tmp/before-sed
20 - sed -i 's/^\s*PasswordAuthentication\s\+no/PasswordAuthentication yes/' /etc/ssh/sshd_config
21 - echo "UseDNS no" >> /etc/ssh/sshd_config
22 - service ssh restart
23 - service sshd restart
26 - gecos: User configured by VIRL Configuration Engine 0.21.4
27 lock-passwd: false
29 plain-text-passwd: cisco
31 ssh-authorized-keys:
32 - VIRL-USER-SSH-PUBLIC-KEY
33 - VIRL-USER-SSH-PUBLIC-KEY
34 sudo: ALL=(ALL) NOPASSWD:ALL
36 - path: /etc/init/ttyS0.conf
40 # This service maintains a getty on ttyS0 from the point the system is
41 # started until it is shut down again.
42 start on stopped rc or RUNLEVEL=[12345]
43 stop on runlevel [!12345]
45 exec /sbin/getty -L 115200 ttyS0 vt102
46 permissions: '0644'
47 - path: /etc/systemd/system/dhclient@.service
50 Description=Run dhclient on %i interface
51 After=network.target
54 ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease
55 RemainAfterExit=yes
57 permissions: '0644'
58 - path: /usr/local/sbin/cloud-instance-name
62 print pickle.loads(open('/var/lib/cloud/instance/obj.pkl').read()).metadata['name']
65 - path: /etc/rc.local
67 permissions: '0755'
70 ifconfig eth1 up 10.0.0.6 netmask 255.255.255.252
71 ifconfig eth2 up 10.0.0.14 netmask 255.255.255.252
73 grep -q nfs_server_scratch /var/lib/cloud/instance/user-data.txt || exit 1
74 grep -q nfs_server_common /var/lib/cloud/instance/user-data.txt || exit 1
75 nfs_server_scratch=$(grep -E '^nfs_server_scratch:' /var/lib/cloud/instance/user-data.txt | awk '{ print $2 }')
76 nfs_server_common=$(grep -E '^nfs_server_common:' /var/lib/cloud/instance/user-data.txt | awk '{ print $2 }')
77 instance_name=$(/usr/local/sbin/cloud-instance-name | cut -f 3 -d '<' | cut -f 1 -d '>')
78 echo My instance name is $instance_name
86 echo "Mounting NFS directories"
88 while [ $count -lt $MAXCOUNT ] && ! mount -t nfs "${nfs_server_scratch}/${instance_name}" /scratch
94 mount -t nfs "${nfs_server_common}" /mnt/common
96 mkdir /scratch/$(hostname)
100 <entry key="Auto-generate config" type="Boolean">false</entry>
102 <interface id="0" name="eth1" ipv4="10.0.0.6" netPrefixLenV4="30"/>
103 <interface id="1" name="eth2" ipv4="10.0.0.14" netPrefixLenV4="30"/>
105 <node name="sut1" type="SIMPLE" subtype="vPP" location="425,26" vmImage="server-java-nested">
107 <entry key="config" type="string">#cloud-config
109 - ln -s -t /etc/rc.d /etc/rc.local
111 manage_etc_hosts: true
112 nfs_server_scratch: $$NFS_SERVER_SCRATCH$$
113 nfs_server_common: $$NFS_SERVER_COMMON$$
116 - systemctl start getty@ttyS0.service
117 - systemctl start rc-local
118 - sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config
119 - echo "UseDNS no" >> /etc/ssh/sshd_config
120 - service ssh restart
121 - service sshd restart
122 - sed -i 's/no-pci//' /opt/cisco/vpe/etc/qn.conf
123 - sed -i 's/1024/1024 decimal-interface-names/g' /opt/cisco/vpe/etc/qn.conf
126 - gecos: User configured by VIRL Configuration Engine 0.21.4
129 plain-text-passwd: cisco
132 - VIRL-USER-SSH-PUBLIC-KEY
133 - VIRL-USER-SSH-PUBLIC-KEY
134 sudo: ALL=(ALL) NOPASSWD:ALL
136 - path: /etc/init/ttyS0.conf
140 # This service maintains a getty on ttyS0 from the point the system is
141 # started until it is shut down again.
142 start on stopped rc or RUNLEVEL=[12345]
143 stop on runlevel [!12345]
145 exec /sbin/getty -L 115200 ttyS0 vt102
147 - path: /etc/systemd/system/dhclient@.service
150 Description=Run dhclient on %i interface
154 ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease
158 - path: /usr/local/sbin/cloud-instance-name
162 print pickle.loads(open('/var/lib/cloud/instance/obj.pkl').read()).metadata['name']
165 - path: /etc/rc.local
166 owner: root:root
167 permissions: '0755'
170 grep -q nfs_server_scratch /var/lib/cloud/instance/user-data.txt || exit 1
171 grep -q nfs_server_common /var/lib/cloud/instance/user-data.txt || exit 1
172 nfs_server_scratch=$(grep -E '^nfs_server_scratch:' /var/lib/cloud/instance/user-data.txt | awk '{ print $2 }')
173 nfs_server_common=$(grep -E '^nfs_server_common:' /var/lib/cloud/instance/user-data.txt | awk '{ print $2 }')
174 instance_name=$(/usr/local/sbin/cloud-instance-name | cut -f 3 -d '<' | cut -f 1 -d '>')
175 echo My instance name is $instance_name
183 echo "Mounting NFS directories"
185 while [ $count -lt $MAXCOUNT ] && ! mount -t nfs "${nfs_server_scratch}/${instance_name}" /scratch
191 mount -t nfs "${nfs_server_common}" /mnt/common
193 mkdir /scratch/$(hostname)
198 <interface id="0" name="GigabitEthernet0/4/0" ipv4="10.0.0.9" netPrefixLenV4="30"/>
199 <interface id="1" name="GigabitEthernet0/5/0" ipv4="10.0.0.5" netPrefixLenV4="30"/>
201 <node name="sut2" type="SIMPLE" subtype="vPP" location="748,26" vmImage="server-java-nested">
203 <entry key="config" type="string">#cloud-config
205 - ln -s -t /etc/rc.d /etc/rc.local
207 manage_etc_hosts: true
208 nfs_server_scratch: $$NFS_SERVER_SCRATCH$$
209 nfs_server_common: $$NFS_SERVER_COMMON$$
212 - systemctl start getty@ttyS0.service
213 - systemctl start rc-local
214 - sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config
215 - echo "UseDNS no" >> /etc/ssh/sshd_config
216 - service ssh restart
217 - service sshd restart
218 - sed -i 's/no-pci//' /opt/cisco/vpe/etc/qn.conf
219 - sed -i 's/1024/1024 decimal-interface-names/g' /opt/cisco/vpe/etc/qn.conf
222 - gecos: User configured by VIRL Configuration Engine 0.21.4
225 plain-text-passwd: cisco
228 - VIRL-USER-SSH-PUBLIC-KEY
229 - VIRL-USER-SSH-PUBLIC-KEY
230 sudo: ALL=(ALL) NOPASSWD:ALL
232 - path: /etc/init/ttyS0.conf
236 # This service maintains a getty on ttyS0 from the point the system is
237 # started until it is shut down again.
238 start on stopped rc or RUNLEVEL=[12345]
239 stop on runlevel [!12345]
241 exec /sbin/getty -L 115200 ttyS0 vt102
243 - path: /etc/systemd/system/dhclient@.service
246 Description=Run dhclient on %i interface
250 ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease
254 - path: /usr/local/sbin/cloud-instance-name
258 print pickle.loads(open('/var/lib/cloud/instance/obj.pkl').read()).metadata['name']
261 - path: /etc/rc.local
262 owner: root:root
263 permissions: '0755'
266 grep -q nfs_server_scratch /var/lib/cloud/instance/user-data.txt || exit 1
267 grep -q nfs_server_common /var/lib/cloud/instance/user-data.txt || exit 1
268 nfs_server_scratch=$(grep -E '^nfs_server_scratch:' /var/lib/cloud/instance/user-data.txt | awk '{ print $2 }')
269 nfs_server_common=$(grep -E '^nfs_server_common:' /var/lib/cloud/instance/user-data.txt | awk '{ print $2 }')
270 instance_name=$(/usr/local/sbin/cloud-instance-name | cut -f 3 -d '<' | cut -f 1 -d '>')
271 echo My instance name is $instance_name
279 echo "Mounting NFS directories"
281 while [ $count -lt $MAXCOUNT ] && ! mount -t nfs "${nfs_server_scratch}/${instance_name}" /scratch
287 mount -t nfs "${nfs_server_common}" /mnt/common
289 mkdir /scratch/$(hostname)
294 <interface id="0" name="GigabitEthernet0/4/0" ipv4="10.0.0.13" netPrefixLenV4="30"/>
295 <interface id="1" name="GigabitEthernet0/5/0" ipv4="10.0.0.10" netPrefixLenV4="30"/>
297 <connection dst="/virl:topology/virl:node[1]/virl:interface[2]" src="/virl:topology/virl:node[3]/virl:interface[1]"/>
298 <connection dst="/virl:topology/virl:node[2]/virl:interface[2]" src="/virl:topology/virl:node[1]/virl:interface[1]"/>
299 <connection dst="/virl:topology/virl:node[3]/virl:interface[2]" src="/virl:topology/virl:node[2]/virl:interface[1]"/>