Пример #1
0
    def test_sucess_create(self):
        env_assist, config = get_env_tools(test_case=self)
        (config.runner.cib.load(resources="""
                    <resources>
                        <primitive id="resourceA" class="service" type="exim"/>
                    </resources>
                """).env.push_cib(optional_in_conf="""
                    <constraints>
                        <rsc_ticket
                            id="ticket-ticketA-resourceA-Master"
                            rsc="resourceA"
                            rsc-role="Master"
                            ticket="ticketA"
                            loss-policy="fence"
                        />
                    </constraints>
                """))

        ticket_command.create(
            env_assist.get_env(),
            "ticketA",
            "resourceA",
            {
                "loss-policy": "fence",
                "rsc-role": "master"
            },
        )
Пример #2
0
    def test_sucess_create(self):
        resource_xml = '<primitive id="resourceA" class="service" type="exim"/>'
        cib = (
            self.create_cib()
                .append_to_first_tag_name('resources', resource_xml)
        )

        env = Env(self.mock_logger, self.mock_reporter, cib_data=str(cib))
        ticket_command.create(env, "ticketA", "resourceA", {
            "loss-policy": "fence",
            "rsc-role": "master"
        })

        assert_xml_equal(
            env.get_cib_xml(),
            str(cib.append_to_first_tag_name(
                'constraints', """
                    <rsc_ticket
                        id="ticket-ticketA-resourceA-Master"
                        rsc="resourceA"
                        rsc-role="Master"
                        ticket="ticketA"
                        loss-policy="fence"
                    />
                """
            ))
        )
Пример #3
0
    def test_sucess_create(self):
        env_assist, config = get_env_tools(test_case=self)
        (config
            .runner.cib.load(
                resources="""
                    <resources>
                        <primitive id="resourceA" class="service" type="exim"/>
                    </resources>
                """
            )
            .env.push_cib(
                optional_in_conf="""
                    <constraints>
                        <rsc_ticket
                            id="ticket-ticketA-resourceA-Master"
                            rsc="resourceA"
                            rsc-role="Master"
                            ticket="ticketA"
                            loss-policy="fence"
                        />
                    </constraints>
                """
            )
         )

        ticket_command.create(
            env_assist.get_env(),
            "ticketA",
            "resourceA",
            {
                "loss-policy": "fence",
                "rsc-role": "master"
            }
        )
Пример #4
0
 def test_refuse_for_nonexisting_resource(self):
     env_assist, config = get_env_tools(test_case=self)
     config.runner.cib.load()
     env_assist.assert_raise_library_error(
         lambda: ticket_command.create(
             env_assist.get_env(),
             "ticketA",
             "resourceA",
             "master",
             {"loss-policy": "fence"},
         ),
         [
             (
                 severities.ERROR,
                 report_codes.ID_NOT_FOUND,
                 {
                     "context_type":
                     "cib",
                     "context_id":
                     "",
                     "id":
                     "resourceA",
                     "expected_types": [
                         "bundle",
                         "clone",
                         "group",
                         "master",
                         "primitive",
                     ],
                 },
                 None,
             ),
         ],
         expected_in_processor=False,
     )
Пример #5
0
    def test_sucess_create(self):
        env_assist, config = get_env_tools(test_case=self)
        (
            config.runner.cib.load(
                filename="cib-empty-3.7.xml",
                resources="""
                    <resources>
                        <primitive id="resourceA" class="service" type="exim"/>
                    </resources>
                """,
            ).env.push_cib(
                optional_in_conf="""
                    <constraints>
                        <rsc_ticket
                            id="ticket-ticketA-resourceA-{role}"
                            rsc="resourceA"
                            rsc-role="{role}"
                            ticket="ticketA"
                            loss-policy="fence"
                        />
                    </constraints>
                """.format(
                    role=const.PCMK_ROLE_PROMOTED_PRIMARY
                )
            )
        )
        role = str(const.PCMK_ROLE_PROMOTED_LEGACY).lower()

        ticket_command.create(
            env_assist.get_env(),
            "ticketA",
            "resourceA",
            {
                "loss-policy": "fence",
                "rsc-role": role,
            },
        )
        env_assist.assert_reports(
            [
                fixture.warn(
                    report_codes.DEPRECATED_OPTION_VALUE,
                    option_name="role",
                    deprecated_value=role,
                    replaced_by=const.PCMK_ROLE_PROMOTED,
                )
            ]
        )
