def test_group_running(self): resources_state = fixture.complete_state_resources(etree.fromstring(""" <resources> <group id="G" number_resources="2"> <resource id="R1" role="Started" nodes_running_on="1"> <node name="node1" id="1" cached="false" /> </resource> <resource id="R2" role="Started" nodes_running_on="1"> <node name="node1" id="1" cached="false" /> </resource> </group> </resources> """)) self.config.runner.pcmk.load_state( resources=etree_to_str(resources_state) ) resource.group_add( self.env_assist.get_env(), "G", ["R1", "R2"], wait=self.timeout, ) self.env_assist.assert_reports([ fixture.report_resource_running( "G", {"Started": ["node1"]} ), ])
def test_group_running(self): resources_state = fixture.complete_state_resources( etree.fromstring(""" <resources> <group id="G" number_resources="2"> <resource id="R1" role="Started" nodes_running_on="1"> <node name="node1" id="1" cached="false" /> </resource> <resource id="R2" role="Started" nodes_running_on="1"> <node name="node1" id="1" cached="false" /> </resource> </group> </resources> """)) self.config.runner.pcmk.load_state( resources=etree_to_str(resources_state)) resource.group_add( self.env_assist.get_env(), "G", ["R1", "R2"], wait=self.timeout, ) self.env_assist.assert_reports([ fixture.report_resource_running("G", {"Started": ["node1"]}), ])
def test_running_on_not_specified_node(self): self.success_config( self.state_running_node1, self.state_running_node2, action_node="node1", ) self.lib_action(self.env_assist.get_env(), "A", node="node1", wait=self.timeout) self.env_assist.assert_reports([ fixture.info( self.report_code_pcmk_success, resource_id="A", stdout="pcmk std out", stderr="pcmk std err", ), fixture.info( report_codes.WAIT_FOR_IDLE_STARTED, timeout=self.timeout, ), fixture.report_resource_running( "A", {"Started": ["node2"]}, ), ])
def test_success(self): resources_state = """ <resources> <resource id="A" role="Started" nodes_running_on="1"> <node name="node1" id="1" cached="false" /> </resource> </resources> """ self.config.runner.pcmk.wait(timeout=self.timeout) self.config.runner.pcmk.load_state(resources=resources_state) self.lib_action(self.env_assist.get_env(), "A", wait=self.timeout) self.env_assist.assert_reports([ fixture.info( self.report_code_pcmk_success, resource_id="A", stdout="pcmk std out", stderr="pcmk std err", ), fixture.info( report_codes.WAIT_FOR_IDLE_STARTED, timeout=self.timeout, ), fixture.report_resource_running("A", {"Started": ["node1"]}), ])
def test_success(self): resources_state = etree_to_str(fixture.complete_state_resources( etree.fromstring(""" <resources> <resource id="A" role="Started" nodes_running_on="1"> <node name="node1" id="1" cached="false" /> </resource> </resources> """) )) self.config.runner.pcmk.wait(timeout=10) self.config.runner.pcmk.load_state(resources=resources_state) self.lib_action(self.env_assist.get_env(), "A", wait="10") self.env_assist.assert_reports([ fixture.info( self.report_code_pcmk_success, resource_id="A", stdout="pcmk std out", stderr="pcmk std err", ), fixture.report_resource_running( "A", {"Started": ["node1"]} ), ])
def test_running_on_specified_node(self): self.success_config( self.state_running_node1, self.state_running_node1, action_node="node1" ) self.env_assist.assert_raise_library_error( lambda: self.lib_action( self.env_assist.get_env(), "A", node="node1", wait="10" ), [ fixture.report_resource_running( "A", {"Started": ["node1"]}, severity=severities.ERROR ), ] ) self.env_assist.assert_reports([ fixture.info( self.report_code_pcmk_success, resource_id="A", stdout="pcmk std out", stderr="pcmk std err", ), ])
def test_wait_ok_run_ok(self): (self.config.env.push_cib( resources=self.fixture_resources_bundle_simple, wait=TIMEOUT).runner.pcmk.load_state( resources=self.fixture_status_running)) self.run_bundle_cmd(wait=TIMEOUT) self.env_assist.assert_reports([ fixture.report_resource_running(self.bundle_id, {"Started": ["node1", "node2"]}), ])
def test_disabled_wait_ok_run_fail(self): (self.config.env.push_cib( resources=self.fixture_resources_bundle_simple_disabled, wait=TIMEOUT).runner.pcmk.load_state( resources=self.fixture_status_running)) self.env_assist.assert_raise_library_error( lambda: self.run_bundle_cmd(ensure_disabled=True, wait=TIMEOUT), [ fixture.report_resource_running( self.bundle_id, {"Started": ["node1", "node2"]}, severities.ERROR) ])
def test_running_on_onther_node_no_node_specified(self): self.success_config(self.state_running_node1, self.state_running_node2) self.lib_action(self.env_assist.get_env(), "A", wait="10") self.env_assist.assert_reports([ fixture.info( self.report_code_pcmk_success, resource_id="A", stdout="pcmk std out", stderr="pcmk std err", ), fixture.report_resource_running( "A", {"Started": ["node2"]}, ), ])
def test_wait_ok_run_ok(self): (self.config .env.push_cib( resources=self.fixture_resources_bundle_simple, wait=TIMEOUT ) .runner.pcmk.load_state(resources=self.fixture_status_running) ) self.run_bundle_cmd(wait=TIMEOUT) self.env_assist.assert_reports([ fixture.report_resource_running( self.bundle_id, {"Started": ["node1", "node2"]} ), ])
def test_running_on_onther_node_no_node_specified(self): self.success_config(self.state_running_node1, self.state_running_node2) self.lib_action(self.env_assist.get_env(), "A", wait="10") self.env_assist.assert_reports([ fixture.info( self.report_code_pcmk_success, resource_id="A", stdout="pcmk std out", stderr="pcmk std err", ), fixture.report_resource_running( "A", {"Started": ["node2"]}, ), ])
def test_running_on_same_node_no_node_specified(self): self.success_config(self.state_running_node1, self.state_running_node1) self.env_assist.assert_raise_library_error(lambda: self.lib_action( self.env_assist.get_env(), "A", wait=self.timeout)) self.env_assist.assert_reports([ fixture.info( self.report_code_pcmk_success, resource_id="A", stdout="pcmk std out", stderr="pcmk std err", ), fixture.info( report_codes.WAIT_FOR_IDLE_STARTED, timeout=self.timeout, ), fixture.report_resource_running("A", {"Started": ["node1"]}, severity=severities.ERROR), ])
def test_disabled_wait_ok_run_fail(self): (self.config .env.push_cib( resources=self.fixture_resources_bundle_simple_disabled, wait=TIMEOUT ) .runner.pcmk.load_state(resources=self.fixture_status_running) ) self.env_assist.assert_raise_library_error( lambda: self.run_bundle_cmd(ensure_disabled=True, wait=TIMEOUT), [ fixture.report_resource_running( self.bundle_id, {"Started": ["node1", "node2"]}, severities.ERROR ) ] )