Exemplo n.º 1
0
    def testGeneratePodSpecificDhcpConfWithSerial(self):
        from jnpr.openclos.l3Clos import util
        flexmock(util, isPlatformUbuntu=True)

        with self._dao.getReadWriteSession() as session:
            pod = createPod('pod1', session)
            pod.spineJunosImage = 'testSpineImage'

            createPodDevice(session, 'dev1', pod)
            dev2 = createPodDevice(session, 'dev2', pod)
            dev2.macAddress = None
            dev2.serialNumber = 'VB1234567890'
            dev3 = createPodDevice(session, 'dev3', pod)
            dev3.role = 'leaf'
            dev3.serialNumber = 'VB1234567891'

            dhcpConf = self.ztpServer.generatePodSpecificDhcpConf(
                session, pod.id)
            print dhcpConf
        self.assertEquals(2, dhcpConf.count('testSpineImage'))
        self.assertFalse('{{' in dhcpConf)
        self.assertFalse('}}' in dhcpConf)
        self.assertFalse('None' in dhcpConf)
        self.assertTrue('VB1234567890' in dhcpConf)
        self.assertTrue('VB1234567891' not in dhcpConf)
        self.assertEquals(
            5, dhcpConf.count('host-name')
        )  # 1 global class + 1 subnet + 2 device mac + 1 device serial
Exemplo n.º 2
0
 def testGeneratePodSpecificDhcpConfWithSerial(self):
     from jnpr.openclos.l3Clos import util
     flexmock(util, isPlatformUbuntu = True)
     
     with self._dao.getReadWriteSession() as session:
         pod = createPod('pod1', session)
         pod.spineJunosImage = 'testSpineImage'
         
         createPodDevice(session, 'dev1', pod)
         dev2 = createPodDevice(session, 'dev2', pod)
         dev2.macAddress = None
         dev2.serialNumber = 'VB1234567890'
         dev3 = createPodDevice(session, 'dev3', pod)
         dev3.role = 'leaf'
         dev3.serialNumber = 'VB1234567891'
       
         dhcpConf = self.ztpServer.generatePodSpecificDhcpConf(session, pod.id)
         print dhcpConf
     self.assertEquals(2, dhcpConf.count('testSpineImage'))
     self.assertFalse('{{' in dhcpConf)
     self.assertFalse('}}' in dhcpConf)
     self.assertFalse('None' in dhcpConf)
     self.assertTrue('VB1234567890' in dhcpConf)
     self.assertTrue('VB1234567891' not in dhcpConf)
     self.assertEquals(5, dhcpConf.count('host-name')) # 1 global class + 1 subnet + 2 device mac + 1 device serial
Exemplo n.º 3
0
    def testGeneratePodSpecificDhcpConfFor2StageZtp(self):
        from jnpr.openclos.l3Clos import util
        flexmock(util, isPlatformUbuntu=True)
        flexmock(util, isZtpStaged=True)
        with self._dao.getReadWriteSession() as session:
            pod = createPod('pod1', session)
            pod.spineJunosImage = 'testSpineImage'
            pod.leafSettings.append(LeafSetting('ex4300-24p', pod.id))

            dev1 = createPodDevice(session, 'dev1', pod)
            dev2 = createPodDevice(session, 'dev2', pod)
            dev3 = createPodDevice(session, 'dev3', pod)
            dev3.role = 'leaf'
            dev4 = createPodDevice(session, 'dev4', pod)
            dev4.role = 'leaf'

            dhcpConf = self.ztpServer.generatePodSpecificDhcpConf(
                session, pod.id)

        self.assertEquals(2, dhcpConf.count('testSpineImage'))

        self.assertFalse('{{' in dhcpConf)
        self.assertFalse('}}' in dhcpConf)
        self.assertFalse('None' in dhcpConf)
        self.assertEquals(
            3, dhcpConf.count('host-name'))  # 1 global + 2 spine device
        self.assertEquals(1, dhcpConf.count('pool'))
        self.assertEquals(2, dhcpConf.count('class '))
        self.assertEquals(4, dhcpConf.count('vendor-class-identifier'))
