def testSetup(self):
        self.driver = self.getDriver()
        self.loginPage = LoginPage(driver=self.driver, url=self.webUIHostName)
        self.headerPage = HeaderPage(driver=self.driver)
        self.allStoragePage = AllStoragePage(driver=self.driver)
        self.lunsPage = LUNsPage(driver=self.driver)

        self.marscluster.snapshot.deleteAll()
        luns = express.Luns(node=self.marscluster, cleanup=True)
        del luns
        self.luns = express.Luns(node=self.marscluster)

        LOG.step('Signing in')
        self.loginPage.open()
        if self.locale is None:
            self.locale = self.loginPage.getRandomLocale()
        self.loginPage.signIn(username=self.username,
                              password=self.password,
                              locale=self.locale)
        LOG.info('Signed in with username: %s, password: %s, locale: %s.' %
                 (self.username, self.password, self.locale))
        LOG.info('Browser landed on header page.')

        LOG.info('Navigating to LUNs page...')
        self.headerPage.btnManager.click()
        self.allStoragePage.tabLUNs.click()
        self.lunsPage.waitUntilOpen()
        LOG.info('Browser landed on LUNs page.')
 def suiteTeardown(self):
     LOG.step('Closing browser')
     self.driver.quit()
     luns = express.Luns(node=self.marscluster, cleanup=True)
     del luns
     self.marscluster.igroup.destroyAll()
     LOG.info('LUNs & initiator groups destroyed.')
    def testSetup(self):
        self.driver = self.getDriver()
        self.loginPage = LoginPage(driver=self.driver, url=self.webUIHostName)
        self.initiatorGroupsPage = InitiatorGroupsPage(driver=self.driver)

        LOG.info('Destroying existing LUNs...')
        self.marscluster.lun.unmapAll()
        self.marscluster.lun.destroyAll()
        self.assertFalse(self.marscluster.lun.show(json=True))
        LOG.info('Done.')
        LOG.info('Destroying existing initiator groups...')
        self.marscluster.igroup.destroyAll()
        LOG.info('Done.')

        self.luns = express.Luns(node=self.marscluster)

        LOG.step('Signing in')
        self.loginPage.open()
        self.loginPage.waitUntilOpen()
        if self.locale is None:
            self.locale = self.loginPage.getRandomLocale()
        self.loginPage.signIn(username=self.username, password=self.password, locale=self.locale)
        LOG.info('Signed in with username: %s, password: %s, locale: %s.' % (self.username,
            self.password, self.locale))
        LOG.info('Browser landed on header page.')
 def suiteTeardown(self):
     LOG.step('Closing browser')
     self.driver.quit()
     self.marscluster.snapshot.deleteAll()
     luns = express.Luns(node=self.marscluster, cleanup=True)
     del luns
     LOG.info('LUNs & snapshots cleaned up.')
    def suiteSetup(self):
        self.locale = ARGS.values.locale
        self.username = ARGS.values.username
        self.password = ARGS.values.password
        self.webUIHostName = getFQDN(self.marscluster.hostname)

        self.luns = express.Luns(node=self.marscluster)
示例#6
0
    def testSetup(self):
        self.driver = self.getDriver()
        self.loginPage = LoginPage(driver=self.driver, url=self.webUIHostName)
        self.headerPage = HeaderPage(driver=self.driver)
        self.allStoragePage = AllStoragePage(driver=self.driver)
        self.lunsPage = LUNsPage(driver=self.driver)
        self.lunDetailsPage = LUNDetailsPage(driver=self.driver)
        self.lunSnapshotsPage = LUNSnapshotsPage(driver=self.driver)

        LOG.step('Cleaning out cluster content')
        snapshots = self.marscluster.snapshot.show(json=True)
        for snapshot in snapshots:
            self.marscluster.snapshot.delete(name=snapshot['name'],
                                             lun=snapshot['object'])
        self.assertFalse(self.marscluster.snapshot.show(json=True))
        LOG.info('Snapshots destroyed.')

        luns = express.Luns(node=self.marscluster, cleanup=True)
        del luns
        self.assertFalse(self.marscluster.lun.show(json=True))
        LOG.info('LUNs destroyed.')

        self.marscluster.igroup.destroyAll()
        LOG.info('Initiator groups destroyed.')

        self._deleteDependentConsistencyGroups()
        LOG.info('Consistency groups destroyed.')

        self.luns = express.Luns(node=self.marscluster)

        LOG.step('Signing in')
        self.loginPage.open()
        self.loginPage.waitUntilOpen()
        if self.locale is None:
            self.locale = self.loginPage.getRandomLocale()
        self.loginPage.signIn(username=self.username,
                              password=self.password,
                              locale=self.locale)
        LOG.info('Signed in with username: %s, password: %s, locale: %s.' %
                 (self.username, self.password, self.locale))
        LOG.info('Browser landed on header page.')

        LOG.info('Navigating to LUNs page...')
        self.headerPage.btnManager.click()
        self.allStoragePage.tabLUNs.click()
        self.lunsPage.waitUntilOpen()
        LOG.info('Browser landed on LUNs page.')
