Ejemplo n.º 1
0
  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
Ejemplo n.º 2
0
  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
Ejemplo n.º 3
0
  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'], [] )
Ejemplo n.º 4
0
    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'], [])
Ejemplo n.º 5
0
    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
Ejemplo n.º 6
0
  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
Ejemplo n.º 7
0
    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