Exemplo n.º 4
0
    def testGeneratePodSpecificDhcpConfFor2StageZtp(self):
        from jnpr.openclos.l3Clos import util
        flexmock(util, isPlatformUbuntu = True)
        flexmock(util, isZtpStaged = True)
        with self._dao.getReadWriteSession() as session:
            pod = createPod('pod1', session)
            pod.spineJunosImage = 'testSpineImage'
            pod.leafSettings.append(LeafSetting('ex4300-24p', pod.id))
            
            dev1 = createPodDevice(session, 'dev1', pod)
            dev2 = createPodDevice(session, 'dev2', pod)
            dev3 = createPodDevice(session, 'dev3', pod)
            dev3.role = 'leaf'
            dev4 = createPodDevice(session, 'dev4', pod)
            dev4.role = 'leaf'
          
            dhcpConf = self.ztpServer.generatePodSpecificDhcpConf(session, pod.id)

        self.assertEquals(2, dhcpConf.count('testSpineImage'))

        self.assertFalse('{{' in dhcpConf)
        self.assertFalse('}}' in dhcpConf)
        self.assertFalse('None' in dhcpConf)
        self.assertEquals(3, dhcpConf.count('host-name')) # 1 global + 2 spine device
        self.assertEquals(1, dhcpConf.count('pool'))
        self.assertEquals(2, dhcpConf.count('class '))
        self.assertEquals(4, dhcpConf.count('vendor-class-identifier'))
Exemplo n.º 5
0
    def createTwoSpineTwoLeafPlugNPlay(self, session):
        from test_model import createPod
        pod = createPod('pod1', session)
        from test_model import createPodDevice
        spine1 = createPodDevice(session, 'spine1', pod)
        spine2 = createPodDevice(session, 'spine2', pod)
        leaf1 = createPodDevice(session, 'leaf1', pod)
        leaf1.role = 'leaf'
        leaf1.family = 'qfx5100-48s-6q'
        leaf2 = createPodDevice(session, 'leaf2', pod)
        leaf2.role = 'leaf'
        leaf2.family = 'unknown'

        IFDs = [InterfaceDefinition('et-0/0/0', spine1, 'downlink'), InterfaceDefinition('et-0/0/1', spine1, 'downlink'), 
                InterfaceDefinition('et-0/0/0', spine2, 'downlink'), InterfaceDefinition('et-0/0/1', spine2, 'downlink'), 
                InterfaceDefinition('et-0/0/48', leaf1, 'uplink'), InterfaceDefinition('et-0/0/49', leaf1, 'uplink'),
                InterfaceDefinition('uplink-1', leaf2, 'uplink'), InterfaceDefinition('uplink-2', leaf2, 'uplink')]
        session.add_all(IFDs)

        IFLs = self.createIfls(session, IFDs)
        
        IFDs[4].peer = IFDs[0]
        IFDs[0].peer = IFDs[4]
        IFDs[5].peer = IFDs[2]
        IFDs[2].peer = IFDs[5]
        
        IFDs[6].peer = IFDs[1]
        IFDs[1].peer = IFDs[6]
        IFDs[7].peer = IFDs[3]
        IFDs[3].peer = IFDs[7]
        
        return {'ifds': IFDs, 'ifls': IFLs}
Exemplo n.º 6
0
    def createTwoSpineTwoLeafWithDummyUplinksForEx4300(self, session):
        from test_model import createPod

        pod = createPod("pod1", session)
        from test_model import createPodDevice

        spine1 = createPodDevice(session, "spine1", pod)
        spine2 = createPodDevice(session, "spine2", pod)
        spine3 = createPodDevice(session, "spine3", pod)
        leaf1 = createPodDevice(session, "leaf1", pod)
        leaf1.role = "leaf"
        leaf1.family = "qfx5100-48s-6q"
        leaf2 = createPodDevice(session, "leaf2", pod)
        leaf2.role = "leaf"
        leaf2.family = "qfx5100-48s-6q"

        IFDs = [
            InterfaceDefinition("et-0/0/0", spine1, "downlink"),
            InterfaceDefinition("et-0/0/1", spine1, "downlink"),
            InterfaceDefinition("et-0/0/0", spine2, "downlink"),
            InterfaceDefinition("et-0/0/1", spine2, "downlink"),
            InterfaceDefinition("et-0/0/0", spine3, "downlink"),
            InterfaceDefinition("et-0/0/1", spine3, "downlink"),
            InterfaceDefinition("et-0/0/48", leaf1, "uplink"),
            InterfaceDefinition("et-0/0/49", leaf1, "uplink"),
            InterfaceDefinition("et-0/0/50", leaf2, "uplink"),
            InterfaceDefinition("et-0/0/48", leaf2, "uplink"),
            InterfaceDefinition("et-0/0/49", leaf2, "uplink"),
            InterfaceDefinition("dummy", leaf2, "uplink"),
        ]

        session.add_all(IFDs)

        IFDs[6].peer = IFDs[0]
        IFDs[0].peer = IFDs[6]
        IFDs[7].peer = IFDs[2]
        IFDs[2].peer = IFDs[7]
        IFDs[8].peer = IFDs[4]
        IFDs[4].peer = IFDs[8]

        IFDs[9].peer = IFDs[1]
        IFDs[1].peer = IFDs[9]
        IFDs[10].peer = IFDs[3]
        IFDs[3].peer = IFDs[10]
        IFDs[11].peer = IFDs[5]
        IFDs[5].peer = IFDs[11]

        return IFDs
