示例#1
0
class DeploySchemaManager(object):

    deploySchemaList = []

    def __init__(self):
        self.xmlcmdbobserver = XMLCMDBObserver()
        pass

    def listDeploySchema(self):
        return self.deploySchemaList

    def loadDeploySchema(self):

        xmlparse = XMLParse(
            xml_file_path=DEPLOY_DESIGN_FILE_URL['DeploySchema'])
        deploySchema = xmlparse.query('DeploySchema')
        for schema in deploySchema:
            targetInstanceList = schema[0]._children
            containerInstanceList = schema[1]._children
            targetInstanceContainerInstanceMapping = schema[2]._children
            self.deploySchemaList.append(
                DeploySchema(targetInstList=targetInstanceList,
                             containerInstList=containerInstanceList,
                             targetRoleMapping=self.loadTargetRoleMapping(),
                             targetInstContainerMapping=
                             targetInstanceContainerInstanceMapping,
                             schema_name=self.xmlcmdbobserver.getDataCenter()
                             [0].attrib['name']))
        return

    def loadTargetRoleMapping(self):
        xmlparse = XMLParse(
            xml_file_path=DEPLOY_DESIGN_FILE_URL['TargetRoleMapping'])
        targetRoleMapping = xmlparse.query('TargetToRoleMapping')
        return targetRoleMapping[0]._children

    def getTargetNamesByRoleUID(self, roleUID):
        targetNames = []
        dtm = DeployTargetManager()
        for mapping in self.loadTargetRoleMapping():
            tmp_roleUID = getoutCurlyBraces(mapping.text.split(':')[1])
            tmp_targetUID = getoutCurlyBraces(mapping.text.split(':')[0])
            if tmp_roleUID == roleUID:
                targetNames.append(dtm.getTargetNameByUID(tmp_targetUID))
        return targetNames

    def execDeploySchema(self):
        pass

    def querySchemaBySchemaName(self, schema_name):

        try:
            for schema in self.listDeploySchema():
                if schema.schema_name == schema_name:
                    return schema

        except Exception, msg:
            print msg
            return
示例#2
0
class DeploySchemaManager(object):

    deploySchemaList = []

    def __init__(self):
        self.xmlcmdbobserver = XMLCMDBObserver()
        pass

    def listDeploySchema(self):
        return self.deploySchemaList

    def loadDeploySchema(self):

        xmlparse = XMLParse(xml_file_path=DEPLOY_DESIGN_FILE_URL["DeploySchema"])
        deploySchema = xmlparse.query("DeploySchema")
        for schema in deploySchema:
            targetInstanceList = schema[0]._children
            containerInstanceList = schema[1]._children
            targetInstanceContainerInstanceMapping = schema[2]._children
            self.deploySchemaList.append(
                DeploySchema(
                    targetInstList=targetInstanceList,
                    containerInstList=containerInstanceList,
                    targetRoleMapping=self.loadTargetRoleMapping(),
                    targetInstContainerMapping=targetInstanceContainerInstanceMapping,
                    schema_name=self.xmlcmdbobserver.getDataCenter()[0].attrib["name"],
                )
            )
        return

    def loadTargetRoleMapping(self):
        xmlparse = XMLParse(xml_file_path=DEPLOY_DESIGN_FILE_URL["TargetRoleMapping"])
        targetRoleMapping = xmlparse.query("TargetToRoleMapping")
        return targetRoleMapping[0]._children

    def getTargetNamesByRoleUID(self, roleUID):
        targetNames = []
        dtm = DeployTargetManager()
        for mapping in self.loadTargetRoleMapping():
            tmp_roleUID = getoutCurlyBraces(mapping.text.split(":")[1])
            tmp_targetUID = getoutCurlyBraces(mapping.text.split(":")[0])
            if tmp_roleUID == roleUID:
                targetNames.append(dtm.getTargetNameByUID(tmp_targetUID))
        return targetNames

    def execDeploySchema(self):
        pass

    def querySchemaBySchemaName(self, schema_name):

        try:
            for schema in self.listDeploySchema():
                if schema.schema_name == schema_name:
                    return schema

        except Exception, msg:
            print msg
            return
示例#3
0
 def __init__(self):
     xcbo = XMLCMDBObserver()
     self._manageResource(xcbo.getDataCenter())
     self._manageResource(xcbo.getNetwork())
     self._manageResource(xcbo.getHostlist())
     self._manageResource(xcbo.getContainerlist())