Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package crmsh for openSUSE:Factory checked 
in at 2021-04-21 20:59:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/crmsh (Old)
 and      /work/SRC/openSUSE:Factory/.crmsh.new.12324 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "crmsh"

Wed Apr 21 20:59:41 2021 rev:207 rq:886829 version:4.3.0+20210416.49f489c2

Changes:
--------
--- /work/SRC/openSUSE:Factory/crmsh/crmsh.changes      2021-04-12 
12:40:27.133584636 +0200
+++ /work/SRC/openSUSE:Factory/.crmsh.new.12324/crmsh.changes   2021-04-21 
20:59:55.626251212 +0200
@@ -1,0 +2,14 @@
+Fri Apr 16 15:43:11 UTC 2021 - xli...@suse.com
+
+- Update to version 4.3.0+20210416.49f489c2:
+  * Dev: unittest: add unit test code for query_qdevice_status functiona
+  * Dev: add "crm corosync status qdevice" sub-command
+
+-------------------------------------------------------------------
+Wed Apr 14 08:25:40 UTC 2021 - xli...@suse.com
+
+- Update to version 4.3.0+20210414.d22dd892:
+  * Dev: unittest: adjust unit test for disable sbd warning
+  * Dev: bootstrap: disable unnecessary warnings (bsc#1178118)
+
+-------------------------------------------------------------------

Old:
----
  crmsh-4.3.0+20210412.7d40b39d.tar.bz2

New:
----
  crmsh-4.3.0+20210416.49f489c2.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ crmsh.spec ++++++
--- /var/tmp/diff_new_pack.ku2D6Y/_old  2021-04-21 20:59:56.238252175 +0200
+++ /var/tmp/diff_new_pack.ku2D6Y/_new  2021-04-21 20:59:56.242252181 +0200
@@ -36,7 +36,7 @@
 Summary:        High Availability cluster command-line interface
 License:        GPL-2.0-or-later
 Group:          %{pkg_group}
-Version:        4.3.0+20210412.7d40b39d
+Version:        4.3.0+20210416.49f489c2
 Release:        0
 URL:            http://crmsh.github.io
 Source0:        %{name}-%{version}.tar.bz2

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.ku2D6Y/_old  2021-04-21 20:59:56.278252238 +0200
+++ /var/tmp/diff_new_pack.ku2D6Y/_new  2021-04-21 20:59:56.278252238 +0200
@@ -9,6 +9,6 @@
 </service>
 <service name="tar_scm">
   <param name="url">https://github.com/ClusterLabs/crmsh.git</param>
-  <param 
name="changesrevision">4dc3a162391c92d96f0aa02b8821d39caef6e082</param>
+  <param 
name="changesrevision">49f489c2fad5b63d34c39c16dbe14e902551eef5</param>
 </service>
 </servicedata>
\ No newline at end of file

++++++ crmsh-4.3.0+20210412.7d40b39d.tar.bz2 -> 
crmsh-4.3.0+20210416.49f489c2.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crmsh-4.3.0+20210412.7d40b39d/crmsh/bootstrap.py 
new/crmsh-4.3.0+20210416.49f489c2/crmsh/bootstrap.py
--- old/crmsh-4.3.0+20210412.7d40b39d/crmsh/bootstrap.py        2021-04-12 
10:18:59.000000000 +0200
+++ new/crmsh-4.3.0+20210416.49f489c2/crmsh/bootstrap.py        2021-04-16 
17:29:55.000000000 +0200
@@ -358,6 +358,7 @@
   are a good choice.  Note that all data on the partition you
   specify here will be destroyed.
 """
+    SBD_WARNING = "Not configuring SBD - STONITH will be disabled."
     DISKLESS_SBD_WARNING = """Diskless SBD requires cluster with three or more 
nodes.
 If you want to use diskless SBD for two-nodes cluster, should be combined with 
QDevice."""
     PARSE_RE = "[; ]"
@@ -431,13 +432,13 @@
         Get sbd device on interactive mode
         """
         if _context.yes_to_all:
-            warn("Not configuring SBD ({} left 
untouched).".format(SYSCONFIG_SBD))
+            warn(self.SBD_WARNING)
             return
 
         status(self.SBD_STATUS_DESCRIPTION)
 
         if not confirm("Do you wish to use SBD?"):
-            warn("Not configuring SBD - STONITH will be disabled.")
+            warn(self.SBD_WARNING)
             return
 
         configured_dev_list = self._get_sbd_device_from_config()
@@ -1033,8 +1034,6 @@
         init_firewall_suse(tcp, udp)
     elif utils.package_is_installed("ufw"):
         init_firewall_ufw(tcp, udp)
-    else:
-        warn("Failed to detect firewall: Could not open ports tcp={}, 
udp={}".format("|".join(tcp), "|".join(udp)))
 
 
 def firewall_open_basic_ports():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crmsh-4.3.0+20210412.7d40b39d/crmsh/corosync.py 
new/crmsh-4.3.0+20210416.49f489c2/crmsh/corosync.py
--- old/crmsh-4.3.0+20210412.7d40b39d/crmsh/corosync.py 2021-04-12 
10:18:59.000000000 +0200
+++ new/crmsh-4.3.0+20210416.49f489c2/crmsh/corosync.py 2021-04-16 
17:29:55.000000000 +0200
@@ -35,14 +35,16 @@
     """
     Query status of corosync
 
-    Possible types could be ring/quorum/qnetd
+    Possible types could be ring/quorum/qdevice/qnetd
     """
-    if status_type == "ring":
-        query_ring_status()
-    elif status_type == "quorum":
-        query_quorum_status()
-    elif status_type == "qnetd":
-        query_qnetd_status()
+    status_func_dict = {
+            "ring": query_ring_status,
+            "quorum": query_quorum_status,
+            "qdevice": query_qdevice_status,
+            "qnetd": query_qnetd_status
+            }
+    if status_type in status_func_dict:
+        status_func_dict[status_type]()
     else:
         raise ValueError("Wrong type \"{}\" to query 
status".format(status_type))
 
@@ -73,6 +75,18 @@
         print(out)
 
 
+def query_qdevice_status():
+    """
+    Query qdevice status
+    """
+    if not utils.is_qdevice_configured():
+        raise ValueError("QDevice/QNetd not configured!")
+    cmd = "corosync-qdevice-tool -sv"
+    out = utils.get_stdout_or_raise_error(cmd)
+    utils.print_cluster_nodes()
+    print(out)
+
+
 def query_qnetd_status():
     """
     Query qnetd status
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crmsh-4.3.0+20210412.7d40b39d/crmsh/ui_corosync.py 
new/crmsh-4.3.0+20210416.49f489c2/crmsh/ui_corosync.py
--- old/crmsh-4.3.0+20210412.7d40b39d/crmsh/ui_corosync.py      2021-04-12 
10:18:59.000000000 +0200
+++ new/crmsh-4.3.0+20210416.49f489c2/crmsh/ui_corosync.py      2021-04-16 
17:29:55.000000000 +0200
@@ -54,7 +54,7 @@
     def requires(self):
         return corosync.check_tools()
 
-    @command.completers(completers.choice(['ring', 'quorum', 'qnetd']))
+    @command.completers(completers.choice(['ring', 'quorum', 'qdevice', 
'qnetd']))
     def do_status(self, context, status_type="ring"):
         '''
         Quick cluster health status. Corosync status or QNetd status
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crmsh-4.3.0+20210412.7d40b39d/doc/crm.8.adoc 
new/crmsh-4.3.0+20210416.49f489c2/doc/crm.8.adoc
--- old/crmsh-4.3.0+20210412.7d40b39d/doc/crm.8.adoc    2021-04-12 
10:18:59.000000000 +0200
+++ new/crmsh-4.3.0+20210416.49f489c2/doc/crm.8.adoc    2021-04-16 
17:29:55.000000000 +0200
@@ -1745,11 +1745,11 @@
 [[cmdhelp_corosync_status,Display the corosync status]]
 ==== `status`
 
-Displays the corosync ring status(default), quorum status and qnetd status.
+Displays the corosync ring status(default), also can display 
quorum/qdevice/qnetd status.
 
 Usage:
 .........
-status [ring|quorum|qnetd]
+status [ring|quorum|qdevice|qnetd]
 .........
 
 [[cmdhelp_cib,CIB shadow management]]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/crmsh-4.3.0+20210412.7d40b39d/test/unittests/test_bootstrap.py 
new/crmsh-4.3.0+20210416.49f489c2/test/unittests/test_bootstrap.py
--- old/crmsh-4.3.0+20210412.7d40b39d/test/unittests/test_bootstrap.py  
2021-04-12 10:18:59.000000000 +0200
+++ new/crmsh-4.3.0+20210416.49f489c2/test/unittests/test_bootstrap.py  
2021-04-16 17:29:55.000000000 +0200
@@ -354,7 +354,7 @@
     def test_get_sbd_device_interactive_yes_to_all(self, mock_warn):
         bootstrap._context = mock.Mock(yes_to_all=True)
         self.sbd_inst._get_sbd_device_interactive()
-        mock_warn.assert_called_once_with("Not configuring SBD ({} left 
untouched).".format(bootstrap.SYSCONFIG_SBD))
+        mock_warn.assert_called_once_with(bootstrap.SBDManager.SBD_WARNING)
 
     @mock.patch('crmsh.bootstrap.confirm')
     @mock.patch('crmsh.bootstrap.status')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/crmsh-4.3.0+20210412.7d40b39d/test/unittests/test_corosync.py 
new/crmsh-4.3.0+20210416.49f489c2/test/unittests/test_corosync.py
--- old/crmsh-4.3.0+20210412.7d40b39d/test/unittests/test_corosync.py   
2021-04-12 10:18:59.000000000 +0200
+++ new/crmsh-4.3.0+20210416.49f489c2/test/unittests/test_corosync.py   
2021-04-16 17:29:55.000000000 +0200
@@ -42,6 +42,37 @@
     print(parser.to_string())
 
 
+def test_query_status_exception():
+    with pytest.raises(ValueError) as err:
+        corosync.query_status("test")
+    assert str(err.value) == "Wrong type \"test\" to query status"
+
+
+@mock.patch('crmsh.corosync.query_ring_status')
+def test_query_status(mock_ring_status):
+    corosync.query_status("ring")
+    mock_ring_status.assert_called_once_with()
+
+
+@mock.patch('crmsh.utils.is_qdevice_configured')
+def test_query_qdevice_status_exception(mock_configured):
+    mock_configured.return_value = False
+    with pytest.raises(ValueError) as err:
+        corosync.query_qdevice_status()
+    assert str(err.value) == "QDevice/QNetd not configured!"
+    mock_configured.assert_called_once_with()
+
+
+@mock.patch('crmsh.utils.print_cluster_nodes')
+@mock.patch('crmsh.utils.get_stdout_or_raise_error')
+@mock.patch('crmsh.utils.is_qdevice_configured')
+def test_query_qdevice_status(mock_configured, mock_run, mock_print):
+    mock_configured.return_value = True
+    corosync.query_qdevice_status()
+    mock_run.assert_called_once_with("corosync-qdevice-tool -sv")
+    mock_print.assert_called_once_with()
+
+
 @mock.patch("crmsh.corosync.query_ring_status")
 def test_query_status_ring(mock_ring_status):
     corosync.query_status("ring")

Reply via email to