Exemplo n.º 7
0
    def createTwoSpineTwoLeafWithDummyUplinksForEx4300(self, session):
        from test_model import createPod
        pod = createPod('pod1', session)
        from test_model import createPodDevice
        spine1 = createPodDevice(session, 'spine1', pod)
        spine2 = createPodDevice(session, 'spine2', pod)
        spine3 = createPodDevice(session, 'spine3', pod)
        leaf1 = createPodDevice(session, 'leaf1', pod)
        leaf1.role = 'leaf'
        leaf1.family = 'qfx5100-48s-6q'
        leaf2 = createPodDevice(session, 'leaf2', pod)
        leaf2.role = 'leaf'
        leaf2.family = 'qfx5100-48s-6q'

        IFDs = [
            InterfaceDefinition('et-0/0/0', spine1, 'downlink'),
            InterfaceDefinition('et-0/0/1', spine1, 'downlink'),
            InterfaceDefinition('et-0/0/0', spine2, 'downlink'),
            InterfaceDefinition('et-0/0/1', spine2, 'downlink'),
            InterfaceDefinition('et-0/0/0', spine3, 'downlink'),
            InterfaceDefinition('et-0/0/1', spine3, 'downlink'),
            InterfaceDefinition('et-0/0/48', leaf1, 'uplink'),
            InterfaceDefinition('et-0/0/49', leaf1, 'uplink'),
            InterfaceDefinition('et-0/0/50', leaf2, 'uplink'),
            InterfaceDefinition('et-0/0/48', leaf2, 'uplink'),
            InterfaceDefinition('et-0/0/49', leaf2, 'uplink'),
            InterfaceDefinition('dummy', leaf2, 'uplink')
        ]

        session.add_all(IFDs)

        IFDs[6].peer = IFDs[0]
        IFDs[0].peer = IFDs[6]
        IFDs[7].peer = IFDs[2]
        IFDs[2].peer = IFDs[7]
        IFDs[8].peer = IFDs[4]
        IFDs[4].peer = IFDs[8]

        IFDs[9].peer = IFDs[1]
        IFDs[1].peer = IFDs[9]
        IFDs[10].peer = IFDs[3]
        IFDs[3].peer = IFDs[10]
        IFDs[11].peer = IFDs[5]
        IFDs[5].peer = IFDs[11]

        return IFDs
Exemplo n.º 8
0
    def testGeneratePodSpecificDhcpConf(self):
        from jnpr.openclos.l3Clos import util
        flexmock(util, isPlatformUbuntu = True)
        
        with self._dao.getReadWriteSession() as session:
            pod = createPod('pod1', session)
            pod.spineJunosImage = 'testSpineImage'
            
            createPodDevice(session, 'dev1', pod)
            dev2 = createPodDevice(session, 'dev2', pod)
            dev3 = createPodDevice(session, 'dev3', pod)
            dev3.role = 'leaf'
          
            dhcpConf = self.ztpServer.generatePodSpecificDhcpConf(session, pod.id)

        self.assertEquals(2, dhcpConf.count('testSpineImage'))
        self.assertFalse('{{' in dhcpConf)
        self.assertFalse('}}' in dhcpConf)
        self.assertFalse('None' in dhcpConf)
        self.assertEquals(4, dhcpConf.count('host-name')) # 1 global + 3 device
