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
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
def __init__(self): xcbo = XMLCMDBObserver() self._manageResource(xcbo.getDataCenter()) self._manageResource(xcbo.getNetwork()) self._manageResource(xcbo.getHostlist()) self._manageResource(xcbo.getContainerlist())