Hello community, here is the log from the commit of package crmsh for openSUSE:Factory checked in at 2016-05-05 12:12:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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 2016-04-28 16:59:01.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.crmsh.new/crmsh.changes 2016-05-05 12:12:22.000000000 +0200 @@ -1,0 +2,10 @@ +Tue May 03 14:19:08 UTC 2016 - [email protected] + +- Update to version 2.2.0+git.1462285059.d79cd0d: + + high: ui_root: Add crm verify command + + medium: hb_report: Fix broken -S option (#137) + + low: hb_report: Fix spurious error on missing events.txt + + low: scripts: Note SBD recommendation in vmware script (fate#318320) + + low: scripts: Note SBD recommendation in libvirt script (fate#318320) + +------------------------------------------------------------------- @@ -69 +79 @@ - + high: history: Faster log parsing (bsc#920278) + + high: history: Faster log parsing (bsc#970278) Old: ---- crmsh-2.2.0+git.1461246131.bf3c265.tar.bz2 New: ---- crmsh-2.2.0+git.1462285059.d79cd0d.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ crmsh.spec ++++++ --- /var/tmp/diff_new_pack.TmGExt/_old 2016-05-05 12:12:23.000000000 +0200 +++ /var/tmp/diff_new_pack.TmGExt/_new 2016-05-05 12:12:23.000000000 +0200 @@ -32,13 +32,13 @@ %{!?python_sitelib: %define python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} -%define version_unconverted 2.2.0+git.1461246131.bf3c265 +%define version_unconverted 2.2.0+git.1462285059.d79cd0d Name: crmsh Summary: High Availability cluster command-line interface License: GPL-2.0+ Group: %{pkg_group} -Version: 2.2.0+git.1461246131.bf3c265 +Version: 2.2.0+git.1462285059.d79cd0d Release: 0 Url: http://crmsh.github.io Source0: %{name}-%{version}.tar.bz2 ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.TmGExt/_old 2016-05-05 12:12:23.000000000 +0200 +++ /var/tmp/diff_new_pack.TmGExt/_new 2016-05-05 12:12:23.000000000 +0200 @@ -1,4 +1,4 @@ <servicedata> <service name="tar_scm"> <param name="url">git://github.com/ClusterLabs/crmsh.git</param> - <param name="changesrevision">bf3c265508ce63bf1eb9c873534c29cfa488420d</param></service></servicedata> \ No newline at end of file + <param name="changesrevision">d79cd0db97b99ccb6d4dbbe9797917c18a4982aa</param></service></servicedata> \ No newline at end of file ++++++ crmsh-2.2.0+git.1461246131.bf3c265.tar.bz2 -> crmsh-2.2.0+git.1462285059.d79cd0d.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0+git.1461246131.bf3c265/.gitignore new/crmsh-2.2.0+git.1462285059.d79cd0d/.gitignore --- old/crmsh-2.2.0+git.1461246131.bf3c265/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/crmsh-2.2.0+git.1462285059.d79cd0d/.gitignore 2016-05-03 16:17:39.000000000 +0200 @@ -0,0 +1,19 @@ +*.pyc +*~ +#*.*# +.#* +doc/website-v1/gen +Makefile.in +autom4te.cache +patches/* + +# Tool specific files +.README.md.html +.*.*~ +.project +.settings +.pydevproject + +contrib/build/ +contrib/dist/ +contrib/pygments_crmsh_lexers.egg-info/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0+git.1461246131.bf3c265/.hgignore new/crmsh-2.2.0+git.1462285059.d79cd0d/.hgignore --- old/crmsh-2.2.0+git.1461246131.bf3c265/.hgignore 1970-01-01 01:00:00.000000000 +0100 +++ new/crmsh-2.2.0+git.1462285059.d79cd0d/.hgignore 2016-05-03 16:17:39.000000000 +0200 @@ -0,0 +1,7 @@ +syntax: glob + +*.pyc +*~ +#*.*# +doc/gen + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0+git.1461246131.bf3c265/README.md new/crmsh-2.2.0+git.1462285059.d79cd0d/README.md --- old/crmsh-2.2.0+git.1461246131.bf3c265/README.md 2016-04-21 15:46:53.000000000 +0200 +++ new/crmsh-2.2.0+git.1462285059.d79cd0d/README.md 2016-05-03 16:17:39.000000000 +0200 @@ -1,6 +1,7 @@ # crmsh [](https://travis-ci.org/ClusterLabs/crmsh) +[](https://landscape.io/github/ClusterLabs/crmsh/master) ## Introduction @@ -21,7 +22,13 @@ ## Installation -Autoconf is used to take care of platform dependent locations. It is mainly inherited from the Pacemaker source. +The GNU Autotools suite is used to configure the OCF root directory, +the Asciidoc tool which is used to generate documentation and the +default daemon user (usually hacluster). + +It then calls the python setuptools setup.py to actually process the +Python module sources and install into the Python system site-packages +directory. ```shell ./autogen.sh @@ -52,6 +59,14 @@ git clone https://github.com/ClusterLabs/crmsh ``` +There is a git `pre-commit` hook used to update the data-manifest +which lists all the data files to be installed. To install this, run + +```shell +cp contrib/git-hook-pre-commit .git/hooks/pre-commit +chmod +x .git/hooks/pre-commit +``` + ## Community * Bugs and issues can be reported at the [crmsh issues @ Github.com](https://github.com/clusterlabs/crmsh/issues) page. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0+git.1461246131.bf3c265/configure.ac new/crmsh-2.2.0+git.1462285059.d79cd0d/configure.ac --- old/crmsh-2.2.0+git.1461246131.bf3c265/configure.ac 2016-04-21 15:46:53.000000000 +0200 +++ new/crmsh-2.2.0+git.1462285059.d79cd0d/configure.ac 2016-05-03 16:17:39.000000000 +0200 @@ -8,7 +8,7 @@ AC_PREREQ([2.53]) -AC_INIT([crmsh],[2.2.0],[[email protected]]) +AC_INIT([crmsh],[2.3.0],[[email protected]]) AC_ARG_WITH(version, [ --with-version=version Override package version (if you're a packager needing to pretend) ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0+git.1461246131.bf3c265/crm new/crmsh-2.2.0+git.1462285059.d79cd0d/crm --- old/crmsh-2.2.0+git.1461246131.bf3c265/crm 2016-04-21 15:46:53.000000000 +0200 +++ new/crmsh-2.2.0+git.1462285059.d79cd0d/crm 2016-05-03 16:17:39.000000000 +0200 @@ -1,8 +1,22 @@ #!/usr/bin/python # +# crmsh, command line interface for Linux HA clusters # Copyright (C) 2008-2015 Dejan Muhamedagic <[email protected]> # Copyright (C) 2013-2015 Kristoffer Gronlund <[email protected]> -# See COPYING for license information. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # import sys diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0+git.1461246131.bf3c265/crmsh/cmd_status.py new/crmsh-2.2.0+git.1462285059.d79cd0d/crmsh/cmd_status.py --- old/crmsh-2.2.0+git.1461246131.bf3c265/crmsh/cmd_status.py 2016-04-21 15:46:53.000000000 +0200 +++ new/crmsh-2.2.0+git.1462285059.d79cd0d/crmsh/cmd_status.py 2016-05-03 16:17:39.000000000 +0200 @@ -118,3 +118,24 @@ utils.page_string(CrmMonFilter()(s)) return True + + +def cmd_verify(args): + ''' + Calls crm_verify -LV; ptest -L -VVVV + ''' + from . import config + from . import clidisplay + if "ptest" in config.core.ptest: + cmd1 = "crm_verify -LV; %s -L -VVVV" % (config.core.ptest) + else: + cmd1 = "crm_verify -LV; %s -LjV" % (config.core.ptest) + + if "scores" in args: + cmd1 += " -s" + + cmd1 = utils.add_sudo(cmd1) + rc, s, e = utils.get_stdout_stderr(cmd1) + e = '\n'.join(clidisplay.error(l) for l in e.split('\n')).strip() + utils.page_string("\n".join((s, e))) + return rc == 0 and not e diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0+git.1461246131.bf3c265/crmsh/ui_root.py new/crmsh-2.2.0+git.1462285059.d79cd0d/crmsh/ui_root.py --- old/crmsh-2.2.0+git.1461246131.bf3c265/crmsh/ui_root.py 2016-04-21 15:46:53.000000000 +0200 +++ new/crmsh-2.2.0+git.1462285059.d79cd0d/crmsh/ui_root.py 2016-05-03 16:17:39.000000000 +0200 @@ -181,6 +181,19 @@ def do_status(self, context, *args): return cmd_status.cmd_status(args) + @command.help('''Verify cluster state +Performs basic checks for the cluster configuration and +current status, reporting potential issues. + +Usage: +................. +verify [scores] +................. +''') + def do_verify(self, context, *args): + return cmd_status.cmd_verify(args) + + # this will initialize _children for all levels under the root Root.init_ui() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0+git.1461246131.bf3c265/doc/crm.8.adoc new/crmsh-2.2.0+git.1462285059.d79cd0d/doc/crm.8.adoc --- old/crmsh-2.2.0+git.1461246131.bf3c265/doc/crm.8.adoc 2016-04-21 15:46:53.000000000 +0200 +++ new/crmsh-2.2.0+git.1462285059.d79cd0d/doc/crm.8.adoc 2016-05-03 16:17:39.000000000 +0200 @@ -1,5 +1,5 @@ :man source: crm -:man version: 2.2.0 +:man version: 2.3.0 :man manual: crmsh documentation crm(8) @@ -892,6 +892,26 @@ | brief ............... +[[cmdhelp_root_verify,Verify cluster status]] +=== `verify` + +Performs basic checks for the cluster configuration and +current status, reporting potential issues. + +See `crm_verify(8)` and `crm_simulate(8)` for more details. + +Example: +............... +verify +verify scores +............... + +Usage: +............... +verify [scores] +............... + + [[cmdhelp_cluster,Cluster setup and management]] === `cluster` - Cluster setup and management diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0+git.1461246131.bf3c265/doc/website-v1/index.adoc new/crmsh-2.2.0+git.1462285059.d79cd0d/doc/website-v1/index.adoc --- old/crmsh-2.2.0+git.1461246131.bf3c265/doc/website-v1/index.adoc 2016-04-21 15:46:53.000000000 +0200 +++ new/crmsh-2.2.0+git.1462285059.d79cd0d/doc/website-v1/index.adoc 2016-05-03 16:17:39.000000000 +0200 @@ -18,6 +18,6 @@ insight into the state of your cluster. * https://github.com/ClusterLabs/crmsh/[Source Code] -* http://crmsh.github.io/man-2.0/[Reference Manual (v2.2.0)] +* http://crmsh.github.io/man-2.0/[Reference Manual (v2.2.1)] * https://build.opensuse.org/package/show/network:ha-clustering:Stable/crmsh[Packages] * http://clusterlabs.org[Cluster Labs] \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0+git.1461246131.bf3c265/doc/website-v1/man-2.0.adoc new/crmsh-2.2.0+git.1462285059.d79cd0d/doc/website-v1/man-2.0.adoc --- old/crmsh-2.2.0+git.1461246131.bf3c265/doc/website-v1/man-2.0.adoc 2016-04-21 15:46:53.000000000 +0200 +++ new/crmsh-2.2.0+git.1462285059.d79cd0d/doc/website-v1/man-2.0.adoc 2016-05-03 16:17:39.000000000 +0200 @@ -1,5 +1,5 @@ :man source: crm -:man version: 2.2.0 +:man version: 2.2.1 :man manual: crmsh documentation crm(8) @@ -97,6 +97,11 @@ Extra directory where crm looks for cluster scripts, or a list of directories separated by semi-colons (e.g. +/dir1;/dir2;etc.+). +*-o, --opt*='OPTION=VALUE':: + Set crmsh option temporarily. If the options are saved using + +options save+ then the value passed here will also be saved. + Multiple options can be set by using +-o+ multiple times. + [[topics_Introduction,Introduction]] == Introduction @@ -1211,7 +1216,7 @@ Usage: ......... -add-node <addr> +add-node <addr> [name] ......... [[cmdhelp_corosync_del-node,Remove a corosync node]] @@ -2085,6 +2090,21 @@ ready [<node>] ............... +[[cmdhelp_node_server,show node hostname or server address]] +==== `server` + +Remote nodes may have a configured server address which should +be used when contacting the node. This command prints the +server address if configured, else the node name. + +If no parameter is given, the adresses or names for all nodes +are printed. + +Usage: +............... +server [<node> ...] +............... + [[cmdhelp_node_show,show node]] ==== `show` @@ -2936,8 +2956,11 @@ Load a part of configuration (or all of it) from a local file or a network URL. The +replace+ method replaces the current -configuration with the one from the source. The +update+ tries to -import the contents into the current configuration. +configuration with the one from the source. The +update+ method +tries to import the contents into the current configuration. The ++push+ method imports the contents into the current configuration +and removes any lines that are not present in the given +configuration. The file may be a CLI file or an XML file. If the URL is `-`, the configuration is read from standard input. @@ -2946,12 +2969,13 @@ ............... load [xml] <method> URL -method :: replace | update +method :: replace | update | push ............... Example: ............... load xml update myfirstcib.xml load xml replace http://storage.big.com/cibs/bigcib.xml +load xml push smallcib.xml ............... [[cmdhelp_configure_location,a location preference]] @@ -3653,6 +3677,11 @@ example, to show both the tag itself and the objects tagged by it the following combination can be used: +show tag:my-tag my-tag+. +To refine a selection of objects using multiple modifiers, the keywords ++and+ and +or+ can be used. For example, to select all primitives tagged ++foo+, the following combination can be used: ++show type:primitive and tag:foo+. + Usage: ............... show [xml] [<id> @@ -3679,8 +3708,8 @@ show related:webapp ............... -[[cmdhelp_configure_show_property,Show property value]] -==== `show-property` +[[cmdhelp_configure_get_property,Get property value]] +==== `get-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. @@ -3692,19 +3721,19 @@ property sets with different rule expressions, the output of this command is undefined. -Pass the argument +-t+ or +--true+ to `show-property` to translate +Pass the argument +-t+ or +--true+ to `get-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>] +get-property [-t|--true] [<name>] ............... Example: ............... -show-property stonith-enabled -show-property -t maintenance-mode +get-property stonith-enabled +get-property -t maintenance-mode ............... [[cmdhelp_configure_tag,Define resource tags]] @@ -4765,6 +4794,22 @@ transition save 0 enigma-22 ............... +[[cmdhelp_history_transitions,List transitions]] +==== `transitions` + +A transition represents a change in cluster configuration or +state. This command lists the transitions in the current timeframe. + +Usage: +............... +transitions +............... +Example: +............... +transitions +............... + + [[cmdhelp_history_wdiff,cluster states/transitions difference]] ==== `wdiff` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0+git.1461246131.bf3c265/doc/website-v1/news/2016-04-28-release-2_2_1.adoc new/crmsh-2.2.0+git.1462285059.d79cd0d/doc/website-v1/news/2016-04-28-release-2_2_1.adoc --- old/crmsh-2.2.0+git.1461246131.bf3c265/doc/website-v1/news/2016-04-28-release-2_2_1.adoc 1970-01-01 01:00:00.000000000 +0100 +++ new/crmsh-2.2.0+git.1462285059.d79cd0d/doc/website-v1/news/2016-04-28-release-2_2_1.adoc 2016-05-03 16:17:39.000000000 +0200 @@ -0,0 +1,73 @@ +crmsh 2.2.1 and 2.1.6 are released +================================== +:Author: Kristoffer Gronlund +:Email: [email protected] +:Date: 2016-04-28 01:00 + +Today I'm announcing two new releases of crmsh: 2.2.1 and 2.1.6. + +Both are stable releases, and I would recommend all users to +upgrade to crmsh 2.2.1 if they can. + +== crmsh 2.2.1 + +Here is a brief list of the most significant changes in this release: + +* Rewritten history explorer internally to improve performance significantly +* Allow configuring reload operation +* Fix fencing for remote nodes +* Recycle corosync node IDs when possible +* Several bug fixes in crm report +* Warn if generated report is empty +* Improved SBD cluster script +* Add push method for configure load +* Fixed cluster init + +The source code can be downloaded from Github: + +* https://github.com/ClusterLabs/crmsh/releases/tag/2.2.1 + +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.2.1.tar.gz +* https://github.com/ClusterLabs/crmsh/archive/2.2.1.zip + +For the full list of changes since version 2.2.0, see the ChangeLog, +available at: + +* https://github.com/ClusterLabs/crmsh/blob/2.2.1/ChangeLog + +== crmsh 2.1.6 + +This is a bug fix release. +Most fixes are minor or related to time handling in reports. + +For a complete list of changes since the previous version, please +refer to the changelog: + +* https://github.com/ClusterLabs/crmsh/blob/2.1.6/ChangeLog + +Currently I'm not building binary releases for 2.1.6 as the stable +series (at OBS) is at 2.2. This release is intended for users of +the 2.1 series who have yet to migrate to 2.2. + +Archives of the tagged release: + +https://github.com/ClusterLabs/crmsh/archive/2.1.6.tar.gz +https://github.com/ClusterLabs/crmsh/archive/2.1.6.zip + +For the full list of changes since version 2.1.5, see the ChangeLog, +available at: + +* https://github.com/ClusterLabs/crmsh/blob/2.1.5/ChangeLog + + +As usual, a huge thank you to all contributors and users of crmsh! + +Cheers, +Kristoffer diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0+git.1461246131.bf3c265/doc/website-v1/news.adoc new/crmsh-2.2.0+git.1462285059.d79cd0d/doc/website-v1/news.adoc --- old/crmsh-2.2.0+git.1461246131.bf3c265/doc/website-v1/news.adoc 2016-04-21 15:46:53.000000000 +0200 +++ new/crmsh-2.2.0+git.1462285059.d79cd0d/doc/website-v1/news.adoc 2016-05-03 16:17:39.000000000 +0200 @@ -1,14 +1,15 @@ = News -link:/news/2016-01-15-release-2_2_0[2016-01-15 15:00] +link:/news/2016-04-28-release-2_2_1[2016-04-28 01:00] :leveloffset: 1 -include::news/2016-01-15-release-2_2_0.adoc[] +include::news/2016-04-28-release-2_2_1.adoc[] :leveloffset: 0 '''' +* link:/news/2016-01-15-release-2_2_0[2016-01-15 15:00 crmsh 2.2.0 is released] * link:/news/2016-01-12-release-2_1_5[2016-01-12 10:00 Announcing crmsh stable release 2.1.5] * link:/news/2015-05-25-getting-started-jp[2015-05-25 13:30 Getting Started translated to Japanese] * link:/news/2015-05-13-release-2_1_4[2015-05-13 15:30 Announcing crmsh stable release 2.1.4] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0+git.1461246131.bf3c265/hb_report/hb_report.in new/crmsh-2.2.0+git.1462285059.d79cd0d/hb_report/hb_report.in --- old/crmsh-2.2.0+git.1461246131.bf3c265/hb_report/hb_report.in 2016-04-21 15:46:53.000000000 +0200 +++ new/crmsh-2.2.0+git.1462285059.d79cd0d/hb_report/hb_report.in 2016-05-03 16:17:39.000000000 +0200 @@ -562,9 +562,8 @@ debug "running: $LOCAL_SUDO hb_report __slave" $LOCAL_SUDO ${HA_NOARCHBIN}/hb_report __slave else - debug "running: ssh $SSH_OPTS $node \"$SUDO hb_report __slave" - ssh $SSH_OPTS $node \ - "$SUDO ${HA_NOARCHBIN}/hb_report __slave" + debug "running: ssh $SSH_OPTS $node \"$SUDO ${HA_NOARCHBIN}/hb_report __slave\"" + ssh $SSH_OPTS $node "$SUDO ${HA_NOARCHBIN}/hb_report __slave" fi | (cd $WORKDIR && tar xf -) } @@ -972,7 +971,9 @@ if [ -f $destdir/$HALOG_F ]; then events_all $destdir/$HALOG_F > $destdir/events.txt for n in $NODES; do - awk "\$4==\"$n\"" $destdir/events.txt > $destdir/$n/events.txt + if [ -d "$destdir/$n" ]; then + awk "\$4==\"$n\"" $destdir/events.txt > $destdir/$n/events.txt + fi done else for n in $NODES; do @@ -1424,9 +1425,8 @@ # # Start slave collectors # - -if ! is_collector; then - for node in $NODES; do +collect_for_nodes() { + for node in "$@"; do if node_needs_pwd $node; then info "Please provide password for `say_ssh_user` at $node" info "Note that collecting data will take a while." @@ -1436,6 +1436,14 @@ SLAVEPIDS="$SLAVEPIDS $!" fi done +} + +if ! is_collector; then + if [ -z "$NO_SSH" ]; then + collect_for_nodes $NODES + elif is_node; then + collect_for_nodes "$WE" + fi fi # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0+git.1461246131.bf3c265/scripts/libvirt/main.yml new/crmsh-2.2.0+git.1462285059.d79cd0d/scripts/libvirt/main.yml --- old/crmsh-2.2.0+git.1461246131.bf3c265/scripts/libvirt/main.yml 2016-04-21 15:46:53.000000000 +0200 +++ new/crmsh-2.2.0+git.1462285059.d79cd0d/scripts/libvirt/main.yml 2016-05-03 16:17:39.000000000 +0200 @@ -6,6 +6,9 @@ longdesc: > Uses libvirt as a STONITH device to fence a guest node. Create a separate resource for each guest node in the cluster. + + Note that the recommended fencing mechanism is SBD whenever + a shared storage device (like a SAN) is available. category: Stonith parameters: - name: id diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0+git.1461246131.bf3c265/scripts/vmware/main.yml new/crmsh-2.2.0+git.1462285059.d79cd0d/scripts/vmware/main.yml --- old/crmsh-2.2.0+git.1461246131.bf3c265/scripts/vmware/main.yml 2016-04-21 15:46:53.000000000 +0200 +++ new/crmsh-2.2.0+git.1462285059.d79cd0d/scripts/vmware/main.yml 2016-05-03 16:17:39.000000000 +0200 @@ -3,12 +3,16 @@ # License: GNU General Public License (GPL) version: 2.2 category: Stonith -shortdesc: VMWare vCenter / ESX Server Fencing +shortdesc: Fencing using vCenter / ESX Server longdesc: | + Note that SBD is the recommended fencing mechanism for VMware + hosts! Please refer to the documentation for more details on + recommended fencing configurations. + Fencing for VMware virtualized hosts using ESX Server or vCenter. This wizard configures a fencing resource for a single node. - You will need to run the wizard for each node to fence. + It is necessary to run the wizard for each node to fence. Prerequisites diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0+git.1461246131.bf3c265/test/testcases/bugs new/crmsh-2.2.0+git.1462285059.d79cd0d/test/testcases/bugs --- old/crmsh-2.2.0+git.1461246131.bf3c265/test/testcases/bugs 2016-04-21 15:46:53.000000000 +0200 +++ new/crmsh-2.2.0+git.1462285059.d79cd0d/test/testcases/bugs 2016-05-03 16:17:39.000000000 +0200 @@ -40,3 +40,25 @@ _test verify . +session Unknown properties +configure +erase +primitive st stonith:null \ + params hostlist='node1' \ + meta description="some description here" \ + op start requires=nothing \ + op monitor interval=60m +property SAPHanaSR: \ + hana_ha1_site_lss_WDF1=4 +show +commit +_test +verify +property SAPHanaSR_2: \ + hana_ha1_site_iss_WDF1=cde \ + hana_ha1_site_bss_WDF1=abc +show xml +commit +_test +verify +. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0+git.1461246131.bf3c265/test/testcases/bugs.exp new/crmsh-2.2.0+git.1462285059.d79cd0d/test/testcases/bugs.exp --- old/crmsh-2.2.0+git.1461246131.bf3c265/test/testcases/bugs.exp 2016-04-21 15:46:53.000000000 +0200 +++ new/crmsh-2.2.0+git.1462285059.d79cd0d/test/testcases/bugs.exp 2016-05-03 16:17:39.000000000 +0200 @@ -96,3 +96,64 @@ .EXT cib metadata .INP: _test .INP: verify +.TRY Unknown properties +.INP: configure +.INP: erase +INFO: 2: modified location:loc1 from g1 to gr2 +INFO: 2: constraint colocation:c2 updated +INFO: 2: constraint colocation:c2 updated +.INP: primitive st stonith:null params hostlist='node1' meta description="some description here" op start requires=nothing op monitor interval=60m +.INP: property SAPHanaSR: hana_ha1_site_lss_WDF1=4 +.INP: show +node node1 +primitive st stonith:null \ + params hostlist=node1 \ + meta description="some description here" \ + op start requires=nothing interval=0 \ + op monitor interval=60m +property SAPHanaSR: \ + hana_ha1_site_lss_WDF1=4 +.INP: commit +.EXT crm_resource --show-metadata stonith:null +.EXT stonithd metadata +.EXT pengine metadata +.INP: _test +.INP: verify +.INP: property SAPHanaSR_2: hana_ha1_site_iss_WDF1=cde hana_ha1_site_bss_WDF1=abc +.INP: show xml +<?xml version="1.0" ?> +<cib> + <configuration> + <crm_config> + <cluster_property_set id="SAPHanaSR_2"> + <nvpair name="hana_ha1_site_iss_WDF1" value="cde" id="SAPHanaSR_2-hana_ha1_site_iss_WDF1"/> + <nvpair name="hana_ha1_site_bss_WDF1" value="abc" id="SAPHanaSR_2-hana_ha1_site_bss_WDF1"/> + </cluster_property_set> + <cluster_property_set id="SAPHanaSR"> + <nvpair name="hana_ha1_site_lss_WDF1" value="4" id="SAPHanaSR-hana_ha1_site_lss_WDF1"/> + </cluster_property_set> + </crm_config> + <nodes> + <node uname="node1" id="node1"/> + </nodes> + <resources> + <primitive id="st" class="stonith" type="null"> + <instance_attributes id="st-instance_attributes"> + <nvpair name="hostlist" value="node1" id="st-instance_attributes-hostlist"/> + </instance_attributes> + <meta_attributes id="st-meta_attributes"> + <nvpair name="description" value="some description here" id="st-meta_attributes-description"/> + </meta_attributes> + <operations> + <op name="start" requires="nothing" interval="0" id="st-start-0"/> + <op name="monitor" interval="60m" id="st-monitor-60m"/> + </operations> + </primitive> + </resources> + <constraints/> + </configuration> +</cib> + +.INP: commit +.INP: _test +.INP: verify diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0+git.1461246131.bf3c265/test/testcases/scripts.exp new/crmsh-2.2.0+git.1462285059.d79cd0d/test/testcases/scripts.exp --- old/crmsh-2.2.0+git.1461246131.bf3c265/test/testcases/scripts.exp 2016-04-21 15:46:53.000000000 +0200 +++ new/crmsh-2.2.0+git.1462285059.d79cd0d/test/testcases/scripts.exp 2016-05-03 16:17:39.000000000 +0200 @@ -57,6 +57,7 @@ libvirt STONITH for libvirt (kvm / Xen) sbd SBD, Shared storage based fencing +vmware Fencing using vCenter / ESX Server .INP: list all .EXT crm_resource --show-metadata systemd:haproxy @@ -120,6 +121,7 @@ libvirt STONITH for libvirt (kvm / Xen) sbd SBD, Shared storage based fencing +vmware Fencing using vCenter / ESX Server .INP: list names add @@ -160,6 +162,7 @@ sbd sbd-device virtual-ip +vmware .INP: list names all add apache @@ -198,6 +201,7 @@ sbd sbd-device virtual-ip +vmware .INP: list all names add apache @@ -236,6 +240,7 @@ sbd sbd-device virtual-ip +vmware .INP: list bogus ERROR: 7: script.list: Unexpected argument 'bogus': expected [all|names] .INP: show mailto diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0+git.1461246131.bf3c265/test/unittests/test_bugs.py new/crmsh-2.2.0+git.1462285059.d79cd0d/test/unittests/test_bugs.py --- old/crmsh-2.2.0+git.1461246131.bf3c265/test/unittests/test_bugs.py 2016-04-21 15:46:53.000000000 +0200 +++ new/crmsh-2.2.0+git.1462285059.d79cd0d/test/unittests/test_bugs.py 2016-05-03 16:17:39.000000000 +0200 @@ -924,3 +924,14 @@ assert ok ok = factory.create_object(*"primitive dup1 Dummy".split()) assert not ok + + +@with_setup(setup_func, teardown_func) +def test_dup_create(): + """ + Creating property sets with unknown properties + """ + ok = factory.create_object(*"property hana_test1: hana_attribute_1=5 hana_attribute_2=mohican".split()) + assert ok + ok = factory.create_object(*"property hana_test2: hana_attribute_1=5s a-b-c-d=e-f-g".split()) + assert ok
