Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package crmsh for openSUSE:Factory checked 
in at 2023-01-16 17:59:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/crmsh (Old)
 and      /work/SRC/openSUSE:Factory/.crmsh.new.32243 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "crmsh"

Mon Jan 16 17:59:21 2023 rev:276 rq:1058606 version:4.4.1+20230115.e69ffac7

Changes:
--------
--- /work/SRC/openSUSE:Factory/crmsh/crmsh.changes      2023-01-06 
17:06:39.988555654 +0100
+++ /work/SRC/openSUSE:Factory/.crmsh.new.32243/crmsh.changes   2023-01-16 
18:02:00.987864425 +0100
@@ -1,0 +2,14 @@
+Sun Jan 15 08:34:31 UTC 2023 - xli...@suse.com
+
+- Update to version 4.4.1+20230115.e69ffac7:
+  * Fix spelling errors.
+  * Don't use inspect.getargspec, removed in Python 3.11.
+
+-------------------------------------------------------------------
+Wed Jan 11 08:20:29 UTC 2023 - xli...@suse.com
+
+- Update to version 4.4.1+20230111.89dfe511:
+  * Dev: behave: Add 'sudo' before most of commands
+  * Dev: behave: Run all cases twice under normal user
+
+-------------------------------------------------------------------

Old:
----
  crmsh-4.4.1+20230106.b020209b.tar.bz2

New:
----
  crmsh-4.4.1+20230115.e69ffac7.tar.bz2

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

Other differences:
------------------
++++++ crmsh.spec ++++++
--- /var/tmp/diff_new_pack.1JH2eK/_old  2023-01-16 18:02:01.871869385 +0100
+++ /var/tmp/diff_new_pack.1JH2eK/_new  2023-01-16 18:02:01.875869408 +0100
@@ -36,7 +36,7 @@
 Summary:        High Availability cluster command-line interface
 License:        GPL-2.0-or-later
 Group:          %{pkg_group}
-Version:        4.4.1+20230106.b020209b
+Version:        4.4.1+20230115.e69ffac7
 Release:        0
 URL:            http://crmsh.github.io
 Source0:        %{name}-%{version}.tar.bz2

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.1JH2eK/_old  2023-01-16 18:02:01.923869677 +0100
+++ /var/tmp/diff_new_pack.1JH2eK/_new  2023-01-16 18:02:01.927869700 +0100
@@ -9,7 +9,7 @@
 </service>
 <service name="tar_scm">
   <param name="url">https://github.com/ClusterLabs/crmsh.git</param>
-  <param 
name="changesrevision">591fc3f7119e3c02d37d3bb1a8438a2f4fac6723</param>
+  <param 
name="changesrevision">e69ffac7f6e674d5c717ccb4bbd77b12560d2dd6</param>
 </service>
 </servicedata>
 (No newline at EOF)

++++++ crmsh-4.4.1+20230106.b020209b.tar.bz2 -> 
crmsh-4.4.1+20230115.e69ffac7.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/crmsh-4.4.1+20230106.b020209b/.github/workflows/crmsh-ci.yml 
new/crmsh-4.4.1+20230115.e69ffac7/.github/workflows/crmsh-ci.yml
--- old/crmsh-4.4.1+20230106.b020209b/.github/workflows/crmsh-ci.yml    
2023-01-06 07:53:15.000000000 +0100
+++ new/crmsh-4.4.1+20230115.e69ffac7/.github/workflows/crmsh-ci.yml    
2023-01-15 08:56:56.000000000 +0100
@@ -62,7 +62,8 @@
       run:  |
         echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee 
/etc/docker/daemon.json
         sudo systemctl restart docker.service
-        $DOCKER_SCRIPT `$GET_INDEX_OF crm_report_bugs`
+        index=`$GET_INDEX_OF crm_report_bugs`
+        $DOCKER_SCRIPT $index && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT $index -u
 
   functional_test_bootstrap_bugs:
     runs-on: ubuntu-20.04
@@ -73,7 +74,8 @@
       run:  |
         echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee 
/etc/docker/daemon.json
         sudo systemctl restart docker.service
-        $DOCKER_SCRIPT `$GET_INDEX_OF bootstrap_bugs`
+        index=`$GET_INDEX_OF bootstrap_bugs`
+        $DOCKER_SCRIPT $index && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT $index -u
 
   functional_test_bootstrap_common:
     runs-on: ubuntu-20.04