Exemplo n.º 9
0
 def testCreateDeviceInGraph(self):
     testDeviceTopology = pydot.Dot(graph_type='graph', )
     pod = createPod('pod1', self.dao.Session())
     cablingPlanWriter = CablingPlanWriter(self.conf, pod, self.dao)
     device = createPodDevice(self.dao.Session(), 'Preethi', pod)
     device.id = 'preethi-1'
     cablingPlanWriter.createDeviceInGraph(device.name, device, testDeviceTopology)
     path = cablingPlanWriter.outputDir + '/testDevicelabel.dot'
     testDeviceTopology.write_raw(path)
     data = open(path, 'r').read()
     #check the generated label for device
     self.assertTrue('"preethi-1" [shape=record, label=Preethi];' in data)
Exemplo n.º 10
0
    def createTwoSpineTwoLeafPlugNPlay(self, session):
        from test_model import createPod

        pod = createPod("pod1", session)
        from test_model import createPodDevice

        spine1 = createPodDevice(session, "spine1", pod)
        spine2 = createPodDevice(session, "spine2", pod)
        leaf1 = createPodDevice(session, "leaf1", pod)
        leaf1.role = "leaf"
        leaf1.family = "qfx5100-48s-6q"
        leaf2 = createPodDevice(session, "leaf2", pod)
        leaf2.role = "leaf"
        leaf2.family = "unknown"

        IFDs = [
            InterfaceDefinition("et-0/0/0", spine1, "downlink"),
            InterfaceDefinition("et-0/0/1", spine1, "downlink"),
            InterfaceDefinition("et-0/0/0", spine2, "downlink"),
            InterfaceDefinition("et-0/0/1", spine2, "downlink"),
            InterfaceDefinition("et-0/0/48", leaf1, "uplink"),
            InterfaceDefinition("et-0/0/49", leaf1, "uplink"),
            InterfaceDefinition("uplink-1", leaf2, "uplink"),
            InterfaceDefinition("uplink-2", leaf2, "uplink"),
        ]
        session.add_all(IFDs)

        IFLs = self.createIfls(session, IFDs)

        IFDs[4].peer = IFDs[0]
        IFDs[0].peer = IFDs[4]
        IFDs[5].peer = IFDs[2]
        IFDs[2].peer = IFDs[5]

        IFDs[6].peer = IFDs[1]
        IFDs[1].peer = IFDs[6]
        IFDs[7].peer = IFDs[3]
        IFDs[3].peer = IFDs[7]

        return {"ifds": IFDs, "ifls": IFLs}
Exemplo n.º 11
0
    def testGeneratePodSpecificDhcpConf(self):
        from jnpr.openclos.l3Clos import util
        flexmock(util, isPlatformUbuntu=True)

        with self._dao.getReadWriteSession() as session:
            pod = createPod('pod1', session)
            pod.spineJunosImage = 'testSpineImage'

            createPodDevice(session, 'dev1', pod)
            dev2 = createPodDevice(session, 'dev2', pod)
            dev3 = createPodDevice(session, 'dev3', pod)
            dev3.role = 'leaf'

            dhcpConf = self.ztpServer.generatePodSpecificDhcpConf(
                session, pod.id)

        self.assertEquals(2, dhcpConf.count('testSpineImage'))
        self.assertFalse('{{' in dhcpConf)
        self.assertFalse('}}' in dhcpConf)
        self.assertFalse('None' in dhcpConf)
        self.assertEquals(4,
                          dhcpConf.count('host-name'))  # 1 global + 3 device
Exemplo n.º 12
0
    def testGeneratePodSpecificDhcpConf(self):
        from jnpr.openclos.l3Clos import util
        flexmock(util, isPlatformUbuntu = True)
        
        pod = createPod('pod1', self.session)
        pod.spineJunosImage = 'testSpineImage'
        pod.leafJunosImage = 'testLeafImage'
        
        createPodDevice(self.session, 'dev1', pod)
        dev2 = createPodDevice(self.session, 'dev2', pod)
        dev3 = createPodDevice(self.session, 'dev3', pod)
        dev3.role = 'leaf'
        dev4 = createPodDevice(self.session, 'dev4', pod)
        dev4.role = 'unknown'
        
        dhcpConf = self.ztpServer.generatePodSpecificDhcpConf('pod1')
        self.assertEquals(2, dhcpConf.count('testSpineImage'))
        self.assertEquals(1, dhcpConf.count('testLeafImage'))

        self.assertFalse('{{' in dhcpConf)
        self.assertFalse('}}' in dhcpConf)
        self.assertEquals(5, dhcpConf.count('host-name')) # 1 global + 4 device
