Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sorting the information generated by sonic-cfggen for all j2 templates. #1616

Merged
merged 1 commit into from
Apr 19, 2018

Conversation

rodnymolina
Copy link
Contributor

With this patch all the content of the files generated by "sonic-cfggen -d -t" instructions will now be sorted, which is very useful for operational and troubleshooting purposes. See below a few examples of this behavior. Also, a few sonic-cfggen UT's have been modified to accommodate the new sorted configurations, and thereby, allowing the building process to successfully complete.

admin@lnos-x1-a-asw02:~$ sonic-cfggen -d -t /usr/share/sonic/templates/interfaces.j2 | more
…
auto lo
iface lo inet loopback
iface lo inet static
  address 10.10.1.2
  netmask 255.255.255.255
auto eth0
iface eth0 inet dhcp
allow-hotplug Ethernet112
iface Ethernet112 inet static
   mtu 9100
   address 10.1.2.2
   netmask 255.255.255.0
allow-hotplug Ethernet112
iface Ethernet112 inet6 static
  mtu 9100
  address fc00:1:2::2
  netmask 64
allow-hotplug Ethernet116
iface Ethernet116 inet static
   mtu 9100
   address 10.2.2.2
   netmask 255.255.255.0
allow-hotplug Ethernet116
iface Ethernet116 inet6 static
  mtu 9100
  address fc00:2:2::2
  netmask 64
allow-hotplug Ethernet120
iface Ethernet120 inet static
  mtu 9100
  address 10.3.2.2
  netmask 255.255.255.0


root@lnos-x1-a-csw01:/# sonic-cfggen -d -y /etc/sonic/deployment_id_asn_map.yml -t /usr/share/sonic/templates/bgpd.conf.j2
…
router bgp 65100
…
  network 10.10.2.1/32
  neighbor 10.0.0.1 remote-as 65200
  neighbor 10.0.0.1 description ARISTA01T2
  address-family ipv4
    neighbor 10.0.0.1 activate
    maximum-paths 64
  exit-address-family
  neighbor 10.0.0.11 remote-as 65200
  neighbor 10.0.0.11 description ARISTA06T2
  address-family ipv4
    neighbor 10.0.0.11 activate
    maximum-paths 64
  exit-address-family
  neighbor 10.0.0.13 remote-as 65200
  neighbor 10.0.0.13 description ARISTA07T2
  address-family ipv4
    neighbor 10.0.0.13 activate
    maximum-paths 64
  exit-address-family
  neighbor 10.0.0.15 remote-as 65200
  neighbor 10.0.0.15 description ARISTA08T2
  address-family ipv4
    neighbor 10.0.0.15 activate
    maximum-paths 64
  exit-address-family


root@lnos-x1-a-asw02:/# sonic-cfggen -d -t /usr/share/sonic/templates/lldpd.conf.j2
…
configure ports Ethernet4 lldp portidsubtype local Eth2/1 description ixia-card2-port8:Eth1/2/8
configure ports Ethernet112 lldp portidsubtype local Eth29/1 description lnos-x1-a-csw01:Eth29/1
configure ports Ethernet116 lldp portidsubtype local Eth30/1 description lnos-x1-a-csw02:Eth30/1
configure ports Ethernet120 lldp portidsubtype local Eth31/1 description lnos-x1-a-csw03:Eth31/1
configure ports Ethernet124 lldp portidsubtype local Eth32/1 description lnos-x1-a-csw04:Eth32/1


root@lnos-x1-a-asw02:/# sonic-cfggen -d -t /usr/share/sonic/templates/ports.json.j2 | more
[
    {
            "PORT_TABLE:Ethernet0": {
                        "speed": "10000",
                        "description": ""
    },
        "OP": "SET"
    },
    {
            "PORT_TABLE:Ethernet1": {
                        "speed": "10000",
                        "description": ""
    },
        "OP": "SET"
    },
    {
            "PORT_TABLE:Ethernet2": {
                        "speed": "10000",
                        "description": ""
    },
        "OP": "SET"
    },
]

