Example #1
0
 def test_update_all(self):
     fixture_final_alerts = """
     <alerts>
         <alert id="my-alert" path="/another/one">
             <instance_attributes id="my-alert-instance_attributes">
                 <nvpair
                     id="my-alert-instance_attributes-another"
                     name="another"
                     value="val"
                 />
                 <nvpair
                     id="my-alert-instance_attributes-my-attr"
                     name="my-attr"
                     value="its_val"
                 />
             </instance_attributes>
             <meta_attributes id="my-alert-meta_attributes">
                 <nvpair
                     id="my-alert-meta_attributes-meta1"
                     name="meta1"
                     value="val2"
                 />
             </meta_attributes>
         </alert>
     </alerts>
     """
     (self.config.runner.cib.load(
         optional_in_conf=self.fixture_initial_alerts).env.push_cib(
             replace={"./configuration/alerts": fixture_final_alerts}))
     cmd_alert.update_alert(self.env_assist.get_env(), "my-alert",
                            "/another/one", {
                                "instance": "",
                                "my-attr": "its_val"
                            }, {"meta1": "val2"}, "")
Example #2
0
 def test_update_instance_attribute(self):
     (self.config
         .runner.cib.load(optional_in_conf=self.fixture_initial_alerts)
         .env.push_cib(
             replace={
                 './configuration/alerts/alert[@id="my-alert"]/'
                     'instance_attributes/nvpair[@name="instance"]'
                 : """
                     <nvpair
                         id="my-alert-instance_attributes-instance"
                         name="instance"
                         value="new_val"
                     />
                 """
             }
         )
     )
     cmd_alert.update_alert(
         self.env_assist.get_env(),
         "my-alert",
         None,
         {"instance": "new_val"},
         {},
         None
     )
Example #3
0
 def test_update_instance_attribute(self):
     (self.config
         .runner.cib.load(optional_in_conf=self.fixture_initial_alerts)
         .env.push_cib(
             replace={
                 './configuration/alerts/alert[@id="my-alert"]/'
                     'instance_attributes/nvpair[@name="instance"]'
                 : """
                     <nvpair
                         id="my-alert-instance_attributes-instance"
                         name="instance"
                         value="new_val"
                     />
                 """
             }
         )
     )
     cmd_alert.update_alert(
         self.env_assist.get_env(),
         "my-alert",
         None,
         {"instance": "new_val"},
         {},
         None
     )
Example #4
0
    def test_update_instance_attribute(self):
        self.mock_env._push_cib_xml(
            """
<cib validate-with="pacemaker-2.5">
    <configuration>
        <alerts>
            <alert id="my-alert" path="/my/path" description="my description">
                <instance_attributes id="my-alert-instance_attributes">
                    <nvpair
                        id="my-alert-instance_attributes-instance"
                        name="instance"
                        value="value"
                    />
                </instance_attributes>
            </alert>
        </alerts>
    </configuration>
</cib>
            """
        )
        cmd_alert.update_alert(
            self.mock_env,
            "my-alert",
            None,
            {"instance": "new_val"},
            {},
            None
        )
        assert_xml_equal(
            """
<cib validate-with="pacemaker-2.5">
    <configuration>
        <alerts>
            <alert id="my-alert" path="/my/path" description="my description">
                <instance_attributes id="my-alert-instance_attributes">
                    <nvpair
                        id="my-alert-instance_attributes-instance"
                        name="instance"
                        value="new_val"
                    />
                </instance_attributes>
            </alert>
        </alerts>
    </configuration>
</cib>
            """,
            self.mock_env._get_cib_xml()
        )
Example #5
0
 def test_alert_doesnt_exist(self):
     (self.config
         .runner.cib.load(
             optional_in_conf="""
                 <alerts>
                     <alert id="alert" path="path"/>
                 </alerts>
             """
         )
     )
     self.env_assist.assert_raise_library_error(
         lambda: cmd_alert.update_alert(
             self.env_assist.get_env(), "unknown", "test", {}, {}, None
         ),
         [
             (
                 Severities.ERROR,
                 report_codes.ID_NOT_FOUND,
                 {
                     "context_type": "alerts",
                     "context_id": "",
                     "id": "unknown",
                     "expected_types": ["alert"],
                 },
                 None
             ),
         ],
     )