Exemplo n.º 13
0
    def createTwoSpineTwoLeafWithDummyUplinksForEx4300(self, session):
        from test_model import createPod
        pod = createPod('pod1', session)
        from test_model import createPodDevice
        spine1 = createPodDevice(session, 'spine1', pod)
        spine2 = createPodDevice(session, 'spine2', pod)
        spine3 = createPodDevice(session, 'spine3', pod)
        leaf1 = createPodDevice(session, 'leaf1', pod)
        leaf1.role = 'leaf'
        leaf1.family = 'qfx5100-48s-6q'
        leaf2 = createPodDevice(session, 'leaf2', pod)
        leaf2.role = 'leaf'
        leaf2.family = 'qfx5100-48s-6q'

        IFDs = [
            InterfaceDefinition('et-0/0/0', spine1, 'downlink'), InterfaceDefinition('et-0/0/1', spine1, 'downlink'), 
            InterfaceDefinition('et-0/0/0', spine2, 'downlink'), InterfaceDefinition('et-0/0/1', spine2, 'downlink'),
            InterfaceDefinition('et-0/0/0', spine3, 'downlink'), InterfaceDefinition('et-0/0/1', spine3, 'downlink'),
            InterfaceDefinition('et-0/0/48', leaf1, 'uplink'), InterfaceDefinition('et-0/0/49', leaf1, 'uplink'), InterfaceDefinition('et-0/0/50', leaf2, 'uplink'),
            InterfaceDefinition('et-0/0/48', leaf2, 'uplink'), InterfaceDefinition('et-0/0/49', leaf2, 'uplink'), InterfaceDefinition('dummy', leaf2, 'uplink')]

        session.add_all(IFDs)
        
        IFDs[6].peer = IFDs[0]
        IFDs[0].peer = IFDs[6]
        IFDs[7].peer = IFDs[2]
        IFDs[2].peer = IFDs[7]
        IFDs[8].peer = IFDs[4]
        IFDs[4].peer = IFDs[8]
        
        IFDs[9].peer = IFDs[1]
        IFDs[1].peer = IFDs[9]
        IFDs[10].peer = IFDs[3]
        IFDs[3].peer = IFDs[10]
        IFDs[11].peer = IFDs[5]
        IFDs[5].peer = IFDs[11]
        
        return IFDs
Exemplo n.º 14
0
    def createTwoSpineTwoLeafPlugNPlay(self, session):
        from test_model import createPod
        pod = createPod('pod1', session)
        from test_model import createPodDevice
        spine1 = createPodDevice(session, 'spine1', pod)
        spine2 = createPodDevice(session, 'spine2', pod)
        leaf1 = createPodDevice(session, 'leaf1', pod)
        leaf1.role = 'leaf'
        leaf1.family = 'qfx5100-48s-6q'
        leaf2 = createPodDevice(session, 'leaf2', pod)
        leaf2.role = 'leaf'
        leaf2.family = 'unknown'

        IFDs = [
            InterfaceDefinition('et-0/0/0', spine1, 'downlink'),
            InterfaceDefinition('et-0/0/1', spine1, 'downlink'),
            InterfaceDefinition('et-0/0/0', spine2, 'downlink'),
            InterfaceDefinition('et-0/0/1', spine2, 'downlink'),
            InterfaceDefinition('et-0/0/48', leaf1, 'uplink'),
            InterfaceDefinition('et-0/0/49', leaf1, 'uplink'),
            InterfaceDefinition('uplink-1', leaf2, 'uplink'),
            InterfaceDefinition('uplink-2', leaf2, 'uplink')
        ]
        session.add_all(IFDs)

        IFLs = self.createIfls(session, IFDs)

        IFDs[4].peer = IFDs[0]
        IFDs[0].peer = IFDs[4]
        IFDs[5].peer = IFDs[2]
        IFDs[2].peer = IFDs[5]

        IFDs[6].peer = IFDs[1]
        IFDs[1].peer = IFDs[6]
        IFDs[7].peer = IFDs[3]
        IFDs[3].peer = IFDs[7]

        return {'ifds': IFDs, 'ifls': IFLs}
    def testGeneratePodSpecificDhcpConf(self):
        from jnpr.openclos.l3Clos import util
        flexmock(util, isPlatformUbuntu=True)

        pod = createPod('pod1', self.session)
        pod.spineJunosImage = 'testSpineImage'
        pod.leafJunosImage = 'testLeafImage'

        createPodDevice(self.session, 'dev1', pod)
        dev2 = createPodDevice(self.session, 'dev2', pod)
        dev3 = createPodDevice(self.session, 'dev3', pod)
        dev3.role = 'leaf'
        dev4 = createPodDevice(self.session, 'dev4', pod)
        dev4.role = 'unknown'

        dhcpConf = self.ztpServer.generatePodSpecificDhcpConf('pod1')
        self.assertEquals(2, dhcpConf.count('testSpineImage'))
        self.assertEquals(1, dhcpConf.count('testLeafImage'))

        self.assertFalse('{{' in dhcpConf)
        self.assertFalse('}}' in dhcpConf)
        self.assertEquals(5,
                          dhcpConf.count('host-name'))  # 1 global + 4 device