@@ -84,7 +86,8 @@
       run:  |
         echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee 
/etc/docker/daemon.json
         sudo systemctl restart docker.service
-        $DOCKER_SCRIPT `$GET_INDEX_OF bootstrap_init_join_remove`
+        index=`$GET_INDEX_OF bootstrap_init_join_remove`
+        $DOCKER_SCRIPT $index && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT $index -u
 
   functional_test_bootstrap_options:
     runs-on: ubuntu-20.04
@@ -95,7 +98,8 @@
       run:  |
         echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee 
/etc/docker/daemon.json
         sudo systemctl restart docker.service
-        $DOCKER_SCRIPT `$GET_INDEX_OF bootstrap_options`
+        index=`$GET_INDEX_OF bootstrap_options`
+        $DOCKER_SCRIPT $index && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT $index -u
 
   functional_test_qdevice_setup_remove:
     runs-on: ubuntu-20.04
@@ -106,7 +110,8 @@
       run:  |
         echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee 
/etc/docker/daemon.json
         sudo systemctl restart docker.service
-        $DOCKER_SCRIPT `$GET_INDEX_OF qdevice_setup_remove`
+        index=`$GET_INDEX_OF qdevice_setup_remove`
+        $DOCKER_SCRIPT $index && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT $index -u
 
   functional_test_qdevice_options:
     runs-on: ubuntu-20.04
@@ -117,7 +122,8 @@
       run:  |
         echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee 
/etc/docker/daemon.json
         sudo systemctl restart docker.service
-        $DOCKER_SCRIPT `$GET_INDEX_OF qdevice_options`
+        index=`$GET_INDEX_OF qdevice_options`
+        $DOCKER_SCRIPT $index && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT $index -u
 
   functional_test_qdevice_validate:
     runs-on: ubuntu-20.04
@@ -128,7 +134,8 @@
       run:  |
         echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee 
/etc/docker/daemon.json
         sudo systemctl restart docker.service
-        $DOCKER_SCRIPT `$GET_INDEX_OF qdevice_validate`
+        index=`$GET_INDEX_OF qdevice_validate`
+        $DOCKER_SCRIPT $index && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT $index -u
 
   functional_test_qdevice_user_case:
     runs-on: ubuntu-20.04
@@ -139,7 +146,8 @@
       run:  |
         echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee 
/etc/docker/daemon.json
         sudo systemctl restart docker.service
-        $DOCKER_SCRIPT `$GET_INDEX_OF qdevice_usercase`
+        index=`$GET_INDEX_OF qdevice_usercase`
+        $DOCKER_SCRIPT $index && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT $index -u
 
   functional_test_resource_subcommand:
     runs-on: ubuntu-20.04
@@ -150,7 +158,8 @@
       run:  |
         echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee 
/etc/docker/daemon.json
         sudo systemctl restart docker.service
-        $DOCKER_SCRIPT `$GET_INDEX_OF resource_failcount resource_set`
+        index=`$GET_INDEX_OF resource_failcount resource_set`
+        $DOCKER_SCRIPT $index && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT $index -u
 
   functional_test_configure_sublevel:
     runs-on: ubuntu-20.04
@@ -161,7 +170,8 @@
       run:  |
         echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee 
/etc/docker/daemon.json
         sudo systemctl restart docker.service
-        $DOCKER_SCRIPT `$GET_INDEX_OF configure_bugs`
+        index=`$GET_INDEX_OF configure_bugs`
+        $DOCKER_SCRIPT $index && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT $index -u
 
   functional_test_constraints_bugs:
     runs-on: ubuntu-20.04
@@ -172,7 +182,8 @@
       run:  |
         echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee 
/etc/docker/daemon.json
         sudo systemctl restart docker.service
-        $DOCKER_SCRIPT `$GET_INDEX_OF constraints_bugs`
+        index=`$GET_INDEX_OF constraints_bugs`
+        $DOCKER_SCRIPT $index && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT $index -u
 
   functional_test_geo_cluster:
     runs-on: ubuntu-20.04
@@ -183,7 +194,8 @@
       run:  |
         echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee 
/etc/docker/daemon.json
         sudo systemctl restart docker.service