示例#7
0
 def suiteTeardown(self):
     LOG.step('Closing browser')
     self.driver.quit()
     luns = express.Luns(node=self.marscluster, cleanup=True)
     del luns
     consistencyGroups = self.marscluster.cg.show(json=True)
     for consistencyGroup in consistencyGroups:
         self.marscluster.cg.delete(name=consistencyGroup['name'])
     self.assertFalse(self.marscluster.cg.show(json=True))
    def testSetup(self):
        LOG.step('Loading existing LUNs')
        self.luns = express.Luns(node=self.node, cleanup=True)

        self.igroups = express.Igroups(node=self.node,
                                       cleanup=self.cleanupMars)
        self.igroups.create(count=1,
                            ostype='vmware',
                            initiators=self.fcInitiators,
                            prefix='ig_esx')
示例#9
0
    def testSetup(self):
        self.driver = self.getDriver()
        self.loginPage = LoginPage(driver=self.driver, url=self.webUIHostName)
        self.headerPage = HeaderPage(driver=self.driver)
        self.allStoragePage = AllStoragePage(driver=self.driver)
        self.consistencyGroupsPage = ConsistencyGroupsPage(driver=self.driver)

        LOG.step('Cleaning out cluster content')
        LOG.info('Destroying LUNs...')
        luns = express.Luns(node=self.marscluster, cleanup=True)
        del luns
        self.assertFalse(self.marscluster.lun.show(json=True))
        LOG.info('Done.')
        LOG.info('Deleting consistency groups...')
        while True:
            consistencyGroups = self.marscluster.cg.show(json=True)
            if consistencyGroups:
                self.marscluster.cg.delete(name=consistencyGroups[0]['name'])
            else:
                break
        self.assertFalse(self.marscluster.cg.show(json=True))
        LOG.info('Done.')

        self.luns = express.Luns(node=self.marscluster)

        LOG.step('Signing in')
        self.loginPage.open()
        self.loginPage.waitUntilOpen()
        if self.locale is None:
            self.locale = self.loginPage.getRandomLocale()
        self.loginPage.signIn(username=self.username,
                              password=self.password,
                              locale=self.locale)
        LOG.info('Signed in with username: %s, password: %s, locale: %s.' %
                 (self.username, self.password, self.locale))
        LOG.info('Browser landed on header page.')

        LOG.info('Navigating to Consistency Groups page...')
        self.headerPage.btnManager.click()
        self.allStoragePage.tabConsistencyGroups.click()
        self.consistencyGroupsPage.waitUntilOpen()
        LOG.info('Browser landed on Consistency Groups page.')
    def testSetup(self):
        self.driver = self.getDriver()
        self.loginPage = LoginPage(driver=self.driver, url=self.webUIHostName)
        self.headerPage = HeaderPage(driver=self.driver)
        self.allStoragePage = AllStoragePage(driver=self.driver)
        self.initiatorGroupsPage = InitiatorGroupsPage(driver=self.driver)

        LOG.step('Cleaning out cluster content')
        LOG.info('Destroying LUNs...')
        luns = express.Luns(node=self.marscluster, cleanup=True)
        del luns
        self.assertFalse(self.marscluster.lun.show(json=True))
        LOG.info('Done.')
        LOG.info('Destroying existing initiator groups...')
        self.marscluster.igroup.destroyAll()
        LOG.info('Done.')

        self.luns = express.Luns(node=self.marscluster)

        LOG.step('Signing in')
        self.loginPage.open()
        self.loginPage.waitUntilOpen()
        if self.locale is None:
            self.locale = self.loginPage.getRandomLocale()
        self.loginPage.signIn(username=self.username,
                              password=self.password,
                              locale=self.locale)
        LOG.info('Signed in with username: %s, password: %s, locale: %s.' %
                 (self.username, self.password, self.locale))
        LOG.info('Browser landed on header page.')

        LOG.info('Navigating to Initiator Groups page...')
        self.headerPage.btnManager.click()
        self.allStoragePage.tabInitiatorGroups.click()
        self.initiatorGroupsPage.waitUntilOpen()
        LOG.info('Browser landed on Initiator Groups page.')
    def suiteTeardown(self):
        self.driver.quit()
        LOG.info('Driver quit.')

        LOG.step('Deleting snapshots')
        snapshots = self.marscluster.snapshot.show(json=True)
        for snapshot in snapshots:
            self.marscluster.snapshot.delete(name=snapshot['name'],
                                             lun=snapshot['object'])
        self.assertFalse(self.marscluster.snapshot.show(json=True))
        LOG.info('Snapshots deleted.')

        LOG.step('Destroying LUNs')
        luns = express.Luns(node=self.marscluster, cleanup=True)
        del luns
        LOG.info('LUNs destroyed.')
    def testSetup(self):
        self.driver = self.getDriver()
        self.loginPage = LoginPage(driver=self.driver, url=self.webUIHostName)
        self.headerPage = HeaderPage(driver=self.driver)
        self.allStoragePage = AllStoragePage(driver=self.driver)
        self.lunsPage = LUNsPage(driver=self.driver)

        self.mars[0].lun.unmapAll()
        self.mars[0].lun.destroyAll()
        self.luns = express.Luns(node=self.node, cleanup=True)

        self.loginPage.signIn(username=self.username,
                              password=self.password,
                              locale=self.locale)

        LOG.step('Navigating to All Storage -> LUNs page')
        self.headerPage.btnManager.waitUntilPresent()
        self.headerPage.btnManager.click()
        self.allStoragePage.tabLUNs.waitUntilPresent()
        self.allStoragePage.tabLUNs.click()
        self.lunsPage.gridLUNs.waitUntilPresent()
        LOG.info("Grid is present on web page.")
 def testTeardown(self):
     self.driver.close()
     luns = express.Luns(node=self.marscluster, cleanup=True)
     del luns
     LOG.info('LUNs destroyed.')
 def testTeardown(self):
     self.driver.quit()
     luns = express.Luns(node=self.marscluster, cleanup=True)
     del luns
     self.marscluster.igroup.destroyAll()
     LOG.info('LUNs & initiator groups destroyed.')