Exemplo n.º 16
0
    def createSixSpineOneLeafqfx5100_48sPlugNPlay(self, session):
        from test_model import createPod

        pod = createPod("pod1", session)
        from test_model import createPodDevice

        spine1 = createPodDevice(session, "spine1", pod)
        spine2 = createPodDevice(session, "spine2", pod)
        spine3 = createPodDevice(session, "spine3", pod)
        spine4 = createPodDevice(session, "spine4", pod)
        spine5 = createPodDevice(session, "spine5", pod)
        spine6 = createPodDevice(session, "spine6", pod)
        leaf1 = createPodDevice(session, "leaf1", pod)
        leaf1.role = "leaf"
        leaf1.family = "qfx5100-48s-6q"

        IFDs = [
            InterfaceDefinition("et-0/0/0", spine1, "downlink"),
            InterfaceDefinition("et-0/0/0", spine2, "downlink"),
            InterfaceDefinition("et-0/0/0", spine3, "downlink"),
            InterfaceDefinition("et-0/0/0", spine4, "downlink"),
            InterfaceDefinition("et-0/0/0", spine5, "downlink"),
            InterfaceDefinition("et-0/0/0", spine6, "downlink"),
            InterfaceDefinition("et-0/0/48", leaf1, "uplink"),
            InterfaceDefinition("et-0/0/49", leaf1, "uplink"),
            InterfaceDefinition("et-0/0/50", leaf1, "uplink"),
            InterfaceDefinition("et-0/0/51", leaf1, "uplink"),
            InterfaceDefinition("et-0/0/52", leaf1, "uplink"),
            InterfaceDefinition("et-0/0/53", leaf1, "uplink"),
        ]
        session.add_all(IFDs)

        IFLs = self.createIfls(session, IFDs)

        IFDs[6].peer = IFDs[0]
        IFDs[0].peer = IFDs[6]
        IFDs[7].peer = IFDs[1]
        IFDs[1].peer = IFDs[7]
        IFDs[8].peer = IFDs[2]
        IFDs[2].peer = IFDs[8]
        IFDs[9].peer = IFDs[3]
        IFDs[3].peer = IFDs[9]
        IFDs[10].peer = IFDs[4]
        IFDs[4].peer = IFDs[10]
        IFDs[11].peer = IFDs[5]
        IFDs[5].peer = IFDs[11]

        return {"ifds": IFDs, "ifls": IFLs}
