descGenerator.py
上传用户:quxuerui
上传日期:2018-01-08
资源大小:41811k
文件大小:2k
源码类别:

网格计算

开发平台:

Java

  1. #Licensed to the Apache Software Foundation (ASF) under one
  2. #or more contributor license agreements.  See the NOTICE file
  3. #distributed with this work for additional information
  4. #regarding copyright ownership.  The ASF licenses this file
  5. #to you under the Apache License, Version 2.0 (the
  6. #"License"); you may not use this file except in compliance
  7. #with the License.  You may obtain a copy of the License at
  8. #     http://www.apache.org/licenses/LICENSE-2.0
  9. #Unless required by applicable law or agreed to in writing, software
  10. #distributed under the License is distributed on an "AS IS" BASIS,
  11. #WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. #See the License for the specific language governing permissions and
  13. #limitations under the License.
  14. """manage hod configuration"""
  15. # -*- python -*-
  16. import sys, csv, os
  17. from optparse import Option, OptionParser
  18. from xml.dom import minidom
  19. from sets import Set
  20. from select import select, poll, POLLIN
  21. from hodlib.Common.desc import *
  22. class DescGenerator:
  23.   """Contains the conversion to descriptors and other method calls
  24.   to config"""  
  25.   def __init__(self, hodConfig):
  26.     """parse all the descriptors"""
  27.     
  28.     self.hodConfig = hodConfig
  29.     
  30.   def initializeDesc(self):
  31.     self.hodConfig['nodepooldesc'] = self.createNodePoolDesc()
  32.     self.hodConfig['servicedesc'] = self.createServiceDescDict()
  33.     
  34.     return self.hodConfig
  35.   
  36.   def getServices(self):
  37.     """get all the services from the config"""
  38.     
  39.     sdd = {}
  40.     for keys in self.hodConfig:
  41.       if keys.startswith('gridservice-'):
  42.         str = keys.split('-')
  43.         dict = self.hodConfig[keys]
  44.         if 'server-params' in dict: dict['attrs'] = dict['server-params']
  45.         if 'final-server-params' in dict: dict['final-attrs'] = dict['final-server-params']
  46.         dict['id'] = str[1]
  47.         desc = ServiceDesc(dict)
  48.         sdd[desc.getName()] = desc 
  49.         
  50.     return sdd
  51.   
  52.   def createNodePoolDesc(self):
  53.     """ create a node pool descriptor and store
  54.     it in hodconfig"""
  55.     
  56.     desc = NodePoolDesc(self.hodConfig['resource_manager'])
  57.     return desc
  58.   
  59.   def createServiceDescDict(self):
  60.     """create a service descriptor for 
  61.     all the services and store it in the 
  62.     hodconfig"""
  63.     
  64.     sdd = self.getServices()
  65.     return sdd
  66.   
  67.