示例#15
0
    def test_terminal_size(self):
        """
            Test verifies LUN resizing to minimum and maximum sizes respecting given size unit.
        """
        sizes = {
            'B': {
                'low': 512,
                'high': long(64) * pow(1024, 4),
                'multiplier': 1
            },
            'K': {
                'low': 0.5,
                'high': long(64) * pow(1024, 3),
                'multiplier': 1024
            },
            'M': {
                'low': 0.001,
                'high': long(64) * pow(1024, 2),
                'multiplier': 1024 ** 2
            },
            'G': {
                'low': 0.001,
                'high': long(64) * 1024,
                'multiplier': 1024 ** 3
            },
            'T': {
                'low': 0.001,
                'high': 64,
                'multiplier': 1024 ** 4
            }
        }
        lunsToCreate = {}
        for sizeUnit in sizes:
            nameLow = 'LuN_' + sizeUnit + '_low'
            sizeLow = str(sizes[sizeUnit]['low']) + sizeUnit
            nameHigh = 'LuN_' + sizeUnit + '_high'
            sizeHigh = str(sizes[sizeUnit]['high']) + sizeUnit

            LOG.step("Creating LUNs with size unit '%s'" % sizeUnit)
            if sizeUnit not in ['B', 'K']:
                self.marscluster.lun.create(name=nameLow, size='0.5k')
            self.marscluster.lun.create(name=nameHigh, size='0.5k')
            luns = self.marscluster.lun.show(json=True)
            LOG.info('LUNs created:\n', luns)

            # Refresh LUN grid
            self.lunsPage.btnRefresh.click()
            self.lunsPage.btnRefresh.waitUntilEnabled()

            # Skip assigning the same size with low size units. Reducing LUN size is not available.
            if sizeUnit not in ['B', 'K']:
                LOG.step("Opening wizard for LUN '%s'" % nameLow)
                wizard = ResizeLUNWizard(driver=self.driver, locale=self.locale)
                wizard.open(name=nameLow)
                LOG.info('Wizard opened.')

                LOG.step("Modifying LUN size to be minimal: size='%s'" % sizeLow)
                wizard.activePage.resizeLUN(size=sizeLow)
                wizard.activePage.submit()
                LOG.info('Resize submitted.')

                sizeToCreate = sizes[sizeUnit]['low'] * sizes[sizeUnit]['multiplier']
                # Sizes of LUNs are rounded up to 512-byte bound
                if sizeToCreate % 512 > 0:
                    sizeToCreate = int(sizeToCreate / 512) * 512 + 512
                lunsToCreate[nameLow] = sizeToCreate

            LOG.step("Opening wizard for LUN '%s'" % nameHigh)
            wizard = ResizeLUNWizard(driver=self.driver, locale=self.locale)
            wizard.open(name=nameHigh)
            LOG.info('Wizard opened.')

            LOG.step("Modifying LUN size to be maximal: size='%s'" % sizeHigh)
            wizard.activePage.resizeLUN(size=sizeHigh)
            wizard.activePage.submit()
            LOG.info('Resize submitted.')

            lunsToCreate[nameHigh] = sizes[sizeUnit]['high'] * sizes[sizeUnit]['multiplier']
            createdLUNs = self.marscluster.lun.show(json=True)

            LOG.step('Verifying modified LUN size is as specified')
            for lun in createdLUNs:
                self.assertTrue(lun['size'] == lunsToCreate[lun['name']])
                LOG.info("Size of LUN '%s' (bytes): %s" % (lun['name'], lun['size']))

            LOG.step('Cleaning up LUNs')
            luns = express.Luns(node=self.marscluster, cleanup=True)
            del luns
            LOG.info('LUNs destroyed.')