-        $DOCKER_SCRIPT `$GET_INDEX_OF geo_setup`
+        index=`$GET_INDEX_OF geo_setup`
+        $DOCKER_SCRIPT $index && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT $index -u
 
   functional_test_healthcheck:
     runs-on: ubuntu-20.04
@@ -194,7 +206,8 @@
       run:  |
         echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee 
/etc/docker/daemon.json
         sudo systemctl restart docker.service
-        $DOCKER_SCRIPT `$GET_INDEX_OF healthcheck`
+        index=`$GET_INDEX_OF healthcheck`
+        $DOCKER_SCRIPT $index && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT $index -u
 
   functional_test_cluster_api:
     runs-on: ubuntu-20.04
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crmsh-4.4.1+20230106.b020209b/crmsh/ui_utils.py 
new/crmsh-4.4.1+20230115.e69ffac7/crmsh/ui_utils.py
--- old/crmsh-4.4.1+20230106.b020209b/crmsh/ui_utils.py 2023-01-06 
07:53:15.000000000 +0100
+++ new/crmsh-4.4.1+20230115.e69ffac7/crmsh/ui_utils.py 2023-01-15 
08:56:56.000000000 +0100
@@ -113,7 +113,7 @@
     Returns a prettified representation
     of the command arguments
     '''
-    specs = inspect.getargspec(f)
+    specs = inspect.getfullargspec(f)
     named_args = []
     if specs.defaults is None:
         named_args += specs.args
@@ -140,7 +140,7 @@
 
     Note: Does not support keyword arguments.
     '''
-    specs = inspect.getargspec(f)
+    specs = inspect.getfullargspec(f)
     min_args = len(specs.args)
     if specs.defaults is not None:
         min_args -= len(specs.defaults)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crmsh-4.4.1+20230106.b020209b/data-manifest 
new/crmsh-4.4.1+20230115.e69ffac7/data-manifest
--- old/crmsh-4.4.1+20230106.b020209b/data-manifest     2023-01-06 
07:53:15.000000000 +0100
+++ new/crmsh-4.4.1+20230115.e69ffac7/data-manifest     2023-01-15 
08:56:56.000000000 +0100
@@ -66,7 +66,6 @@
 test/descriptions
 test/evaltest.sh
 test/features/bootstrap_bugs.feature
-test/features/bootstrap_init_join_remove_alice.feature
 test/features/bootstrap_init_join_remove.feature
 test/features/bootstrap_options.feature
 test/features/bootstrap_sbd_delay.feature
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crmsh-4.4.1+20230106.b020209b/doc/crm.8.adoc 
new/crmsh-4.4.1+20230115.e69ffac7/doc/crm.8.adoc
--- old/crmsh-4.4.1+20230106.b020209b/doc/crm.8.adoc    2023-01-06 
07:53:15.000000000 +0100
+++ new/crmsh-4.4.1+20230115.e69ffac7/doc/crm.8.adoc    2023-01-15 
08:56:56.000000000 +0100
@@ -254,7 +254,7 @@
 `crm cf`. `crm resource` can be shorted as `crm rsc`, and so on.
 
 The exact list of accepted aliases is too long to print in full, but
-experimentation and typoes should help in discovering more of them.
+experimentation and typos should help in discovering more of them.
 
 [[topics_Features,Features]]
 == Features
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/crmsh-4.4.1+20230106.b020209b/doc/website-v1/man-2.0.adoc 
new/crmsh-4.4.1+20230115.e69ffac7/doc/website-v1/man-2.0.adoc
--- old/crmsh-4.4.1+20230106.b020209b/doc/website-v1/man-2.0.adoc       
2023-01-06 07:53:15.000000000 +0100
+++ new/crmsh-4.4.1+20230115.e69ffac7/doc/website-v1/man-2.0.adoc       
2023-01-15 08:56:56.000000000 +0100
@@ -255,7 +255,7 @@
 `crm cf`. `crm resource` can be shorted as `crm rsc`, and so on.
 
 The exact list of accepted aliases is too long to print in full, but
-experimentation and typoes should help in discovering more of them.
+experimentation and typos should help in discovering more of them.
 
 [[topics_Features,Features]]
 == Features
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/crmsh-4.4.1+20230106.b020209b/doc/website-v1/man-3.adoc 
new/crmsh-4.4.1+20230115.e69ffac7/doc/website-v1/man-3.adoc
--- old/crmsh-4.4.1+20230106.b020209b/doc/website-v1/man-3.adoc 2023-01-06 
07:53:15.000000000 +0100
+++ new/crmsh-4.4.1+20230115.e69ffac7/doc/website-v1/man-3.adoc 2023-01-15 
08:56:56.000000000 +0100
@@ -255,7 +255,7 @@
 `crm cf`. `crm resource` can be shorted as `crm rsc`, and so on.
 
 The exact list of accepted aliases is too long to print in full, but