Exemplo n.º 17
0
    def createSixSpineOneLeafqfx5100_48sPlugNPlay(self, session):
        from test_model import createPod
        pod = createPod('pod1', session)
        from test_model import createPodDevice
        spine1 = createPodDevice(session, 'spine1', pod)
        spine2 = createPodDevice(session, 'spine2', pod)
        spine3 = createPodDevice(session, 'spine3', pod)
        spine4 = createPodDevice(session, 'spine4', pod)
        spine5 = createPodDevice(session, 'spine5', pod)
        spine6 = createPodDevice(session, 'spine6', pod)
        leaf1 = createPodDevice(session, 'leaf1', pod)
        leaf1.role = 'leaf'
        leaf1.family = 'qfx5100-48s-6q'

        IFDs = [
            InterfaceDefinition('et-0/0/0', spine1, 'downlink'),
            InterfaceDefinition('et-0/0/0', spine2, 'downlink'),
            InterfaceDefinition('et-0/0/0', spine3, 'downlink'),
            InterfaceDefinition('et-0/0/0', spine4, 'downlink'),
            InterfaceDefinition('et-0/0/0', spine5, 'downlink'),
            InterfaceDefinition('et-0/0/0', spine6, 'downlink'),
            InterfaceDefinition('et-0/0/48', leaf1, 'uplink'),
            InterfaceDefinition('et-0/0/49', leaf1, 'uplink'),
            InterfaceDefinition('et-0/0/50', leaf1, 'uplink'),
            InterfaceDefinition('et-0/0/51', leaf1, 'uplink'),
            InterfaceDefinition('et-0/0/52', leaf1, 'uplink'),
            InterfaceDefinition('et-0/0/53', leaf1, 'uplink')
        ]
        session.add_all(IFDs)

        IFLs = self.createIfls(session, IFDs)

        IFDs[6].peer = IFDs[0]
        IFDs[0].peer = IFDs[6]
        IFDs[7].peer = IFDs[1]
        IFDs[1].peer = IFDs[7]
        IFDs[8].peer = IFDs[2]
        IFDs[2].peer = IFDs[8]
        IFDs[9].peer = IFDs[3]
        IFDs[3].peer = IFDs[9]
        IFDs[10].peer = IFDs[4]
        IFDs[4].peer = IFDs[10]
        IFDs[11].peer = IFDs[5]
        IFDs[5].peer = IFDs[11]

        return {'ifds': IFDs, 'ifls': IFLs}
Exemplo n.º 18
0
    def createSixSpineOneLeafqfx5100_48sPlugNPlay(self, session):
        from test_model import createPod
        pod = createPod('pod1', session)
        from test_model import createPodDevice
        spine1 = createPodDevice(session, 'spine1', pod)
        spine2 = createPodDevice(session, 'spine2', pod)
        spine3 = createPodDevice(session, 'spine3', pod)
        spine4 = createPodDevice(session, 'spine4', pod)
        spine5 = createPodDevice(session, 'spine5', pod)
        spine6 = createPodDevice(session, 'spine6', pod)
        leaf1 = createPodDevice(session, 'leaf1', pod)
        leaf1.role = 'leaf'
        leaf1.family = 'qfx5100-48s-6q'

        IFDs = [InterfaceDefinition('et-0/0/0', spine1, 'downlink'), InterfaceDefinition('et-0/0/0', spine2, 'downlink'), 
                InterfaceDefinition('et-0/0/0', spine3, 'downlink'), InterfaceDefinition('et-0/0/0', spine4, 'downlink'), 
                InterfaceDefinition('et-0/0/0', spine5, 'downlink'), InterfaceDefinition('et-0/0/0', spine6, 'downlink'), 
                InterfaceDefinition('et-0/0/48', leaf1, 'uplink'), InterfaceDefinition('et-0/0/49', leaf1, 'uplink'),
                InterfaceDefinition('et-0/0/50', leaf1, 'uplink'), InterfaceDefinition('et-0/0/51', leaf1, 'uplink'),
                InterfaceDefinition('et-0/0/52', leaf1, 'uplink'), InterfaceDefinition('et-0/0/53', leaf1, 'uplink')]
        session.add_all(IFDs)

        IFLs = self.createIfls(session, IFDs)
        
        IFDs[6].peer = IFDs[0]
        IFDs[0].peer = IFDs[6]
        IFDs[7].peer = IFDs[1]
        IFDs[1].peer = IFDs[7]
        IFDs[8].peer = IFDs[2]
        IFDs[2].peer = IFDs[8]
        IFDs[9].peer = IFDs[3]
        IFDs[3].peer = IFDs[9]
        IFDs[10].peer = IFDs[4]
        IFDs[4].peer = IFDs[10]
        IFDs[11].peer = IFDs[5]
        IFDs[5].peer = IFDs[11]
        
        return {'ifds': IFDs, 'ifls': IFLs}