Ejemplo n.º 1
0
    def connect(self,frm,leaf_1,leaf_2):
        flag = 0
        self.mo = cobra.mit.access
        apicurl = 'http://10.124.4.101'
        self.mo_dir = mo.MoDirectory(session.LoginSession(apicurl, 'admin', 'Cisco123'))
        self.mo_dir.login()

        self.clAcPath = cobra.mit.access.ClassQuery('fabricTrail')
        self.dbgAcPathA_objlist = self.mo_dir.query(self.clAcPath)
        self.dbgAclist_spine = []
        self.dbgAclist_leaf = []
        self.dbgAclist_trail = []

        for m in self.dbgAcPathA_objlist:
            # 根据用户选定特定的leaf的值
            if leaf_1 in str(m.rn) and leaf_2 in str(m.rn):
                self.dbgAclist_leaf.append(str(m.n1))
                self.dbgAclist_spine.append(str(m.transit))
                self.dbgAclist_trail.append(str(m.rn))
            else:
                flag += 1
        """当flag和长度相等时,说明没有找到对应路径"""
        if flag != len(self.dbgAcPathA_objlist):
            self.dbgAclist_spine = list(set(self.dbgAclist_spine))
            """数组中重复的去除,如201-102只能画一次"""
            self.dbgAclist_leaf = list(set(self.dbgAclist_leaf))
            return self.dbgAclist_spine, self.dbgAclist_leaf, self.dbgAclist_trail
        else:
            showerror("Answer", "Sorry, there is no trail bwtween the two leafs!")
Ejemplo n.º 2
0
def main():
    mo = cobra.mit.access
    apicurl = 'http://10.124.4.101'
    mo_dir = mo.MoDirectory(session.LoginSession(apicurl, 'admin', 'Cisco123'))
    mo_dir.login()

    for i in range(1, 30):
        if i <= 30:
            time.sleep(2)
        y = i + 1
        topology(i, mo_dir)
        table(i, mo_dir)
        table_1(i, mo_dir)
Ejemplo n.º 3
0
def getMoDirectoryFromApic(apic):
    "Login to APIC, get a Mo Directory then login and return the mo object."
    ls = aciSession.LoginSession(apic['url'], apic['user'], apic['password'])
    md = aciAccess.MoDirectory(ls)
    md.login()
    return md