-experimentation and typoes should help in discovering more of them.
+experimentation and typos should help in discovering more of them.
 
 [[topics_Features,Features]]
 == Features
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/crmsh-4.4.1+20230106.b020209b/doc/website-v1/man-4.3.adoc 
new/crmsh-4.4.1+20230115.e69ffac7/doc/website-v1/man-4.3.adoc
--- old/crmsh-4.4.1+20230106.b020209b/doc/website-v1/man-4.3.adoc       
2023-01-06 07:53:15.000000000 +0100
+++ new/crmsh-4.4.1+20230115.e69ffac7/doc/website-v1/man-4.3.adoc       
2023-01-15 08:56:56.000000000 +0100
@@ -254,7 +254,7 @@
 `crm cf`. `crm resource` can be shorted as `crm rsc`, and so on.
 
 The exact list of accepted aliases is too long to print in full, but
-experimentation and typoes should help in discovering more of them.
+experimentation and typos should help in discovering more of them.
 
 [[topics_Features,Features]]
 == Features
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/crmsh-4.4.1+20230106.b020209b/test/features/bootstrap_bugs.feature 
new/crmsh-4.4.1+20230115.e69ffac7/test/features/bootstrap_bugs.feature
--- old/crmsh-4.4.1+20230106.b020209b/test/features/bootstrap_bugs.feature      
2023-01-06 07:53:15.000000000 +0100
+++ new/crmsh-4.4.1+20230115.e69ffac7/test/features/bootstrap_bugs.feature      
2023-01-15 08:56:56.000000000 +0100
@@ -107,8 +107,8 @@
   Scenario: Change host name in /etc/hosts as alias(bsc#1183654)
     Given   Cluster service is "stopped" on "hanode1"
     And     Cluster service is "stopped" on "hanode2"
-    When    Run "echo '@hanode1.ip.0 HANODE1' >> /etc/hosts" on "hanode1"
-    When    Run "echo '@hanode2.ip.0 HANODE2' >> /etc/hosts" on "hanode2"
+    When    Run "echo '@hanode1.ip.0 HANODE1'|sudo tee -a /etc/hosts" on 
"hanode1"
+    When    Run "echo '@hanode2.ip.0 HANODE2'|sudo tee -a /etc/hosts" on 
"hanode2"
     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"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/crmsh-4.4.1+20230106.b020209b/test/features/bootstrap_init_join_remove_alice.feature
 
new/crmsh-4.4.1+20230115.e69ffac7/test/features/bootstrap_init_join_remove_alice.feature
--- 
old/crmsh-4.4.1+20230106.b020209b/test/features/bootstrap_init_join_remove_alice.feature
    2023-01-06 07:53:15.000000000 +0100
+++ 
new/crmsh-4.4.1+20230115.e69ffac7/test/features/bootstrap_init_join_remove_alice.feature
    1970-01-01 01:00:00.000000000 +0100
@@ -1,17 +0,0 @@
-@bootstrap
-Feature: crmsh bootstrap process - init, join and remove
-
-  Test crmsh bootstrap init/join/remove process
-  Need nodes: hanode1 hanode2
-
-  Scenario: Setup a two nodes cluster as alice and bob
-    Given   Nodes ["hanode1", "hanode2"] are cleaned up
-    And     Cluster service is "stopped" on "hanode1"
-    And     Cluster service is "stopped" on "hanode2"
-    When    Run "su alice -c 'crm cluster init -y'" on "hanode1"
-    Then    Cluster service is "started" on "hanode1"
-    And     Show cluster status on "hanode1"
-    When    Run "su bob -c 'crm cluster join -c alice@hanode1 -y'" on "hanode2"
-    Then    Cluster service is "started" on "hanode2"
-    And     Online nodes are "hanode1 hanode2"
-    And     Show cluster status on "hanode1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/crmsh-4.4.1+20230106.b020209b/test/features/crm_report_bugs.feature 
new/crmsh-4.4.1+20230115.e69ffac7/test/features/crm_report_bugs.feature
--- old/crmsh-4.4.1+20230106.b020209b/test/features/crm_report_bugs.feature     
2023-01-06 07:53:15.000000000 +0100
+++ new/crmsh-4.4.1+20230115.e69ffac7/test/features/crm_report_bugs.feature     
2023-01-15 08:56:56.000000000 +0100
@@ -66,7 +66,7 @@
     When    Run "crm node utilization hanode1 set password qwertyui" on 
"hanode1"
     When    Run "crm report report" on "hanode1"
     When    Run "tar jxf report.tar.bz2" on "hanode1"
-    And     Try "grep -R "qwertyui" report"
+    And     Try "grep -R 'qwertyui' report"
     # crm report mask passw.* by default
     # No password here
     Then    Expected return code is "1"
@@ -78,7 +78,7 @@
     And     Run "sed -i 's/; sanitize_rule = .*$/sanitize_rule = 
passw.*|ip.*:raw/g' /etc/crm/crm.conf" on "hanode1"
     And     Run "crm report report" on "hanode1"
     And     Run "tar jxf report.tar.bz2" on "hanode1"
-    And     Try "grep -R -E "@vip.0|qwertyui" report"
+    And     Try "grep -R -E '@vip.0|qwertyui' report"
     # No password here
     Then    Expected return code is "1"
     When    Run "rm -rf report.tar.bz2 report" on "hanode1"
@@ -86,10 +86,10 @@
     # Do sanitize job, also for TEL
     When    Run "crm report -s -p TEL report" on "hanode1"
     When    Run "tar jxf report.tar.bz2" on "hanode1"
-    And     Try "grep -R "qwertyui" report"
+    And     Try "grep -R 'qwertyui' report"
     # No password here
     Then    Expected return code is "1"
-    When    Try "grep -R "13356789876" report"
+    When    Try "grep -R '13356789876' report"
     # No TEL number here
     Then    Expected return code is "1"
     When    Run "rm -rf report.tar.bz2 report" on "hanode1"
@@ -99,7 +99,7 @@
     And     Run "sed -i 's/sanitize_rule = .*$/sanitize_rule = /g' 
/etc/crm/crm.conf" on "hanode1"
     When    Run "crm report report" on "hanode1"
     When    Run "tar jxf report.tar.bz2" on "hanode1"
-    And     Try "grep -R "qwertyui" report"
+    And     Try "grep -R 'qwertyui' report"
     # found password
     Then    Expected return code is "0"
     When    Run "rm -rf report.tar.bz2 report" on "hanode1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/crmsh-4.4.1+20230106.b020209b/test/features/environment.py 
new/crmsh-4.4.1+20230115.e69ffac7/test/features/environment.py
--- old/crmsh-4.4.1+20230106.b020209b/test/features/environment.py      
2023-01-06 07:53:15.000000000 +0100
+++ new/crmsh-4.4.1+20230115.e69ffac7/test/features/environment.py      
2023-01-15 08:56:56.000000000 +0100
@@ -5,7 +5,7 @@
 
 
 def get_online_nodes():
-    _, out, _ = utils.get_stdout_stderr('crm_node -l')
+    _, out, _ = utils.get_stdout_stderr('sudo crm_node -l')
     if out:
         return re.findall(r'[0-9]+ (.*) member', out)
     else:
@@ -13,7 +13,7 @@
 
 
 def resource_cleanup():
-    utils.get_stdout_stderr('crm resource cleanup')
+    utils.get_stdout_stderr('sudo crm resource cleanup')
 
 
 def before_step(context, step):
@@ -31,4 +31,4 @@
                 time.sleep(1)
                 if utils.get_dc():
                     break
-            utils.get_stdout_or_raise_error("crm cluster stop --all")
+            utils.get_stdout_or_raise_error("sudo crm cluster stop --all")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/crmsh-4.4.1+20230106.b020209b/test/features/qdevice_setup_remove.feature 
new/crmsh-4.4.1+20230115.e69ffac7/test/features/qdevice_setup_remove.feature
--- 
old/crmsh-4.4.1+20230106.b020209b/test/features/qdevice_setup_remove.feature    
    2023-01-06 07:53:15.000000000 +0100
+++ 
new/crmsh-4.4.1+20230115.e69ffac7/test/features/qdevice_setup_remove.feature    
    2023-01-15 08:56:56.000000000 +0100
@@ -35,7 +35,7 @@
     Then    Cluster service is "started" on "hanode2"
     And     Online nodes are "hanode1 hanode2"
     And     Service "corosync-qdevice" is "stopped" on "hanode2"
-    When    Run "echo "# This is a test for bsc#1166684" >> 
/etc/corosync/corosync.conf" on "hanode1"
+    When    Run "echo "# This is a test for bsc#1166684"|sudo tee -a 
/etc/corosync/corosync.conf" on "hanode1"
     When    Run "scp /etc/corosync/corosync.conf root@hanode2:/etc/corosync" 
on "hanode1"
     When    Run "crm cluster init qdevice --qnetd-hostname=qnetd-node -y" on 
"hanode1"
     # for bsc#1181415
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/crmsh-4.4.1+20230106.b020209b/test/features/qdevice_usercase.feature 
new/crmsh-4.4.1+20230115.e69ffac7/test/features/qdevice_usercase.feature
--- old/crmsh-4.4.1+20230106.b020209b/test/features/qdevice_usercase.feature    
2023-01-06 07:53:15.000000000 +0100
+++ new/crmsh-4.4.1+20230115.e69ffac7/test/features/qdevice_usercase.feature    
2023-01-15 08:56:56.000000000 +0100
@@ -70,8 +70,8 @@
     When    Run "ssh root@hanode2 corosync-quorumtool -s" on "hanode1"
     Then    Expected "Quorate:          Yes" in stdout
     # Use iptables command to simulate split-brain
-    When    Run "iptables -I INPUT -s @hanode2.ip.default -j DROP; iptables -I 
OUTPUT -d @hanode2.ip.default -j DROP" on "hanode1"
-    And     Run "iptables -I INPUT -s @hanode1.ip.default -j DROP; iptables -I 
OUTPUT -d @hanode1.ip.default -j DROP" on "hanode2"
+    When    Run "iptables -I INPUT -s @hanode2.ip.default -j DROP; sudo 
iptables -I OUTPUT -d @hanode2.ip.default -j DROP" on "hanode1"
+    And     Run "iptables -I INPUT -s @hanode1.ip.default -j DROP; sudo 
iptables -I OUTPUT -d @hanode1.ip.default -j DROP" on "hanode2"
     # Check whether hanode1 has quorum, while hanode2 doesn't
     And     Run "sleep 20" on "hanode1"
     When    Run "crm corosync status quorum" on "hanode1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/crmsh-4.4.1+20230106.b020209b/test/features/resource_set.feature 
new/crmsh-4.4.1+20230115.e69ffac7/test/features/resource_set.feature
--- old/crmsh-4.4.1+20230106.b020209b/test/features/resource_set.feature        
2023-01-06 07:53:15.000000000 +0100
+++ new/crmsh-4.4.1+20230115.e69ffac7/test/features/resource_set.feature        
2023-01-15 08:56:56.000000000 +0100
@@ -120,13 +120,13 @@
     When    Run "crm resource trace d monitor" on "hanode1"
     Then    Expected "Trace for d:monitor is written to 
/var/lib/heartbeat/trace_ra/Dummy" in stdout
     When    Wait "10" seconds
-    Then    Run "ls /var/lib/heartbeat/trace_ra/Dummy/d.monitor.*" OK
+    Then    Run "bash -c 'ls /var/lib/heartbeat/trace_ra/Dummy/d.monitor.*'" OK
     When    Run "crm resource untrace d" on "hanode1"
     Then    Expected "Stop tracing d" in stdout
     When    Run "crm resource trace d monitor /trace_log_d" on "hanode1"
     Then    Expected "Trace for d:monitor is written to /trace_log_d/Dummy" in 
stdout
     When    Wait "10" seconds
-    Then    Run "ls /trace_log_d/Dummy/d.monitor.*" OK
+    Then    Run "bash -c 'ls /trace_log_d/Dummy/d.monitor.*'" OK
     When    Run "crm resource untrace d" on "hanode1"
     Then    Expected "Stop tracing d" in stdout
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/crmsh-4.4.1+20230106.b020209b/test/features/steps/step_implementation.py 
new/crmsh-4.4.1+20230115.e69ffac7/test/features/steps/step_implementation.py
--- 
old/crmsh-4.4.1+20230106.b020209b/test/features/steps/step_implementation.py    
    2023-01-06 07:53:15.000000000 +0100
+++ 
new/crmsh-4.4.1+20230115.e69ffac7/test/features/steps/step_implementation.py    
    2023-01-15 08:56:56.000000000 +0100
@@ -25,8 +25,12 @@
 
 @when('Write multi lines to file "{f}"')
 def step_impl(context, f):
-    with open(f, 'w') as fd:
-        fd.write(context.text)
+    data_list = context.text.split('\n')
+    for line in data_list:
+        echo_option = " -n" if line == data_list[-1] else ""
+        cmd = "echo{} {}|sudo tee -a {}".format(echo_option, line, f)
+        run_command(context, cmd)
+
 
 @given('Cluster service is "{state}" on "{addr}"')
 def step_impl(context, state, addr):
@@ -437,7 +441,7 @@
 
 @then('File "{path}" exists on "{node}"')
 def step_impl(context, path, node):
-    parallax.parallax_call([node], '[ -f {} ]'.format(path))
+    parallax.parallax_call([node], 'sudo test -f {}'.format(path))
 
 
 @then('File "{path}" not exist on "{node}"')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/crmsh-4.4.1+20230106.b020209b/test/features/steps/utils.py 
new/crmsh-4.4.1+20230115.e69ffac7/test/features/steps/utils.py
--- old/crmsh-4.4.1+20230106.b020209b/test/features/steps/utils.py      
2023-01-06 07:53:15.000000000 +0100
+++ new/crmsh-4.4.1+20230115.e69ffac7/test/features/steps/utils.py      
2023-01-15 08:56:56.000000000 +0100
@@ -1,3 +1,4 @@
+import getpass
 import difflib
 import tarfile
 import glob
@@ -35,8 +36,15 @@
     return socket.gethostname()
 
 
+def add_sudo(cmd):
+    user = getpass.getuser()
+    if user != 'root':
+        cmd = "sudo {}".format(cmd)
+    return cmd
+
+
 def run_command(context, cmd, err_record=False):
-    rc, out, err = utils.get_stdout_stderr(cmd)
+    rc, out, err = utils.get_stdout_stderr(add_sudo(cmd))
     if rc != 0 and err:
         if err_record:
             res = re.sub(r'\x1b\[[0-9]+m', '', err)
@@ -50,6 +58,7 @@
 
 
 def run_command_local_or_remote(context, cmd, addr, err_record=False):
+    cmd = add_sudo(cmd)
     if addr == me():
         rc, out = run_command(context, cmd, err_record)
         context.return_code = rc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/crmsh-4.4.1+20230106.b020209b/test/run-functional-tests 
new/crmsh-4.4.1+20230115.e69ffac7/test/run-functional-tests
--- old/crmsh-4.4.1+20230106.b020209b/test/run-functional-tests 2023-01-06 
07:53:15.000000000 +0100
+++ new/crmsh-4.4.1+20230115.e69ffac7/test/run-functional-tests 2023-01-15 
08:56:56.000000000 +0100
@@ -391,9 +391,10 @@
 }
 
 
