示例#1
0
 def approve(self, **kwds):
     """
     Approve page: get list of request associated with user DN.
     Fetch their status list from ReqMgr and display if requests
     were seen by data-ops.
     """
     if not kwds:
         kwds = {}
     if 'status' not in kwds:
         kwds.update({'status': 'new'})
     kwds.update({'_nostale': True})
     docs = []
     attrs = [
         'RequestName', 'RequestDate', 'Group', 'Requestor', 'RequestStatus'
     ]
     data = self.reqmgr.getRequestByStatus(statusList=[kwds['status']])
     for key, val in data.items():
         docs.append(request_attr(val, attrs))
     sortby = kwds.get('sort', 'status')
     docs = [r for r in sort(docs, sortby)]
     filter_sort = self.templatepage('filter_sort')
     content = self.templatepage('approve',
                                 requests=docs,
                                 date=tstamp(),
                                 sort=sortby,
                                 filter_sort_table=filter_sort)
     return self.abs_page('approve', content)
示例#2
0
 def assign(self, **kwds):
     """assign page"""
     if not kwds:
         kwds = {}
     if 'status' not in kwds:
         kwds.update({'status': 'assignment-approved'})
     docs = []
     attrs = ['RequestName', 'RequestDate', 'Group', 'Requestor', 'RequestStatus']
     dataResult = self.reqmgr.getRequestByStatus(statusList=[kwds['status']])
     for data in dataResult:
         for val in data.values():
             docs.append(request_attr(val, attrs))
     sortby = kwds.get('sort', 'status')
     docs = [r for r in sort(docs, sortby)]
     assignDict = deepcopy(self.assignArgs)
     assignDict.update(getPropValueMap())
     assignDict['Team'] = self.getTeams()
     filter_sort = self.templatepage('filter_sort')
     content = self.templatepage('assign', sort=sortby,
                                 filter_sort_table=filter_sort,
                                 sites=SITE_CACHE.getData(),
                                 site_white_list=site_white_list(),
                                 site_black_list=site_black_list(),
                                 user=user(), user_dn=user_dn(), requests=toString(docs),
                                 misc_table=json2table(assignDict, web_ui_names(), "all_attributes"),
                                 misc_json=json2form(assignDict, indent=2, keep_first_value=True))
     return self.abs_page('assign', content)
示例#3
0
 def assign(self, **kwds):
     """assign page"""
     if not kwds:
         kwds = {}
     if 'status' not in kwds:
         kwds.update({'status': 'assignment-approved'})
     docs = []
     attrs = [
         'RequestName', 'RequestDate', 'Group', 'Requestor', 'RequestStatus'
     ]
     data = self.reqmgr.getRequestByStatus(statusList=[kwds['status']])
     for val in data.values():
         docs.append(request_attr(val, attrs))
     sortby = kwds.get('sort', 'status')
     docs = [r for r in sort(docs, sortby)]
     misc_json = {
         'RequestPriority': 5000,
         'CMSSWVersion': releases(),
         'ScramArch': architectures(),
         'SiteWhitelist': SITE_CACHE.getData(),
         'SiteBlacklist': SITE_CACHE.getData(),
         'SubscriptionPriority': ['Low', 'Normal', 'High'],
         'CustodialSubType': ['Move', 'Replica'],
         'NonCustodialSubType': ['Move', 'Replica'],
         'MinMergeSize': 2147483648,
         'MaxMergeSize': 4294967296,
         'MaxMergeEvents': 50000,
         'MaxRSS': 20411724,
         'MaxVSize': 20411724,
         'SoftTimeout': 129600,
         'GracePeriod': 300,
         'BlockCloseMaxWaitTime': 66400,
         'BlockCloseMaxFiles': 500,
         'BlockCloseMaxEvents': 250000000,
         'BlockCloseMaxSize': 5000000000000,
         'AcquisitionEra': '',
         'ProcessingVersion': 1,
         'ProcessingString': '',
         'MergedLFNBase': lfn_bases(),
         'UnmergedLFNBase': lfn_unmerged_bases(),
         'Dashboard': dashboardActivities(),
         'Team': self.getTeams()
     }
     filter_sort = self.templatepage('filter_sort')
     content = self.templatepage('assign',
                                 sort=sortby,
                                 filter_sort_table=filter_sort,
                                 sites=SITE_CACHE.getData(),
                                 site_white_list=site_white_list(),
                                 site_black_list=site_black_list(),
                                 user=user(),
                                 user_dn=user_dn(),
                                 requests=toString(docs),
                                 misc_table=json2table(
                                     misc_json, web_ui_names(),
                                     "all_attributes"),
                                 misc_json=json2form(misc_json,
                                                     indent=2,
                                                     keep_first_value=True))
     return self.abs_page('assign', content)
示例#4
0
 def assign(self, **kwds):
     """assign page"""
     if not kwds:
         kwds = {}
     if 'status' not in kwds:
         kwds.update({'status': 'assignment-approved'})
     docs = []
     attrs = ['RequestName', 'RequestDate', 'Group', 'Requestor', 'RequestStatus']
     dataResult = self.reqmgr.getRequestByStatus(statusList=[kwds['status']])
     for data in dataResult:
         for val in data.values():
             docs.append(request_attr(val, attrs))
     sortby = kwds.get('sort', 'status')
     docs = [r for r in sort(docs, sortby)]
     misc_json = {'RequestPriority': 5000,
                  'CMSSWVersion': releases(),
                  'ScramArch': architectures(),
                  'SiteWhitelist': SITE_CACHE.getData(),
                  'SiteBlacklist': SITE_CACHE.getData(),
                  'SubscriptionPriority': ['Low', 'Normal', 'High'],
                  'CustodialSubType': ['Move', 'Replica'],
                  'NonCustodialSubType': ['Move', 'Replica'],
                  'MinMergeSize': 2147483648,
                  'MaxMergeSize': 4294967296,
                  'MaxMergeEvents': 50000,
                  'MaxRSS': 20411724,
                  'MaxVSize': 20411724,
                  'SoftTimeout': 129600,
                  'GracePeriod': 300,
                  'BlockCloseMaxWaitTime': 66400,
                  'BlockCloseMaxFiles': 500,
                  'BlockCloseMaxEvents': 250000000,
                  'BlockCloseMaxSize': 5000000000000,
                  'AcquisitionEra': '',
                  'ProcessingVersion': 1,
                  'ProcessingString': '',
                  'MergedLFNBase': lfn_bases(),
                  'UnmergedLFNBase': lfn_unmerged_bases(),
                  'Dashboard': dashboardActivities(),
                  'Team': self.getTeams()}
     filter_sort = self.templatepage('filter_sort')
     content = self.templatepage('assign', sort=sortby,
                                 filter_sort_table=filter_sort,
                                 sites=SITE_CACHE.getData(),
                                 site_white_list=site_white_list(),
                                 site_black_list=site_black_list(),
                                 user=user(), user_dn=user_dn(), requests=toString(docs),
                                 misc_table=json2table(misc_json, web_ui_names(), "all_attributes"),
                                 misc_json=json2form(misc_json, indent=2, keep_first_value=True))
     return self.abs_page('assign', content)
示例#5
0
 def requests(self, **kwds):
     """Page showing requests"""
     if  not kwds:
         kwds = {}
     if  'status' not in kwds:
         kwds.update({'status': 'acquired'})
     results = self.reqmgr.getRequestByStatus(kwds['status'])
     docs = []
     for key, doc in results.items():
         docs.append(request_attr(doc))
     sortby = kwds.get('sort', 'status')
     docs = [r for r in sort(docs, sortby)]
     filter_sort = self.templatepage('filter_sort')
     content = self.templatepage('requests', requests=docs, sort=sortby,
             status=kwds['status'], filter_sort_table=filter_sort)
     return self.abs_page('requests', content)
示例#6
0
 def requests(self, **kwds):
     """Page showing requests"""
     if not kwds:
         kwds = {}
     if 'status' not in kwds:
         kwds.update({'status': 'acquired'})
     dataResult = self.reqmgr.getRequestByStatus(kwds['status'])
     attrs = ['RequestName', 'RequestDate', 'Group', 'Requestor', 'RequestStatus', 'Campaign']
     docs = []
     for data in dataResult:
         for doc in data.values():
             docs.append(request_attr(doc, attrs))
     sortby = kwds.get('sort', 'status')
     docs = [r for r in sort(docs, sortby)]
     filter_sort = self.templatepage('filter_sort')
     content = self.templatepage('requests', requests=toString(docs), sort=sortby,
                                 status=kwds['status'], filter_sort_table=filter_sort)
     return self.abs_page('requests', content)
示例#7
0
 def requests(self, **kwds):
     """Page showing requests"""
     if not kwds:
         kwds = {}
     if 'status' not in kwds:
         kwds.update({'status': 'acquired'})
     results = self.reqmgr.getRequestByStatus(kwds['status'])
     docs = []
     for key, doc in results.items():
         docs.append(request_attr(doc))
     sortby = kwds.get('sort', 'status')
     docs = [r for r in sort(docs, sortby)]
     filter_sort = self.templatepage('filter_sort')
     content = self.templatepage('requests',
                                 requests=docs,
                                 sort=sortby,
                                 status=kwds['status'],
                                 filter_sort_table=filter_sort)
     return self.abs_page('requests', content)
示例#8
0
 def batches(self, **kwds):
     """Page showing batches"""
     if not kwds:
         kwds = {}
     if 'name' not in kwds:
         kwds.update({'name': ''})
     sortby = kwds.get('sort', 'name')
     #        results = self.reqmgr.getBatchesByName(kwds['name'])
     results = [
         {
             'Name': 'Batch1',
             'Description': 'Bla-bla',
             'Creator': 'valya',
             'Group': 'test',
             'Workflows': ['workflow1', 'workflow2'],
             'Date': 'Fri Feb 13 10:36:41 EST 2015',
             'Attributes': {
                 'HeavyIon': ['true', 'false']
             }
         },
         {
             'Name': 'Batch2',
             'Description': 'lksdjflksjdf',
             'Creator': 'valya',
             'Group': 'test',
             'Workflows': ['workflow1', 'workflow2'],
             'Date': 'Fri Feb 10 10:36:41 EST 2015',
             'Attributes': {
                 'HeavyIon': ['true', 'false']
             }
         },
     ]
     docs = [r for r in sort(results, sortby)]
     filter_sort = self.templatepage('filter_sort')
     content = self.templatepage('batches',
                                 batches=docs,
                                 sort=sortby,
                                 filter_sort_table=filter_sort)
     return self.abs_page('batches', content)
示例#9
0
 def approve(self, **kwds):
     """
     Approve page: get list of request associated with user DN.
     Fetch their status list from ReqMgr and display if requests
     were seen by data-ops.
     """
     if  not kwds:
         kwds = {}
     if  'status' not in kwds:
         kwds.update({'status': 'new'})
     kwds.update({'_nostale':True})
     docs = []
     attrs = ['RequestName', 'RequestDate', 'Group', 'Requestor', 'RequestStatus']
     data = self.reqmgr.getRequestByStatus(statusList=[kwds['status']])
     for key, val in data.items():
         docs.append(request_attr(val, attrs))
     sortby = kwds.get('sort', 'status')
     docs = [r for r in sort(docs, sortby)]
     filter_sort = self.templatepage('filter_sort')
     content = self.templatepage('approve', requests=docs, date=tstamp(),
             sort=sortby, filter_sort_table=filter_sort)
     return self.abs_page('approve', content)
示例#10
0
    def batches(self, **kwds):
        """Page showing batches"""
        if  not kwds:
            kwds = {}
        if  'name' not in kwds:
            kwds.update({'name': ''})
        sortby = kwds.get('sort', 'name')
#        results = self.reqmgr.getBatchesByName(kwds['name'])
        results = [
                {'Name':'Batch1', 'Description': 'Bla-bla', 'Creator':'valya', 'Group':'test',
                    'Workflows':['workflow1', 'workflow2'],
                    'Date': 'Fri Feb 13 10:36:41 EST 2015',
                    'Attributes':{'HeavyIon':['true', 'false']}},
                {'Name':'Batch2', 'Description': 'lksdjflksjdf', 'Creator':'valya', 'Group':'test',
                    'Workflows':['workflow1', 'workflow2'],
                    'Date': 'Fri Feb 10 10:36:41 EST 2015',
                    'Attributes':{'HeavyIon':['true', 'false']}},
                   ]
        docs = [r for r in sort(results, sortby)]
        filter_sort = self.templatepage('filter_sort')
        content = self.templatepage('batches', batches=docs, sort=sortby,
                filter_sort_table=filter_sort)
        return self.abs_page('batches', content)