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)
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.')
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')
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.')
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.')