Example #6
0
 def test_alert_doesnt_exist(self):
     (self.config
         .runner.cib.load(
             optional_in_conf="""
                 <alerts>
                     <alert id="alert" path="path"/>
                 </alerts>
             """
         )
     )
     self.env_assist.assert_raise_library_error(
         lambda: cmd_alert.update_alert(
             self.env_assist.get_env(), "unknown", "test", {}, {}, None
         ),
         [
             (
                 Severities.ERROR,
                 report_codes.ID_NOT_FOUND,
                 {
                     "context_type": "alerts",
                     "context_id": "",
                     "id": "unknown",
                     "expected_types": ["alert"],
                 },
                 None
             ),
         ],
     )
Example #7
0
 def test_update_all(self):
     fixture_final_alerts = """
     <alerts>
         <alert id="my-alert" path="/another/one">
             <instance_attributes id="my-alert-instance_attributes">
                 <nvpair
                     id="my-alert-instance_attributes-another"
                     name="another"
                     value="val"
                 />
                 <nvpair
                     id="my-alert-instance_attributes-my-attr"
                     name="my-attr"
                     value="its_val"
                 />
             </instance_attributes>
             <meta_attributes id="my-alert-meta_attributes">
                 <nvpair
                     id="my-alert-meta_attributes-meta1"
                     name="meta1"
                     value="val2"
                 />
             </meta_attributes>
         </alert>
     </alerts>
     """
     (self.config
         .runner.cib.load(optional_in_conf=self.fixture_initial_alerts)
         .env.push_cib(
             replace={"./configuration/alerts": fixture_final_alerts}
         )
     )
     cmd_alert.update_alert(
         self.env_assist.get_env(),
         "my-alert",
         "/another/one",
         {
             "instance": "",
             "my-attr": "its_val"
         },
         {"meta1": "val2"},
         ""
     )
Example #8
0
    def test_update_instance_attribute(self):
        self.mock_env._push_cib_xml("""
<cib validate-with="pacemaker-2.5">
    <configuration>
        <alerts>
            <alert id="my-alert" path="/my/path" description="my description">
                <instance_attributes id="my-alert-instance_attributes">
                    <nvpair
                        id="my-alert-instance_attributes-instance"
                        name="instance"
                        value="value"
                    />
                </instance_attributes>
            </alert>
        </alerts>
    </configuration>
</cib>
            """)
        cmd_alert.update_alert(self.mock_env, "my-alert", None,
                               {"instance": "new_val"}, {}, None)
        assert_xml_equal(
            """
<cib validate-with="pacemaker-2.5">
    <configuration>
        <alerts>
            <alert id="my-alert" path="/my/path" description="my description">
                <instance_attributes id="my-alert-instance_attributes">
                    <nvpair
                        id="my-alert-instance_attributes-instance"
                        name="instance"
                        value="new_val"
                    />
                </instance_attributes>
            </alert>
        </alerts>
    </configuration>
</cib>
            """, self.mock_env._get_cib_xml())
Example #9
0
 def test_alert_doesnt_exist(self):
     self.mock_env._push_cib_xml("""
         <cib validate-with="pacemaker-2.5">
             <configuration>
                 <alerts>
                     <alert id="alert" path="path"/>
                 </alerts>
             </configuration>
         </cib>
         """)
     assert_raise_library_error(
         lambda: cmd_alert.update_alert(self.mock_env, "unknown", "test", {
         }, {}, None), (Severities.ERROR, report_codes.ID_NOT_FOUND, {
             "id": "unknown"
         }))
