descGenerator.py
上传用户:quxuerui
上传日期:2018-01-08
资源大小:41811k
文件大小:2k
- #Licensed to the Apache Software Foundation (ASF) under one
- #or more contributor license agreements. See the NOTICE file
- #distributed with this work for additional information
- #regarding copyright ownership. The ASF licenses this file
- #to you under the Apache License, Version 2.0 (the
- #"License"); you may not use this file except in compliance
- #with the License. You may obtain a copy of the License at
- # http://www.apache.org/licenses/LICENSE-2.0
- #Unless required by applicable law or agreed to in writing, software
- #distributed under the License is distributed on an "AS IS" BASIS,
- #WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- #See the License for the specific language governing permissions and
- #limitations under the License.
- """manage hod configuration"""
- # -*- python -*-
- import sys, csv, os
- from optparse import Option, OptionParser
- from xml.dom import minidom
- from sets import Set
- from select import select, poll, POLLIN
- from hodlib.Common.desc import *
- class DescGenerator:
- """Contains the conversion to descriptors and other method calls
- to config"""
- def __init__(self, hodConfig):
- """parse all the descriptors"""
-
- self.hodConfig = hodConfig
-
- def initializeDesc(self):
- self.hodConfig['nodepooldesc'] = self.createNodePoolDesc()
- self.hodConfig['servicedesc'] = self.createServiceDescDict()
-
- return self.hodConfig
-
- def getServices(self):
- """get all the services from the config"""
-
- sdd = {}
- for keys in self.hodConfig:
- if keys.startswith('gridservice-'):
- str = keys.split('-')
- dict = self.hodConfig[keys]
- if 'server-params' in dict: dict['attrs'] = dict['server-params']
- if 'final-server-params' in dict: dict['final-attrs'] = dict['final-server-params']
- dict['id'] = str[1]
- desc = ServiceDesc(dict)
- sdd[desc.getName()] = desc
-
- return sdd
-
- def createNodePoolDesc(self):
- """ create a node pool descriptor and store
- it in hodconfig"""
-
- desc = NodePoolDesc(self.hodConfig['resource_manager'])
- return desc
-
- def createServiceDescDict(self):
- """create a service descriptor for
- all the services and store it in the
- hodconfig"""
-
- sdd = self.getServices()
- return sdd
-
-