def checkFeature(self, currentSKU): # Check flag and feature on licensed host. feature = VirtualGPU() featureRestricted = self.licenseFeatureFactory.getFeatureState( self.systemObj.master.productVersion, currentSKU, feature) featureResctictedFlag = feature.hostFeatureFlagValue( self.systemObj.master) assertions.assertEquals( featureRestricted, featureResctictedFlag, "Feature flag on host does not match actual permissions. Feature allowed: %s, Feature restricted: %s" % (featureRestricted, featureResctictedFlag)) enabled = feature.isEnabled(self.systemObj.master) self.confirmLicenseServerUp() assertions.assertEquals( not featureRestricted, enabled, "vGPU privilidge is not as expected after creating new VM. Should be: %s" % (featureRestricted)) # Unlicense host. self.licenseManager.releaseLicense(self.systemObj) # Check flag and functionality again, after removing license. featureResctictedFlag = feature.hostFeatureFlagValue( self.systemObj.master) assertions.assertTrue( featureResctictedFlag, "Feature flag is not restricted after removing license. Feature restricted: %s" % (featureResctictedFlag)) enabled = feature.isEnabled(self.systemObj.master) self.confirmLicenseServerUp() assertions.assertFalse( enabled, "vGPU is enabled after removing license and lifecycle operation.")
def checkFeature(self, currentSKU): # Restrict read caching = True / False feature = ReadCaching() featureResctictedFlag = feature.hostFeatureFlagValue( self.systemObj.master) featureRestricted = self.licenseFeatureFactory.getFeatureState( self.systemObj.master.productVersion, currentSKU, feature) assertions.assertEquals( featureRestricted, featureResctictedFlag, "Feature flag on host does not match actual permissions. Feature allowed: %s, Feature restricted: %s" % (featureRestricted, featureResctictedFlag)) # Check read caching values before any VMs. enabledList = feature.isEnabled(self.systemObj.master) assertions.assertFalse( True in enabledList, "Read Caching is enabled before any VMs created.") # Create VM.. guest = self.systemObj.master.createGenericLinuxGuest(sr="nfsstorage") guest.snapshot() guest.reboot() # Check we have the right read caching priviledge. enabledList = feature.isEnabled(self.systemObj.master) assertions.assertEquals( not featureRestricted, True in enabledList, "Read caching restriction is not as expected after creating new VM. Should be: %s" % (featureRestricted)) # Remove License. self.licenseManager.releaseLicense(self.systemObj) # Check, should still the same RC privilidge. enabledList = feature.isEnabled(self.systemObj.master) assertions.assertEquals( not featureRestricted, True in enabledList, "Read caching restriction is not as expected after removing license, but not performing lifecycle / tootstack restart. Should be: %s" % (featureRestricted)) guest.reboot() # Check flag again # Should be restricted after removing license. featureResctictedFlag = feature.hostFeatureFlagValue( self.systemObj.master) assertions.assertTrue( featureResctictedFlag, "Feature flag is not restricted after removing license. Feature restricted: %s" % (featureResctictedFlag)) # Check that read caching is now disabled. enabledList = feature.isEnabled(self.systemObj.master) assertions.assertFalse( True in enabledList, "Read Caching is enabled after removing license and lifecycle operation." ) guest.uninstall()
def checkFeature(self, currentSKU): feature = CIFSStorage() featureResctictedFlag = feature.hostFeatureFlagValue( self.systemObj.master) featureRestricted = self.licenseFeatureFactory.getFeatureState( self.systemObj.master.productVersion, currentSKU, feature) # Check flag. assertions.assertEquals( featureRestricted, featureResctictedFlag, "CIFS feature flag was not as expected for sku, %s. Restricted flag: %s. Should be: %s" % (currentSKU, featureResctictedFlag, featureRestricted)) # Check if the CIFS Storage feature is correct. enabled = feature.isEnabled(self.systemObj.master) assertions.assertEquals( not featureRestricted, enabled, "CIFS feature was not as expected for sku, %s. CIFS enabled: %s. Should be: %s" % (currentSKU, enabled, not featureRestricted)) # Remove License. self.licenseManager.releaseLicense(self.systemObj) # Check flag again # Should be restricted after removing license. featureResctictedFlag = feature.hostFeatureFlagValue( self.systemObj.master) assertions.assertTrue( featureResctictedFlag, "CIFS feature flag is not restricted after removing license for sku, %s." % (currentSKU)) # Check if CIFS Storage feature is now not functional. enabled = feature.isEnabled(self.systemObj.master) assertions.assertFalse( enabled, "CIFS feature is enabled after removing license for sku, %s." % (currentSKU))
def checkFeature(self, currentSKU): self.systemObj.master.execdom0("xe host-license-view") feature = WorkloadBalancing() featureRestricted = self.licenseFeatureFactory.getFeatureState( self.systemObj.master.productVersion, currentSKU, feature) featureResctictedFlag = feature.hostFeatureFlagValue( self.systemObj.master) assertions.assertEquals( featureRestricted, featureResctictedFlag, "Feature flag on host does not match actual permissions. Feature allowed: %s, Feature restricted: %s" % (featureRestricted, featureResctictedFlag)) self.licenseManager.releaseLicense(self.systemObj) self.systemObj.master.execdom0("xe host-license-view") featureResctictedFlag = feature.hostFeatureFlagValue( self.systemObj.master) assertions.assertTrue( featureResctictedFlag, "Feature flag is not restricted after removing license. Feature restricted: %s" % (featureResctictedFlag))
def checkExpectedState(self, expectedState, lowlevel=False, both=False): step("Checking state - expected=%s, low-level=%s, bothChecks=%s" % (expectedState, lowlevel, both)) host = self.getDefaultHost() rcc = host.getReadCachingController() rcc.setVM(self.vm) if both: step("Checking xapi status....") assertions.assertEquals(expectedState, rcc.isEnabled(lowLevel=False), "RC is enabled status via. xapi") step("Checking tapctl status....") assertions.assertEquals(expectedState, rcc.isEnabled(lowLevel=True), "RC is enabled status via. tap-ctl") else: step("Checking status of a single state...") assertions.assertEquals(expectedState, rcc.isEnabled(lowLevel=lowlevel), "RC is enabled status")
def _assertNormalPluginCallWorks(self): sayHelloThere = echoplugin.EchoRequest(data='HELLO THERE') result = self._callEchoPlugin(sayHelloThere) assertions.assertEquals('HELLO THERE', result.strip())