diff --git a/e2e_test/hawk_test.py b/e2e_test/hawk_test.py index b9dc2e0d9..6ac61fd7f 100755 --- a/e2e_test/hawk_test.py +++ b/e2e_test/hawk_test.py @@ -137,9 +137,9 @@ def main(): else: results.set_test_status('test_add_virtual_ip', 'skipped') results.set_test_status('test_remove_virtual_ip', 'skipped') - browser.test('test_set_stonith_maintenance', results) - ssh.verify_stonith_in_maintenance(results) - browser.test('test_disable_stonith_maintenance', results) + browser.test('test_set_fencing_maintenance', results) + ssh.verify_fencing_in_maintenance(results) + browser.test('test_disable_fencing_maintenance', results) browser.test('test_view_details_first_node', results) browser.test('test_clear_state_first_node', results) browser.test('test_set_first_node_maintenance', results) diff --git a/e2e_test/hawk_test_driver.py b/e2e_test/hawk_test_driver.py index 12e8caa73..814a72ab8 100644 --- a/e2e_test/hawk_test_driver.py +++ b/e2e_test/hawk_test_driver.py @@ -24,11 +24,11 @@ class Error: MAINT_TOGGLE_ERR = "Could not find Switch to Maintenance toggle button for node" PRIMITIVE_TARGET_ROLE_ERR = "Couldn't find value [Started] for primitive target-role" - FENCING_ERR = "Couldn't find stonith-sbd menu to place it in maintenance mode" + FENCING_ERR = "Couldn't find fencing-sbd|stonith-sbd menu to place it in maintenance mode" COOL_PRIMITIVE_ERR = "Couldn't find cool_primitive menu to edit" - HOT_PRIMITIVE_ERR = "Couldn't find hot_primitive menu to edit" - DUMMY_PRIMITIVE_ERR = "Couldn't find hot_primitive menu to edit" - FENCING_ERR_OFF = "Could not find Disable Maintenance Mode button for stonith-sbd" + DUM_PRIMITIVE_ERR = "Couldn't find dum_primitive menu to edit" + DUMMY_PRIMITIVE_ERR = "Couldn't find dummy_primitive menu to edit" + FENCING_ERR_OFF = "Could not find Disable Maintenance Mode button for fencing-sbd|stonith-sbd" CRM_CONFIG_ADVANCED_ATTRIBUTES = "crm_config dropdown box shows the advanced attributes, but shouldn't" @@ -71,15 +71,15 @@ class Xpath: NODE_READY = '//a[contains(@href, "ready") and contains(@title, "Switch to ready")]' OCF_OPT_LIST = '//option[contains(@value, "ocf")]' OPERATIONS = '//*[@id="nodes"]/div[1]/div[2]/div[2]/table/tbody/tr[1]/td[5]/div/div/button' - OPT_FENCING = '//option[contains(@value, "stonith-sbd")]' + OPT_FENCING = '//option[contains(@value, "fencing-sbd") or contains(@value, "stonith-sbd")]' RESOURCES_TYPES = '//a[contains(@href, "resources/types")]' RSC_OK_SUBMIT = '//input[contains(@class, "submit")]' RSC_ROWS = '//*[@id="resources"]/div[1]/div[2]/div[2]/table/tbody/tr' - FENCING_CHKBOX = '//input[contains(@type, "checkbox") and contains(@value, "stonith-sbd")]' - FENCING_MAINT_OFF = '//a[contains(@href, "stonith-sbd") and contains(@title, "Disable Maintenance Mode")]' - FENCING_MAINT_ON = '//a[contains(@href, "stonith-sbd/maintenance_on")]' + FENCING_CHKBOX = '//input[contains(@type, "checkbox") and (contains(@value, "fencing-sbd") or contains(@value, "stonith-sbd"))]' + FENCING_MAINT_OFF = '//a[(contains(@href, "fencing-sbd") or contains(@href, "stonith-sbd")) and contains(@title, "Disable Maintenance Mode")]' + FENCING_MAINT_ON = '//a[contains(@href, "fencing-sbd/maintenance_on") or contains(@href, "stonith-sbd/maintenance_on")]' COOL_PRIMITIVE_EDIT = '//a[contains(@href, "cool_primitive/edit")]' - HOT_PRIMITIVE_EDIT = '//a[contains(@href, "hot_primitive/edit")]' + DUM_PRIMITIVE_EDIT = '//a[contains(@href, "dum_primitive/edit")]' DUMMY_PRIMITIVE_EDIT = '//a[contains(@href, "dummy_primitive/edit")]' TARGET_ROLE_FORMAT = '//select[contains(@class, "form-control") and contains(@name, "{}[meta][target-role]")]' TARGET_ROLE_STARTED = '//option[contains(@value, "tarted")]' @@ -344,9 +344,9 @@ def test(self, testname, results, *extra): self.driver.save_screenshot(f'{testname}.png') self._close() - def test_set_stonith_maintenance(self): + def test_set_fencing_maintenance(self): ''' - Set FENCING/sbd in maintenance. Assumes stonith-sbd resource is the last one listed on the + Set FENCING/sbd in maintenance. Assumes fencing-sbd|stonith-sbd resource is the last one listed on the resources table Returns: boolean: True if successful or False if failed @@ -356,27 +356,27 @@ def test_set_stonith_maintenance(self): totalrows = len(self.driver.find_elements(By.XPATH, Xpath.RSC_ROWS)) if not totalrows: totalrows = 1 - print("TEST: test_set_stonith_maintenance: Placing stonith-sbd in maintenance") + print("TEST: test_set_stonith_maintenance: Placing fencing-sbd|stonith-sbd in maintenance") self.check_and_click_by_xpath(Error.FENCING_ERR, [Xpath.DROP_DOWN_FORMAT.format(totalrows), Xpath.FENCING_MAINT_ON, Xpath.COMMIT_BTN_DANGER]) if self.verify_success(): - print("INFO: stonith-sbd successfully placed in maintenance mode") + print("INFO: fencing-sbd|stonith-sbd successfully placed in maintenance mode") return True - print("ERROR: failed to place stonith-sbd in maintenance mode") + print("ERROR: failed to place fencing-sbd|stonith-sbd in maintenance mode") return False - def test_disable_stonith_maintenance(self): + def test_disable_fencing_maintenance(self): ''' Disable maintenance in FENCING/sbd Returns: boolean: True if successful or False if failed ''' - print("TEST: test_disable_stonith_maintenance: Re-activating stonith-sbd") + print("TEST: test_disable_stonith_maintenance: Re-activating fencing-sbd|stonith-sbd") self.check_and_click_by_xpath(Error.FENCING_ERR_OFF, [Xpath.FENCING_MAINT_OFF, Xpath.COMMIT_BTN_DANGER]) if self.verify_success(): - print("INFO: stonith-sbd successfully reactivated") + print("INFO: fencing-sbd|stonith-sbd successfully reactivated") return True - print("ERROR: failed to reactive stonith-sbd from maintenance mode") + print("ERROR: failed to reactive fencing-sbd|stonith-sbd from maintenance mode") return False def test_view_details_first_node(self): @@ -647,20 +647,20 @@ def test_add_primitive(self, primitive): def test_copy_primitive(self): ''' - Copy the cool_primitive into hot_primitive. This assumes the cool_primitive + Copy the cool_primitive into dum_primitive. This assumes the cool_primitive resource is the first entry in the resources table Returns: boolean: True if successful or False if failed ''' if self.find_element(By.XPATH, Xpath.RSC_ROWS): - print("TEST: test_copy_primitive: cool_primitive --> cool_primitive + hot_primitive") - resource_number_from_top = 1 # 1. cool_primitive, 2. stonith-sbd + print("TEST: test_copy_primitive: cool_primitive --> cool_primitive + dum_primitive") + resource_number_from_top = 1 # 1. cool_primitive, 2. fencing-sbd|stonith-sbd # First, click on Edit time.sleep(2) self.check_and_click_by_xpath(Error.COOL_PRIMITIVE_ERR, [Xpath.DROP_DOWN_FORMAT.format(resource_number_from_top), Xpath.COOL_PRIMITIVE_EDIT]) - # Second, copy the cool_primitive into hot_primitive + # Second, copy the cool_primitive into dum_primitive time.sleep(2) # to redirect # try to find 'Copy' for 10 seconds (Ruby hawk), # if none --> look for '