Hello community, here is the log from the commit of package crmsh for openSUSE:Factory checked in at 2015-08-28 08:27:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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-08-15 11:39:35.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.crmsh.new/crmsh.changes 2015-08-28 08:27:17.000000000 +0200 @@ -1,0 +2,30 @@ +Wed Aug 26 22:01:24 UTC 2015 - kgronl...@suse.com + +- Update to version 2.2.0~rc3+git.1440626270.8872dbc: + + low: hb_report: Increase time to wait for the logmark + + medium: log_patterns: Remove reference to function name in log patterns (bsc#942906) + + low: hb_report: Collect libqb version (bsc#943327) + + medium: report: Reintroduce empty transition pruning (bsc#943291) + + medium: scripts: Ensure that the Filesystem resource exists [nfsserver] (bsc#898658) + + low: scripts: Make virtual IP optional [nfsserver] + + high: scripts: Add force parameter to cib and crm actions, and don't pass --force by default + + high: scripts: Default to passing --force to crm after all + + medium: options: Add --no option + + medium: scripts: Use --no option over --force unless force: true is set in the script + + high: ui_script: Print cached errors in json run + +------------------------------------------------------------------- +Tue Aug 25 12:53:22 UTC 2015 - kgronl...@suse.com + +- Update to version 2.2.0~rc3+git.1440506835.395dad0: + + high: report: Update transition edge regexes (bsc#942906) + + high: hb_report: Always prefer syslog if available (bsc#942906) + +------------------------------------------------------------------- +Tue Aug 25 10:35:17 UTC 2015 - kgronl...@suse.com + +- Update to version 2.2.0~rc3+git.1440493477.255685f: + + low: scripts: Catch attempt to pass dict as parameter value + + medium: scripts: Switch install default to false (fate#318482) + +------------------------------------------------------------------- Old: ---- crmsh-2.2.0~rc3+git.1439547680.0877a90.tar.bz2 New: ---- crmsh-2.2.0~rc3+git.1440626270.8872dbc.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ crmsh.spec ++++++ --- /var/tmp/diff_new_pack.az9hc4/_old 2015-08-28 08:27:18.000000000 +0200 +++ /var/tmp/diff_new_pack.az9hc4/_new 2015-08-28 08:27:18.000000000 +0200 @@ -36,7 +36,7 @@ Summary: High Availability cluster command-line interface License: GPL-2.0+ Group: %{pkg_group} -Version: 2.2.0~rc3+git.1439547680.0877a90 +Version: 2.2.0~rc3+git.1440626270.8872dbc Release: 0 Url: http://crmsh.github.io Source0: %{name}-%{version}.tar.bz2 ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.az9hc4/_old 2015-08-28 08:27:18.000000000 +0200 +++ /var/tmp/diff_new_pack.az9hc4/_new 2015-08-28 08:27:18.000000000 +0200 @@ -1,4 +1,4 @@ <servicedata> <service name="tar_scm"> <param name="url">git://github.com/ClusterLabs/crmsh.git</param> - <param name="changesrevision">0877a90483d83aa98af93af0389701c8a22b01b3</param></service></servicedata> \ No newline at end of file + <param name="changesrevision">8872dbc78204535d7b544393bef03c7bf485441f</param></service></servicedata> \ No newline at end of file ++++++ crmsh-2.2.0~rc3+git.1439547680.0877a90.tar.bz2 -> crmsh-2.2.0~rc3+git.1440626270.8872dbc.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc3+git.1439547680.0877a90/hb_report/hb_report.in new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/hb_report/hb_report.in --- old/crmsh-2.2.0~rc3+git.1439547680.0877a90/hb_report/hb_report.in 2015-08-14 12:22:33.000000000 +0200 +++ new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/hb_report/hb_report.in 2015-08-27 00:01:24.000000000 +0200 @@ -295,10 +295,6 @@ # findlog() { local logf="" - if [ -f "$PCMK_LOG" ]; then - echo $PCMK_LOG - return - fi if [ "$HA_LOGFACILITY" ]; then logf=`findmsg $UNIQUE_MSG | awk '{print $1}'` @@ -308,13 +304,16 @@ return fi - - collect_journal $FROM_TIME $TO_TIME $WORKDIR/$JOURNAL_F if [ -f "$WORKDIR/$JOURNAL_F" ]; then echo $WORKDIR/$JOURNAL_F return fi + if [ -f "$PCMK_LOG" ]; then + echo $PCMK_LOG + return + fi + echo ${HA_DEBUGFILE:-$HA_LOGFILE} [ "${HA_DEBUGFILE:-$HA_LOGFILE}" ] && debug "will try with ${HA_DEBUGFILE:-$HA_LOGFILE}" @@ -1051,6 +1050,9 @@ local outf outf=$WORKDIR/$HALOG_F + # collect journal from systemd + collect_journal $FROM_TIME $TO_TIME $WORKDIR/$JOURNAL_F + if [ "$HA_LOG" ]; then # log provided by the user? [ -f "$HA_LOG" ] || { # not present is_collector || # warning if not on slave @@ -1277,7 +1279,7 @@ PACKAGES="pacemaker libpacemaker3 pacemaker-pygui pacemaker-pymgmt pymgmt-client openais libopenais2 libopenais3 corosync libcorosync4 -resource-agents cluster-glue libglue2 ldirectord +resource-agents cluster-glue libglue2 ldirectord libqb0 heartbeat heartbeat-common heartbeat-resources libheartbeat2 ocfs2-tools ocfs2-tools-o2cb ocfs2console ocfs2-kmp-default ocfs2-kmp-pae ocfs2-kmp-xen ocfs2-kmp-debug ocfs2-kmp-trace @@ -1404,7 +1406,7 @@ logmark $HA_LOGFACILITY.$HA_LOGLEVEL $UNIQUE_MSG # allow for the log message to get (hopefully) written to the # log file - sleep 1 + sleep 2 fi # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc3+git.1439547680.0877a90/hb_report/utillib.sh new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/hb_report/utillib.sh --- old/crmsh-2.2.0~rc3+git.1439547680.0877a90/hb_report/utillib.sh 2015-08-14 12:22:33.000000000 +0200 +++ new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/hb_report/utillib.sh 2015-08-27 00:01:24.000000000 +0200 @@ -118,22 +118,14 @@ mark=$1 log="" - if [ -f /var/log/pacemaker.log ]; then - log=`grep -l -e "$mark" /var/log/pacemaker.log` - if [ ! "$log" ]; then - log=`grep -l -e "$mark" /var/log/pacemaker.log*` && break - fi - fi + for d in $syslogdirs; do + [ -d $d ] || continue + log=`grep -l -e "$mark" $d/$favourites` && break + test "$log" && break + log=`grep -l -e "$mark" $d/*` && break + test "$log" && break + done 2>/dev/null - if [ ! "$log" ]; then - for d in $syslogdirs; do - [ -d $d ] || continue - log=`grep -l -e "$mark" $d/$favourites` && break - test "$log" && break - log=`grep -l -e "$mark" $d/*` && break - test "$log" && break - done 2>/dev/null - fi [ "$log" ] && ls -t $log | tr '\n' ' ' [ "$log" ] && diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc3+git.1439547680.0877a90/modules/log_patterns.py new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/modules/log_patterns.py --- old/crmsh-2.2.0~rc3+git.1439547680.0877a90/modules/log_patterns.py 2015-08-14 12:22:33.000000000 +0200 +++ new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/modules/log_patterns.py 2015-08-27 00:01:24.000000000 +0200 @@ -23,36 +23,36 @@ log_patterns = { "resource": ( ( # detail 0 - "lrmd.*rsc:%% (?:start|stop|promote|demote|migrate)", + "lrmd.*%% (?:start|stop|promote|demote|migrate)", "lrmd.*RA output: .%%:.*:stderr", "lrmd.*WARN: Managed %%:.*exited", "lrmd.*WARN: .* %% .*timed out$", - "crmd.*process_lrm_event: LRM operation %%_(?:start|stop|promote|demote|migrate)_.*confirmed=true", - "crmd.*process_lrm_event: LRM operation %%_.*Timed Out", + "crmd.*LRM operation %%_(?:start|stop|promote|demote|migrate)_.*confirmed=true", + "crmd.*LRM operation %%_.*Timed Out", "[(]%%[)][[]", ), ( # detail 1 - "lrmd.*rsc:%% (?:probe|notify)", - "lrmd.*info: Managed %%:.*exited", + "lrmd.*%% (?:probe|notify)", + "lrmd.*Managed %%:.*exited", ), ), "node": ( ( # detail 0 " %% .*Corosync.Cluster.Engine", " %% .*Executive.Service.RELEASE", - " %% .*crm_shutdown:.Requesting.shutdown", - " %% .*pcmk_shutdown:.Shutdown.complete", + " %% .*Requesting.shutdown", + " %% .*Shutdown.complete", " %% .*Configuration.validated..Starting.heartbeat", "pengine.*Scheduling Node %% for STONITH", - "crmd.* tengine_stonith_callback: .* of %% failed", - "stonith-ng.*log_operation:.*host '%%'", - "te_fence_node: Exec.*on %% ", - "pe_fence_node: Node %% will be fenced", - "stonith-ng.*remote_op_timeout:.*for %% timed", - "stonith-ng.*can_fence_host_with_device:.*can not fence %%:", + "crmd.* of %% failed", + "stonith-ng.*host '%%'", + "Exec.*on %% ", + "Node %% will be fenced", + "stonith-ng.*for %% timed", + "stonith-ng.*can not fence %%:", "stonithd.*Succeeded.*node %%:", - "pcmk_peer_update.*(?:lost|memb): %% ", - "crmd.*ccm_event.*(?:NEW|LOST):.* %% ", + "(?:lost|memb): %% ", + "crmd.*(?:NEW|LOST):.* %% ", "Node return implies stonith of %% ", ), ( # detail 1 @@ -60,8 +60,8 @@ ), "quorum": ( ( # detail 0 - "crmd.*crm_update_quorum:.Updating.quorum.status", - "crmd.*ais.disp.*quorum.(?:lost|ac?quir)", + "crmd.*Updating.quorum.status", + "crmd.*quorum.(?:lost|ac?quir)", ), ( # detail 1 ), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc3+git.1439547680.0877a90/modules/main.py new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/modules/main.py --- old/crmsh-2.2.0~rc3+git.1439547680.0877a90/modules/main.py 2015-08-14 12:22:33.000000000 +0200 +++ new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/modules/main.py 2015-08-27 00:01:24.000000000 +0200 @@ -108,6 +108,8 @@ help="Make crm proceed with applying changes where it would normally " + "ask the user to confirm before proceeding. This option is mainly useful " + "in scripts, and should be used with care.") + parser.add_option("-n", "--no", action="store_true", default=False, dest="ask_no", + help="Automatically answer no when prompted") parser.add_option("-w", "--wait", action="store_true", default=False, dest="wait", help="Make crm wait for the cluster transition to finish " + "(for the changes to take effect) after each processed line.") @@ -304,6 +306,7 @@ config.core.wait = opts.wait or config.core.wait options.shadow = opts.cib or options.shadow options.scriptdir = opts.scriptdir or options.scriptdir + options.ask_no = opts.ask_no return args diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc3+git.1439547680.0877a90/modules/options.py new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/modules/options.py --- old/crmsh-2.2.0~rc3+git.1439547680.0877a90/modules/options.py 2015-08-14 12:22:33.000000000 +0200 +++ new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/modules/options.py 2015-08-27 00:01:24.000000000 +0200 @@ -7,6 +7,7 @@ interactive = False batch = False +ask_no = False regression_tests = False profile = "" history = "live" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc3+git.1439547680.0877a90/modules/report.py new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/modules/report.py --- old/crmsh-2.2.0~rc3+git.1439547680.0877a90/modules/report.py 2015-08-14 12:22:33.000000000 +0200 +++ new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/modules/report.py 2015-08-27 00:01:24.000000000 +0200 @@ -12,7 +12,7 @@ from . import constants from . import userdir from .msg import common_debug, common_warn, common_err, common_error, common_info, warn_once -from .xmlutil import file2cib_elem, get_rsc_children_ids, get_prim_children_ids +from .xmlutil import file2cib_elem, get_rsc_children_ids, get_prim_children_ids, compressed_file_to_cib from .utils import file2str, shortdate, acquire_lock, append_file, ext_cmd, shorttime from .utils import page_string, release_lock, rmdir_r, parse_time, get_cib_attributes from .utils import is_pcmk_118, pipe_cmd_nosudo, file_find_by_name @@ -90,6 +90,10 @@ return None +_syslog2node_formats = (re.compile(r'\w+ \d+ \d+:\d+:\d+ (?:\[\d+\])? (\w+)'), + re.compile(r'\w+ (?:\[\d+\])? (\w+)')) + + def syslog2node(s): ''' Get the node from a syslog line. @@ -104,12 +108,11 @@ <TS> [<PID>] <node> ... ''' - fmt1 = re.compile(r'\w+ \d+ \d+:\d+:\d+ (?:\[\d+\])? (\w+)') + fmt1, fmt2 = _syslog2node_formats m = fmt1.search(s) if m: return m.group(1) - fmt2 = re.compile(r'\w+ (?:\[\d+\])? (\w+)') m = fmt2.search(s) if m: return m.group(1) @@ -513,8 +516,8 @@ 2: full path of pe file 3: pe file number """ - m1 = "crmd.*do_te_invoke:.*Processing graph ([0-9]+).*derived from (.*/pe-[^-]+-(%s)[.]bz2)" % (number_re) - m2 = "pengine.*process_pe_message:.*Transition ([0-9]+):.*([^ ]*/pe-[^-]+-(%s)[.]bz2)" % (number_re) + m1 = "crmd.*Processing graph ([0-9]+).*derived from (.*/pe-[^-]+-(%s)[.]bz2)" % (number_re) + m2 = "pengine.*Transition ([0-9]+):.*([^ ]*/pe-[^-]+-(%s)[.]bz2)" % (number_re) try: return re.compile("(?:%s)|(?:%s)" % (m1, m2)) except re.error, e: @@ -528,7 +531,7 @@ See transition_start_re for more details. """ try: - return re.compile("crmd.*run_graph:.*Transition ([0-9]+).*Source=(.*/pe-[^-]+-(%s)[.]bz2).:.*(Stopped|Complete|Terminated)" % (number_re)) + return re.compile("crmd.*Transition ([0-9]+).*Source=(.*/pe-[^-]+-(%s)[.]bz2).:.*(Stopped|Complete|Terminated)" % (number_re)) except re.error, e: common_debug("RE compilation failed: %s" % (e)) raise ValueError("Error in search expression") @@ -1129,7 +1132,18 @@ return False old_pe_l_file = self.pe_report_path(t0) new_pe_l_file = self.pe_report_path(t1) - return not (os.path.isfile(old_pe_l_file) or os.path.isfile(new_pe_l_file)) + if not (os.path.isfile(old_pe_l_file) or os.path.isfile(new_pe_l_file)): + return True + num_actions = t1.actions_count() + old_cib = compressed_file_to_cib(old_pe_l_file) + new_cib = compressed_file_to_cib(new_pe_l_file) + if old_cib is None or new_cib is None: + return num_actions == 0 + prev_epoch = old_cib.attrib.get("epoch", "0") + epoch = new_cib.attrib.get("epoch", "0") + prev_admin_epoch = old_cib.attrib.get("admin_epoch", "0") + admin_epoch = new_cib.attrib.get("admin_epoch", "0") + return num_actions == 0 and epoch == prev_epoch and admin_epoch == prev_admin_epoch def list_transitions(self, msg_l=None, future_pe=False): ''' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc3+git.1439547680.0877a90/modules/scripts.py new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/modules/scripts.py --- old/crmsh-2.2.0~rc3+git.1439547680.0877a90/modules/scripts.py 2015-08-14 12:22:33.000000000 +0200 +++ new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/modules/scripts.py 2015-08-27 00:01:24.000000000 +0200 @@ -309,27 +309,25 @@ self._value = fn self._run.copy_file(self._nodes, self._value, self._action['to']) + def _crm_do(self, act): + fn = self._run.str2tmp(_join_script_lines(self._value)) + if config.core.debug: + args = '-d --wait --no' + else: + args = '--wait --no' + if self._action.get('force'): + args = args + ' --force' + self._run.call(None, 'crm %s %s %s' % (args, act, fn)) + def crm(self): """ input: crm command sequence """ - fn = self._run.str2tmp(_join_script_lines(self._value)) - if config.core.debug: - args = '-d --force --wait' - else: - args = '--force --wait' - self._run.call(None, 'crm %s %s %s' % (args, '-f', fn)) + return self._crm_do('-f') def cib(self): "input: cli configuration script" - # generate cib - # runner.execute_local("crm configure load update ./action_cib") - fn = self._run.str2tmp(_join_script_lines(self._value)) - if config.core.debug: - args = '-d --force --wait' - else: - args = '--force --wait' - self._run.call(None, 'crm %s %s %s' % (args, 'configure load update', fn)) + return self._crm_do('configure load update') def install(self): """ @@ -1286,8 +1284,11 @@ elif type == 'boolean': return "true" if _make_boolean(value) else "false" elif type == 'resource': - if not _IDENT_RE.match(value): - errors.append("%s=%s invalid resource identifier" % (param.get('name'), value)) + try: + if not _IDENT_RE.match(value): + errors.append("%s=%s invalid resource identifier" % (param.get('name'), value)) + except TypeError as e: + errors.append("%s=%s %s" % (param.get('name'), value, str(e))) elif type == 'ip_address': if not _valid_ip(value): errors.append("%s=%s is not %s" % (param.get('name'), value, type)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc3+git.1439547680.0877a90/modules/ui_script.py new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/modules/ui_script.py --- old/crmsh-2.2.0~rc3+git.1439547680.0877a90/modules/ui_script.py 2015-08-14 12:22:33.000000000 +0200 +++ new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/modules/ui_script.py 2015-08-27 00:01:24.000000000 +0200 @@ -419,7 +419,13 @@ script = scripts.load_script(name) if script is None: return False - return scripts.run(script, params, JsonPrinter()) + printer = JsonPrinter() + ret = scripts.run(script, params, printer) + if not ret and printer.results: + for result in printer.results: + if 'error' in result: + print(json.dumps(result)) + return ret def do_json(self, context, command): """ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc3+git.1439547680.0877a90/modules/utils.py new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/modules/utils.py --- old/crmsh-2.2.0~rc3+git.1439547680.0877a90/modules/utils.py 2015-08-14 12:22:33.000000000 +0200 +++ new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/modules/utils.py 2015-08-27 00:01:24.000000000 +0200 @@ -83,7 +83,7 @@ Is user-interactivity possible? Checks if connected to a TTY. """ - return sys.stdin.isatty() + return (not options.ask_no) and sys.stdin.isatty() def ask(msg): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc3+git.1439547680.0877a90/scripts/apache/main.yml new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/scripts/apache/main.yml --- old/crmsh-2.2.0~rc3+git.1439547680.0877a90/scripts/apache/main.yml 2015-08-14 12:22:33.000000000 +0200 +++ new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/scripts/apache/main.yml 2015-08-27 00:01:24.000000000 +0200 @@ -44,7 +44,7 @@ - name: install type: boolean shortdesc: Install and configure apache - value: true + value: false actions: - install: - apache2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc3+git.1439547680.0877a90/scripts/database/main.yml new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/scripts/database/main.yml --- old/crmsh-2.2.0~rc3+git.1439547680.0877a90/scripts/database/main.yml 2015-08-14 12:22:33.000000000 +0200 +++ new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/scripts/database/main.yml 2015-08-27 00:01:24.000000000 +0200 @@ -21,7 +21,7 @@ - name: install shortdesc: Enable to install required packages type: boolean - value: true + value: false actions: - install: mariadb diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc3+git.1439547680.0877a90/scripts/haproxy/main.yml new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/scripts/haproxy/main.yml --- old/crmsh-2.2.0~rc3+git.1439547680.0877a90/scripts/haproxy/main.yml 2015-08-14 12:22:33.000000000 +0200 +++ new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/scripts/haproxy/main.yml 2015-08-27 00:01:24.000000000 +0200 @@ -21,7 +21,7 @@ parameters: - name: install type: boolean - value: true + value: false shortdesc: Install and configure HAProxy packages actions: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc3+git.1439547680.0877a90/scripts/libvirt/main.yml new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/scripts/libvirt/main.yml --- old/crmsh-2.2.0~rc3+git.1439547680.0877a90/scripts/libvirt/main.yml 2015-08-14 12:22:33.000000000 +0200 +++ new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/scripts/libvirt/main.yml 2015-08-27 00:01:24.000000000 +0200 @@ -49,7 +49,7 @@ shortdesc: Enable to install required packages type: boolean required: false - value: true + value: false actions: - install: cluster-glue libvirt-client nodes: all diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc3+git.1439547680.0877a90/scripts/nfsserver/main.yml new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/scripts/nfsserver/main.yml --- old/crmsh-2.2.0~rc3+git.1439547680.0877a90/scripts/nfsserver/main.yml 2015-08-14 12:22:33.000000000 +0200 +++ new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/scripts/nfsserver/main.yml 2015-08-27 00:01:24.000000000 +0200 @@ -46,10 +46,12 @@ value: true - script: virtual-ip - required: true + required: false shortdesc: Configure a Virtual IP address used to access the NFS mounts. actions: + - crm: "configure show {{base-id}}" + shortdesc: Ensure that the Filesystem resource exists - install: nfs-client nfs-kernel-server shortdesc: Install NFS packages - service: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc3+git.1439547680.0877a90/test/testcases/history.exp new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/test/testcases/history.exp --- old/crmsh-2.2.0~rc3+git.1439547680.0877a90/test/testcases/history.exp 2015-08-14 12:22:33.000000000 +0200 +++ new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/test/testcases/history.exp 2015-08-27 00:01:24.000000000 +0200 @@ -10,7 +10,7 @@ Nodes: xen-d xen-e Groups: Resources: d1 s-libvirt -Transitions: 43 44 45 46 47 48 272 49 50 +Transitions: 43 44 45 46 48 272 49 50 .INP: node xen-d Dec 14 20:06:35 xen-d corosync[5649]: [MAIN ] Corosync Cluster Engine ('1.4.3'): started and ready to provide service. Dec 14 20:06:36 xen-d corosync[5649]: [pcmk ] info: pcmk_peer_update: memb: xen-d 906822154 @@ -29,6 +29,8 @@ Dec 14 20:06:35 xen-e corosync[24218]: [MAIN ] Corosync Cluster Engine ('1.4.3'): started and ready to provide service. Dec 14 20:06:35 xen-d corosync[5649]: [MAIN ] Corosync Cluster Engine ('1.4.3'): started and ready to provide service. Dec 14 20:06:36 xen-d corosync[5649]: [pcmk ] info: pcmk_peer_update: memb: xen-d 906822154 +Dec 14 20:06:57 xen-d crmd: [5660]: info: do_election_count_vote: Election 2 (owner: xen-e) lost: vote from xen-e (Uptime) +Dec 14 20:07:19 xen-d crmd: [5660]: info: do_election_count_vote: Election 3 (owner: xen-e) lost: vote from xen-e (Uptime) Dec 14 20:07:54 xen-e corosync[24218]: [pcmk ] info: pcmk_peer_update: memb: xen-e 923599370 Dec 14 20:07:54 xen-e corosync[24218]: [pcmk ] info: pcmk_peer_update: lost: xen-d 906822154 Dec 14 20:07:54 xen-e pengine: [24227]: WARN: pe_fence_node: Node xen-d will be fenced because it is un-expectedly down @@ -131,7 +133,6 @@ Dec 14 20:08:21 xen-d iscsid: iSCSI logger with pid=1682 started! Dec 14 20:08:22 xen-d sm-notify[1716]: Version 1.2.3 starting Dec 14 20:08:22 xen-d haveged: haveged starting up -Dec 14 20:08:22 xen-d haveged: arch: x86 vendor: amd generic: 0 i_cache: 64 d_cache: 64 loop_idx: 20 loop_idxmax: 40 loop_sz: 63724 loop_szmax: 124334 etime: 18207 havege_ndpt 0 Dec 14 20:08:22 xen-d logd: [1789]: info: setting log facility to daemon Dec 14 20:08:22 xen-d logd: [1789]: info: logd started with /etc/logd.cf. Dec 14 20:08:22 xen-d iscsid: transport class version 2.0-870. iscsid version 2.0-872.suse @@ -182,7 +183,6 @@ history-test/xen-e/pengine/pe-input-44.bz2 history-test/xen-e/pengine/pe-input-45.bz2 history-test/xen-e/pengine/pe-input-46.bz2 -history-test/xen-e/pengine/pe-input-47.bz2 history-test/xen-e/pengine/pe-input-48.bz2 history-test/xen-e/pengine/pe-warn-272.bz2 history-test/xen-e/pengine/pe-input-49.bz2 @@ -194,7 +194,6 @@ 2012-12-14 20:07:19 20:07:23 pe-input-44 cibadmin root xen-d 2012-12-14 20:07:29 20:07:29 pe-input-45 cibadmin root xen-d 2012-12-14 20:07:29 20:07:29 pe-input-46 cibadmin root xen-d -2012-12-14 20:07:37 20:07:37 pe-input-47 cibadmin root xen-d 2012-12-14 20:07:37 20:07:42 pe-input-48 cibadmin root xen-d 2012-12-14 20:07:54 20:07:56 pe-warn-272 cibadmin root xen-d 2012-12-14 20:07:56 20:07:57 pe-input-49 cibadmin root xen-d diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc3+git.1439547680.0877a90/test/testcases/resource.exp new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/test/testcases/resource.exp --- old/crmsh-2.2.0~rc3+git.1439547680.0877a90/test/testcases/resource.exp 2015-08-14 12:22:33.000000000 +0200 +++ new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/test/testcases/resource.exp 2015-08-27 00:01:24.000000000 +0200 @@ -130,6 +130,7 @@ .SETENV showobj=p0 .TRY resource param p0 set a0 "1 2 3" .EXT crm_resource -r 'p0' -p 'a0' -v '1 2 3' +Set 'p0' option: id=p0-instance_attributes-a0 set=p0-instance_attributes name=a0=1 2 3 .INP: configure .INP: _regtest on .INP: show xml p0 @@ -173,7 +174,7 @@ .TRY resource param p0 delete a0 .EXT crm_resource -r 'p0' -d 'a0' -Deleted p0 option: id=p0-instance_attributes-a0 name=a0 +Deleted 'p0' option: id=p0-instance_attributes-a0 name=a0 .INP: configure .INP: _regtest on .INP: show xml p0 @@ -193,6 +194,7 @@ .TRY resource meta p0 set m0 123 .EXT crm_resource --meta -r 'p0' -p 'm0' -v '123' +Set 'p0' option: id=p0-meta_attributes-m0 set=p0-meta_attributes name=m0=123 .INP: configure .INP: _regtest on .INP: show xml p0 @@ -238,7 +240,7 @@ .TRY resource meta p0 delete m0 .EXT crm_resource --meta -r 'p0' -d 'm0' -Deleted p0 option: id=p0-meta_attributes-m0 name=m0 +Deleted 'p0' option: id=p0-meta_attributes-m0 name=m0 .INP: configure .INP: _regtest on .INP: show xml p0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc3+git.1439547680.0877a90/test/testcases/scripts.exp new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/test/testcases/scripts.exp --- old/crmsh-2.2.0~rc3+git.1439547680.0877a90/test/testcases/scripts.exp 2015-08-14 12:22:33.000000000 +0200 +++ new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/test/testcases/scripts.exp 2015-08-27 00:01:24.000000000 +0200 @@ -258,5 +258,5 @@ END -** localhost - crm --force --wait configure load update <<temporary file>> +** localhost - crm --wait --no configure load update <<temporary file>> OK: 10: Configure cluster resources diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.2.0~rc3+git.1439547680.0877a90/test/testcases/scripts.filter new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/test/testcases/scripts.filter --- old/crmsh-2.2.0~rc3+git.1439547680.0877a90/test/testcases/scripts.filter 2015-08-14 12:22:33.000000000 +0200 +++ new/crmsh-2.2.0~rc3+git.1440626270.8872dbc/test/testcases/scripts.filter 2015-08-27 00:01:24.000000000 +0200 @@ -1,4 +1,4 @@ #!/usr/bin/awk -f # 1. replace .EXT [path/]<cmd> <parameter> with .EXT <cmd> <parameter> -/\*\* localhost - crm --force --wait configure load update (\/tmp\/crm-tmp-.+)/ { gsub(/.*/, "<<temporary file>>", $NF) } +/\*\* localhost - crm --wait --no configure load update (\/tmp\/crm-tmp-.+)/ { gsub(/.*/, "<<temporary file>>", $NF) } { print }