Hello community, here is the log from the commit of package crmsh for openSUSE:Factory checked in at 2018-12-04 20:57:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/crmsh (Old) and /work/SRC/openSUSE:Factory/.crmsh.new.19453 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "crmsh" Tue Dec 4 20:57:27 2018 rev:152 rq:653721 version:4.0.0+git.1542103310.dd114188 Changes: -------- --- /work/SRC/openSUSE:Factory/crmsh/crmsh.changes 2018-10-08 17:51:00.274057139 +0200 +++ /work/SRC/openSUSE:Factory/.crmsh.new.19453/crmsh.changes 2018-12-04 20:57:38.156632861 +0100 @@ -1,0 +2,14 @@ +Wed Nov 14 09:24:34 UTC 2018 - kgronl...@suse.com + +- Update to version 4.0.0+git.1542103310.dd114188: + * high: cibconfig: Normalize - to _ in param names (bsc#1111579) + * medium: ra: Handle obsoletes attribute (bsc#1111579) + +------------------------------------------------------------------- +Thu Nov 01 12:51:02 UTC 2018 - kgronl...@suse.com + +- Update to version 4.0.0+git.1540390310.315a48ed: + * ui_cluster: restart cluster is added (bsc#1052088) + * auto-commit enabling/disabling maintenance mode for a whole cluster (bsc#1112593) + +------------------------------------------------------------------- Old: ---- crmsh-4.0.0+git.1539006450.f80a6308.tar.bz2 New: ---- crmsh-4.0.0+git.1542103310.dd114188.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ crmsh.spec ++++++ --- /var/tmp/diff_new_pack.GD2645/_old 2018-12-04 20:57:38.784632168 +0100 +++ /var/tmp/diff_new_pack.GD2645/_new 2018-12-04 20:57:38.788632164 +0100 @@ -36,7 +36,7 @@ Summary: High Availability cluster command-line interface License: GPL-2.0-or-later Group: %{pkg_group} -Version: 4.0.0+git.1539006450.f80a6308 +Version: 4.0.0+git.1542103310.dd114188 Release: 0 Url: http://crmsh.github.io Source0: %{name}-%{version}.tar.bz2 ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.GD2645/_old 2018-12-04 20:57:38.832632115 +0100 +++ /var/tmp/diff_new_pack.GD2645/_new 2018-12-04 20:57:38.832632115 +0100 @@ -1,4 +1,4 @@ <servicedata> <service name="tar_scm"> <param name="url">git://github.com/ClusterLabs/crmsh.git</param> - <param name="changesrevision">d0111f9f688b9d5eeb7ad505efb1abd3d0cf6ebc</param></service></servicedata> \ No newline at end of file + <param name="changesrevision">dc3c30c2913a836aab8472aee695337231bd8400</param></service></servicedata> \ No newline at end of file ++++++ crmsh-4.0.0+git.1539006450.f80a6308.tar.bz2 -> crmsh-4.0.0+git.1542103310.dd114188.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.0.0+git.1539006450.f80a6308/crmsh/cibconfig.py new/crmsh-4.0.0+git.1542103310.dd114188/crmsh/cibconfig.py --- old/crmsh-4.0.0+git.1539006450.f80a6308/crmsh/cibconfig.py 2018-10-08 15:47:30.000000000 +0200 +++ new/crmsh-4.0.0+git.1542103310.dd114188/crmsh/cibconfig.py 2018-11-13 11:01:50.000000000 +0100 @@ -911,6 +911,9 @@ ''' pass + def normalize_parameters(self): + pass + def _repr_cli_head(self, format_mode): 'implemented in subclasses' pass @@ -1496,6 +1499,23 @@ self.set_updated() return new_op_node + def normalize_parameters(self): + """ + Normalize parameter names: + If a parameter "foo-bar" is set but the + agent doesn't have a parameter "foo-bar", + and instead has a parameter "foo_bar", then + change the name to set the value of "foo_bar" + instead. + """ + r_node = self.node + if self.obj_type == "primitive": + r_node = reduce_primitive(self.node) + if r_node is None: + return + ra = get_ra(r_node) + ra.normalize_parameters(r_node) + def check_sanity(self): ''' Check operation timeouts and if all required parameters @@ -3355,6 +3375,7 @@ topnode.append(obj.node) self.cib_objects.append(obj) copy_nvpairs(obj.node, node) + obj.normalize_parameters() obj.set_updated() return obj @@ -3682,6 +3703,7 @@ return None pnode.append(node) self._redirect_children_constraints(obj) + obj.normalize_parameters() if not obj.cli_use_validate(): self.nocli_warn = True obj.nocli = True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.0.0+git.1539006450.f80a6308/crmsh/ra.py new/crmsh-4.0.0+git.1542103310.dd114188/crmsh/ra.py --- old/crmsh-4.0.0+git.1539006450.f80a6308/crmsh/ra.py 2018-10-08 15:47:30.000000000 +0200 +++ new/crmsh-4.0.0+git.1542103310.dd114188/crmsh/ra.py 2018-11-13 11:01:50.000000000 +0100 @@ -414,7 +414,7 @@ name = c.get("name") if not name: continue - required = c.get("required") if not c.get("deprecated") else "0" + required = c.get("required") if not (c.get("deprecated") or c.get("obsoletes")) else "0" unique = c.get("unique") typ, default = _param_type_default(c) d[name] = { @@ -470,6 +470,23 @@ except: return None + def normalize_parameters(self, root): + """ + Find all instance_attributes/nvpair objects, + check if parameter exists. If not, normalize name + and check if THAT exists (replacing - with _). + If so, change the name of the parameter. + """ + params = self.params() + if not params: + return + for nvp in root.xpath("instance_attributes/nvpair"): + name = nvp.get("name") + if name is not None and name not in params: + name = name.replace("-", "_") + if name in params: + nvp.attrib["name"] = name + def sanity_check_params(self, ident, nvpairs, existence_only=False): ''' nvpairs is a list of <nvpair> tags. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.0.0+git.1539006450.f80a6308/crmsh/ui_cluster.py new/crmsh-4.0.0+git.1542103310.dd114188/crmsh/ui_cluster.py --- old/crmsh-4.0.0+git.1539006450.f80a6308/crmsh/ui_cluster.py 2018-10-08 15:47:30.000000000 +0200 +++ new/crmsh-4.0.0+git.1542103310.dd114188/crmsh/ui_cluster.py 2018-11-13 11:01:50.000000000 +0100 @@ -100,6 +100,14 @@ # TODO: optionally stop services on all nodes or specific node @command.skill_level('administrator') + def do_restart(self, context): + ''' + Restarts the cluster services on this node + ''' + self.do_stop(context) + self.do_start(context) + + @command.skill_level('administrator') def do_enable(self, context): ''' Enable the cluster services on this node diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.0.0+git.1539006450.f80a6308/crmsh/ui_maintenance.py new/crmsh-4.0.0+git.1542103310.dd114188/crmsh/ui_maintenance.py --- old/crmsh-4.0.0+git.1539006450.f80a6308/crmsh/ui_maintenance.py 2018-10-08 15:47:30.000000000 +0200 +++ new/crmsh-4.0.0+git.1542103310.dd114188/crmsh/ui_maintenance.py 2018-11-13 11:01:50.000000000 +0100 @@ -32,7 +32,8 @@ if resource is not None: return utils.ext_cmd(self.rsc_maintenance % (resource, onoff)) == 0 else: - return cib_factory.create_object('property', 'maintenance-mode=%s' % (onoff)) + cib_factory.create_object('property', 'maintenance-mode=%s' % (onoff)) + return cib_factory.commit() @command.skill_level('administrator') @command.completers_repeating(compl.call(cib_factory.rsc_id_list)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.0.0+git.1539006450.f80a6308/data-manifest new/crmsh-4.0.0+git.1542103310.dd114188/data-manifest --- old/crmsh-4.0.0+git.1539006450.f80a6308/data-manifest 2018-10-08 15:47:30.000000000 +0200 +++ new/crmsh-4.0.0+git.1542103310.dd114188/data-manifest 2018-11-13 11:01:50.000000000 +0100 @@ -125,6 +125,7 @@ test/unittests/bug-862577_corosync.conf test/unittests/corosync.conf.1 test/unittests/corosync.conf.2 +test/unit-tests-in-container.sh test/unittests/__init__.py test/unittests/schemas/acls-1.1.rng test/unittests/schemas/acls-1.2.rng diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.0.0+git.1539006450.f80a6308/doc/crm.8.adoc new/crmsh-4.0.0+git.1542103310.dd114188/doc/crm.8.adoc --- old/crmsh-4.0.0+git.1539006450.f80a6308/doc/crm.8.adoc 2018-10-08 15:47:30.000000000 +0200 +++ new/crmsh-4.0.0+git.1542103310.dd114188/doc/crm.8.adoc 2018-11-13 11:01:50.000000000 +0100 @@ -1321,6 +1321,16 @@ ............... +[[cmdhelp_cluster_restart,Restart cluster services]] +==== `restart` + +Restarts the cluster-related system services on this node. + +Usage: +......... +restart +......... + [[cmdhelp_cluster_rename,Rename the cluster]] ==== `rename` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.0.0+git.1539006450.f80a6308/test/containerized-regression-tests.sh new/crmsh-4.0.0+git.1542103310.dd114188/test/containerized-regression-tests.sh --- old/crmsh-4.0.0+git.1539006450.f80a6308/test/containerized-regression-tests.sh 2018-10-08 15:47:30.000000000 +0200 +++ new/crmsh-4.0.0+git.1542103310.dd114188/test/containerized-regression-tests.sh 2018-11-13 11:01:50.000000000 +0100 @@ -1,3 +1,8 @@ #!/bin/sh docker pull krig/crmsh:latest -docker run -t -v "$(pwd):/app" krig/crmsh /bin/sh -c "cd /app; ./test/run-in-container.sh $(id -un) $(id -gn) $(id -u) $(id -g)" + +if [ "$1" = "--unit-tests" ]; then + docker run -t -v "$(pwd):/app" krig/crmsh /bin/sh -c "cd /app; ./test/unit-tests-in-container.sh $(id -un) $(id -gn) $(id -u) $(id -g)" +else + docker run -t -v "$(pwd):/app" krig/crmsh /bin/sh -c "cd /app; ./test/run-in-container.sh $(id -un) $(id -gn) $(id -u) $(id -g)" +fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.0.0+git.1539006450.f80a6308/test/testcases/acl.exp new/crmsh-4.0.0+git.1542103310.dd114188/test/testcases/acl.exp --- old/crmsh-4.0.0+git.1539006450.f80a6308/test/testcases/acl.exp 2018-10-08 15:47:30.000000000 +0200 +++ new/crmsh-4.0.0+git.1542103310.dd114188/test/testcases/acl.exp 2018-11-13 11:01:50.000000000 +0100 @@ -6,7 +6,10 @@ .INP: node node1 .INP: property enable-acl=true .INP: primitive st stonith:ssh params hostlist='node1' meta target-role="Started" requires=nothing op start timeout=60s op monitor interval=60m timeout=60s +.EXT crm_resource --show-metadata stonith:ssh +.EXT stonithd metadata .INP: primitive d0 ocf:pacemaker:Dummy +.EXT crm_resource --show-metadata ocf:pacemaker:Dummy .INP: primitive d1 ocf:pacemaker:Dummy .INP: role basic-read read status read type:node attribute:uname read type:node attribute:type read property .INP: role basic-read-basic read cib @@ -19,9 +22,6 @@ .INP: acl_target cyrus cyrus-role .INP: _test .INP: verify -.EXT crm_resource --show-metadata stonith:ssh -.EXT stonithd metadata -.EXT crm_resource --show-metadata ocf:pacemaker:Dummy .EXT crmd metadata .EXT pengine metadata .EXT cib metadata diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.0.0+git.1539006450.f80a6308/test/testcases/bugs.exp new/crmsh-4.0.0+git.1542103310.dd114188/test/testcases/bugs.exp --- old/crmsh-4.0.0+git.1539006450.f80a6308/test/testcases/bugs.exp 2018-10-08 15:47:30.000000000 +0200 +++ new/crmsh-4.0.0+git.1542103310.dd114188/test/testcases/bugs.exp 2018-11-13 11:01:50.000000000 +0100 @@ -5,7 +5,10 @@ .INP: configure .INP: erase .INP: primitive st stonith:null params hostlist='node1' meta description="some description here" requires=nothing op monitor interval=60m +.EXT crm_resource --show-metadata stonith:null +.EXT stonithd metadata .INP: primitive p4 Dummy +.EXT crm_resource --show-metadata ocf:heartbeat:Dummy .INP: primitive p3 Dummy .INP: primitive p2 Dummy .INP: primitive p1 Dummy @@ -36,9 +39,6 @@ clone cl-p5 p5 colocation c2 inf: ( p1 p2 ) p3 p4 .INP: commit -.EXT crm_resource --show-metadata stonith:null -.EXT stonithd metadata -.EXT crm_resource --show-metadata ocf:heartbeat:Dummy .INP: _test .INP: verify .INP: show @@ -61,6 +61,7 @@ .INP: up .INP: configure .INP: load update bugs-test.txt +.EXT crm_resource --show-metadata ocf:heartbeat:Dummy .INP: show node node1 primitive st stonith:null \ @@ -87,7 +88,6 @@ .INP: commit .EXT crm_resource --show-metadata stonith:null .EXT stonithd metadata -.EXT crm_resource --show-metadata ocf:heartbeat:Dummy .INP: _test .INP: verify .TRY Unknown properties @@ -97,6 +97,8 @@ INFO: 2: constraint colocation:c2 updated INFO: 2: modified location:loc1 from g1 to gr2 .INP: primitive st stonith:null params hostlist='node1' meta description="some description here" requires=nothing op monitor interval=60m +.EXT crm_resource --show-metadata stonith:null +.EXT stonithd metadata .INP: property SAPHanaSR: hana_ha1_site_lss_WDF1=4 .INP: show node node1 @@ -107,8 +109,6 @@ property SAPHanaSR: \ hana_ha1_site_lss_WDF1=4 .INP: commit -.EXT crm_resource --show-metadata stonith:null -.EXT stonithd metadata .INP: _test .INP: verify .INP: property SAPHanaSR_2: hana_ha1_site_iss_WDF1=cde hana_ha1_site_bss_WDF1=abc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.0.0+git.1539006450.f80a6308/test/testcases/bundle.exp new/crmsh-4.0.0+git.1542103310.dd114188/test/testcases/bundle.exp --- old/crmsh-4.0.0+git.1539006450.f80a6308/test/testcases/bundle.exp 2018-10-08 15:47:30.000000000 +0200 +++ new/crmsh-4.0.0+git.1542103310.dd114188/test/testcases/bundle.exp 2018-11-13 11:01:50.000000000 +0100 @@ -8,16 +8,16 @@ .INP: node node1 attributes mem=16G .INP: node node2 utilization cpu=4 .INP: primitive st stonith:ssh params hostlist='node1 node2' meta target-role="Started" requires=nothing op start timeout=60s op monitor interval=60m timeout=60s +.EXT crm_resource --show-metadata stonith:ssh +.EXT stonithd metadata .INP: primitive st2 stonith:ssh params hostlist='node1 node2' .INP: bundle id=bundle-test1 docker image=test network ip-range-start=10.10.10.123 port-mapping id=port1 port=80 storage storage-mapping id=storage1 target-dir=test source-dir=test meta target-role=Stopped .INP: primitive id=dummy ocf:heartbeat:Dummy op monitor interval=10 meta target-role=Stopped +.EXT crm_resource --show-metadata ocf:heartbeat:Dummy .INP: bundle id=bundle-test2 docker image=test network ip-range-start=10.10.10.123 primitive dummy meta target-role=Stopped priority=1 .INP: property stonith-enabled=true .INP: _test .INP: verify -.EXT crm_resource --show-metadata stonith:ssh -.EXT stonithd metadata -.EXT crm_resource --show-metadata ocf:heartbeat:Dummy .EXT crmd metadata .EXT pengine metadata .EXT cib metadata diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.0.0+git.1539006450.f80a6308/test/testcases/commit.exp new/crmsh-4.0.0+git.1542103310.dd114188/test/testcases/commit.exp --- old/crmsh-4.0.0+git.1539006450.f80a6308/test/testcases/commit.exp 2018-10-08 15:47:30.000000000 +0200 +++ new/crmsh-4.0.0+git.1542103310.dd114188/test/testcases/commit.exp 2018-11-13 11:01:50.000000000 +0100 @@ -5,12 +5,13 @@ .INP: erase nodes .INP: op_defaults timeout=2m .INP: primitive st stonith:null params hostlist='node1' meta yoyo-meta="yoyo 2" requires=nothing op monitor interval=60m -.INP: commit .EXT crm_resource --show-metadata stonith:null .EXT stonithd metadata +.INP: commit WARNING: 7: st: unknown attribute 'yoyo-meta' .INP: node node1 attributes mem=16G .INP: primitive p1 ocf:heartbeat:Dummy op monitor interval=60m op monitor interval=120m OCF_CHECK_LEVEL=10 +.EXT crm_resource --show-metadata ocf:heartbeat:Dummy .INP: primitive p2 ocf:heartbeat:Dummy .INP: primitive p3 ocf:heartbeat:Dummy .INP: group g1 p1 p2 @@ -22,7 +23,6 @@ .INP: primitive d2 ocf:heartbeat:Dummy .INP: primitive d3 ocf:heartbeat:Dummy .INP: commit -.EXT crm_resource --show-metadata ocf:heartbeat:Dummy .INP: rename p3 pp3 INFO: 21: modified location:l1 from p3 to pp3 INFO: 21: modified order:o1 from p3 to pp3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.0.0+git.1539006450.f80a6308/test/testcases/confbasic.exp new/crmsh-4.0.0+git.1542103310.dd114188/test/testcases/confbasic.exp --- old/crmsh-4.0.0+git.1539006450.f80a6308/test/testcases/confbasic.exp 2018-10-08 15:47:30.000000000 +0200 +++ new/crmsh-4.0.0+git.1542103310.dd114188/test/testcases/confbasic.exp 2018-11-13 11:01:50.000000000 +0100 @@ -8,10 +8,14 @@ .INP: node node1 attributes mem=16G .INP: node node2 utilization cpu=4 .INP: primitive st stonith:ssh params hostlist='node1 node2' meta target-role="Started" op start timeout=60s op monitor interval=60m timeout=60s +.EXT crm_resource --show-metadata stonith:ssh +.EXT stonithd metadata .INP: primitive st2 stonith:ssh params hostlist='node1 node2' .INP: primitive d1 ocf:pacemaker:Dummy operations $id=d1-ops op monitor interval=60m op monitor interval=120m OCF_CHECK_LEVEL=10 +.EXT crm_resource --show-metadata ocf:pacemaker:Dummy .INP: monitor d1 60s:30s .INP: primitive d2 ocf:heartbeat:Delay params mondelay=60 op start timeout=60s op stop timeout=60s +.EXT crm_resource --show-metadata ocf:heartbeat:Delay .INP: monitor d2:Started 60s:30s .INP: group g1 d1 d2 .INP: primitive d3 ocf:pacemaker:Dummy @@ -21,10 +25,12 @@ .INP: delete m .INP: master m d4 .INP: primitive s5 ocf:pacemaker:Stateful operations $id-ref=d1-ops +.EXT crm_resource --show-metadata ocf:pacemaker:Stateful .INP: primitive s6 ocf:pacemaker:Stateful operations $id-ref=d1 .INP: ms m5 s5 .INP: ms m6 s6 .INP: primitive d7 Dummy params rule inf: #uname eq node1 fake=1 params rule inf: #uname eq node2 fake=2 op start interval=0 timeout=60s op_params 2: rule #uname eq node1 op_param=dummy op_params 1: op_param=smart op_meta 2: rule #ra-version version:gt 1.0 start-delay=120m op_meta 1: start-delay=60m +.EXT crm_resource --show-metadata ocf:heartbeat:Dummy .INP: location l1 g1 100: node1 .INP: location l2 c rule $id=l2-rule1 100: #uname eq node1 .INP: location l3 m5 rule inf: #uname eq node1 and pingd gt 0 @@ -50,12 +56,6 @@ .INP: set d2.mondelay 45 .INP: _test .INP: verify -.EXT crm_resource --show-metadata stonith:ssh -.EXT stonithd metadata -.EXT crm_resource --show-metadata ocf:pacemaker:Dummy -.EXT crm_resource --show-metadata ocf:heartbeat:Delay -.EXT crm_resource --show-metadata ocf:pacemaker:Stateful -.EXT crm_resource --show-metadata ocf:heartbeat:Dummy WARNING: 51: c2: resource d1 is grouped, constraints should apply to the group .EXT crmd metadata .EXT pengine metadata diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.0.0+git.1539006450.f80a6308/test/testcases/delete.exp new/crmsh-4.0.0+git.1542103310.dd114188/test/testcases/delete.exp --- old/crmsh-4.0.0+git.1539006450.f80a6308/test/testcases/delete.exp 2018-10-08 15:47:30.000000000 +0200 +++ new/crmsh-4.0.0+git.1542103310.dd114188/test/testcases/delete.exp 2018-11-13 11:01:50.000000000 +0100 @@ -6,7 +6,10 @@ .INP: node node1 .INP: # create one stonith so that verify does not complain .INP: primitive st stonith:ssh params hostlist='node1' meta target-role="Started" op start timeout=60s op monitor interval=60m timeout=60s +.EXT crm_resource --show-metadata stonith:ssh +.EXT stonithd metadata .INP: primitive d1 ocf:pacemaker:Dummy +.EXT crm_resource --show-metadata ocf:pacemaker:Dummy .INP: primitive d2 ocf:pacemaker:Dummy .INP: location d1-pref d1 100: node1 .INP: show @@ -87,9 +90,6 @@ op monitor interval=60m timeout=60s location d1-pref d1 100: node1 .INP: verify -.EXT crm_resource --show-metadata stonith:ssh -.EXT stonithd metadata -.EXT crm_resource --show-metadata ocf:pacemaker:Dummy .INP: # delete a group which is in a clone .INP: primitive d2 ocf:pacemaker:Dummy .INP: group g1 d2 d1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.0.0+git.1539006450.f80a6308/test/testcases/edit.exp new/crmsh-4.0.0+git.1542103310.dd114188/test/testcases/edit.exp --- old/crmsh-4.0.0+git.1539006450.f80a6308/test/testcases/edit.exp 2018-10-08 15:47:30.000000000 +0200 +++ new/crmsh-4.0.0+git.1542103310.dd114188/test/testcases/edit.exp 2018-11-13 11:01:50.000000000 +0100 @@ -6,7 +6,10 @@ .INP: op_defaults timeout=2m .INP: node node1 attributes mem=16G .INP: primitive st stonith:null params hostlist='node1' meta description="some description here" requires=nothing op monitor interval=60m +.EXT crm_resource --show-metadata stonith:null +.EXT stonithd metadata .INP: primitive p1 ocf:heartbeat:Dummy op monitor interval=60m op monitor interval=120m OCF_CHECK_LEVEL=10 +.EXT crm_resource --show-metadata ocf:heartbeat:Dummy .INP: filter "sed '$aprimitive p2 ocf:heartbeat:Dummy'" .INP: filter "sed '$agroup g1 p1 p2'" .INP: show @@ -126,9 +129,6 @@ order o-d456 d4 d5 d6 .INP: _test .INP: verify -.EXT crm_resource --show-metadata stonith:null -.EXT stonithd metadata -.EXT crm_resource --show-metadata ocf:heartbeat:Dummy .EXT crmd metadata .EXT pengine metadata .EXT cib metadata diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.0.0+git.1539006450.f80a6308/test/testcases/newfeatures.exp new/crmsh-4.0.0+git.1542103310.dd114188/test/testcases/newfeatures.exp --- old/crmsh-4.0.0+git.1539006450.f80a6308/test/testcases/newfeatures.exp 2018-10-08 15:47:30.000000000 +0200 +++ new/crmsh-4.0.0+git.1542103310.dd114188/test/testcases/newfeatures.exp 2018-11-13 11:01:50.000000000 +0100 @@ -6,7 +6,10 @@ .INP: node node1 .INP: # create one stonith so that verify does not complain .INP: primitive st stonith:ssh params hostlist='node1' meta target-role="Started" requires=nothing op start timeout=60s op monitor interval=60m timeout=60s +.EXT crm_resource --show-metadata stonith:ssh +.EXT stonithd metadata .INP: primitive p0 Dummy params $p0-state:state=1 +.EXT crm_resource --show-metadata ocf:heartbeat:Dummy .INP: primitive p1 Dummy params rule role=Started date in start=2009-05-26 end=2010-05-26 or date gt 2014-01-01 state=2 .INP: primitive p2 Dummy params @p0-state .INP: property rule #uname eq node1 stonith-enabled=no @@ -47,9 +50,6 @@ to 192.168.40.9 .INP: _test .INP: verify -.EXT crm_resource --show-metadata stonith:ssh -.EXT stonithd metadata -.EXT crm_resource --show-metadata ocf:heartbeat:Dummy .EXT crmd metadata .EXT pengine metadata .EXT cib metadata diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.0.0+git.1539006450.f80a6308/test/testcases/resource.exp new/crmsh-4.0.0+git.1542103310.dd114188/test/testcases/resource.exp --- old/crmsh-4.0.0+git.1539006450.f80a6308/test/testcases/resource.exp 2018-10-08 15:47:30.000000000 +0200 +++ new/crmsh-4.0.0+git.1542103310.dd114188/test/testcases/resource.exp 2018-11-13 11:01:50.000000000 +0100 @@ -829,11 +829,11 @@ .EXT crm_resource --show-metadata ocf:pacemaker:Dummy .EXT crm_resource --show-metadata ocf:heartbeat:Delay .TRY configure primitive p3 Dummy +.EXT crm_resource --show-metadata ocf:heartbeat:Dummy .EXT crm_resource --show-metadata stonith:null .EXT stonithd metadata .EXT crm_resource --show-metadata ocf:pacemaker:Dummy .EXT crm_resource --show-metadata ocf:heartbeat:Delay -.EXT crm_resource --show-metadata ocf:heartbeat:Dummy .TRY resource stop p3 .TRY resource start p3 .TRY resource cleanup diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.0.0+git.1539006450.f80a6308/test/testcases/rset.exp new/crmsh-4.0.0+git.1542103310.dd114188/test/testcases/rset.exp --- old/crmsh-4.0.0+git.1539006450.f80a6308/test/testcases/rset.exp 2018-10-08 15:47:30.000000000 +0200 +++ new/crmsh-4.0.0+git.1542103310.dd114188/test/testcases/rset.exp 2018-11-13 11:01:50.000000000 +0100 @@ -5,8 +5,12 @@ .INP: erase nodes .INP: node node1 .INP: primitive st stonith:ssh params hostlist='node1' op start timeout=60s +.EXT crm_resource --show-metadata stonith:ssh +.EXT stonithd metadata .INP: primitive d1 ocf:pacemaker:Dummy +.EXT crm_resource --show-metadata ocf:pacemaker:Dummy .INP: primitive d2 ocf:heartbeat:Dummy +.EXT crm_resource --show-metadata ocf:heartbeat:Dummy .INP: primitive d3 ocf:heartbeat:Dummy .INP: primitive d4 ocf:heartbeat:Dummy .INP: primitive d5 ocf:heartbeat:Dummy @@ -36,10 +40,6 @@ order o1 Serialize: d1 d3 .INP: _test .INP: verify -.EXT crm_resource --show-metadata stonith:ssh -.EXT stonithd metadata -.EXT crm_resource --show-metadata ocf:pacemaker:Dummy -.EXT crm_resource --show-metadata ocf:heartbeat:Dummy .INP: show node node1 primitive d1 ocf:pacemaker:Dummy diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.0.0+git.1539006450.f80a6308/test/unit-tests-in-container.sh new/crmsh-4.0.0+git.1542103310.dd114188/test/unit-tests-in-container.sh --- old/crmsh-4.0.0+git.1539006450.f80a6308/test/unit-tests-in-container.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/crmsh-4.0.0+git.1542103310.dd114188/test/unit-tests-in-container.sh 2018-11-13 11:01:50.000000000 +0100 @@ -0,0 +1,22 @@ +#!/bin/sh + +oname=$1 +ogroup=$2 +ouid=$3 +ogid=$4 + +cat /etc/group | awk '{ FS = ":" } { print $3 }' | grep -q "$ogid" || groupadd -g "$ogid" +id -u $oname >/dev/null 2>&1 || useradd -u $ouid -g $ogid $oname + +preamble() { + systemctl start dbus +} + +unit_tests() { + echo "** Unit tests" + su $oname -c "./test/run -v" +} + +preamble +unit_tests + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.0.0+git.1539006450.f80a6308/test/unittests/test_cliformat.py new/crmsh-4.0.0+git.1542103310.dd114188/test/unittests/test_cliformat.py --- old/crmsh-4.0.0+git.1539006450.f80a6308/test/unittests/test_cliformat.py 2018-10-08 15:47:30.000000000 +0200 +++ new/crmsh-4.0.0+git.1542103310.dd114188/test/unittests/test_cliformat.py 2018-11-13 11:01:50.000000000 +0100 @@ -62,6 +62,16 @@ roundtrip('order order_2 Mandatory: [ A B ] C') roundtrip('rsc_template public_vm Xen') +@with_setup(setup_func, teardown_func) +def test_normalize(): + """ + Test automatic normalization of parameter names: + "shutdown_timeout" is a parameter name, but + "shutdown-timeout" is not. + """ + roundtrip('primitive vm1 Xen params shutdown-timeout=0', + expected='primitive vm1 Xen params shutdown_timeout=0') + @with_setup(setup_func, teardown_func) def test_group(): @@ -303,12 +313,12 @@ @with_setup(setup_func, teardown_func) def test_is_value_sane(): - roundtrip('''primitive p1 dummy params state="bo'o"''') + roundtrip('''primitive p1 Dummy params state="bo'o"''') @with_setup(setup_func, teardown_func) def test_is_value_sane_2(): - roundtrip('primitive p1 dummy params state="bo\\"o"') + roundtrip('primitive p1 Dummy params state="bo\\"o"') @with_setup(setup_func, teardown_func)