diff --git a/files/srtut-config/srtut-vmx-config.txt b/files/srtut-config/srtut-vmx-config.txt new file mode 100644 index 0000000..7be50ac --- /dev/null +++ b/files/srtut-config/srtut-vmx-config.txt @@ -0,0 +1,206 @@ + +version VERSION +system { + host-name srtut-vmx; + no-redirects; + root-authentication { + encrypted-password "$5$mcE0Hfiq$JfBeC3QSAvnd1tjqlOhlYXDgVrwvd6S4G3oVj5wiMO7"; ## SECRET-DATA + } + login { + user salt { + uid 2001; + class super-user; + authentication { + encrypted-password "$5$yp7ziGTI$F5F.6AUlR8hDK2JIsw5WRrTLex/yTCWH3iSR1Auk293"; ## SECRET-DATA + ssh-rsa "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCjxY2hLZ+ju5wdK4GYNhKGgnS8EWLBoEVpo+xQkhDzkTiBx3HGAnmARcVV0B9MqrHZl1omdnirJeygWzVbVY4yPUqGgEcUsTTq9fvK4AjTwtaoB5txAosaOnZq0zewmuZ6EMi6E3RND6A3FGXkf1Il2jg3I8k/dGqdyFI80B7sWy90fk+EqsGMPxVc+l5vAtY2jm84ellxxzBsulxfCSKPH86hZ1GqZ8A1ZBWITu15NjQw0aGssSYGMMTa1T8eFyY4hHWqqdwgOlODg9mZwwP1JdJH79SRoTOjqGGixuAFDGAgH3fNX6u8wTmYya/z7WXH6B2XwiiaZYdcyEbMLPZt"; ## SECRET-DATA + } + } + user jcluser { + uid 2000; + class super-user; + authentication { + encrypted-password "$6$7rmbaWhB$QSsd9lpzkDZEV/ebNdv4U37un2hGiVSP1WMChfTjys.N9U7TjA8ezyrEQVsGaJiLgIikVJFVfhV/OAnf4.ssM1"; ## SECRET-DATA + ssh-rsa "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCKe9JQ37jkk+LsYfXpQY3Ae0bujvN5aMukCiEqsXWKTZNll3wosDgQbn9vLANBYTPJVVMojByllBqux58mbNZiof5u5ZiH+NBxPGj6abFMspc/TXE/tNTnvBmkyJ20H0OW+gMDI3Pzs4UOV/BKcSifrdDg6gZsXwiBGoueT+v2D29oiqlQiwU80IhsjEw7EnZAzOdc9uYxtF8fCOmViN2TydUL1JUdux8org/0HVaRGRLoG8IKikF5jp/qvBb1+5zT0DKhyY5xp3yHa9gYSLENDJC+NrkERpq25bz96pIzo2205ULUETMRB79eKfvtkJZCiUQlubglD4GcW/8hq43"; ## SECRET-DATA + } + } + } + scripts { + language python; + } + services { + ssh { + root-login allow; + } + extension-service { + request-response { + grpc { + clear-text; + max-connections 10; + skip-authentication; + } + } + } + netconf { + ssh; + traceoptions { + file nc.txt size 1m world-readable; + flag all; + } + } + rest { + http { + port 3000; + } + enable-explorer; + } + } + syslog { + user * { + any emergency; + } + file messages { + any any; + authorization info; + } + file interactive-commands { + interactive-commands any; + } + } + processes { + dhcp-service { + traceoptions { + file dhcp_logfile size 10m; + level all; + flag packet; + } + } + } +} +chassis { + fpc 0 { + pic 0 { + number-of-ports 8; + } + lite-mode; + } + network-services enhanced-ip; +} +interfaces { + ge-0/0/0 { + description "srtut-vmx1" + unit 0 { + family inet { + address 10.0.101.10/24 + } + family inet6; + family mpls; + family iso; + } + } + + ge-0/0/1 { + description "srtut-vmx5" + unit 0 { + family inet { + address 10.0.105.10/24 + } + family inet6; + family mpls; + family iso; + } + } + + fxp0 { + description "OOB to MGMT Network"; + unit 0 { + family inet { + address 10.39.0.180/21; + } + } + } + lo0 { + unit 0 { + family inet { + address 10.10.10.10/32; + } + family inet6 { + address fec0:0:0:1111::10/128; + } + family iso { + address 49.0001.0010.0100.1010.00; + } + + } + } +} +routing-options { + router-id 10.10.10.10; + autonomous-system 65000; + forwarding-table { + export LOAD-BALANCE; + } + static { + route 0.0.0.0/0 { + next-hop 10.39.0.1; + no-readvertise; + preference 255; + } + } +} +protocols { + bgp { + group Core { + type internal; + local-address 10.10.10.10; + cluster 10.10.10.10; + family inet { + unicast; + } + family inet6 { + unicast; + } + family inet-vpn { + unicast; + } + neighbor 2.2.2.2; + neighbor 6.6.6.6; + } + } + isis { + level 1 disable; + level 2 wide-metrics-only; + interface ge-0/0/0.0 { + point-to-point; + level 2 metric 1000; + } + interface ge-0/0/1.0 { + point-to-point; + level 2 metric 1000; + } + interface lo0.0 { + passive; + } + } + ldp { + interface ge-0/0/0.0; + interface ge-0/0/1.0; + interface lo0.0; + } + mpls { + interface ge-0/0/0.0; + interface ge-0/0/1.0; + } + lldp { + port-id-subtype interface-name; + neighbour-port-info-display port-id; + interface ge-0/0/0; + interface ge-0/0/1; + } +} +policy-options { + policy-statement LOAD-BALANCE { + then { + load-balance per-packet; + } + } +} diff --git a/files/srtut-config/srtut-vmx1-config.txt b/files/srtut-config/srtut-vmx1-config.txt new file mode 100644 index 0000000..60d7767 --- /dev/null +++ b/files/srtut-config/srtut-vmx1-config.txt @@ -0,0 +1,236 @@ + +version VERSION +system { + host-name srtut-vmx1; + no-redirects; + root-authentication { + encrypted-password "$5$mcE0Hfiq$JfBeC3QSAvnd1tjqlOhlYXDgVrwvd6S4G3oVj5wiMO7"; ## SECRET-DATA + } + login { + user salt { + uid 2001; + class super-user; + authentication { + encrypted-password "$5$yp7ziGTI$F5F.6AUlR8hDK2JIsw5WRrTLex/yTCWH3iSR1Auk293"; ## SECRET-DATA + ssh-rsa "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCjxY2hLZ+ju5wdK4GYNhKGgnS8EWLBoEVpo+xQkhDzkTiBx3HGAnmARcVV0B9MqrHZl1omdnirJeygWzVbVY4yPUqGgEcUsTTq9fvK4AjTwtaoB5txAosaOnZq0zewmuZ6EMi6E3RND6A3FGXkf1Il2jg3I8k/dGqdyFI80B7sWy90fk+EqsGMPxVc+l5vAtY2jm84ellxxzBsulxfCSKPH86hZ1GqZ8A1ZBWITu15NjQw0aGssSYGMMTa1T8eFyY4hHWqqdwgOlODg9mZwwP1JdJH79SRoTOjqGGixuAFDGAgH3fNX6u8wTmYya/z7WXH6B2XwiiaZYdcyEbMLPZt"; ## SECRET-DATA + } + } + user jcluser { + uid 2000; + class super-user; + authentication { + encrypted-password "$6$7rmbaWhB$QSsd9lpzkDZEV/ebNdv4U37un2hGiVSP1WMChfTjys.N9U7TjA8ezyrEQVsGaJiLgIikVJFVfhV/OAnf4.ssM1"; ## SECRET-DATA + ssh-rsa "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCKe9JQ37jkk+LsYfXpQY3Ae0bujvN5aMukCiEqsXWKTZNll3wosDgQbn9vLANBYTPJVVMojByllBqux58mbNZiof5u5ZiH+NBxPGj6abFMspc/TXE/tNTnvBmkyJ20H0OW+gMDI3Pzs4UOV/BKcSifrdDg6gZsXwiBGoueT+v2D29oiqlQiwU80IhsjEw7EnZAzOdc9uYxtF8fCOmViN2TydUL1JUdux8org/0HVaRGRLoG8IKikF5jp/qvBb1+5zT0DKhyY5xp3yHa9gYSLENDJC+NrkERpq25bz96pIzo2205ULUETMRB79eKfvtkJZCiUQlubglD4GcW/8hq43"; ## SECRET-DATA + } + } + } + scripts { + language python; + } + services { + ssh { + root-login allow; + } + extension-service { + request-response { + grpc { + clear-text; + max-connections 10; + skip-authentication; + } + } + } + netconf { + ssh; + traceoptions { + file nc.txt size 1m world-readable; + flag all; + } + } + rest { + http { + port 3000; + } + enable-explorer; + } + } + syslog { + user * { + any emergency; + } + file messages { + any any; + authorization info; + } + file interactive-commands { + interactive-commands any; + } + } + processes { + dhcp-service { + traceoptions { + file dhcp_logfile size 10m; + level all; + flag packet; + } + } + } +} +chassis { + fpc 0 { + pic 0 { + number-of-ports 8; + } + lite-mode; + } + network-services enhanced-ip; +} +interfaces { + ge-0/0/0 { + description "srtut-vmx" + unit 0 { + family inet { + address 10.0.101.1/24 + } + family inet6; + family mpls; + family iso; + } + } + + ge-0/0/1 { + description "srtut-vmx2" + unit 0 { + family inet { + address 10.0.12.1/24 + } + family inet6; + family mpls; + family iso; + } + } + + ge-0/0/2 { + description "srtut-vmx3" + unit 0 { + family inet { + address 10.0.13.1/24 + } + family inet6; + family mpls; + family iso; + } + } + + fxp0 { + description "OOB to MGMT Network"; + unit 0 { + family inet { + address 10.39.0.181/21; + } + } + } + lo0 { + unit 0 { + family inet { + address 1.1.1.1/32; + } + family inet6 { + address fec0:0:0:1111::1/128; + } + family iso { + address 49.0001.0010.0100.1001.00; + } + + } + } +} +routing-options { + router-id 1.1.1.1; + autonomous-system 65000; + forwarding-table { + export LOAD-BALANCE; + } + static { + route 0.0.0.0/0 { + next-hop 10.39.0.1; + no-readvertise; + preference 255; + } + } +} +protocols { + bgp { + group Core { + type internal; + export __Ansible_Core_export; + local-address 1.1.1.1; + family inet { + unicast; + } + family inet6 { + unicast; + } + family inet-vpn { + unicast; + } + neighbor 10.10.10.10; + } + } + isis { + level 1 disable; + level 2 wide-metrics-only; + interface ge-0/0/0.0 { + point-to-point; + level 2 metric 1000; + } + interface ge-0/0/1.0 { + point-to-point; + level 2 metric 1000; + } + interface ge-0/0/2.0 { + point-to-point; + level 2 metric 1000; + } + interface lo0.0 { + passive; + } + } + ldp { + interface ge-0/0/0.0; + interface ge-0/0/1.0; + interface ge-0/0/2.0; + interface lo0.0; + } + mpls { + interface ge-0/0/0.0; + interface ge-0/0/1.0; + interface ge-0/0/2.0; + } + lldp { + port-id-subtype interface-name; + neighbour-port-info-display port-id; + interface ge-0/0/0; + interface ge-0/0/1; + interface ge-0/0/2; + } +} +policy-options { + policy-statement LOAD-BALANCE { + then { + load-balance per-packet; + } + } + policy-statement __Ansible_Core_export { + term ebgp { + from { + protocol bgp; + external; + } + then { + next-hop self; + accept; + } + } + } +} diff --git a/files/srtut-config/srtut-vmx2-config.txt b/files/srtut-config/srtut-vmx2-config.txt new file mode 100644 index 0000000..7ed8140 --- /dev/null +++ b/files/srtut-config/srtut-vmx2-config.txt @@ -0,0 +1,212 @@ + +version VERSION +system { + host-name srtut-vmx2; + no-redirects; + root-authentication { + encrypted-password "$5$mcE0Hfiq$JfBeC3QSAvnd1tjqlOhlYXDgVrwvd6S4G3oVj5wiMO7"; ## SECRET-DATA + } + login { + user salt { + uid 2001; + class super-user; + authentication { + encrypted-password "$5$yp7ziGTI$F5F.6AUlR8hDK2JIsw5WRrTLex/yTCWH3iSR1Auk293"; ## SECRET-DATA + ssh-rsa "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCjxY2hLZ+ju5wdK4GYNhKGgnS8EWLBoEVpo+xQkhDzkTiBx3HGAnmARcVV0B9MqrHZl1omdnirJeygWzVbVY4yPUqGgEcUsTTq9fvK4AjTwtaoB5txAosaOnZq0zewmuZ6EMi6E3RND6A3FGXkf1Il2jg3I8k/dGqdyFI80B7sWy90fk+EqsGMPxVc+l5vAtY2jm84ellxxzBsulxfCSKPH86hZ1GqZ8A1ZBWITu15NjQw0aGssSYGMMTa1T8eFyY4hHWqqdwgOlODg9mZwwP1JdJH79SRoTOjqGGixuAFDGAgH3fNX6u8wTmYya/z7WXH6B2XwiiaZYdcyEbMLPZt"; ## SECRET-DATA + } + } + user jcluser { + uid 2000; + class super-user; + authentication { + encrypted-password "$6$7rmbaWhB$QSsd9lpzkDZEV/ebNdv4U37un2hGiVSP1WMChfTjys.N9U7TjA8ezyrEQVsGaJiLgIikVJFVfhV/OAnf4.ssM1"; ## SECRET-DATA + ssh-rsa "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCKe9JQ37jkk+LsYfXpQY3Ae0bujvN5aMukCiEqsXWKTZNll3wosDgQbn9vLANBYTPJVVMojByllBqux58mbNZiof5u5ZiH+NBxPGj6abFMspc/TXE/tNTnvBmkyJ20H0OW+gMDI3Pzs4UOV/BKcSifrdDg6gZsXwiBGoueT+v2D29oiqlQiwU80IhsjEw7EnZAzOdc9uYxtF8fCOmViN2TydUL1JUdux8org/0HVaRGRLoG8IKikF5jp/qvBb1+5zT0DKhyY5xp3yHa9gYSLENDJC+NrkERpq25bz96pIzo2205ULUETMRB79eKfvtkJZCiUQlubglD4GcW/8hq43"; ## SECRET-DATA + } + } + } + scripts { + language python; + } + services { + ssh { + root-login allow; + } + extension-service { + request-response { + grpc { + clear-text; + max-connections 10; + skip-authentication; + } + } + } + netconf { + ssh; + traceoptions { + file nc.txt size 1m world-readable; + flag all; + } + } + rest { + http { + port 3000; + } + enable-explorer; + } + } + syslog { + user * { + any emergency; + } + file messages { + any any; + authorization info; + } + file interactive-commands { + interactive-commands any; + } + } + processes { + dhcp-service { + traceoptions { + file dhcp_logfile size 10m; + level all; + flag packet; + } + } + } +} +chassis { + fpc 0 { + pic 0 { + number-of-ports 8; + } + lite-mode; + } + network-services enhanced-ip; +} +interfaces { + ge-0/0/1 { + description "srtut-vmx1" + unit 0 { + family inet { + address 10.0.12.2/24 + } + family inet6; + family mpls; + family iso; + } + } + + fxp0 { + description "OOB to MGMT Network"; + unit 0 { + family inet { + address 10.39.0.182/21; + } + } + } + lo0 { + unit 0 { + family inet { + address 2.2.2.2/32; + } + family inet6 { + address fec0:0:0:1111::2/128; + } + family iso { + address 49.0001.0010.0100.1002.00; + } + + } + unit 1 { + family inet { + address 100.100.100.2/32; + } + } + } +} +routing-options { + router-id 2.2.2.2; + autonomous-system 65000; + forwarding-table { + export LOAD-BALANCE; + } + static { + route 0.0.0.0/0 { + next-hop 10.39.0.1; + no-readvertise; + preference 255; + } + } +} +protocols { + bgp { + group Core { + type internal; + export __Ansible_Core_export; + local-address 2.2.2.2; + family inet { + unicast; + } + family inet6 { + unicast; + } + family inet-vpn { + unicast; + } + neighbor 10.10.10.10; + } + } + isis { + level 1 disable; + level 2 wide-metrics-only; + interface ge-0/0/1.0 { + point-to-point; + level 2 metric 1000; + } + interface lo0.0 { + passive; + } + } + ldp { + interface ge-0/0/1.0; + interface lo0.0; + } + mpls { + interface ge-0/0/1.0; + } + lldp { + port-id-subtype interface-name; + neighbour-port-info-display port-id; + interface ge-0/0/1; + } +} +policy-options { + policy-statement LOAD-BALANCE { + then { + load-balance per-packet; + } + } + policy-statement __Ansible_Core_export { + term ebgp { + from { + protocol bgp; + external; + } + then { + next-hop self; + accept; + } + } + } +} +routing-instances { + BLUE { + instance-type vrf; + interface lo0.1; + route-distinguisher 2.2.2.2:100; + vrf-target target:100:100; + vrf-table-label; + } +} diff --git a/files/srtut-config/srtut-vmx3-config.txt b/files/srtut-config/srtut-vmx3-config.txt new file mode 100644 index 0000000..ff48cbf --- /dev/null +++ b/files/srtut-config/srtut-vmx3-config.txt @@ -0,0 +1,236 @@ + +version VERSION +system { + host-name srtut-vmx3; + no-redirects; + root-authentication { + encrypted-password "$5$mcE0Hfiq$JfBeC3QSAvnd1tjqlOhlYXDgVrwvd6S4G3oVj5wiMO7"; ## SECRET-DATA + } + login { + user salt { + uid 2001; + class super-user; + authentication { + encrypted-password "$5$yp7ziGTI$F5F.6AUlR8hDK2JIsw5WRrTLex/yTCWH3iSR1Auk293"; ## SECRET-DATA + ssh-rsa "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCjxY2hLZ+ju5wdK4GYNhKGgnS8EWLBoEVpo+xQkhDzkTiBx3HGAnmARcVV0B9MqrHZl1omdnirJeygWzVbVY4yPUqGgEcUsTTq9fvK4AjTwtaoB5txAosaOnZq0zewmuZ6EMi6E3RND6A3FGXkf1Il2jg3I8k/dGqdyFI80B7sWy90fk+EqsGMPxVc+l5vAtY2jm84ellxxzBsulxfCSKPH86hZ1GqZ8A1ZBWITu15NjQw0aGssSYGMMTa1T8eFyY4hHWqqdwgOlODg9mZwwP1JdJH79SRoTOjqGGixuAFDGAgH3fNX6u8wTmYya/z7WXH6B2XwiiaZYdcyEbMLPZt"; ## SECRET-DATA + } + } + user jcluser { + uid 2000; + class super-user; + authentication { + encrypted-password "$6$7rmbaWhB$QSsd9lpzkDZEV/ebNdv4U37un2hGiVSP1WMChfTjys.N9U7TjA8ezyrEQVsGaJiLgIikVJFVfhV/OAnf4.ssM1"; ## SECRET-DATA + ssh-rsa "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCKe9JQ37jkk+LsYfXpQY3Ae0bujvN5aMukCiEqsXWKTZNll3wosDgQbn9vLANBYTPJVVMojByllBqux58mbNZiof5u5ZiH+NBxPGj6abFMspc/TXE/tNTnvBmkyJ20H0OW+gMDI3Pzs4UOV/BKcSifrdDg6gZsXwiBGoueT+v2D29oiqlQiwU80IhsjEw7EnZAzOdc9uYxtF8fCOmViN2TydUL1JUdux8org/0HVaRGRLoG8IKikF5jp/qvBb1+5zT0DKhyY5xp3yHa9gYSLENDJC+NrkERpq25bz96pIzo2205ULUETMRB79eKfvtkJZCiUQlubglD4GcW/8hq43"; ## SECRET-DATA + } + } + } + scripts { + language python; + } + services { + ssh { + root-login allow; + } + extension-service { + request-response { + grpc { + clear-text; + max-connections 10; + skip-authentication; + } + } + } + netconf { + ssh; + traceoptions { + file nc.txt size 1m world-readable; + flag all; + } + } + rest { + http { + port 3000; + } + enable-explorer; + } + } + syslog { + user * { + any emergency; + } + file messages { + any any; + authorization info; + } + file interactive-commands { + interactive-commands any; + } + } + processes { + dhcp-service { + traceoptions { + file dhcp_logfile size 10m; + level all; + flag packet; + } + } + } +} +chassis { + fpc 0 { + pic 0 { + number-of-ports 8; + } + lite-mode; + } + network-services enhanced-ip; +} +interfaces { + ge-0/0/0 { + description "srtut-vmx4" + unit 0 { + family inet { + address 10.0.34.33/24 + } + family inet6; + family mpls; + family iso; + } + } + + ge-0/0/1 { + description "srtut-vmx4" + unit 0 { + family inet { + address 10.0.34.3/24 + } + family inet6; + family mpls; + family iso; + } + } + + ge-0/0/2 { + description "srtut-vmx1" + unit 0 { + family inet { + address 10.0.13.3/24 + } + family inet6; + family mpls; + family iso; + } + } + + fxp0 { + description "OOB to MGMT Network"; + unit 0 { + family inet { + address 10.39.0.183/21; + } + } + } + lo0 { + unit 0 { + family inet { + address 3.3.3.3/32; + } + family inet6 { + address fec0:0:0:1111::3/128; + } + family iso { + address 49.0001.0010.0100.1003.00; + } + + } + } +} +routing-options { + router-id 3.3.3.3; + autonomous-system 65000; + forwarding-table { + export LOAD-BALANCE; + } + static { + route 0.0.0.0/0 { + next-hop 10.39.0.1; + no-readvertise; + preference 255; + } + } +} +protocols { + bgp { + group Core { + type internal; + export __Ansible_Core_export; + local-address 3.3.3.3; + family inet { + unicast; + } + family inet6 { + unicast; + } + family inet-vpn { + unicast; + } + neighbor 10.10.10.10; + } + } + isis { + level 1 disable; + level 2 wide-metrics-only; + interface ge-0/0/0.0 { + point-to-point; + level 2 metric 1000; + } + interface ge-0/0/1.0 { + point-to-point; + level 2 metric 1000; + } + interface ge-0/0/2.0 { + point-to-point; + level 2 metric 1000; + } + interface lo0.0 { + passive; + } + } + ldp { + interface ge-0/0/0.0; + interface ge-0/0/1.0; + interface ge-0/0/2.0; + interface lo0.0; + } + mpls { + interface ge-0/0/0.0; + interface ge-0/0/1.0; + interface ge-0/0/2.0; + } + lldp { + port-id-subtype interface-name; + neighbour-port-info-display port-id; + interface ge-0/0/0; + interface ge-0/0/1; + interface ge-0/0/2; + } +} +policy-options { + policy-statement LOAD-BALANCE { + then { + load-balance per-packet; + } + } + policy-statement __Ansible_Core_export { + term ebgp { + from { + protocol bgp; + external; + } + then { + next-hop self; + accept; + } + } + } +} diff --git a/files/srtut-config/srtut-vmx4-config.txt b/files/srtut-config/srtut-vmx4-config.txt new file mode 100644 index 0000000..30a747b --- /dev/null +++ b/files/srtut-config/srtut-vmx4-config.txt @@ -0,0 +1,236 @@ + +version VERSION +system { + host-name srtut-vmx4; + no-redirects; + root-authentication { + encrypted-password "$5$mcE0Hfiq$JfBeC3QSAvnd1tjqlOhlYXDgVrwvd6S4G3oVj5wiMO7"; ## SECRET-DATA + } + login { + user salt { + uid 2001; + class super-user; + authentication { + encrypted-password "$5$yp7ziGTI$F5F.6AUlR8hDK2JIsw5WRrTLex/yTCWH3iSR1Auk293"; ## SECRET-DATA + ssh-rsa "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCjxY2hLZ+ju5wdK4GYNhKGgnS8EWLBoEVpo+xQkhDzkTiBx3HGAnmARcVV0B9MqrHZl1omdnirJeygWzVbVY4yPUqGgEcUsTTq9fvK4AjTwtaoB5txAosaOnZq0zewmuZ6EMi6E3RND6A3FGXkf1Il2jg3I8k/dGqdyFI80B7sWy90fk+EqsGMPxVc+l5vAtY2jm84ellxxzBsulxfCSKPH86hZ1GqZ8A1ZBWITu15NjQw0aGssSYGMMTa1T8eFyY4hHWqqdwgOlODg9mZwwP1JdJH79SRoTOjqGGixuAFDGAgH3fNX6u8wTmYya/z7WXH6B2XwiiaZYdcyEbMLPZt"; ## SECRET-DATA + } + } + user jcluser { + uid 2000; + class super-user; + authentication { + encrypted-password "$6$7rmbaWhB$QSsd9lpzkDZEV/ebNdv4U37un2hGiVSP1WMChfTjys.N9U7TjA8ezyrEQVsGaJiLgIikVJFVfhV/OAnf4.ssM1"; ## SECRET-DATA + ssh-rsa "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCKe9JQ37jkk+LsYfXpQY3Ae0bujvN5aMukCiEqsXWKTZNll3wosDgQbn9vLANBYTPJVVMojByllBqux58mbNZiof5u5ZiH+NBxPGj6abFMspc/TXE/tNTnvBmkyJ20H0OW+gMDI3Pzs4UOV/BKcSifrdDg6gZsXwiBGoueT+v2D29oiqlQiwU80IhsjEw7EnZAzOdc9uYxtF8fCOmViN2TydUL1JUdux8org/0HVaRGRLoG8IKikF5jp/qvBb1+5zT0DKhyY5xp3yHa9gYSLENDJC+NrkERpq25bz96pIzo2205ULUETMRB79eKfvtkJZCiUQlubglD4GcW/8hq43"; ## SECRET-DATA + } + } + } + scripts { + language python; + } + services { + ssh { + root-login allow; + } + extension-service { + request-response { + grpc { + clear-text; + max-connections 10; + skip-authentication; + } + } + } + netconf { + ssh; + traceoptions { + file nc.txt size 1m world-readable; + flag all; + } + } + rest { + http { + port 3000; + } + enable-explorer; + } + } + syslog { + user * { + any emergency; + } + file messages { + any any; + authorization info; + } + file interactive-commands { + interactive-commands any; + } + } + processes { + dhcp-service { + traceoptions { + file dhcp_logfile size 10m; + level all; + flag packet; + } + } + } +} +chassis { + fpc 0 { + pic 0 { + number-of-ports 8; + } + lite-mode; + } + network-services enhanced-ip; +} +interfaces { + ge-0/0/0 { + description "srtut-vmx3" + unit 0 { + family inet { + address 10.0.34.44/24 + } + family inet6; + family mpls; + family iso; + } + } + + ge-0/0/1 { + description "srtut-vmx3" + unit 0 { + family inet { + address 10.0.34.4/24 + } + family inet6; + family mpls; + family iso; + } + } + + ge-0/0/2 { + description "srtut-vmx5" + unit 0 { + family inet { + address 10.0.45.4/24 + } + family inet6; + family mpls; + family iso; + } + } + + fxp0 { + description "OOB to MGMT Network"; + unit 0 { + family inet { + address 10.39.0.184/21; + } + } + } + lo0 { + unit 0 { + family inet { + address 4.4.4.4/32; + } + family inet6 { + address fec0:0:0:1111::4/128; + } + family iso { + address 49.0001.0010.0100.1004.00; + } + + } + } +} +routing-options { + router-id 4.4.4.4; + autonomous-system 65000; + forwarding-table { + export LOAD-BALANCE; + } + static { + route 0.0.0.0/0 { + next-hop 10.39.0.1; + no-readvertise; + preference 255; + } + } +} +protocols { + bgp { + group Core { + type internal; + export __Ansible_Core_export; + local-address 4.4.4.4; + family inet { + unicast; + } + family inet6 { + unicast; + } + family inet-vpn { + unicast; + } + neighbor 10.10.10.10; + } + } + isis { + level 1 disable; + level 2 wide-metrics-only; + interface ge-0/0/0.0 { + point-to-point; + level 2 metric 1000; + } + interface ge-0/0/1.0 { + point-to-point; + level 2 metric 1000; + } + interface ge-0/0/2.0 { + point-to-point; + level 2 metric 1000; + } + interface lo0.0 { + passive; + } + } + ldp { + interface ge-0/0/0.0; + interface ge-0/0/1.0; + interface ge-0/0/2.0; + interface lo0.0; + } + mpls { + interface ge-0/0/0.0; + interface ge-0/0/1.0; + interface ge-0/0/2.0; + } + lldp { + port-id-subtype interface-name; + neighbour-port-info-display port-id; + interface ge-0/0/0; + interface ge-0/0/1; + interface ge-0/0/2; + } +} +policy-options { + policy-statement LOAD-BALANCE { + then { + load-balance per-packet; + } + } + policy-statement __Ansible_Core_export { + term ebgp { + from { + protocol bgp; + external; + } + then { + next-hop self; + accept; + } + } + } +} diff --git a/files/srtut-config/srtut-vmx5-config.txt b/files/srtut-config/srtut-vmx5-config.txt new file mode 100644 index 0000000..5acc4c1 --- /dev/null +++ b/files/srtut-config/srtut-vmx5-config.txt @@ -0,0 +1,236 @@ + +version VERSION +system { + host-name srtut-vmx5; + no-redirects; + root-authentication { + encrypted-password "$5$mcE0Hfiq$JfBeC3QSAvnd1tjqlOhlYXDgVrwvd6S4G3oVj5wiMO7"; ## SECRET-DATA + } + login { + user salt { + uid 2001; + class super-user; + authentication { + encrypted-password "$5$yp7ziGTI$F5F.6AUlR8hDK2JIsw5WRrTLex/yTCWH3iSR1Auk293"; ## SECRET-DATA + ssh-rsa "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCjxY2hLZ+ju5wdK4GYNhKGgnS8EWLBoEVpo+xQkhDzkTiBx3HGAnmARcVV0B9MqrHZl1omdnirJeygWzVbVY4yPUqGgEcUsTTq9fvK4AjTwtaoB5txAosaOnZq0zewmuZ6EMi6E3RND6A3FGXkf1Il2jg3I8k/dGqdyFI80B7sWy90fk+EqsGMPxVc+l5vAtY2jm84ellxxzBsulxfCSKPH86hZ1GqZ8A1ZBWITu15NjQw0aGssSYGMMTa1T8eFyY4hHWqqdwgOlODg9mZwwP1JdJH79SRoTOjqGGixuAFDGAgH3fNX6u8wTmYya/z7WXH6B2XwiiaZYdcyEbMLPZt"; ## SECRET-DATA + } + } + user jcluser { + uid 2000; + class super-user; + authentication { + encrypted-password "$6$7rmbaWhB$QSsd9lpzkDZEV/ebNdv4U37un2hGiVSP1WMChfTjys.N9U7TjA8ezyrEQVsGaJiLgIikVJFVfhV/OAnf4.ssM1"; ## SECRET-DATA + ssh-rsa "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCKe9JQ37jkk+LsYfXpQY3Ae0bujvN5aMukCiEqsXWKTZNll3wosDgQbn9vLANBYTPJVVMojByllBqux58mbNZiof5u5ZiH+NBxPGj6abFMspc/TXE/tNTnvBmkyJ20H0OW+gMDI3Pzs4UOV/BKcSifrdDg6gZsXwiBGoueT+v2D29oiqlQiwU80IhsjEw7EnZAzOdc9uYxtF8fCOmViN2TydUL1JUdux8org/0HVaRGRLoG8IKikF5jp/qvBb1+5zT0DKhyY5xp3yHa9gYSLENDJC+NrkERpq25bz96pIzo2205ULUETMRB79eKfvtkJZCiUQlubglD4GcW/8hq43"; ## SECRET-DATA + } + } + } + scripts { + language python; + } + services { + ssh { + root-login allow; + } + extension-service { + request-response { + grpc { + clear-text; + max-connections 10; + skip-authentication; + } + } + } + netconf { + ssh; + traceoptions { + file nc.txt size 1m world-readable; + flag all; + } + } + rest { + http { + port 3000; + } + enable-explorer; + } + } + syslog { + user * { + any emergency; + } + file messages { + any any; + authorization info; + } + file interactive-commands { + interactive-commands any; + } + } + processes { + dhcp-service { + traceoptions { + file dhcp_logfile size 10m; + level all; + flag packet; + } + } + } +} +chassis { + fpc 0 { + pic 0 { + number-of-ports 8; + } + lite-mode; + } + network-services enhanced-ip; +} +interfaces { + ge-0/0/1 { + description "srtut-vmx" + unit 0 { + family inet { + address 10.0.105.5/24 + } + family inet6; + family mpls; + family iso; + } + } + + ge-0/0/2 { + description "srtut-vmx4" + unit 0 { + family inet { + address 10.0.45.5/24 + } + family inet6; + family mpls; + family iso; + } + } + + ge-0/0/3 { + description "srtut-vmx6" + unit 0 { + family inet { + address 10.0.56.5/24 + } + family inet6; + family mpls; + family iso; + } + } + + fxp0 { + description "OOB to MGMT Network"; + unit 0 { + family inet { + address 10.39.0.185/21; + } + } + } + lo0 { + unit 0 { + family inet { + address 5.5.5.5/32; + } + family inet6 { + address fec0:0:0:1111::5/128; + } + family iso { + address 49.0001.0010.0100.1005.00; + } + + } + } +} +routing-options { + router-id 5.5.5.5; + autonomous-system 65000; + forwarding-table { + export LOAD-BALANCE; + } + static { + route 0.0.0.0/0 { + next-hop 10.39.0.1; + no-readvertise; + preference 255; + } + } +} +protocols { + bgp { + group Core { + type internal; + export __Ansible_Core_export; + local-address 5.5.5.5; + family inet { + unicast; + } + family inet6 { + unicast; + } + family inet-vpn { + unicast; + } + neighbor 10.10.10.10; + } + } + isis { + level 1 disable; + level 2 wide-metrics-only; + interface ge-0/0/1.0 { + point-to-point; + level 2 metric 1000; + } + interface ge-0/0/2.0 { + point-to-point; + level 2 metric 1000; + } + interface ge-0/0/3.0 { + point-to-point; + level 2 metric 1000; + } + interface lo0.0 { + passive; + } + } + ldp { + interface ge-0/0/1.0; + interface ge-0/0/2.0; + interface ge-0/0/3.0; + interface lo0.0; + } + mpls { + interface ge-0/0/1.0; + interface ge-0/0/2.0; + interface ge-0/0/3.0; + } + lldp { + port-id-subtype interface-name; + neighbour-port-info-display port-id; + interface ge-0/0/1; + interface ge-0/0/2; + interface ge-0/0/3; + } +} +policy-options { + policy-statement LOAD-BALANCE { + then { + load-balance per-packet; + } + } + policy-statement __Ansible_Core_export { + term ebgp { + from { + protocol bgp; + external; + } + then { + next-hop self; + accept; + } + } + } +} diff --git a/files/srtut-config/srtut-vmx6-config.txt b/files/srtut-config/srtut-vmx6-config.txt new file mode 100644 index 0000000..e5736f7 --- /dev/null +++ b/files/srtut-config/srtut-vmx6-config.txt @@ -0,0 +1,212 @@ + +version VERSION +system { + host-name srtut-vmx6; + no-redirects; + root-authentication { + encrypted-password "$5$mcE0Hfiq$JfBeC3QSAvnd1tjqlOhlYXDgVrwvd6S4G3oVj5wiMO7"; ## SECRET-DATA + } + login { + user salt { + uid 2001; + class super-user; + authentication { + encrypted-password "$5$yp7ziGTI$F5F.6AUlR8hDK2JIsw5WRrTLex/yTCWH3iSR1Auk293"; ## SECRET-DATA + ssh-rsa "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCjxY2hLZ+ju5wdK4GYNhKGgnS8EWLBoEVpo+xQkhDzkTiBx3HGAnmARcVV0B9MqrHZl1omdnirJeygWzVbVY4yPUqGgEcUsTTq9fvK4AjTwtaoB5txAosaOnZq0zewmuZ6EMi6E3RND6A3FGXkf1Il2jg3I8k/dGqdyFI80B7sWy90fk+EqsGMPxVc+l5vAtY2jm84ellxxzBsulxfCSKPH86hZ1GqZ8A1ZBWITu15NjQw0aGssSYGMMTa1T8eFyY4hHWqqdwgOlODg9mZwwP1JdJH79SRoTOjqGGixuAFDGAgH3fNX6u8wTmYya/z7WXH6B2XwiiaZYdcyEbMLPZt"; ## SECRET-DATA + } + } + user jcluser { + uid 2000; + class super-user; + authentication { + encrypted-password "$6$7rmbaWhB$QSsd9lpzkDZEV/ebNdv4U37un2hGiVSP1WMChfTjys.N9U7TjA8ezyrEQVsGaJiLgIikVJFVfhV/OAnf4.ssM1"; ## SECRET-DATA + ssh-rsa "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCKe9JQ37jkk+LsYfXpQY3Ae0bujvN5aMukCiEqsXWKTZNll3wosDgQbn9vLANBYTPJVVMojByllBqux58mbNZiof5u5ZiH+NBxPGj6abFMspc/TXE/tNTnvBmkyJ20H0OW+gMDI3Pzs4UOV/BKcSifrdDg6gZsXwiBGoueT+v2D29oiqlQiwU80IhsjEw7EnZAzOdc9uYxtF8fCOmViN2TydUL1JUdux8org/0HVaRGRLoG8IKikF5jp/qvBb1+5zT0DKhyY5xp3yHa9gYSLENDJC+NrkERpq25bz96pIzo2205ULUETMRB79eKfvtkJZCiUQlubglD4GcW/8hq43"; ## SECRET-DATA + } + } + } + scripts { + language python; + } + services { + ssh { + root-login allow; + } + extension-service { + request-response { + grpc { + clear-text; + max-connections 10; + skip-authentication; + } + } + } + netconf { + ssh; + traceoptions { + file nc.txt size 1m world-readable; + flag all; + } + } + rest { + http { + port 3000; + } + enable-explorer; + } + } + syslog { + user * { + any emergency; + } + file messages { + any any; + authorization info; + } + file interactive-commands { + interactive-commands any; + } + } + processes { + dhcp-service { + traceoptions { + file dhcp_logfile size 10m; + level all; + flag packet; + } + } + } +} +chassis { + fpc 0 { + pic 0 { + number-of-ports 8; + } + lite-mode; + } + network-services enhanced-ip; +} +interfaces { + ge-0/0/3 { + description "srtut-vmx5" + unit 0 { + family inet { + address 10.0.56.6/24 + } + family inet6; + family mpls; + family iso; + } + } + + fxp0 { + description "OOB to MGMT Network"; + unit 0 { + family inet { + address 10.39.0.186/21; + } + } + } + lo0 { + unit 0 { + family inet { + address 6.6.6.6/32; + } + family inet6 { + address fec0:0:0:1111::6/128; + } + family iso { + address 49.0001.0010.0100.1006.00; + } + + } + unit 1 { + family inet { + address 100.100.100.6/32; + } + } + } +} +routing-options { + router-id 6.6.6.6; + autonomous-system 65000; + forwarding-table { + export LOAD-BALANCE; + } + static { + route 0.0.0.0/0 { + next-hop 10.39.0.1; + no-readvertise; + preference 255; + } + } +} +protocols { + bgp { + group Core { + type internal; + export __Ansible_Core_export; + local-address 6.6.6.6; + family inet { + unicast; + } + family inet6 { + unicast; + } + family inet-vpn { + unicast; + } + neighbor 10.10.10.10; + } + } + isis { + level 1 disable; + level 2 wide-metrics-only; + interface ge-0/0/3.0 { + point-to-point; + level 2 metric 1000; + } + interface lo0.0 { + passive; + } + } + ldp { + interface ge-0/0/3.0; + interface lo0.0; + } + mpls { + interface ge-0/0/3.0; + } + lldp { + port-id-subtype interface-name; + neighbour-port-info-display port-id; + interface ge-0/0/3; + } +} +policy-options { + policy-statement LOAD-BALANCE { + then { + load-balance per-packet; + } + } + policy-statement __Ansible_Core_export { + term ebgp { + from { + protocol bgp; + external; + } + then { + next-hop self; + accept; + } + } + } +} +routing-instances { + BLUE { + instance-type vrf; + interface lo0.1; + route-distinguisher 6.6.6.6:100; + vrf-target target:100:100; + vrf-table-label; + } +} diff --git a/files/srtut-tasks/srtut-vmx1_task.yml b/files/srtut-tasks/srtut-vmx1_task.yml new file mode 100644 index 0000000..c073b55 --- /dev/null +++ b/files/srtut-tasks/srtut-vmx1_task.yml @@ -0,0 +1,32 @@ + - name: Update vmx networking + vmware_guest: + hostname: "{{ esxi_hostname }}" + username: "{{ esxi_username }}" + password: "{{ esxi_password }}" + esxi_hostname: "{{ esxi_hostname }}" + validate_certs: False + name: "srtut-vmx1-vfpc" + folder: / + datastore: datastore2 + networks: + - name: NS-DEV-NAT + - name: "srtut-vmx1-br-int" + - name: "srtut-vmx-0--srtut-vmx1-0" + device_type: vmxnet3 + - name: "srtut-vmx1-1--srtut-vmx2-1" + device_type: vmxnet3 + - name: "srtut-vmx1-2--srtut-vmx3-2" + device_type: vmxnet3 + - name: "DUMMY" + start_connected: False + - name: "DUMMY" + start_connected: False + - name: "DUMMY" + start_connected: False + - name: "DUMMY" + start_connected: False + hardware: + num_cpus: 3 + memory_mb: 8192 + state: present + delegate_to: localhost diff --git a/files/srtut-tasks/srtut-vmx2_task.yml b/files/srtut-tasks/srtut-vmx2_task.yml new file mode 100644 index 0000000..a9133e2 --- /dev/null +++ b/files/srtut-tasks/srtut-vmx2_task.yml @@ -0,0 +1,32 @@ + - name: Update vmx networking + vmware_guest: + hostname: "{{ esxi_hostname }}" + username: "{{ esxi_username }}" + password: "{{ esxi_password }}" + esxi_hostname: "{{ esxi_hostname }}" + validate_certs: False + name: "srtut-vmx2-vfpc" + folder: / + datastore: datastore2 + networks: + - name: NS-DEV-NAT + - name: "srtut-vmx2-br-int" + - name: "DUMMY" + start_connected: False + - name: "srtut-vmx1-1--srtut-vmx2-1" + device_type: vmxnet3 + - name: "DUMMY" + start_connected: False + - name: "DUMMY" + start_connected: False + - name: "DUMMY" + start_connected: False + - name: "DUMMY" + start_connected: False + - name: "DUMMY" + start_connected: False + hardware: + num_cpus: 3 + memory_mb: 8192 + state: present + delegate_to: localhost diff --git a/files/srtut-tasks/srtut-vmx3_task.yml b/files/srtut-tasks/srtut-vmx3_task.yml new file mode 100644 index 0000000..680b0c6 --- /dev/null +++ b/files/srtut-tasks/srtut-vmx3_task.yml @@ -0,0 +1,32 @@ + - name: Update vmx networking + vmware_guest: + hostname: "{{ esxi_hostname }}" + username: "{{ esxi_username }}" + password: "{{ esxi_password }}" + esxi_hostname: "{{ esxi_hostname }}" + validate_certs: False + name: "srtut-vmx3-vfpc" + folder: / + datastore: datastore2 + networks: + - name: NS-DEV-NAT + - name: "srtut-vmx3-br-int" + - name: "srtut-vmx3-0--srtut-vmx4-0" + device_type: vmxnet3 + - name: "srtut-vmx3-1--srtut-vmx4-1" + device_type: vmxnet3 + - name: "srtut-vmx1-2--srtut-vmx3-2" + device_type: vmxnet3 + - name: "DUMMY" + start_connected: False + - name: "DUMMY" + start_connected: False + - name: "DUMMY" + start_connected: False + - name: "DUMMY" + start_connected: False + hardware: + num_cpus: 3 + memory_mb: 8192 + state: present + delegate_to: localhost diff --git a/files/srtut-tasks/srtut-vmx4_task.yml b/files/srtut-tasks/srtut-vmx4_task.yml new file mode 100644 index 0000000..1abacd4 --- /dev/null +++ b/files/srtut-tasks/srtut-vmx4_task.yml @@ -0,0 +1,32 @@ + - name: Update vmx networking + vmware_guest: + hostname: "{{ esxi_hostname }}" + username: "{{ esxi_username }}" + password: "{{ esxi_password }}" + esxi_hostname: "{{ esxi_hostname }}" + validate_certs: False + name: "srtut-vmx4-vfpc" + folder: / + datastore: datastore2 + networks: + - name: NS-DEV-NAT + - name: "srtut-vmx4-br-int" + - name: "srtut-vmx3-0--srtut-vmx4-0" + device_type: vmxnet3 + - name: "srtut-vmx3-1--srtut-vmx4-1" + device_type: vmxnet3 + - name: "srtut-vmx4-2--srtut-vmx5-2" + device_type: vmxnet3 + - name: "DUMMY" + start_connected: False + - name: "DUMMY" + start_connected: False + - name: "DUMMY" + start_connected: False + - name: "DUMMY" + start_connected: False + hardware: + num_cpus: 3 + memory_mb: 8192 + state: present + delegate_to: localhost diff --git a/files/srtut-tasks/srtut-vmx5_task.yml b/files/srtut-tasks/srtut-vmx5_task.yml new file mode 100644 index 0000000..71e5d87 --- /dev/null +++ b/files/srtut-tasks/srtut-vmx5_task.yml @@ -0,0 +1,32 @@ + - name: Update vmx networking + vmware_guest: + hostname: "{{ esxi_hostname }}" + username: "{{ esxi_username }}" + password: "{{ esxi_password }}" + esxi_hostname: "{{ esxi_hostname }}" + validate_certs: False + name: "srtut-vmx5-vfpc" + folder: / + datastore: datastore2 + networks: + - name: NS-DEV-NAT + - name: "srtut-vmx5-br-int" + - name: "DUMMY" + start_connected: False + - name: "srtut-vmx-1--srtut-vmx5-1" + device_type: vmxnet3 + - name: "srtut-vmx4-2--srtut-vmx5-2" + device_type: vmxnet3 + - name: "srtut-vmx5-3--srtut-vmx6-3" + device_type: vmxnet3 + - name: "DUMMY" + start_connected: False + - name: "DUMMY" + start_connected: False + - name: "DUMMY" + start_connected: False + hardware: + num_cpus: 3 + memory_mb: 8192 + state: present + delegate_to: localhost diff --git a/files/srtut-tasks/srtut-vmx6_task.yml b/files/srtut-tasks/srtut-vmx6_task.yml new file mode 100644 index 0000000..8d6306e --- /dev/null +++ b/files/srtut-tasks/srtut-vmx6_task.yml @@ -0,0 +1,32 @@ + - name: Update vmx networking + vmware_guest: + hostname: "{{ esxi_hostname }}" + username: "{{ esxi_username }}" + password: "{{ esxi_password }}" + esxi_hostname: "{{ esxi_hostname }}" + validate_certs: False + name: "srtut-vmx6-vfpc" + folder: / + datastore: datastore2 + networks: + - name: NS-DEV-NAT + - name: "srtut-vmx6-br-int" + - name: "DUMMY" + start_connected: False + - name: "DUMMY" + start_connected: False + - name: "DUMMY" + start_connected: False + - name: "srtut-vmx5-3--srtut-vmx6-3" + device_type: vmxnet3 + - name: "DUMMY" + start_connected: False + - name: "DUMMY" + start_connected: False + - name: "DUMMY" + start_connected: False + hardware: + num_cpus: 3 + memory_mb: 8192 + state: present + delegate_to: localhost diff --git a/files/srtut-tasks/srtut-vmx_task.yml b/files/srtut-tasks/srtut-vmx_task.yml new file mode 100644 index 0000000..11baf7a --- /dev/null +++ b/files/srtut-tasks/srtut-vmx_task.yml @@ -0,0 +1,32 @@ + - name: Update vmx networking + vmware_guest: + hostname: "{{ esxi_hostname }}" + username: "{{ esxi_username }}" + password: "{{ esxi_password }}" + esxi_hostname: "{{ esxi_hostname }}" + validate_certs: False + name: "srtut-vmx-vfpc" + folder: / + datastore: datastore2 + networks: + - name: NS-DEV-NAT + - name: "srtut-vmx-br-int" + - name: "srtut-vmx-0--srtut-vmx1-0" + device_type: vmxnet3 + - name: "srtut-vmx-1--srtut-vmx5-1" + device_type: vmxnet3 + - name: "DUMMY" + start_connected: False + - name: "DUMMY" + start_connected: False + - name: "DUMMY" + start_connected: False + - name: "DUMMY" + start_connected: False + - name: "DUMMY" + start_connected: False + hardware: + num_cpus: 3 + memory_mb: 8192 + state: present + delegate_to: localhost diff --git a/files/srtut_vmx_nodes.yml b/files/srtut_vmx_nodes.yml new file mode 100644 index 0000000..08bd217 --- /dev/null +++ b/files/srtut_vmx_nodes.yml @@ -0,0 +1,180 @@ +# +# Nodes in the network +# + + +--- + +common: + bgp_asn: 65000 + +nodes: + + srtut-vmx: + mgmt: 10.39.0.180 + rid: 10.10.10.10 + rid6: fec0:0:0:1111::10 + sid: 410 + sid6: 610 + iso: 49.0001.0010.0100.1010.00 + ldp: True + switches: + - srtut-vmx-0--srtut-vmx1-0 + - srtut-vmx-1--srtut-vmx5-1 + links: + ge-0/0/0.0: { ip: 10.0.101.10, remote: srtut-vmx1, mask: 24, cost: 1000, vlan: 0, mpls: True, iso: True} + ge-0/0/1.0: { ip: 10.0.105.10, remote: srtut-vmx5, mask: 24, cost: 1000, vlan: 0, mpls: True, iso: True} + bgp: + ibgp: + rr: true + peers: + - 2.2.2.2 + - 6.6.6.6 + af: + - inet + - inet6 + - inet-vpn + + srtut-vmx1: + mgmt: 10.39.0.181 + rid: 1.1.1.1 + rid6: fec0:0:0:1111::1 + sid: 401 + sid6: 601 + iso: 49.0001.0010.0100.1001.00 + ldp: True + switches: + - srtut-vmx-0--srtut-vmx1-0 + - srtut-vmx1-1--srtut-vmx2-1 + - srtut-vmx1-2--srtut-vmx3-2 + links: + ge-0/0/0.0: { ip: 10.0.101.1, remote: srtut-vmx, mask: 24, cost: 1000, vlan: 0, mpls: True, iso: True} + ge-0/0/1.0: { ip: 10.0.12.1, remote: srtut-vmx2, mask: 24, cost: 1000, vlan: 0, mpls: True, iso: True} + ge-0/0/2.0: { ip: 10.0.13.1, remote: srtut-vmx3, mask: 24, cost: 1000, vlan: 0, mpls: True, iso: True} + bgp: + ibgp: + peers: + - 10.10.10.10 + af: + - inet + - inet6 + - inet-vpn + + srtut-vmx2: + mgmt: 10.39.0.182 + rid: 2.2.2.2 + rid6: fec0:0:0:1111::2 + sid: 402 + sid6: 602 + iso: 49.0001.0010.0100.1002.00 + ldp: True + l3vpn: [{'name': 'BLUE', 'rt': '100:100', 'rd': 100, 'intf': 'lo0.1', 'intf_ip': '100.100.100.2'}] + switches: + - srtut-vmx1-1--srtut-vmx2-1 + links: + ge-0/0/1.0: { ip: 10.0.12.2, remote: srtut-vmx1, mask: 24, cost: 1000, vlan: 0, mpls: True, iso: True} + bgp: + ibgp: + peers: + - 10.10.10.10 + af: + - inet + - inet6 + - inet-vpn + + srtut-vmx3: + mgmt: 10.39.0.183 + rid: 3.3.3.3 + rid6: fec0:0:0:1111::3 + sid: 403 + sid6: 603 + iso: 49.0001.0010.0100.1003.00 + ldp: True + switches: + - srtut-vmx1-2--srtut-vmx3-2 + - srtut-vmx3-1--srtut-vmx4-1 + - srtut-vmx3-0--srtut-vmx4-0 + links: + ge-0/0/2.0: { ip: 10.0.13.3, remote: srtut-vmx1, mask: 24, cost: 1000, vlan: 0, mpls: True, iso: True} + ge-0/0/1.0: { ip: 10.0.34.3, remote: srtut-vmx4, mask: 24, cost: 1000, vlan: 0, mpls: True, iso: True} + ge-0/0/0.0: { ip: 10.0.34.33, remote: srtut-vmx4, mask: 24, cost: 1000, vlan: 0, mpls: True, iso: True} + bgp: + ibgp: + peers: + - 10.10.10.10 + af: + - inet + - inet6 + - inet-vpn + + srtut-vmx4: + mgmt: 10.39.0.184 + rid: 4.4.4.4 + rid6: fec0:0:0:1111::4 + sid: 404 + sid6: 604 + iso: 49.0001.0010.0100.1004.00 + ldp: True + switches: + - srtut-vmx3-1--srtut-vmx4-1 + - srtut-vmx3-0--srtut-vmx4-0 + - srtut-vmx4-2--srtut-vmx5-2 + links: + ge-0/0/1.0: { ip: 10.0.34.4, remote: srtut-vmx3, mask: 24, cost: 1000, vlan: 0, mpls: True, iso: True} + ge-0/0/0.0: { ip: 10.0.34.44, remote: srtut-vmx3, mask: 24, cost: 1000, vlan: 0, mpls: True, iso: True} + ge-0/0/2.0: { ip: 10.0.45.4, remote: srtut-vmx5, mask: 24, cost: 1000, vlan: 0, mpls: True, iso: True} + bgp: + ibgp: + peers: + - 10.10.10.10 + af: + - inet + - inet6 + - inet-vpn + + srtut-vmx5: + mgmt: 10.39.0.185 + rid: 5.5.5.5 + rid6: fec0:0:0:1111::5 + sid: 405 + sid6: 605 + iso: 49.0001.0010.0100.1005.00 + ldp: True + switches: + - srtut-vmx-1--srtut-vmx5-1 + - srtut-vmx4-2--srtut-vmx5-2 + - srtut-vmx5-3--srtut-vmx6-3 + links: + ge-0/0/1.0: { ip: 10.0.105.5, remote: srtut-vmx, mask: 24, cost: 1000, vlan: 0, mpls: True, iso: True} + ge-0/0/2.0: { ip: 10.0.45.5, remote: srtut-vmx4, mask: 24, cost: 1000, vlan: 0, mpls: True, iso: True} + ge-0/0/3.0: { ip: 10.0.56.5, remote: srtut-vmx6, mask: 24, cost: 1000, vlan: 0, mpls: True, iso: True} + bgp: + ibgp: + peers: + - 10.10.10.10 + af: + - inet + - inet6 + - inet-vpn + + srtut-vmx6: + mgmt: 10.39.0.186 + rid: 6.6.6.6 + rid6: fec0:0:0:1111::6 + sid: 406 + sid6: 606 + iso: 49.0001.0010.0100.1006.00 + ldp: True + l3vpn: [{'name': 'BLUE', 'rt': '100:100', 'rd': 100, 'intf': 'lo0.1', 'intf_ip': '100.100.100.6'}] + switches: + - srtut-vmx5-3--srtut-vmx6-3 + links: + ge-0/0/3.0: { ip: 10.0.56.6, remote: srtut-vmx5, mask: 24, cost: 1000, vlan: 0, mpls: True, iso: True} + bgp: + ibgp: + peers: + - 10.10.10.10 + af: + - inet + - inet6 + - inet-vpn diff --git a/group_vars/srtut_vmx b/group_vars/srtut_vmx new file mode 100644 index 0000000..0014fff --- /dev/null +++ b/group_vars/srtut_vmx @@ -0,0 +1,8 @@ +--- +model: core-model-srtut.yml +config_dir: files/srtut-config +tasks_dir: files/srtut-tasks +dryrun: True +ova_ver: 19.2R1.8 +template: junosphere + diff --git a/hosts.ini.lab b/hosts.ini.lab new file mode 100644 index 0000000..c49f801 --- /dev/null +++ b/hosts.ini.lab @@ -0,0 +1,105 @@ +[srlab] +srlab-vmx1 ansible_host=10.39.0.101 +srlab-vmx2 ansible_host=10.39.0.102 +srlab-vmx3 ansible_host=10.39.0.103 +srlab-vmx4 ansible_host=10.39.0.104 +srlab-vmx5 ansible_host=10.39.0.105 +srlab-vmx6 ansible_host=10.39.0.106 +srlab-vmx7 ansible_host=10.39.0.107 +srlab-vmx8 ansible_host=10.39.0.108 +srlab-vmx9 ansible_host=10.39.0.109 + +[ksr] +ksr-vmx1 ansible_host=10.39.0.201 +ksr-vmx2 ansible_host=10.39.0.202 +ksr-vmx3 ansible_host=10.39.0.203 +ksr-vmx4 ansible_host=10.39.0.204 +ksr-vmx5 ansible_host=10.39.0.205 +ksr-vmx6 ansible_host=10.39.0.206 +ksr-vmx7 ansible_host=10.39.0.207 +ksr-vmx8 ansible_host=10.39.0.208 +ksr-vmx9 ansible_host=10.39.0.209 + +[vmxlab] +vmx1 ansible_host=10.39.8.10 +vmx2 ansible_host=10.39.8.11 +vmx3 ansible_host=10.39.8.12 +vmx4 ansible_host=10.39.8.13 +vmx5 ansible_host=10.39.8.14 +vmx6 ansible_host=10.39.8.15 + +[mm] +mm-vmx1 ansible_host=10.39.0.110 +mm-vmx2 ansible_host=10.39.0.111 +mm-vmx3 ansible_host=10.39.0.112 + +[tx_i2_vmx] +tx-i2-1 ansible_host=10.39.0.154 +tx-i2-2 ansible_host=10.39.0.155 + +[tx_conn_vmx] +tx-connB-1 ansible_host=10.39.0.156 +tx-connB-2 ansible_host=10.39.0.157 + +[tx_proto] +proto-pe1 ansible_host=10.39.0.161 +proto-pe2 ansible_host=10.39.0.162 +proto-pe3 ansible_host=10.39.0.163 +proto-pe4 ansible_host=10.39.0.164 +proto-p5 ansible_host=10.39.0.165 +proto-ce1 ansible_host=10.39.0.166 +proto-ce2 ansible_host=10.39.0.167 +proto-ce3 ansible_host=10.39.0.168 +proto-ce4 ansible_host=10.39.0.169 + +[tx_vmx:children] +tx_i2_vmx +tx_conn_vmx + +[tx:children] +tx_vmx + +[vmx:children] +srlab +ksr +vmxlab +mm +tx_vmx +tx_proto + +[mx5] +mx5-1 ansible_host=10.39.8.1 +mx5-2 ansible_host=10.39.8.2 +mx5-3 ansible_host=10.39.8.3 +mx5-4 ansible_host=10.39.8.4 +mx5-5 ansible_host=10.39.8.5 +mx5-6 ansible_host=10.39.8.6 + +[mx240] +mx240-1 ansible_host=10.39.8.7 +mx240-2 ansible_host=10.39.8.8 +mx240-3 ansible_host=10.39.8.9 + +[mx:children] +mx5 +mx240 + +[junos:children] +vmx +mx + +[veos] +ansible-veos1 ansible_host=10.39.0.41 +ansible-veos2 ansible_host=10.39.0.42 +ansible-veos3 ansible_host=10.39.0.43 +ansible-veos4 ansible_host=10.39.0.44 +ansible-veos5 ansible_host=10.39.0.55 +ansible-veos6 ansible_host=10.39.0.56 +ansible-veos55 ansible_host=10.39.0.155 +ansible-veos66 ansible_host=10.39.0.156 + +[eos:children] +veos + +[dhcp] +dhcpd ansible_host=10.39.0.255 diff --git a/lab-config.yml b/lab-config.yml index 261b5b5..ecda103 100644 --- a/lab-config.yml +++ b/lab-config.yml @@ -34,7 +34,7 @@ delegate_to: localhost run_once: true - name: Generate Configuration - template: src="{{ansible_network_os}}.j2" dest="{{ config_dir }}/{{inventory_hostname}}-config.txt" + template: src="{{ template | default(ansible_network_os) }}.j2" dest="{{ config_dir }}/{{inventory_hostname}}-config.txt" delegate_to: localhost diff --git a/lab-deploy.yml b/lab-deploy.yml index 44c0e08..8d82c87 100644 --- a/lab-deploy.yml +++ b/lab-deploy.yml @@ -59,7 +59,7 @@ validate_certs: False switch_name: "{{ item }}" portgroup_name: "{{ item }}" - network_policy: + security: promiscuous_mode: True forged_transmits: True mac_changes: True diff --git a/srtut_hosts.ini b/srtut_hosts.ini new file mode 100644 index 0000000..21dc468 --- /dev/null +++ b/srtut_hosts.ini @@ -0,0 +1,24 @@ +[srtut_vmx] +srtut-vmx ansible_host=10.39.0.180 +srtut-vmx1 ansible_host=10.39.0.181 +srtut-vmx2 ansible_host=10.39.0.182 +srtut-vmx3 ansible_host=10.39.0.183 +srtut-vmx4 ansible_host=10.39.0.184 +srtut-vmx5 ansible_host=10.39.0.185 +srtut-vmx6 ansible_host=10.39.0.186 + +[srtut_ubuntus] +srtut_ubuntu ansible_host=100.123.35.0 +srtut_ubuntu1 ansible_host=100.123.35.1 + +[vmx:children] +srtut_vmx + +[junos:children] +vmx + +[srtut:children] +srtut_vmx +srtut_ubuntus +[dhcp] +dhcpd ansible_host=10.39.0.255 diff --git a/templates/core-to-nodes.j2 b/templates/core-to-nodes.j2 index 1f34713..5a3ec72 100644 --- a/templates/core-to-nodes.j2 +++ b/templates/core-to-nodes.j2 @@ -28,6 +28,12 @@ nodes: {% if node.iso is defined %} iso: {{ node.iso }} {% endif %} +{% if node.ldp is defined %} + ldp: {{ node.ldp }} +{% endif %} +{% if node.l3vpn is defined %} + l3vpn: {{ node.l3vpn }} +{% endif %} {% if node.lags is defined %} lags: {% for lag in lags %} diff --git a/templates/junos.j2 b/templates/junos.j2 index 7ac3817..b620221 100644 --- a/templates/junos.j2 +++ b/templates/junos.j2 @@ -125,7 +125,7 @@ interfaces { description "OOB to MGMT Network"; unit 0 { family inet { - address {{node.mgmt}}/20; + address {{node.mgmt}}/21; } } } diff --git a/templates/junosphere.j2 b/templates/junosphere.j2 new file mode 100644 index 0000000..6896245 --- /dev/null +++ b/templates/junosphere.j2 @@ -0,0 +1,400 @@ +{% set node = nodes[inventory_hostname] %} + +{# +************************************************** +### System configuration ###### +************************************************** + #} +version {{ansible_net_version}} +system { + host-name {{inventory_hostname}}; + no-redirects; + root-authentication { + encrypted-password "$5$mcE0Hfiq$JfBeC3QSAvnd1tjqlOhlYXDgVrwvd6S4G3oVj5wiMO7"; ## SECRET-DATA + } + login { + user salt { + uid 2001; + class super-user; + authentication { + encrypted-password "$5$yp7ziGTI$F5F.6AUlR8hDK2JIsw5WRrTLex/yTCWH3iSR1Auk293"; ## SECRET-DATA + ssh-rsa "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCjxY2hLZ+ju5wdK4GYNhKGgnS8EWLBoEVpo+xQkhDzkTiBx3HGAnmARcVV0B9MqrHZl1omdnirJeygWzVbVY4yPUqGgEcUsTTq9fvK4AjTwtaoB5txAosaOnZq0zewmuZ6EMi6E3RND6A3FGXkf1Il2jg3I8k/dGqdyFI80B7sWy90fk+EqsGMPxVc+l5vAtY2jm84ellxxzBsulxfCSKPH86hZ1GqZ8A1ZBWITu15NjQw0aGssSYGMMTa1T8eFyY4hHWqqdwgOlODg9mZwwP1JdJH79SRoTOjqGGixuAFDGAgH3fNX6u8wTmYya/z7WXH6B2XwiiaZYdcyEbMLPZt"; ## SECRET-DATA + } + } + user jcluser { + uid 2000; + class super-user; + authentication { + encrypted-password "$6$7rmbaWhB$QSsd9lpzkDZEV/ebNdv4U37un2hGiVSP1WMChfTjys.N9U7TjA8ezyrEQVsGaJiLgIikVJFVfhV/OAnf4.ssM1"; ## SECRET-DATA + ssh-rsa "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCKe9JQ37jkk+LsYfXpQY3Ae0bujvN5aMukCiEqsXWKTZNll3wosDgQbn9vLANBYTPJVVMojByllBqux58mbNZiof5u5ZiH+NBxPGj6abFMspc/TXE/tNTnvBmkyJ20H0OW+gMDI3Pzs4UOV/BKcSifrdDg6gZsXwiBGoueT+v2D29oiqlQiwU80IhsjEw7EnZAzOdc9uYxtF8fCOmViN2TydUL1JUdux8org/0HVaRGRLoG8IKikF5jp/qvBb1+5zT0DKhyY5xp3yHa9gYSLENDJC+NrkERpq25bz96pIzo2205ULUETMRB79eKfvtkJZCiUQlubglD4GcW/8hq43"; ## SECRET-DATA + } + } + } + scripts { + language python; + } + services { + ssh { + root-login allow; + } + extension-service { + request-response { + grpc { + clear-text; + max-connections 10; + skip-authentication; + } + } + } + netconf { + ssh; + traceoptions { + file nc.txt size 1m world-readable; + flag all; + } + } + rest { + http { + port 3000; + } + enable-explorer; + } + } + syslog { + user * { + any emergency; + } + file messages { + any any; + authorization info; + } + file interactive-commands { + interactive-commands any; + } + } + processes { + dhcp-service { + traceoptions { + file dhcp_logfile size 10m; + level all; + flag packet; + } + } + } +} +chassis { + fpc 0 { + pic 0 { + number-of-ports 8; + } + lite-mode; + } + network-services enhanced-ip; +{% if node.lags is defined %} + aggregated-devices { + ethernet { + device-count 10; + } + } +{% endif %} +} +{# +************************************************** +### Interfaces configuration ###### +************************************************** + #} +interfaces { +{% for intf,intf_attr in node.links.items()|sort %} + {{ intf.split('.')[0] }} { + description "{{intf_attr.remote}}" +{% if intf_attr.vlan is defined and intf_attr.vlan != 0 %} + vlan-tagging; + encapsulation flexible-ethernet-services; + unit {{intf_attr.vlan}} { + vlan-id {{intf_attr.vlan}}; + family inet { + address {{intf_attr.ip}}/{{intf_attr.mask|default('24')}} + } +{% if node.rid6 is defined %} + family inet6; +{% endif %} +{# if intf_attr.mpls is defined #} + family mpls; +{# endif #} + } + } +{% else %} + unit 0 { + family inet { +{% if intf_attr.ip %} + address {{intf_attr.ip}}/{{intf_attr.mask|default('24')}} +{% endif %} + } +{% if node.rid6 is defined %} + family inet6; +{% endif %} +{% if intf_attr.mpls is defined %} + family mpls; +{% endif %} +{% if intf_attr.iso is defined %} + family iso; +{% endif %} + } + } +{% endif %} +{% endfor %} +{% if node.lags is defined %} +{% for intf,lag in node.lags.items()|sort %} + {{ intf.split('.')[0] }} { + description "[{{ lag }}]" + gigether-options { + 802.3ad {{ lag }}; + } + } +{% endfor %} +{% endif %} + fxp0 { + description "OOB to MGMT Network"; + unit 0 { + family inet { + address {{node.mgmt}}/21; + } + } + } + lo0 { + unit 0 { + family inet { + address {{node.rid}}/32; + } +{% if node.rid6 is defined %} + family inet6 { + address {{node.rid6}}/128; + } +{% endif %} +{% if node.iso is defined %} + family iso { + address {{node.iso}}; + } +{% endif %} + } +{% if node.l3vpn is defined %} +{% for instance in node.l3vpn %} + unit {{ instance.intf.split('.')[1] }} { + family inet { + address {{instance.intf_ip}}/32; + } + } +{% endfor %} +{% endif %} + } +} +{# +************************************************** +### Global Variables ###### +************************************************** + #} +routing-options { + router-id {{ node.rid }}; + autonomous-system {{ common.bgp_asn }}; + forwarding-table { + export LOAD-BALANCE; + } + static { + route 0.0.0.0/0 { + next-hop 10.39.0.1; + no-readvertise; + preference 255; + } + } +} +protocols { +{# +************************************************** +### BGP Variables ###### +************************************************** +#} +{% if node.bgp is defined %} + bgp { +{% if node.bgp.ibgp is defined %} + group Core { + type internal; +{% if node.bgp.ibgp.rr is not defined %} + export __Ansible_Core_export; +{% endif %} + local-address {{ node.rid}}; +{% if node.bgp.ibgp.rr is defined and node.bgp.ibgp.rr == true %} + cluster {{node.rid}}; +{% endif %} +{% for af in node.bgp.ibgp.af %} +{% if af == 'inet' %} + family inet { + unicast; + } +{% endif %} +{% if af == 'inet6' %} + family inet6 { + unicast; + } +{% endif %} +{% if af == 'inet-vpn' %} + family inet-vpn { + unicast; + } +{% endif %} +{% if af == 'evpn' %} + family evpn { + signaling; + } +{% endif %} +{% endfor %} +{% for peer in node.bgp.ibgp.peers %} + neighbor {{ peer }}; +{% endfor %} + } +{% endif %} + } +{% endif %} +{# +************************************************** +### OSPF Variables ###### +************************************************** +#} +{% if node.ospf is defined %} + ospf { + area 0 { +{% for intf, intf_attr in node.links.items()|sort %} + interface {{ intf }} { + interface-type p2p; +{% if intf_attr.cost is defined %} + metric {{intf_attr.cost }}; +{% endif %} + } +{% endfor %} + interface lo0.0 { + passive; + } + } + } +{% endif %} +{# +************************************************** +### ISIS Variables ###### +************************************************** +#} +{% if node.iso is defined %} + isis { + {# source-packet-routing { + srgb start-label 16000 index-range 8000; + node-segment { + ipv4-index {{ node.sid }}; +{% if node.sid6 is defined %} + ipv6-index {{ node.sid6 }}; +{% endif %} + } + } #} + level 1 disable; + level 2 wide-metrics-only; +{% for intf, intf_attr in node.links.items()|sort %} +{% if intf_attr.iso is defined %} + interface {{ intf }} { + point-to-point; +{% if intf_attr.cost is defined %} + level 2 metric {{intf_attr.cost }}; +{% endif %} + } +{% endif %} +{% endfor %} + interface lo0.0 { + passive; + } + } +{% endif %} +{# +************************************************** +### LDP Variables ###### +************************************************** +#} +{% if node.ldp is defined %} + ldp { +{% for intf, intf_attr in node.links.items()|sort %} + interface {{intf}}; +{% endfor %} + interface lo0.0; + } +{% endif %} +{# +************************************************** +### RSVP Variables ###### +************************************************** + #} +{% if node.rsvp is defined %} + rsvp { +{% for intf, intf_attr in node.links.items()|sort %} + interface {{intf}}; +{% endfor %} + } +{% endif %} +{# +************************************************** +### MPLS and LLDP Variables ###### +************************************************** +#} + mpls { +{% for intf, intf_attr in node.links.items()|sort %} + interface {{intf}}; +{% endfor %} + } + lldp { + port-id-subtype interface-name; + neighbour-port-info-display port-id; +{% for intf, intf_attr in node.links.items()|sort %} + interface {{intf.split('.')[0]}}; +{% endfor %} + } +} +{# +************************************************** +### Default BGP Export policy ##### +************************************************** +#} +policy-options { + policy-statement LOAD-BALANCE { + then { + load-balance per-packet; + } + } +{% if node.bgp is defined %} +{% if node.bgp.ibgp.rr is not defined %} + policy-statement __Ansible_Core_export { + term ebgp { + from { + protocol bgp; + external; + } + then { + next-hop self; + accept; + } + } + } +{% endif %} +{% endif %} +} +{# +************************************************** +### Routing Instances ##### +************************************************** +#} +{% if node.l3vpn is defined %} +routing-instances { +{% for instance in node.l3vpn %} + {{instance.name}} { + instance-type vrf; + interface {{instance.intf}}; + route-distinguisher {{node.rid}}:{{instance.rd}}; + vrf-target target:{{instance.rt}}; + vrf-table-label; + } +{% endfor %} +} +{% endif %} \ No newline at end of file diff --git a/vars_files/core-model-srtut.yml b/vars_files/core-model-srtut.yml new file mode 100644 index 0000000..7cc931d --- /dev/null +++ b/vars_files/core-model-srtut.yml @@ -0,0 +1,132 @@ +--- + +common: + bgp_asn: 65000 + +nodes: + - name: srtut-vmx + mgmt: 10.39.0.180 + rid: 10.10.10.10 + rid6: fec0:0:0:1111::10 + sid: 410 + sid6: 610 + iso: 49.0001.0010.0100.1010.00 + ldp: True + + - name: srtut-vmx1 + mgmt: 10.39.0.181 + rid: 1.1.1.1 + rid6: fec0:0:0:1111::1 + sid: 401 + sid6: 601 + iso: 49.0001.0010.0100.1001.00 + ldp: True + + - name: srtut-vmx2 + mgmt: 10.39.0.182 + rid: 2.2.2.2 + rid6: fec0:0:0:1111::2 + sid: 402 + sid6: 602 + iso: 49.0001.0010.0100.1002.00 + ldp: True + l3vpn: + - name: BLUE + rt: 100:100 + rd: 100 + intf: lo0.1 + intf_ip: 100.100.100.2 + + + - name: srtut-vmx3 + mgmt: 10.39.0.183 + rid: 3.3.3.3 + rid6: fec0:0:0:1111::3 + sid: 403 + sid6: 603 + iso: 49.0001.0010.0100.1003.00 + ldp: True + + - name: srtut-vmx4 + mgmt: 10.39.0.184 + rid: 4.4.4.4 + rid6: fec0:0:0:1111::4 + sid: 404 + sid6: 604 + iso: 49.0001.0010.0100.1004.00 + ldp: True + + - name: srtut-vmx5 + mgmt: 10.39.0.185 + rid: 5.5.5.5 + rid6: fec0:0:0:1111::5 + sid: 405 + sid6: 605 + iso: 49.0001.0010.0100.1005.00 + ldp: True + + - name: srtut-vmx6 + mgmt: 10.39.0.186 + rid: 6.6.6.6 + rid6: fec0:0:0:1111::6 + sid: 406 + sid6: 606 + iso: 49.0001.0010.0100.1006.00 + ldp: True + l3vpn: + - name: BLUE + rt: 100:100 + rd: 100 + intf: lo0.1 + intf_ip: 100.100.100.6 + +lags: + +# using the following for the lag ports. can't extract correct information +# from the links ae interfaces for lags +switches: + + +links: + - {left: srtut-vmx, left_port: ge-0/0/0, left_ip: 10.0.101.10, + right: srtut-vmx1, right_port: ge-0/0/0, right_ip: 10.0.101.1, + mask: 24, cost: 1000, mpls: True, iso: True } + + - {left: srtut-vmx, left_port: ge-0/0/1, left_ip: 10.0.105.10, + right: srtut-vmx5, right_port: ge-0/0/1, right_ip: 10.0.105.5, + mask: 24, cost: 1000, mpls: True, iso: True } + + - {left: srtut-vmx1, left_port: ge-0/0/1, left_ip: 10.0.12.1, + right: srtut-vmx2, right_port: ge-0/0/1, right_ip: 10.0.12.2, + mask: 24, cost: 1000, mpls: True, iso: True } + + - {left: srtut-vmx1, left_port: ge-0/0/2, left_ip: 10.0.13.1, + right: srtut-vmx3, right_port: ge-0/0/2, right_ip: 10.0.13.3, + mask: 24, cost: 1000, mpls: True, iso: True } + + - {left: srtut-vmx3, left_port: ge-0/0/1, left_ip: 10.0.34.3, + right: srtut-vmx4, right_port: ge-0/0/1, right_ip: 10.0.34.4, + mask: 24, cost: 1000, mpls: True, iso: True } + + - {left: srtut-vmx3, left_port: ge-0/0/0, left_ip: 10.0.34.33, + right: srtut-vmx4, right_port: ge-0/0/0, right_ip: 10.0.34.44, + mask: 24, cost: 1000, mpls: True, iso: True } + + - {left: srtut-vmx4, left_port: ge-0/0/2, left_ip: 10.0.45.4, + right: srtut-vmx5, right_port: ge-0/0/2, right_ip: 10.0.45.5, + mask: 24, cost: 1000, mpls: True, iso: True } + + - {left: srtut-vmx5, left_port: ge-0/0/3, left_ip: 10.0.56.5, + right: srtut-vmx6, right_port: ge-0/0/3, right_ip: 10.0.56.6, + mask: 24, cost: 1000, mpls: True, iso: True } + +bgp: + rr: [10.10.10.10] + clients: [2.2.2.2, 6.6.6.6] + af: + - inet + - inet6 + - inet-vpn + +#isis: +# network: p2p