Пример #6
0
 def test_refuse_for_nonexisting_resource(self):
     env = get_mocked_env(cib_data=str(self.create_cib()))
     assert_raise_library_error(
         lambda: ticket_command.create(env, "ticketA", "resourceA",
                                       "master", {"loss-policy": "fence"}),
         (
             severities.ERROR,
             report_codes.RESOURCE_DOES_NOT_EXIST,
             {
                 "resource_id": "resourceA"
             },
         ),
     )
Пример #7
0
    def test_sucess_create(self):
        resource_xml = '<primitive id="resourceA" class="service" type="exim"/>'
        cib = self.create_cib().append_to_first_tag_name("resources", resource_xml)

        env = get_mocked_env(cib_data=str(cib))
        ticket_command.create(env, "ticketA", "resourceA", {"loss-policy": "fence", "rsc-role": "master"})

        assert_xml_equal(
            env._get_cib_xml(),
            str(
                cib.append_to_first_tag_name(
                    "constraints",
                    """
                    <rsc_ticket
                        id="ticket-ticketA-resourceA-Master"
                        rsc="resourceA"
                        rsc-role="Master"
                        ticket="ticketA"
                        loss-policy="fence"
                    />
                """,
                )
            ),
        )
Пример #8
0
    def test_sucess_create(self):
        resource_xml = '<primitive id="resourceA" class="service" type="exim"/>'
        cib = (self.create_cib().append_to_first_tag_name(
            'resources', resource_xml))

        env = get_mocked_env(cib_data=str(cib))
        ticket_command.create(env, "ticketA", "resourceA", {
            "loss-policy": "fence",
            "rsc-role": "master"
        })

        assert_xml_equal(
            env._get_cib_xml(),
            str(
                cib.append_to_first_tag_name(
                    'constraints', """
                    <rsc_ticket
                        id="ticket-ticketA-resourceA-Master"
                        rsc="resourceA"
                        rsc-role="Master"
                        ticket="ticketA"
                        loss-policy="fence"
                    />
                """)))
Пример #9
0
 def test_refuse_for_nonexisting_resource(self):
     env = get_mocked_env(cib_data=str(self.create_cib()))
     assert_raise_library_error(
         lambda: ticket_command.create(env, "ticketA", "resourceA",
                                       "master", {"loss-policy": "fence"}),
         (severities.ERROR, report_codes.ID_NOT_FOUND, {
             "context_type":
             "cib",
             "context_id":
             "",
             "id":
             "resourceA",
             "expected_types":
             ["bundle", "clone", "group", "master", "primitive"],
         }, None),
     )
Пример #10
0
 def test_refuse_for_nonexisting_resource(self):
     env = Env(
         self.mock_logger,
         self.mock_reporter,
         cib_data=str(self.create_cib())
     )
     assert_raise_library_error(
         lambda: ticket_command.create(
             env, "ticketA", "resourceA", "master", {"loss-policy": "fence"}
         ),
         (
             severities.ERROR,
             report_codes.RESOURCE_DOES_NOT_EXIST,
             {"resource_id": "resourceA"},
         ),
     )
Пример #11
0
 def test_refuse_for_nonexisting_resource(self):
     env = get_mocked_env(cib_data=str(self.create_cib()))
     assert_raise_library_error(
         lambda: ticket_command.create(env, "ticketA", "resourceA",
                                       "master", {"loss-policy": "fence"}),
         (
             severities.ERROR,
             report_codes.ID_NOT_FOUND,
             {
                 "context_type": "cib",
                 "context_id": "",
                 "id": "resourceA",
                 "id_description": "resource"
             },
         ),
     )
Пример #12
0
 def test_refuse_for_nonexisting_resource(self):
     env = get_mocked_env(cib_data=str(self.create_cib()))
     assert_raise_library_error(
         lambda: ticket_command.create(
             env, "ticketA", "resourceA", "master", {"loss-policy": "fence"}
         ),
         (
             severities.ERROR,
             report_codes.ID_NOT_FOUND,
             {
                 "context_type": "cib",
                 "context_id": "",
                 "id": "resourceA",
                 "expected_types": [
                     "bundle", "clone", "group", "master", "primitive"
                 ],
             },
             None
         ),
     )