With this patch all the content of the files generated by "sonic-cfggen -d -t" instructions will now be sorted, which is very useful for operational and troubleshooting purposes. See below a few examples of this behavior. Also, a few sonic-cfggen UT's have been modified to accomodate the new sorted configurations.

admin@lnos-x1-a-asw02:~$ sonic-cfggen -d -t /usr/share/sonic/templates/interfaces.j2 | more
…
auto lo
iface lo inet loopback
iface lo inet static
  address 10.10.1.2
  netmask 255.255.255.255
auto eth0
iface eth0 inet dhcp
allow-hotplug Ethernet112
iface Ethernet112 inet static
   mtu 9100
   address 10.1.2.2
   netmask 255.255.255.0
allow-hotplug Ethernet112
iface Ethernet112 inet6 static
  mtu 9100
  address fc00:1:2::2
  netmask 64
allow-hotplug Ethernet116
iface Ethernet116 inet static
   mtu 9100
   address 10.2.2.2
   netmask 255.255.255.0
allow-hotplug Ethernet116
iface Ethernet116 inet6 static
  mtu 9100
  address fc00:2:2::2
  netmask 64
allow-hotplug Ethernet120
iface Ethernet120 inet static
  mtu 9100
  address 10.3.2.2
  netmask 255.255.255.0

root@lnos-x1-a-csw01:/# sonic-cfggen -d -y /etc/sonic/deployment_id_asn_map.yml -t /usr/share/sonic/templates/bgpd.conf.j2
…
router bgp 65100
…
  network 10.10.2.1/32
  neighbor 10.0.0.1 remote-as 65200
  neighbor 10.0.0.1 description ARISTA01T2
  address-family ipv4
    neighbor 10.0.0.1 activate
    maximum-paths 64
  exit-address-family
  neighbor 10.0.0.11 remote-as 65200
  neighbor 10.0.0.11 description ARISTA06T2
  address-family ipv4
    neighbor 10.0.0.11 activate
    maximum-paths 64
  exit-address-family
  neighbor 10.0.0.13 remote-as 65200
  neighbor 10.0.0.13 description ARISTA07T2
  address-family ipv4
    neighbor 10.0.0.13 activate
    maximum-paths 64
  exit-address-family
  neighbor 10.0.0.15 remote-as 65200
  neighbor 10.0.0.15 description ARISTA08T2
  address-family ipv4
    neighbor 10.0.0.15 activate
    maximum-paths 64
  exit-address-family

root@lnos-x1-a-asw02:/# sonic-cfggen -d -t /usr/share/sonic/templates/lldpd.conf.j2
…
configure ports Ethernet4 lldp portidsubtype local Eth2/1 description ixia-card2-port8:Eth1/2/8
configure ports Ethernet112 lldp portidsubtype local Eth29/1 description lnos-x1-a-csw01:Eth29/1
configure ports Ethernet116 lldp portidsubtype local Eth30/1 description lnos-x1-a-csw02:Eth30/1
configure ports Ethernet120 lldp portidsubtype local Eth31/1 description lnos-x1-a-csw03:Eth31/1
configure ports Ethernet124 lldp portidsubtype local Eth32/1 description lnos-x1-a-csw04:Eth32/1

root@lnos-x1-a-asw02:/# sonic-cfggen -d -t /usr/share/sonic/templates/ports.json.j2 | more
[
    {
            "PORT_TABLE:Ethernet0": {
                        "speed": "10000",
                        "description": ""
    },
        "OP": "SET"
    },
    {
            "PORT_TABLE:Ethernet1": {
                        "speed": "10000",
                        "description": ""
    },
        "OP": "SET"
    },
    {
            "PORT_TABLE:Ethernet2": {
                        "speed": "10000",
                        "description": ""
    },
        "OP": "SET"
    },
]
@lguohan lguohan merged commit d423841 into sonic-net:master Apr 19, 2018
@rodnymolina rodnymolina deleted the template_sorting branch April 19, 2018 09:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants