def banSiteFromMask( self, site, comment, printOutput = False ): """Removes the site from the site mask. Example usage: >>> print diracAdmin.banSiteFromMask() {'OK': True, 'Value': } @return: S_OK,S_ERROR """ result = self.__checkSiteIsValid( site ) if not result['OK']: return result mask = self.getSiteMask() if not mask['OK']: return mask siteMask = mask['Value'] if not site in siteMask: return S_ERROR( 'Site %s is already banned' % site ) wmsAdmin = RPCClient( 'WorkloadManagement/WMSAdministrator', timeout = 120 ) result = wmsAdmin.banSite( site, comment ) if not result['OK']: return result if printOutput: print 'Removing %s from site mask' % site return result
def banSiteFromMask( self, site, comment, printOutput = False ): """Removes the site from the site mask. Example usage: >>> print diracAdmin.banSiteFromMask() {'OK': True, 'Value': } @return: S_OK,S_ERROR """ result = self.__checkSiteIsValid( site ) if not result['OK']: return result mask = self.getSiteMask() if not mask['OK']: return mask siteMask = mask['Value'] if not site in siteMask: return S_ERROR( 'Site %s is already banned' % site ) wmsAdmin = RPCClient( 'WorkloadManagement/WMSAdministrator' ) result = wmsAdmin.banSite( site, comment ) if not result['OK']: return result if printOutput: print 'Removing %s from site mask' % site return result
def test_JobDBWMSAdmin(self): wmsAdministrator = RPCClient( 'WorkloadManagement/WMSAdministrator' ) sitesList = ['My.Site.org', 'Your.Site.org'] res = wmsAdministrator.setSiteMask( sitesList ) self.assert_( res['OK'] ) res = wmsAdministrator.getSiteMask() self.assert_( res['OK'] ) self.assertEqual( sorted( res['Value'] ), sorted( sitesList ) ) res = wmsAdministrator.banSite( 'My.Site.org', 'This is a comment' ) self.assert_( res['OK'] ) res = wmsAdministrator.getSiteMask() self.assert_( res['OK'] ) self.assertEqual( sorted( res['Value'] ), ['Your.Site.org'] ) res = wmsAdministrator.allowSite( 'My.Site.org', 'This is a comment' ) self.assert_( res['OK'] ) res = wmsAdministrator.getSiteMask() self.assert_( res['OK'] ) self.assertEqual( sorted( res['Value'] ), sorted( sitesList ) ) res = wmsAdministrator.getSiteMaskLogging( sitesList ) self.assert_( res['OK'] ) self.assertEqual( res['Value']['My.Site.org'][0][3], 'No comment' ) res = wmsAdministrator.getSiteMaskSummary() self.assert_( res['OK'] ) self.assertEqual( res['Value']['My.Site.org'], 'Active' ) res = wmsAdministrator.getUserSummaryWeb( {}, [], 0, 100 ) print res self.assert_( res['OK'] ) self.assertEqual( res['Value']['TotalRecords'], 0 ) res = wmsAdministrator.getSiteSummaryWeb( {}, [], 0, 100 ) self.assert_( res['OK'] ) self.assertEqual( res['Value']['TotalRecords'], 0 ) res = wmsAdministrator.getSiteSummarySelectors() self.assert_( res['OK'] ) res = wmsAdministrator.clearMask() self.assert_( res['OK'] ) res = wmsAdministrator.getSiteMask() self.assert_( res['OK'] ) self.assertEqual( res['Value'], [] )
def test_JobDBWMSAdmin(self): wmsAdministrator = RPCClient('WorkloadManagement/WMSAdministrator') sitesList = ['My.Site.org', 'Your.Site.org'] res = wmsAdministrator.setSiteMask(sitesList) self.assert_(res['OK']) res = wmsAdministrator.getSiteMask() self.assert_(res['OK']) self.assertEqual(sorted(res['Value']), sorted(sitesList)) res = wmsAdministrator.banSite('My.Site.org', 'This is a comment') self.assert_(res['OK']) res = wmsAdministrator.getSiteMask() self.assert_(res['OK']) self.assertEqual(sorted(res['Value']), ['Your.Site.org']) res = wmsAdministrator.allowSite('My.Site.org', 'This is a comment') self.assert_(res['OK']) res = wmsAdministrator.getSiteMask() self.assert_(res['OK']) self.assertEqual(sorted(res['Value']), sorted(sitesList)) res = wmsAdministrator.getSiteMaskLogging(sitesList) self.assert_(res['OK']) self.assertEqual(res['Value']['My.Site.org'][0][3], 'No comment') res = wmsAdministrator.getSiteMaskSummary() self.assert_(res['OK']) self.assertEqual(res['Value']['My.Site.org'], 'Active') res = wmsAdministrator.getUserSummaryWeb({}, [], 0, 100) print res self.assert_(res['OK']) self.assertEqual(res['Value']['TotalRecords'], 0) res = wmsAdministrator.getSiteSummaryWeb({}, [], 0, 100) self.assert_(res['OK']) self.assertEqual(res['Value']['TotalRecords'], 0) res = wmsAdministrator.getSiteSummarySelectors() self.assert_(res['OK']) res = wmsAdministrator.clearMask() self.assert_(res['OK']) res = wmsAdministrator.getSiteMask() self.assert_(res['OK']) self.assertEqual(res['Value'], [])
def banSite(self, site, comment, printOutput=False): """Removes the site from the site mask. Example usage: >>> print diracAdmin.banSite() {'OK': True, 'Value': } :return: S_OK,S_ERROR """ result = self.__checkSiteIsValid(site) if not result['OK']: return result mask = self.getSiteMask(status='Banned') if not mask['OK']: return mask siteMask = mask['Value'] if site in siteMask: if printOutput: print 'Site %s is already Banned' % site return S_OK('Site %s is already Banned' % site) if self.rssFlag: result = self.sitestatus.setSiteStatus(site, 'Banned', comment) else: wmsAdmin = RPCClient('WorkloadManagement/WMSAdministrator') result = wmsAdmin.banSite(site, comment) if not result['OK']: return result if printOutput: print 'Site %s status is set to Banned' % site return result
def banSiteFromMask(self, site, comment, printOutput=False): """Removes the site from the site mask. Example usage: >>> print diracAdmin.banSiteFromMask("LCG.CERN.ch", "Job can't access their data") {'OK': True, 'Value': } :returns: S_OK,S_ERROR """ result = self.__checkSiteIsValid(site) if not result['OK']: return result wmsAdmin = RPCClient('WorkloadManagement/WMSAdministrator') result = wmsAdmin.banSite(site, comment) if not result['OK']: return result if printOutput: print 'Removing %s from site mask' % site return result