+NORMAL_USER_FLAG=0
 CONFIG_COROSYNC_FLAG=1
 SETUP_N_NODES_CLUSTER=0
-options=$(getopt -l "help" -o "hldxn:" -- "$@")
+options=$(getopt -l "help" -o "hldxun:" -- "$@")
 eval set -- "$options"
 while true;do
 case $1 in
@@ -411,6 +412,10 @@
        CONFIG_COROSYNC_FLAG=0
        shift
        ;;
+-u)
+       NORMAL_USER_FLAG=1
+       shift
+       ;;
 -n)
        check_docker_env
        shift
@@ -472,6 +477,13 @@
        CONFIG_COROSYNC_FLAG=0
        setup_cluster ${node_arry[@]}
        adjust_test_case ${node_arry[0]} $case_file_in_container
-       docker_exec ${node_arry[0]} "behave --no-logcapture 
$case_file_in_container || exit 1" || exit 1
+       echo
+       if [ "$NORMAL_USER_FLAG" -eq 0 ];then
+               info "Running \"$case_file_in_container\" under 'root'..."
+               docker_exec ${node_arry[0]} "behave --no-logcapture 
$case_file_in_container || exit 1" || exit 1
+       else
+               info "Running \"$case_file_in_container\" under normal user 
'alice'..."
+               docker_exec ${node_arry[0]} "su alice -c 'behave 
--no-logcapture $case_file_in_container || exit 1'" || exit 1
+       fi
        echo
 done

Reply via email to