Hide Forgot
+++ This bug was initially created as a clone of Bug #1343661 +++ +++ This bug was initially created as a clone of Bug #1269964 +++ Upstream development of clufter has progressed (since 6.8 package till 6.9 package + something more likely to come) so this asks for a rebase. More specifically, clufter received plentiful bug fixes and enhancements compared to previous RHEL minor release (6.8/clufter-0.56.2), notably commits in 0.56.3: filters/coro2pcscmd[cluster,corosync]: make pcs --wait check silent filters/configuration[cib2pcscmd]: avoid "pcs cluster cib <file> --config" both of which are relevant to [bug 1328078]. ... plus ... v0.57.0 - bug fixes: . with *2pcscmd* commands, clufter would previously emit doubled "pcs" at the beginning for the command defining simple order constraint . with *2pcscmd* commands, clufter would previously omit and/or logic operators between each pair of atomic expressions forming a rule for location constraint . with *2pcscmd* commands, clufter would previously disregard master/slave roles correctly encoded with a capitalized first letter in CIB for colocation and location constraints - feature extensions: . with *2pcscmd* commands, clufter now supports resource sets for colocation and order constraints . with *2pcscmd* commands, clufter now supports ticket contraints (incl. resource sets) v0.58.0 - bug fixes: . the upstream-suggested (meta) specfile and its form of advising how to run Python intepreter (added with previous release) turned to cause issues if setuptools are not recent enough, so double-check that no extra double-quoting is injected in any case [https://github.com/pypa/setuptools/issues/188] . some internal-only negligence was fixed to match the design intentions (may affect too relaxed 3rd party plugins) - feature extensions: . pcs2pcscmd* commands are now aware of quorum device configured in corosync.conf and are able to emit respective configuration commands using pcs tool v0.59.0 - bug fixes: . previously, pcs2pcscmd* commands would attempt to have quorum device configured using "pcs quorum add" whereas the correct syntax is "pcs quorum device add" . with {cib,pcs}2pcscmd* commands, clufter no longer chokes on validation failures (unless --nocheck provided) due to source CIB file using newer "validate-with" validation version specification than supported so far, such as with pacemaker-2.5 introducing the alert handlers stanza in CIB, because the support has been extended up that very version (only affects deployments that do not borrow the schemas from the installed pacemaker on-the-fly during a build stage, which is not the case when building RPMs using the upstream specfile) - feature extensions: . {cib,pcs}2pcscmd* commands are now aware of configured alert handlers in CIB and able to emit respective configuration commands using pcs tool - functional changes: . due to too many moving targets (corosync, pacemaker, pcs) with features being gradually added, clufter as of this release relies on the specified distribution target (which basically boils down to snapshot of the supported features, as opposed to passing zillion extra parameters expressing the same) stronger than ever; this has several implications: do not expect that one sequence of pcs commands at the clufter's output is portable to completely different environment, and your distribution/setup may not be supported (I try to cover Fedora, RHEL+derivates, Debian and Ubuntu directly) in which case facts.py (where everything is tracked) needs to be patched v0.59.1 - bug fixes: . internal: facts.infer_dist('*') results would previously diverge from results for a specific query . X.04 Ubuntu's versioning fanciness is now ditched in favor of canonical (sic) X.4 versioning; this was not a buggy behavior per se, but internally, 04 used to be parsed as octal literal which would go bananas with expressions like '08'; to maintain compatibility, respective string-held X.04 aliases were introduced, though - feature extensions: . there is now --list-dists option to clufter that is intended mainly to suggest as to which --dist option values (note this has an increased importance, at least as of the previous release) are supporte - internal enhancements: decisions about the parameters to feed XSLT processing proper v0.59.2 - feature extensions: . *2pcscmd commands now first emit a comment block containing key pieces of information about the run, such as a current date, library version, the overall command that was executed, and importantly (more and more), the target system specification (this utilizes a new, dedicated cmd-annotate filter) - internal enhancements: . so far, all formats used to represent concrete information representable in various pertaining forms; generator type of filters (such as mentioned cmd-annotate) imposed the existence of a special "empty" format (analogous to "void" in C) for generators to map from into something useful, so this release introduces "Nothing" format and makes sure it's generally usable throughout the internals just as well v0.59.3 - feature extensions: . *2pcscmd commands will now colorize the output (very plain support, more to be expected) if either a terminal is used as a sink (and colors not explicitly forbidden) or if this is enforced; so far only shell comments and some parts of pcs syntax are supported, but even in this form, it should help users to wrap their heads (eyes) around what can be considered quite a complex output from the first sight v0.59.4 - feature extensions: . when *2pcscmd commands colorize the output, upcoming booth-related pcs commands are considered as well - bug fixes: . {ccs,pcs}2pcscmd* would previously exceed a recursion limit due to not catching the bottom of the recursion properly . with *2pcscmd* commands, --dump=cmd-annotate switch would previously cause troubles as newly introduced Nothing format lacked "hash" property (which is used to construct reasonably unique file name to store the intermediate result at individual phases of the filter-piping process) v0.59.5 - feature extensions: . when *2pcscmd or cmd-wrap commands colorize the output, "meta" words for the shell are distinguished as well (related to the first bug that this very handling also helped in nailing down) - bug fixes: . {ccs,pcs}2pcscmd* commands would previously emit an incorrectly quoted command (in the self-check the following sequence of commands is indeed being run on the to-be-clustered machine) unless -g or --noguidance option was used; in turn the respective internals received a considerable overhaul to be able to cope with nested commands (command/process substitution) better; for users of previous releases, the remedy is to use this -g switch or to pass --noop=cmd-wrap to suppress the faulty filter from the pipeline (at the expense of not-so-easy-to-consume output) . *2pcscmd* commands would previously omit colorizing some parts of pcs syntax, contrary to the predestined expectations; e.g.: pcs -f tmp-cib.xml constraint colocation SERVICE-foo rule ... ^^^^^^^^^^^^^^^^^^^^^ (see also https://pagure.io/clufter/releases)
v0.59.6 - bug fixes: . ccs2pcs* commands would previously choke when converting configuration of lvm resource agent from rgmanager's suite into ocf:heartbeat:LVM counterpart anytime lv_name parameter was specified -- it turns out this behavior, based on incorrect assumptions (https://bugzilla.redhat.com/1286292), was an unfounded show-stopper (lv_name is commonly specified even if superfluously) so now only misguided configurations using different LVs (values of lv_name) pertaining given VG (vg_name) are rejected . *2pcscmd* commands, particularly and only with pcs commands configuring alert listeners, would previously disregard "accumulate CIB changes, then push" implicit behavior, shooting the changes at live cluster stack right away, and moreover the respective syntax did not reflect a slight adjustment it received during the final (though a bit belated) fine-tuning [resolves: bug 1381569] {originally: [resolves: rhbz#1381522]}
Re changelog, also: v0.59.7 - bug fixes: . output of {ccs,pcs}2pcscmd commands could previously confuse users as to which shell interpreter the generated script is suitable for, especially when passing --noguidance (or --dry-run) as it would generate process substitution, which is a construct beyond POSIX, so now the expected (build-time configurable) shell selection (POSIX or bash-like) is emitted as a standard shebang ("#!" line) [bug 1381531] . bash completion would previously expose unexpected error when triggering the completion once '=' in a standard "-[-]option=value" syntax has been typed, whereas now this is fixed and suitable options offer also the switches with a trailing '=' for convenience [bug 1381565] - functional changes: . with ccs2pcs* conversions, also the version of resource-agents package is now considered, currently with an impact on conversions of named rgmanager's resource agent targeting the version that has not received the native counterpart yet - internal enhancements: . caching of the internal desparsified facts was fixed (broken from beginning, but became exposed only after a new style of access had been exercised) v0.59.8 - bug fixes: . some configuration flags (sort of meta attributes) of how to treat services or particular resources by rgmanager were previously dropped upon initial resource tree flattening phase (via ccs_flatten binary) whereas now, some are selectively restored on the output; in particular, omitting __failure_expire_time/__max_failures was a downright a bug as they were expected by the filters (ccsflat2cibprelude) further in the chain, the others are restored for possible future use: __enforce_timeouts and __restart_expire_time/__max_restarts . ccs_flatten binary received an update of function responsible for parsing time-related inputs so as to harden against values encoded as unexpectedly long strings or similar exotic cases [related rgmanager's bugs: bug 1036652, bug 1414139] - internal enhancements: . ccs_flatten binary sources and snippets of related filters received some more maintenance care
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2017-0716.html