Example #10
0
 def test_alert_doesnt_exist(self):
     self.mock_env._push_cib_xml(
         """
         <cib validate-with="pacemaker-2.5">
             <configuration>
                 <alerts>
                     <alert id="alert" path="path"/>
                 </alerts>
             </configuration>
         </cib>
         """
     )
     assert_raise_library_error(
         lambda: cmd_alert.update_alert(
             self.mock_env, "unknown", "test", {}, {}, None
         ),
         (
             Severities.ERROR,
             report_codes.CIB_ALERT_NOT_FOUND,
             {"alert": "unknown"}
         )
     )
Example #11
0
    def test_update_all(self):
        self.mock_env._push_cib_xml("""
<cib validate-with="pacemaker-2.5">
    <configuration>
        <alerts>
            <alert id="my-alert" path="/my/path" description="my description">
                <instance_attributes id="my-alert-instance_attributes">
                    <nvpair
                        id="my-alert-instance_attributes-instance"
                        name="instance"
                        value="value"
                    />
                    <nvpair
                        id="my-alert-instance_attributes-another"
                        name="another"
                        value="val"
                    />
                </instance_attributes>
                <meta_attributes id="my-alert-meta_attributes">
                    <nvpair
                        id="my-alert-meta_attributes-meta1"
                        name="meta1"
                        value="val1"
                    />
                </meta_attributes>
            </alert>
        </alerts>
    </configuration>
</cib>
            """)
        cmd_alert.update_alert(self.mock_env, "my-alert", "/another/one", {
            "instance": "",
            "my-attr": "its_val"
        }, {"meta1": "val2"}, "")
        assert_xml_equal(
            """
<cib validate-with="pacemaker-2.5">
    <configuration>
        <alerts>
            <alert id="my-alert" path="/another/one">
                <instance_attributes id="my-alert-instance_attributes">
                    <nvpair
                        id="my-alert-instance_attributes-another"
                        name="another"
                        value="val"
                    />
                    <nvpair
                        id="my-alert-instance_attributes-my-attr"
                        name="my-attr"
                        value="its_val"
                    />
                </instance_attributes>
                <meta_attributes id="my-alert-meta_attributes">
                    <nvpair
                        id="my-alert-meta_attributes-meta1"
                        name="meta1"
                        value="val2"
                    />
                </meta_attributes>
            </alert>
        </alerts>
    </configuration>
</cib>
            """, self.mock_env._get_cib_xml())
Example #12
0
    def test_update_all(self):
        self.mock_env._push_cib_xml(
            """
<cib validate-with="pacemaker-2.5">
    <configuration>
        <alerts>
            <alert id="my-alert" path="/my/path" description="my description">
                <instance_attributes id="my-alert-instance_attributes">
                    <nvpair
                        id="my-alert-instance_attributes-instance"
                        name="instance"
                        value="value"
                    />
                    <nvpair
                        id="my-alert-instance_attributes-another"
                        name="another"
                        value="val"
                    />
                </instance_attributes>
                <meta_attributes id="my-alert-meta_attributes">
                    <nvpair
                        id="my-alert-meta_attributes-meta1"
                        name="meta1"
                        value="val1"
                    />
                </meta_attributes>
            </alert>
        </alerts>
    </configuration>
</cib>
            """
        )
        cmd_alert.update_alert(
            self.mock_env,
            "my-alert",
            "/another/one",
            {
                "instance": "",
                "my-attr": "its_val"
            },
            {"meta1": "val2"},
            ""
        )
        assert_xml_equal(
            """
<cib validate-with="pacemaker-2.5">
    <configuration>
        <alerts>
            <alert id="my-alert" path="/another/one">
                <instance_attributes id="my-alert-instance_attributes">
                    <nvpair
                        id="my-alert-instance_attributes-another"
                        name="another"
                        value="val"
                    />
                    <nvpair
                        id="my-alert-instance_attributes-my-attr"
                        name="my-attr"
                        value="its_val"
                    />
                </instance_attributes>
                <meta_attributes id="my-alert-meta_attributes">
                    <nvpair
                        id="my-alert-meta_attributes-meta1"
                        name="meta1"
                        value="val2"
                    />
                </meta_attributes>
            </alert>
        </alerts>
    </configuration>
</cib>
            """,
            self.mock_env._get_cib_xml()
        )