Beispiel #1
0
 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"]}
         ),
     ])
Beispiel #2
0
 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",
         ),
     ])
Beispiel #7
0
 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"]}),
     ])
Beispiel #8
0
 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)
         ])
Beispiel #9
0
 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"]},
         ),
     ])
Beispiel #10
0
 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),
     ])
Beispiel #13
0
 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
             )
         ]
     )