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-11-20 02:39:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/crmsh (Old)
 and      /work/SRC/openSUSE:Factory/.crmsh.new.1895 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "crmsh"

Sat Nov 20 02:39:23 2021 rev:226 rq:932543 version:4.3.1+20211119.caa0b2aa

Changes:
--------
--- /work/SRC/openSUSE:Factory/crmsh/crmsh.changes      2021-11-17 
01:15:29.998191379 +0100
+++ /work/SRC/openSUSE:Factory/.crmsh.new.1895/crmsh.changes    2021-11-20 
02:40:36.356489956 +0100
@@ -1,0 +2,7 @@
+Fri Nov 19 13:51:48 UTC 2021 - [email protected]
+
+- Update to version 4.3.1+20211119.caa0b2aa:
+  * Dev: behave: Add functional test for previous changes
+  * Fix: ui_resource: Parse node and lifetime correctly (bsc#1192618)
+
+-------------------------------------------------------------------

Old:
----
  crmsh-4.3.1+20211116.ef2bce26.tar.bz2

New:
----
  crmsh-4.3.1+20211119.caa0b2aa.tar.bz2

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

Other differences:
------------------
++++++ crmsh.spec ++++++
--- /var/tmp/diff_new_pack.Jrx0Rv/_old  2021-11-20 02:40:37.064487620 +0100
+++ /var/tmp/diff_new_pack.Jrx0Rv/_new  2021-11-20 02:40:37.064487620 +0100
@@ -36,7 +36,7 @@
 Summary:        High Availability cluster command-line interface
 License:        GPL-2.0-or-later
 Group:          %{pkg_group}
-Version:        4.3.1+20211116.ef2bce26
+Version:        4.3.1+20211119.caa0b2aa
 Release:        0
 URL:            http://crmsh.github.io
 Source0:        %{name}-%{version}.tar.bz2

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.Jrx0Rv/_old  2021-11-20 02:40:37.116487449 +0100
+++ /var/tmp/diff_new_pack.Jrx0Rv/_new  2021-11-20 02:40:37.120487435 +0100
@@ -9,6 +9,6 @@
 </service>
 <service name="tar_scm">
   <param name="url">https://github.com/ClusterLabs/crmsh.git</param>
-  <param 
name="changesrevision">ef2bce265b113aef78f0146762b9bb3286780b6d</param>
+  <param 
name="changesrevision">bcbb5398f90f86e8d9ca26afd6417ff35c389748</param>
 </service>
 </servicedata>
\ No newline at end of file

++++++ crmsh-4.3.1+20211116.ef2bce26.tar.bz2 -> 
crmsh-4.3.1+20211119.caa0b2aa.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crmsh-4.3.1+20211116.ef2bce26/crmsh/ui_resource.py 
new/crmsh-4.3.1+20211119.caa0b2aa/crmsh/ui_resource.py
--- old/crmsh-4.3.1+20211116.ef2bce26/crmsh/ui_resource.py      2021-11-16 
15:44:08.000000000 +0100
+++ new/crmsh-4.3.1+20211119.caa0b2aa/crmsh/ui_resource.py      2021-11-19 
14:37:17.000000000 +0100
@@ -389,16 +389,24 @@
         action = context.get_command_name()
         action_cap = action.capitalize()
         action_cmd = cmd_map_dict[action]
+        usage = "usage: {} <rsc> [<node>] [<lifetime>] [force]".format(action)
         node = None
         lifetime = None
+
         argl = list(args)
         force = "force" in utils.fetch_opts(argl, ["force"]) or 
config.core.force
-        if len(argl) > 0:
+        if len(argl) >= 3:
+            context.fatal_error(usage)
+        if len(argl) == 2:  # must be <node> <lifetime>
             node = argl[0]
             if not xmlutil.is_our_node(node):
                 context.fatal_error("Not our node: " + node)
-        if len(argl) == 2:
-            lifetime = utils.fetch_lifetime_opt(argl[1])
+            lifetime = utils.fetch_lifetime_opt(argl)
+        elif len(argl) == 1: # could be <node> or <lifetime>
+            if xmlutil.is_our_node(argl[0]):
+                node = argl[0]
+            else:
+                lifetime = utils.fetch_lifetime_opt(argl)
 
         if action == "move" and not node and not force:
             context.fatal_error("No target node: {} requires either a target 
node or 'force'".format(action_cap))
@@ -422,8 +430,7 @@
     @command.alias('migrate')
     @command.skill_level('administrator')
     @command.wait
-    @command.completers_repeating(compl.resources, compl.nodes,
-                                  compl.choice(['reboot', 'forever', 'force']))
+    @command.completers_repeating(compl.resources, compl.nodes)
     def do_move(self, context, rsc, *args):
         """usage: move <rsc> [<node>] [<lifetime>] [force]"""
         return self.move_or_ban(context, rsc, *args)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/crmsh-4.3.1+20211116.ef2bce26/test/features/resource_set.feature 
new/crmsh-4.3.1+20211119.caa0b2aa/test/features/resource_set.feature
--- old/crmsh-4.3.1+20211116.ef2bce26/test/features/resource_set.feature        
2021-11-16 15:44:08.000000000 +0100
+++ new/crmsh-4.3.1+20211119.caa0b2aa/test/features/resource_set.feature        
2021-11-19 14:37:17.000000000 +0100
@@ -3,10 +3,12 @@
 
   Tag @clean means need to stop cluster service if the service is available
 
-  Background: Setup one node cluster and configure some resources
+  Background: Setup cluster and configure some resources
     Given     Cluster service is "stopped" on "hanode1"
     When      Run "crm cluster init -y" on "hanode1"
     Then      Cluster service is "started" on "hanode1"
+    When      Run "crm cluster join -c hanode1 -y" on "hanode2"
+    Then      Cluster service is "started" on "hanode2"
     When      Run "crm configure primitive d Dummy op monitor interval=3s" on 
"hanode1"
     Then      Resource "d" type "Dummy" is "Started"
     When      Run "crm configure primitive vip IPaddr2 params ip=10.10.10.123 
op monitor interval=3s" on "hanode1"
@@ -45,3 +47,51 @@
     When    Run "crm configure set op-options.timeout 101" on "hanode1"
     And     Run "crm configure show op-options" on "hanode1"
     Then    Expected "timeout=101" in stdout
+
+  @clean
+  Scenario: Parse node and lifetime correctly (bsc#1192618)
+    Given   Resource "d" is started on "hanode1"
+    # move <res> <node>
+    When    Run "crm resource move d hanode2" on "hanode1"
+    When    Run "sleep 2" on "hanode1"
+    Then    Resource "d" is started on "hanode2"
+    When    Run "crm resource clear d" on "hanode1"
+
+    # move <res> <node> force
+    When    Run "crm resource move d hanode1" on "hanode1"
+    When    Run "sleep 2" on "hanode1"
+    Then    Resource "d" is started on "hanode1"
+    When    Run "crm resource clear d" on "hanode1"
+
+    # move <res> force
+    When    Run "crm resource move d force" on "hanode1"
+    When    Run "sleep 2" on "hanode1"
+    Then    Resource "d" is started on "hanode2"
+    When    Run "crm resource clear d" on "hanode1"
+
+    # move <res> <lifetime> force
+    When    Run "crm resource move d PT5M force" on "hanode1"
+    When    Run "sleep 2" on "hanode1"
+    Then    Resource "d" is started on "hanode1"
+    When    Run "crm resource clear d" on "hanode1"
+
+    # move <res> <node> <lifetime>
+    When    Run "crm resource move d hanode2 PT5M" on "hanode1"
+    When    Run "sleep 2" on "hanode1"
+    Then    Resource "d" is started on "hanode2"
+    When    Run "crm resource clear d" on "hanode1"
+
+    # move <res> <node> <lifetime> force
+    When    Run "crm resource move d hanode1 PT5M force" on "hanode1"
+    When    Run "sleep 2" on "hanode1"
+    Then    Resource "d" is started on "hanode1"
+    When    Run "crm resource clear d" on "hanode1"
+
+    When    Try "crm resource move d hanode2 PT5M force xxx"
+    Then    Except "ERROR: resource.move: usage: move <rsc> [<node>] 
[<lifetime>] [force]"
+    When    Try "crm resource move d hanode2 PT5M forcd"
+    Then    Except "ERROR: resource.move: usage: move <rsc> [<node>] 
[<lifetime>] [force]"
+    When    Try "crm resource move d xxxx PT5M force"
+    Then    Except "ERROR: resource.move: Not our node: xxxx"
+    When    Try "crm resource move d"
+    Then    Except "ERROR: resource.move: No target node: Move requires either 
a target node or 'force'"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/crmsh-4.3.1+20211116.ef2bce26/test/features/steps/step_implementation.py 
new/crmsh-4.3.1+20211119.caa0b2aa/test/features/steps/step_implementation.py
--- 
old/crmsh-4.3.1+20211116.ef2bce26/test/features/steps/step_implementation.py    
    2021-11-16 15:44:08.000000000 +0100
+++ 
new/crmsh-4.3.1+20211119.caa0b2aa/test/features/steps/step_implementation.py    
    2021-11-19 14:37:17.000000000 +0100
@@ -306,3 +306,15 @@
     cmd = "crm cluster diff {}".format(f)
     rc, out = run_command(context, cmd)
     assert out == ""
+
+
+@given('Resource "{res_id}" is started on "{node}"')
+def step_impl(context, res_id, node):
+    rc, out, err = crmutils.get_stdout_stderr("crm_mon -1")
+    assert re.search(r'\*\s+{}\s+.*Started\s+{}'.format(res_id, node), out) is 
not None
+
+
+@then('Resource "{res_id}" is started on "{node}"')
+def step_impl(context, res_id, node):
+    rc, out, err = crmutils.get_stdout_stderr("crm_mon -1")
+    assert re.search(r'\*\s+{}\s+.*Started\s+{}'.format(res_id, node), out) is 
not None

Reply via email to