예제 #1
0
def delete(switchDict):
    '''
    Given the switches, request a query 'delete' on the ResourceManagementDB
    that deletes from DowntimeCache all rows that match the parameters given.
  '''

    rmsClient = ResourceManagementClient()

    result = {
        'output': None,
        'successful': None,
        'message': None,
        'match': None
    }
    output = rmsClient.deleteDowntimeCache(
        downtimeID=switchDict['downtimeID'],
        element=switchDict['element'],
        name=switchDict['name'],
        startDate=switchDict['startDate'],
        endDate=switchDict['endDate'],
        severity=switchDict['severity'],
        description=switchDict['description'],
        link=switchDict['link']
        #dateEffective = switchDict[ 'dateEffective' ]
    )
    result['match'] = int(output['Value'])
    result['successful'] = output['OK']
    result['message'] = output['Message'] if 'Message' in output else None

    return result
예제 #2
0
def add(switchDict):
    '''
    Given the switches, request a query 'addOrModify' on the ResourceManagementDB
    that inserts or updates-if-duplicated from DowntimeCache.
  '''

    rmsClient = ResourceManagementClient()

    result = {
        'output': None,
        'successful': None,
        'message': None,
        'match': None
    }
    output = rmsClient.addOrModifyDowntimeCache(
        downtimeID=switchDict['downtimeID'],
        element=switchDict['element'],
        name=switchDict['name'],
        startDate=switchDict['startDate'],
        endDate=switchDict['endDate'],
        severity=switchDict['severity'],
        description=switchDict['description'],
        link=switchDict['link']
        #dateEffective = switchDict[ 'dateEffective' ]
    )

    result['match'] = int(output['Value'])
    result['successful'] = output['OK']
    result['message'] = output['Message'] if 'Message' in output else None

    return result
예제 #3
0
def add( switchDict ):
  '''
    Given the switches, request a query 'addOrModify' on the ResourceManagementDB
    that inserts or updates-if-duplicated from DowntimeCache.
  '''

  rmsClient = ResourceManagementClient()

  result = { 'output': None, 'successful': None, 'message': None, 'match': None }
  output = rmsClient.addOrModifyDowntimeCache( downtimeID = switchDict[ 'downtimeID' ],
                                               element = switchDict[ 'element' ],
                                               name = switchDict[ 'name' ],
                                               startDate = switchDict[ 'startDate' ],
                                               endDate = switchDict[ 'endDate' ],
                                               severity = switchDict[ 'severity' ],
                                               description = switchDict[ 'description' ],
                                               link = switchDict[ 'link' ]
                                               #dateEffective = switchDict[ 'dateEffective' ]
                                              )

  result['match'] = int( output['Value'] )
  result['successful'] = output['OK']
  result['message'] = output['Message'] if 'Message' in output else None

  return result
예제 #4
0
def select( switchDict ):
  '''
    Given the switches, request a query 'select' on the ResourceManagementDB
    that gets from DowntimeCache all rows that match the parameters given.
  '''

  rmsClient = ResourceManagementClient()

  meta = { 'columns' : [ 'downtimeID', 'element', 'name', 'startDate', 'endDate',
                         'severity', 'description', 'link', 'dateEffective' ] }

  result = { 'output': None, 'successful': None, 'message': None, 'match': None }
  output = rmsClient.selectDowntimeCache( downtimeID = switchDict[ 'downtimeID' ],
                                          element = switchDict[ 'element' ],
                                          name = switchDict[ 'name' ],
                                          #startDate = switchDict[ 'startDate' ],
                                          #endDate = switchDict[ 'endDate' ],
                                          severity = switchDict[ 'severity' ],
                                          #description = switchDict[ 'description' ],
                                          #link = switchDict[ 'link' ],
                                          #dateEffective = switchDict[ 'dateEffective' ],
                                          meta = meta )

  result['output'] = [ dict( zip( output[ 'Columns' ], dt ) ) for dt in output[ 'Value' ] ]
  if 'ongoing' in switchDict:
    result['output'] = filterOngoing( result['output'] )
  else:
    result['output'] = filterDate( result['output'], switchDict[ 'startDate' ], switchDict[ 'endDate' ] )
  result['output'] = filterDescription( result['output'], switchDict[ 'description' ] )
  result['match'] = len( result['output'] )
  result['successful'] = output['OK']
  result['message'] = output['Message'] if 'Message' in output else None

  return result
예제 #5
0
def select(switchDict):
    '''
    Given the switches, request a query 'select' on the ResourceManagementDB
    that gets from DowntimeCache all rows that match the parameters given.
  '''

    rmsClient = ResourceManagementClient()

    meta = {
        'columns': [
            'downtimeID', 'element', 'name', 'startDate', 'endDate',
            'severity', 'description', 'link', 'dateEffective'
        ]
    }

    result = {
        'output': None,
        'successful': None,
        'message': None,
        'match': None
    }
    output = rmsClient.selectDowntimeCache(
        downtimeID=switchDict['downtimeID'],
        element=switchDict['element'],
        name=switchDict['name'],
        #startDate = switchDict[ 'startDate' ],
        #endDate = switchDict[ 'endDate' ],
        severity=switchDict['severity'],
        #description = switchDict[ 'description' ],
        #link = switchDict[ 'link' ],
        #dateEffective = switchDict[ 'dateEffective' ],
        meta=meta)

    result['output'] = [
        dict(zip(output['Columns'], dt)) for dt in output['Value']
    ]
    if 'ongoing' in switchDict:
        result['output'] = filterOngoing(result['output'])
    else:
        result['output'] = filterDate(result['output'],
                                      switchDict['startDate'],
                                      switchDict['endDate'])
    result['output'] = filterDescription(result['output'],
                                         switchDict['description'])
    result['match'] = len(result['output'])
    result['successful'] = output['OK']
    result['message'] = output['Message'] if 'Message' in output else None

    return result
예제 #6
0
파일: fixtures.py 프로젝트: zenglzh/DIRAC
    def setUp(self):

        import DIRAC.ResourceStatusSystem.Client.ResourceManagementClient as mockedModule

        _serviceIn = ResourceManagementDB.ResourceManagementDB()
        self.client = mockedModule.ResourceManagementClient(
            serviceIn=_serviceIn)
예제 #7
0
    def __init__(self, rStatus=None, rManagement=None):

        # Warm up local CS
        CSHelpers.warmUp()

        if rStatus is None:
            self.rStatus = ResourceStatusClient.ResourceStatusClient()
        if rManagement is None:
            self.rManagement = ResourceManagementClient.ResourceManagementClient(
            )

        self.rssConfig = RssConfiguration()
예제 #8
0
def delete( switchDict ):
  '''
    Given the switches, request a query 'delete' on the ResourceManagementDB
    that deletes from DowntimeCache all rows that match the parameters given.
  '''

  rmsClient = ResourceManagementClient()

  result = { 'output': None, 'successful': None, 'message': None, 'match': None }
  output = rmsClient.deleteDowntimeCache( downtimeID = switchDict[ 'downtimeID' ],
                                          element = switchDict[ 'element' ],
                                          name = switchDict[ 'name' ],
                                          startDate = switchDict[ 'startDate' ],
                                          endDate = switchDict[ 'endDate' ],
                                          severity = switchDict[ 'severity' ],
                                          description = switchDict[ 'description' ],
                                          link = switchDict[ 'link' ]
                                          #dateEffective = switchDict[ 'dateEffective' ]
                                        )
  result['match'] = int( output['Value'] )
  result['successful'] = output['OK']
  result['message'] = output['Message'] if 'Message' in output else None

  return result