Hello community, here is the log from the commit of package crmsh for openSUSE:Factory checked in at 2015-04-21 10:53:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/crmsh (Old) and /work/SRC/openSUSE:Factory/.crmsh.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "crmsh" Changes: -------- --- /work/SRC/openSUSE:Factory/crmsh/crmsh.changes 2015-04-10 10:20:38.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.crmsh.new/crmsh.changes 2015-04-21 10:53:41.000000000 +0200 @@ -1,0 +2,15 @@ +Mon Apr 20 11:39:55 UTC 2015 - opensuse-packag...@opensuse.org + +- Update to version 2.2.0~rc2+git.1429514909.aaf77a6: + + high: crm_pssh: Explicitly set parallax inline option (krig/parallax#1) + +------------------------------------------------------------------- +Mon Apr 13 07:39:26 UTC 2015 - kgronl...@suse.com + +- Update to version 2.2.0~rc2+git.1428866384.7e5832c: + + low: ui_options: add alias list for show + + low: hb_report: Use crmsh config to find pengine/cib dirs (bsc#926377) + + medium: utils: Allow 1/0 as boolean values for parameters + + high: ui_configure: Add show-property command + +------------------------------------------------------------------- Old: ---- crmsh-2.2.0~rc2+git.1427980503.0475bf7.tar.bz2 New: ---- crmsh-2.2.0~rc2+git.1429514909.aaf77a6.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ crmsh.spec ++++++ --- /var/tmp/diff_new_pack.MCvykd/_old 2015-04-21 10:53:42.000000000 +0200 +++ /var/tmp/diff_new_pack.MCvykd/_new 2015-04-21 10:53:42.000000000 +0200 @@ -36,7 +36,7 @@ Summary: High Availability cluster command-line interface License: GPL-2.0+ Group: %{pkg_group} -Version: 2.2.0~rc2+git.1427980503.0475bf7 +Version: 2.2.0~rc2+git.1429514909.aaf77a6 Release: 0%{?crmsh_release}%{?dist} Url: http://crmsh.github.io Source0: %{name}-%{version}.tar.bz2 ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.MCvykd/_old 2015-04-21 10:53:42.000000000 +0200 +++ /var/tmp/diff_new_pack.MCvykd/_new 2015-04-21 10:53:42.000000000 +0200 @@ -1,4 +1,4 @@ <servicedata> <service name="tar_scm"> <param name="url">git://github.com/ClusterLabs/crmsh.git</param> - <param name="changesrevision">0475bf7a34557c88852a9d1f81b82781cafa487c</param></service></servicedata> \ No newline at end of file + <param name="changesrevision">aaf77a6a883d5a6fb2e798769aea8cafd1b31a74</param></service></servicedata> \ No newline at end of file ++++++ crmsh-2.2.0~rc2+git.1427980503.0475bf7.tar.bz2 -> crmsh-2.2.0~rc2+git.1429514909.aaf77a6.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc2+git.1427980503.0475bf7/doc/crm.8.adoc new/crmsh-2.2.0~rc2+git.1429514909.aaf77a6/doc/crm.8.adoc --- old/crmsh-2.2.0~rc2+git.1427980503.0475bf7/doc/crm.8.adoc 2015-04-02 16:01:48.000000000 +0200 +++ new/crmsh-2.2.0~rc2+git.1429514909.aaf77a6/doc/crm.8.adoc 2015-04-20 13:39:55.000000000 +0200 @@ -3461,7 +3461,12 @@ Usage: ............... -show [xml] [<id> | changed | type:<type> | tag:<id> | related:<obj> ...] +show [xml] [<id> + | changed + | type:<type> + | tag:<id> + | related:<obj> + ...] type :: node | primitive | group | clone | ms | rsc_template | location | colocation | order @@ -3480,6 +3485,34 @@ show related:webapp ............... +[[cmdhelp_configure_show_property,Show property value]] +==== `show-property` + +Show the value of the given property. If the value is not set, the +command will print the default value for the property, if known. + +If no property name is passed to the command, the list of known +cluster properties is printed. + +If the property is set multiple times, for example using multiple +property sets with different rule expressions, the output of this +command is undefined. + +Pass the argument +-t+ or +--true+ to `show-property` to translate +the argument value into +true+ or +false+. If the value is not +set, the command will print +false+. + +Usage: +............... +show-property [-t|--true] [<name>] +............... + +Example: +............... +show-property stonith-enabled +show-property -t maintenance-mode +............... + [[cmdhelp_configure_tag,Define resource tags]] ==== `tag` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc2+git.1427980503.0475bf7/doc/website-v1/index.adoc new/crmsh-2.2.0~rc2+git.1429514909.aaf77a6/doc/website-v1/index.adoc --- old/crmsh-2.2.0~rc2+git.1427980503.0475bf7/doc/website-v1/index.adoc 2015-04-02 16:01:48.000000000 +0200 +++ new/crmsh-2.2.0~rc2+git.1429514909.aaf77a6/doc/website-v1/index.adoc 2015-04-20 13:39:55.000000000 +0200 @@ -16,4 +16,9 @@ For more information, see the link:/documentation[Documentation]! +**Quick Links**: +* http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/[Stable Release Binaries] +* http://download.opensuse.org/repositories/network:/ha-clustering:/Factory/[Development Snapshots] +* https://github.com/ClusterLabs/crmsh/[Source Repository] +* http://crmsh.github.io/man/[Manual] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc2+git.1427980503.0475bf7/doc/website-v1/news/2015-04-10-release-2_1_3.adoc new/crmsh-2.2.0~rc2+git.1429514909.aaf77a6/doc/website-v1/news/2015-04-10-release-2_1_3.adoc --- old/crmsh-2.2.0~rc2+git.1427980503.0475bf7/doc/website-v1/news/2015-04-10-release-2_1_3.adoc 1970-01-01 01:00:00.000000000 +0100 +++ new/crmsh-2.2.0~rc2+git.1429514909.aaf77a6/doc/website-v1/news/2015-04-10-release-2_1_3.adoc 2015-04-20 13:39:55.000000000 +0200 @@ -0,0 +1,68 @@ +Announcing crmsh stable release 2.1.3 +===================================== +:Author: Kristoffer Gronlund +:Email: kgronl...@suse.com +:Date: 2015-04-10 12:30 + +Today we are proud to announce the release of `crmsh` version 2.1.3! +This version fixes all known issues found since the release of `crmsh` +2.1.2 in January. We recommend that all users of crmsh upgrade +to this version, especially if using Pacemaker 1.1.12 or newer. + +A massive thank you to everyone who has helped out with bug fixes, +comments and contributions for this release! + +For a complete list of changes since the previous version, please +refer to the changelog: + +* https://github.com/ClusterLabs/crmsh/blob/2.1.3/ChangeLog + +Packages for several popular Linux distributions can be downloaded +from the Stable repository at the OBS: + +* http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/ + +Archives of the tagged release: + +* https://github.com/ClusterLabs/crmsh/archive/2.1.3.tar.gz +* https://github.com/ClusterLabs/crmsh/archive/2.1.3.zip + +Changes since the previous release: + + - medium: parse: nvpair attributes with no value = <nvpair name=".."/> (#71) + - doc: Add link to clusterlabs.org + - medium: report: Convert RE exception to simpler UI output + - medium: report: Include transitions with configuration changes (bnc#917131) + - medium: config: Fix case-sensitivity for booleans + - medium: ra: Handle non-OCF agent meta-data better + - Medium: cibconf: preserve cib user attributes + - low: cibconfig: Improved debug output when schema change fails + - medium: parse: Treat pacemaker-next schema as 2.0+ + - medium: schema: Test if node type is optional via schema + - medium: schema: Remove extra debug output + - low: pacemaker: Remove debug output + - medium: cibconfig: If a change results in no diff, exit silently + - medium: cibconfig: Allow delete of objects that don't exist without returning error code + - medium: cibconfig: Allow removal of non-existing elements if --force is set + - low: allow (0,1) as option booleans + - low: allow pacemaker 1.0 version detection + - Low: hb_report: add -Q to usage + - Low: hb_report: add -X option for extra ssh options + - doc: Move the main crmsh repository to the ClusterLabs organization on github + - high: ui_configure: Remove acl_group command (bnc#921056) + - high: cibconfig: Don't delete valid tickets when removing referenced objects (bnc#922039) + - high: ui_context: Wait for DC after commit, not before (#85) + - medium: templates: Clearer descriptions for editing templates (boo#921028) + - high: cibconfig: Derive id for ops from referenced resource name (boo#921028) + - medium: ui_template: Always generate id unless explicitly defined (boo#921028) + - low: template: Add 'new <template>' shortcut + - medium: ui_template: Make new command more robust (bnc#924641) + - medium: parse: Disallow location rules without resources + - high: parse: Don't allow constraints without applicants + - medium: cliformat: Escape double-quotes in nvpair values + - low: hb_report: Use crmsh config to find pengine/cib dirs (bsc#926377) + - low: main: Catch any ValueErrors that may leak through + +Thank you, + +Kristoffer and Dejan diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc2+git.1427980503.0475bf7/doc/website-v1/news.adoc new/crmsh-2.2.0~rc2+git.1429514909.aaf77a6/doc/website-v1/news.adoc --- old/crmsh-2.2.0~rc2+git.1427980503.0475bf7/doc/website-v1/news.adoc 2015-04-02 16:01:48.000000000 +0200 +++ new/crmsh-2.2.0~rc2+git.1429514909.aaf77a6/doc/website-v1/news.adoc 2015-04-20 13:39:55.000000000 +0200 @@ -1,14 +1,15 @@ = News -link:/news/2015-01-26-release-2_1_2[2015-01-26 11:05] +link:/news/2015-04-10-release-2_1_3[2015-04-10 12:30] :leveloffset: 1 -include::news/2015-01-26-release-2_1_2.adoc[] +include::news/2015-04-10-release-2_1_3.adoc[] :leveloffset: 0 '''' +* link:/news/2015-01-26-release-2_1_2[2015-01-26 11:05 Announcing crmsh release 2.1.2] * link:/news/2014-10-28-release-2_1_1[2014-10-29 00:20 Announcing crmsh release 2.1.1] * link:/news/2014-06-30-release-2_1[2014-06-30 09:00 Announcing crmsh release 2.1] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc2+git.1427980503.0475bf7/hb_report/hb_report.in new/crmsh-2.2.0~rc2+git.1429514909.aaf77a6/hb_report/hb_report.in --- old/crmsh-2.2.0~rc2+git.1427980503.0475bf7/hb_report/hb_report.in 2015-04-02 16:01:48.000000000 +0200 +++ new/crmsh-2.2.0~rc2+git.1429514909.aaf77a6/hb_report/hb_report.in 2015-04-20 13:39:55.000000000 +0200 @@ -213,13 +213,11 @@ } # try to figure out where pacemaker ... etc get_pe_state_dir() { - PE_STATE_DIR=`strings $CRM_DAEMON_DIR/pengine | - awk 'NF==1&&/var\/lib\/.*pengine$/'` + PE_STATE_DIR=`python -c "import crmsh.config; print crmsh.config.path.pe_state_dir"` test -d "$PE_STATE_DIR" } get_cib_dir() { - CIB_DIR=`strings $CRM_DAEMON_DIR/crmd | - awk 'NF==1&&/var\/lib\/.*(cib|crm)$/'` + CIB_DIR=`python -c "import crmsh.config; print crmsh.config.path.crm_config"` test -d "$CIB_DIR" } get_pe_state_dir2() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc2+git.1427980503.0475bf7/modules/cibconfig.py new/crmsh-2.2.0~rc2+git.1429514909.aaf77a6/modules/cibconfig.py --- old/crmsh-2.2.0~rc2+git.1427980503.0475bf7/modules/cibconfig.py 2015-04-02 16:01:48.000000000 +0200 +++ new/crmsh-2.2.0~rc2+git.1429514909.aaf77a6/modules/cibconfig.py 2015-04-20 13:39:55.000000000 +0200 @@ -2040,10 +2040,10 @@ def get_default_timeout(): t = cib_factory.get_op_default("timeout") - if t: + if t is not None: return t t = cib_factory.get_property("default-action-timeout") - if t: + if t is not None: return t try: return get_pe_meta().param_default("default-action-timeout") @@ -2226,8 +2226,13 @@ cib_ver_unsupported_err(validator, req) return False - def upgrade_cib_06to10(self, force=False): - 'Upgrade the CIB from 0.6 to 1.0.' + def upgrade_validate_with(self, force=False): + """Upgrade the CIB. + + Requires the force argument to be set if + validate-with is configured to anything other than + 0.6. + """ if not self.is_cib_sane(): return False validator = self.cib_elem.get("validate-with") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc2+git.1427980503.0475bf7/modules/crm_pssh.py new/crmsh-2.2.0~rc2+git.1429514909.aaf77a6/modules/crm_pssh.py --- old/crmsh-2.2.0~rc2+git.1427980503.0475bf7/modules/crm_pssh.py 2015-04-02 16:01:48.000000000 +0200 +++ new/crmsh-2.2.0~rc2+git.1429514909.aaf77a6/modules/crm_pssh.py 2015-04-20 13:39:55.000000000 +0200 @@ -33,6 +33,7 @@ opts = Options() opts.timeout = t opts.quiet = True + opts.inline = False opts.outdir = outdir opts.errdir = errdir return opts diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc2+git.1427980503.0475bf7/modules/scripts.py new/crmsh-2.2.0~rc2+git.1429514909.aaf77a6/modules/scripts.py --- old/crmsh-2.2.0~rc2+git.1427980503.0475bf7/modules/scripts.py 2015-04-02 16:01:48.000000000 +0200 +++ new/crmsh-2.2.0~rc2+git.1429514909.aaf77a6/modules/scripts.py 2015-04-20 13:39:55.000000000 +0200 @@ -259,6 +259,7 @@ def _make_options(params): "Setup pssh options." opts = pssh.Options() + opts.inline = True opts.timeout = int(params['timeout']) opts.recursive = True opts.ssh_options += [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc2+git.1427980503.0475bf7/modules/ui_configure.py new/crmsh-2.2.0~rc2+git.1429514909.aaf77a6/modules/ui_configure.py --- old/crmsh-2.2.0~rc2+git.1427980503.0475bf7/modules/ui_configure.py 2015-04-02 16:01:48.000000000 +0200 +++ new/crmsh-2.2.0~rc2+git.1429514909.aaf77a6/modules/ui_configure.py 2015-04-20 13:39:55.000000000 +0200 @@ -313,6 +313,38 @@ set_obj = mkset_obj(*args) return set_obj.show() + @command.name("show-property") + @command.alias("show_property") + @command.skill_level('administrator') + @command.completers_repeating(compl.call(ra.get_properties_list)) + def do_show_property(self, context, *args): + "usage: show-property [-t|--true [<name>...]" + properties = [a for a in args if a not in ('-t', '--true')] + truth = any(a for a in args if a in ('-t', '--true')) + + if not properties: + utils.multicolumn(ra.get_properties_list()) + return + + def print_value(v): + if truth: + print utils.canonical_boolean(v) + else: + print v + for p in properties: + v = cib_factory.get_property(p) + if v is None: + try: + v = ra.get_properties_meta().param_default(p) + except: + pass + if v is not None: + print_value(v) + elif truth: + print "false" + else: + context.fatal_error("%s: Property not set" % (p)) + @command.skill_level('administrator') @command.completers_repeating(compl.null, _id_xml_list, _id_list) def do_filter(self, context, filterprog, *args): @@ -587,12 +619,8 @@ def do_upgrade(self, context, force=None): "usage: upgrade [force]" if force and force != "force": - syntax_err((context.get_command_name(), force)) - return False - if config.core.force or force: - return cib_factory.upgrade_cib_06to10(True) - else: - return cib_factory.upgrade_cib_06to10() + context.fatal_error("Expected 'force' or no argument") + return cib_factory.upgrade_validate_with(force=config.core.force or force) @command.skill_level('administrator') def do_schema(self, context, schema_st=None): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc2+git.1427980503.0475bf7/modules/ui_options.py new/crmsh-2.2.0~rc2+git.1429514909.aaf77a6/modules/ui_options.py --- old/crmsh-2.2.0~rc2+git.1427980503.0475bf7/modules/ui_options.py 2015-04-02 16:01:48.000000000 +0200 +++ new/crmsh-2.2.0~rc2+git.1429514909.aaf77a6/modules/ui_options.py 2015-04-20 13:39:55.000000000 +0200 @@ -159,6 +159,7 @@ "usage: manage-children <option>" return _legacy_set_pref("manage-children", opt) + @command.alias('list') @command.completers(completers.choice(config.get_all_options())) def do_show(self, context, option=None): "usage: show [all | <option>]" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc2+git.1427980503.0475bf7/modules/utils.py new/crmsh-2.2.0~rc2+git.1429514909.aaf77a6/modules/utils.py --- old/crmsh-2.2.0~rc2+git.1427980503.0475bf7/modules/utils.py 2015-04-02 16:01:48.000000000 +0200 +++ new/crmsh-2.2.0~rc2+git.1429514909.aaf77a6/modules/utils.py 2015-04-20 13:39:55.000000000 +0200 @@ -167,16 +167,16 @@ def verify_boolean(opt): - return opt.lower() in ("yes", "true", "on") or \ - opt.lower() in ("no", "false", "off") + return opt.lower() in ("yes", "true", "on", "1") or \ + opt.lower() in ("no", "false", "off", "0") def is_boolean_true(opt): - return opt.lower() in ("yes", "true", "on") + return opt.lower() in ("yes", "true", "on", "1") def is_boolean_false(opt): - return opt.lower() in ("no", "false", "off") + return opt.lower() in ("no", "false", "off", "0") def get_boolean(opt, dflt=False): @@ -841,6 +841,16 @@ return proc.returncode == 0 +def print_stacktrace(): + """ + Print the stack at the site of call + """ + import traceback + import inspect + sf = inspect.currentframe().f_back.f_back + traceback.print_stack(sf) + + @memoize def cluster_stack(): if is_process("heartbeat:.[m]aster"):