pax_global_header00006660000000000000000000000064131343432310014507gustar00rootroot0000000000000052 comment=346336f1e13222211b9f5708d724299df9a7ed66 crmsh-3.0.1/000077500000000000000000000000001313434323100126245ustar00rootroot00000000000000crmsh-3.0.1/.gitignore000066400000000000000000000003461313434323100146170ustar00rootroot00000000000000*.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/ .tox/ crmsh-3.0.1/.hgignore000066400000000000000000000000461313434323100144270ustar00rootroot00000000000000syntax: glob *.pyc *~ #*.*# doc/gen crmsh-3.0.1/.landscape.yaml000066400000000000000000000003711313434323100155210ustar00rootroot00000000000000max-line-length: 160 python-targets: - 2 ignore-paths: - contrib pylint: disable: - unused-argument - unused-variable - too-many-arguments - too-many-statements - too-many-locals - too-many-branches - cyclic-import crmsh-3.0.1/.travis.yml000066400000000000000000000027001313434323100147340ustar00rootroot00000000000000--- sudo: required dist: trusty group: deprecated-2017Q2 language: python python: - "2.7_with_system_site_packages" before_install: - sudo apt-get install -qq automake autoconf chrpath libglib2.0-dev perl net-tools python libtool libxml2-dev bison flex uuid-dev libbz2-dev zlib1g-dev libltdl3-dev libgnutls-dev python-dev libpam0g-dev libncurses5-dev libcorosync-dev libxslt1-dev libdbus-1-dev - sudo apt-get install -qq heartbeat-dev libheartbeat2-dev - sudo apt-get install -qq libqb-dev - sudo apt-get install -y python-lxml python-dateutil python-setuptools python-yaml asciidoc pkg-config - sudo dpkg -r --force-depends crmsh - sudo dpkg -r --force-depends pacemaker - wget https://github.com/ClusterLabs/cluster-glue/archive/master.tar.gz && tar xzf master.tar.gz - cd cluster-glue-master && ./autogen.sh && ./configure && sudo make install && cd .. - wget https://github.com/ClusterLabs/pacemaker/archive/Pacemaker-1.1.16.tar.gz && tar xzf Pacemaker-1.1.16.tar.gz - cd pacemaker-Pacemaker-1.1.16 && ./autogen.sh && ./configure && sudo make install && cd .. install: - pip install tox-travis script: - tox - test/travis-tests.sh after_failure: - sudo cat $TRAVIS_BUILD_DIR/crmtestout/regression.out $TRAVIS_BUILD_DIR/crmtestout/crm.* /etc/apt/sources.list - lsb_release -a - whoami - printenv | sort notifications: irc: channels: - "chat.freenode.net#clusterlabs-dev" on_success: never on_failure: change crmsh-3.0.1/AUTHORS000066400000000000000000000033151313434323100136760ustar00rootroot00000000000000NOTE: The work of everyone on this project is dearly appreciated. If you are not listed here but should be, please notify us! afederic Adam Spiers Andrei Maruha Andrew Beekhof Borislav Borisov Christian Seiler Daniel Hoffend Dejan Muhamedagic Federica Teodori Florian Haas Goldwyn Rodrigues Hideo Yamauchi Holger Teutsch Kai Kang Kazunori INOUE Keisuke MORI Kristoffer Gronlund Lars Ellenberg Lars Marowsky-Brée Marc A. Smith Michael Prokop Motaharu Kobu NAKAHIRA Kazutomo Nate Clark nozawat Pedro Salgado Richard B Winters seabres Tim Serong Vincenzo Pii Vladislav Bogdanov Xia Li Xinwei Hu Yan Gao Yuusuke IIDA crmsh-3.0.1/COPYING000066400000000000000000000431031313434323100136600ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 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. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. crmsh-3.0.1/ChangeLog000066400000000000000000001510771313434323100144110ustar00rootroot00000000000000* Fri Jul 21 2017 Kristoffer Grönlund and many others - high: bootstrap: Add option to enable diskless SBD mode to cluster init (bsc#1045118) - high: cibconfig: Graph file output option was reversed (bsc#1036595) - medium: bootstrap: replace 'nodename' to 'seed_host' - medium: bootstrap: Fix watchdog SBD envvars (bsc#1045118) - medium: scripts: Relax broadcast IP validation (bsc#1044233) - medium: scripts: Clarify help text for NFS wizard (bsc#1044244) - medium: ui_cluster: Add --force to ha-cluster-remove (bsc#1044071) - medium: history: Revert preference of messages over ha-log.txt (bsc#1031138) - medium: bootstrap: Make arbitrator argument optional (bsc#1038386) - medium: bootstrap: Check required arguments to geo-join (bsc#1037421) - medium: bootstrap: Handle failure to fetch config gracefully (bsc#1037423) - medium: bootstrap: Enable "help geo-init" etc. (bsc#1037417) - medium: bootstrap: Set expected_votes based on actual node count (bsc#1033288) - medium: scripts/health: Make health script available as wizard (fate#320848) (fate#320866) - medium: ui_cluster: Fix init with no arguments (bsc#1028735) - low: utils: Use /proc for process discovery - low: bootstrap: Fix warning for formatting SBD device (bsc#1028704) - low: ui_cluster: when have an error for optparse, just return and stay at shell - low: ui_cluster: when use help option, do not exit, just print help messages and return - doc: geo-join requires --clusters argument (bsc#1037442) - remove bindnetaddr for unicast(bsc#1030437) - Allow empty fencing_topology (bsc#1025393) * Tue Jan 31 2017 Kristoffer Grönlund and many others - Release 3.0.0 - high: bootstrap: Add bootstrap commands (fate#321114) - high: logparser: Update transition RE (#168) - high: scripts: Remove script versions of add/remove/init - high: utils: Fix typo in tmpf patch (bsc#999683) - medium: bootstrap: Configure hawk iff package installed - medium: ui_cluster: Fix broken cluster remove command - medium: bootstrap: Invoke _remote commands correctly - medium: bootstrap: adapt firewall handling to other platforms - medium: ui_cluster: Compatibility mode for old cluster init behavior - medium: ui_history: Avoid ugly wrapping of diff output - medium: hb_report: Make sure this never expands to rm -rf / - medium: hb_report: don't use backticks in local - low: completers: give the op's hint when type tab after 'op' - low: bootstrap: Handle None as result from remote command correctly - low: bootstrap: Avoid warning if known_hosts doesn't exist - low: bootstrap: Don't check for ptty for _remote stages - low: ui_cluster: No need to check the cluster stack in requires - low: ui: Fix vim highlightning support. - low: ui_script: Fix script list all/names argument handling - low: cibconfig: Clearer error for duplicate ID (bsc#1009748) - low: ui_cluster: start/stop don't touch corosync, just pacemaker * Tue Oct 25 2016 Kristoffer Grönlund and many others - Release 2.3.2 - high: history: Quote archive tarball name if it contains spaces (bsc#998959) - high: history: Prefer /var/log/messages over ha-log.txt (bsc#998891) - high: parse: Support target pattern in fencing topology - high: cibconfig: Ensure temp CIB is readable by crm_diff (bsc#999683) - medium: corosync: Fix missing variable in del-node - medium: scripts: Drop logrotate check from cluster health - medium: scripts: Better corosync defaults (bsc#1001164) - medium: cibconfig: Remove from tags when removing object - medium: ui_configure: option to obscure passwords - low: cmd_status: More detail in verify output - low: crm_pssh: Fix nodenum envvar name - low: cmd_status: Highlight plural forms (bsc#996806) - doc: Fix inverted boolean in resource set documentation * Fri Sep 2 2016 Kristoffer Grönlund and many others - Release 2.3.1 - Require Python 2.6+, not 2.7 (bsc#995611) (#152) * Fri Aug 12 2016 Kristoffer Grönlund and many others - Release 2.3.0 - medium: constants: Add missing alerts constants (#150) (bsc#992789) - high: hb_report: Don't collect logs from journalctl if -M is set (bsc#990025) - high: hb_report: Skip lines without timestamps in log correctly (bsc#989810) - low: scripts: Fix use of non-relative import for ra - medium: tmpfiles: Create temporary directory if non-existing (bsc#981583) - medium: xmlutil: reduce unknown attribute to warning (bsc#981659) - high: constants: Add maintenance to set of known attributes (bsc#981659) - medium: scripts: no-quorum-policy=ignore is deprecated (bsc#981056) - low: history: fall back to any log file in report root - medium: history: Report better error when history user is not sudoer (bsc#980924) - high: history: Store live report in per-user directory (bsc#980924) - medium: logparser: Fix use-before-declaration error in logparser - low: utils: Clearer error if permission denied when locking (bsc#980924) - medium: logparser: Handle read-only access to metadata cache (bsc#980924) - doc: Add @steenzout to AUTHORS - fix issue #144 by comparing output line by line (#146) - fixed version number (#142) - added crm to scripts (#143) - doc: sort subcommands in the documentation - high: parse: Support for event-driven alerts (fate#320855) (#136) - medium: ui_resource: Add force argument to resource cleanup (bsc#979420) - high: ui_resource: Improved resource move/clear/locate commands - medium: ui_resource: Show utilization in output from crm resource scores - high: utils: Avoid deadlock if DC changes during idle wait (bsc#978480) - low: scripts: Note SBD recommendation in libvirt script (fate#318320) - low: scripts: Note SBD recommendation in vmware script (fate#318320) - high: ui_root: Add crm verify command - low: hb_report: Fix spurious error on missing events.txt - medium: hb_report: Fix broken -S option (#137) - medium: ui_node: Fix crash in node fence command (bsc#974902) - low: scripts: Better description for sbd - low: scripts: Preserve formatting in description for vmware wizard - medium: scripts: Add vmware to data manifest (fate#318320) - high: scripts: VMware fencing using vCenter (fate#318320) - low: scripts: Shouldn't set -e here (fate#318320) - low: parse: Don't validate operation name in parser (bsc#975357) - low: constants: Add missing reload operation to parser - medium: ui_node: Fix "crm node fence" (bsc#974902) (#134) - low: corosync: Recycle node IDs when possible - low: scripts: Fix watchdog test in sbd-device (fate#318320) - low: scripts: Only print debug output locally unless there were remote actions - low: cibconfig: Don't mix up CLI name with XML tag - low: parser: ignore case for attr: prefix - medium: scripts: Use os.uname() to find hostname (#128) - low: history: Don't skip nodes without logs - low: logparser: Don't crash on nodes without logs - low: scripts: Need sudo if non-local call - medium: hb_report: Add timeout to SSH connection (bsc#971690) - low: scripts: Clean up various scripts - medium: main: Add -o|--opt to pass extra options for crmsh - low: command: handle stray regex characters in input - medium: scripts: SBD wizard which configures SBD itself (fate#318320) - medium: scripts: Add nfs-utils to list of packages for nfsserver - medium: scripts: Set sudo and full path for exportfs -v in nfs scripts - medium: scripts: Don't require sudo for root - medium: scripts: inline scripts for call actions - medium: scripts: Simplify SBD script (bsc#968076) (fate#318320) - low: logparser: Add cib info to __meta for hawk - low: hb_report: Suggest user checks timeframe on empty logs (bsc#970823) - medium: ui_node: Add crm node server command - medium: hb_report: Use server attribute for remote nodes if set (bsc#970819) - low: ui_resource: alias show to get - high: history: Faster log parsing (bsc#920278) - low: log_patterns_118: Add captures to log patterns for tagging (bsc#970278) - medium: crm_pssh: Fix live refresh of journalctl logs (bsc#970931) - low: hb_report: Warn if generated report is empty (bsc#970823) - low: hb_report: Print covered time span at exit (bsc#970823) - low: logtime: Improve performance of syslog_ts (bsc#970278) - low: scripts: Fix error in service action - low: history: use os.listdir to list history sessions - medium: ui_node: Use stonith_admin -F to fence remote nodes (bsc#967907) - low: ui_node: Less cryptic query when fencing node - low: config: Messed up previous fix (#119) - low: config: Clean up libdir configuration (#119) - medium: config: make multiarch dependency a dynamic include (#119) - high: ui_configure: Fix commit force (#120) - medium: hb_report: Don't collect logs on non-nodes (bsc#959031) - medium: ui_configure: Only wait for DC if resources were stopped (#117) - low: Fix title style vs. sentence style in cluster scripts (bsc#892108) - medium: command: Disable fuzzy matcher for completion (#116) - Merge pull request #115 from rikkotec/patch-queue/remove-fix-for-debian - medium: corosync: added optional parameter [name] to "corosync add-node" function - medium: constants: clone-min meta attribute (new in Pacemaker 1.1.14) - medium: cibconfig: add and|or filter combinators to influence filtering (fate#320401) - high: scripts: fix broken cluster init script (bsc#963135) - high: scripts: Add LVM on DRBD cluster script (bsc#951132) - high: scripts: Add NFS on LVM and DRBD cluster script (bsc#951132) - medium: ui_configure: Rename show-property to get-property - high: scripts: Improved OCFS2 cluster script (bsc#953984) - medium: scripts: Updated SBD cluster script - high: history: Parse log lines without timestamp (bsc#955581) * Fri Jan 15 2016 Kristoffer Grönlund and many others - Release 2.2.0 - medium: history: Fix live report refresh (bsc#950422) (bsc#927414) - medium: history: Ignore central log - medium: cibconfig: Detect false container children - low: clidisplay: Avoid crash when colorizing None - medium: scripts: Load single file yml scripts - medium: scripts: Reformat scripts to simplified form - medium: ui_history: Add events command (bsc#952449) - low: hb_report: Drop function from event patterns - high: cibconfig: Preserve failure through edit (bsc#959965) - high: cibconfig: fail if new object already exists (bsc#959965) - medium: ui_cib: Call crm_shadow in batch mode to avoid spawning subshell (bsc#961392) - high: cibconfig: Fix XML import bug for cloned groups (bsc#959895) - high: ui_configure: Move validate-all validation to a separate command (bsc#956442) - high: scripts: Don't require scripts to be an array of one element - medium: scripts: Enable setting category in legacy wizards (bnc#957926) - high: scripts: Don't delete steps from upgraded wizards (bnc#957925) - high: ra: Only run validate-all if current user is root - high: cibconfig: Call validate-all action on agent in verify (bsc#956442) - high: script: Fix issues found in cluster scripts - high: ui_ra: Add ra validate command (bsc#956442) - low: resource: Fix unban alias for unmigrate - high: ui_resource: Add constraints and operations commands - high: ui_resource: Enable start/stop/status for multiple resources at once (bsc#952775) - high: scripts: Conservatively verify scripts that modify the CIB (bsc#951954) - high: xmlutil: Order is significant in resource_set (bsc#955434) - medium: scripts: Lower copy target to string - doc: configure load can read from stdin - medium: script: (filesystem) create stopped (bsc#952670) - medium: scripts: Check required parameters for optional sub-steps - high: scripts: Eval CIB text in correct scope (bsc#952600) - medium: utils: Fix python 2.6 compatibility - medium: ui_script: Tag legacy wizards as legacy in show (bsc#952226) - medium: scripts: No optional steps in legacy wizards (bsc#952226) - high: utils: Revised time zone handling (bsc#951759) - high: report: Fix syslog parser regexps (bsc#951759) - low: constants: Tweaked graph colours - high: scripts: Fix DRBD script resource reference (bsc#951028) - low: constants: Tweaked graph colors - medium: report: Make transitions without end stretch to 2525 - high: utils: Handle time zones in parse_time (bsc#949511) - medium: hb_report: Remove reference to function name in event patterns (bsc#942906) - medium: ui_script: Optionally print common params - medium: cibconfig: Fix sanity check for attribute-based fencing topology (#110) - high: cibconfig: Fix bug with node/resource collision - high: scripts: Determine output format of script correctly (bsc#949980) - doc: add explanatory comments to fencing_topology - doc: add missing backslash in fencing_topology example - doc: add missing <> to fencing_topology syntax - low: don't use deprecated crm_attribute -U option - doc: resource-discovery for location constraints - high: utils: Fix cluster_copy_file error when nodes provided - low: xmlutil: More informative message when updating resource references after rename - doc: fix some command syntax grammar in the man page - high: cibconfig: Delete constraints before resources - high: cibconfig: Fix bug in is_edit_valid (bsc#948547) - medium: hb_report: Don't cat binary logs - high: cibconfig: Allow node/rsc id collision in _set_update (bsc#948547) - low: report: Silence tar warning on early stream close - high: cibconfig: Allow nodes and resources with the same ID (bsc#948547) - high: log_patterns_118: Update the correct set of log patterns (bsc#942906) - low: ui_resource: Silence spurious migration non-warning from pacemaker - medium: config: Always fall back to /usr/bin:/usr/sbin:/bin:/sbin for programs (bsc#947818) - medium: report: Enable opening .xz-compressed report tarballs - medium: cibconfig: Only warn for grouped children in colocations (bsc#927423) - medium: cibconfig: Allow order constraints on group children (bsc#927423) - medium: cibconfig: Warn if configuring constraint on child resource (bsc#927423) (#101) - high: ui_node: Show remote nodes in crm node list (bsc#877962) - high: config: Remove config.core.supported_schemas (bsc#946893) - medium: report: Mark transitions with errors with a star in info output (bsc#943470) - low: report: Remove first transition tag regex - medium: report: Add transition tags command (bsc#943470) - low: ui_history: Better error handling and documentation for the detail command - low: ui_history: Swap from and to times if to < from - medium: cibconfig: XML parser support for node-attr fencing topology - medium: parse: Updated syntax for fencing-topology target attribute - medium: parse: Add support for node attribute as fencing topology target - high: scripts: Add enum type to script values - low: scripts: [MailTo] install mailx package - low: scripts: Fix typo in email type verifier - high: script: Fix subscript agent reference bug - low: constants: Add meta attributes for remote nodes - medium: scripts: Fix typo in lvm script - high: scripts: Generate actions for includes if none are defined - low: scripts: [virtual-ip] make lvs_support an advanced parameter - medium: crm_pssh: Timeout is an int (bsc#943820) - medium: scripts: Add MailTo script - low: scripts: Improved script parameter validation - high: parse: Fix crash when referencing score types by name (bsc#940194) - doc: Clarify documentation for colocations using node-attribute - high: ui_script: Print cached errors in json run - medium: scripts: Use --no option over --force unless force: true is set in the script - medium: options: Add --no option - high: scripts: Default to passing --force to crm after all - high: scripts: Add force parameter to cib and crm actions, and don't pass --force by default - low: scripts: Make virtual IP optional [nfsserver] - medium: scripts: Ensure that the Filesystem resource exists [nfsserver] (bsc#898658) - medium: report: Reintroduce empty transition pruning (bsc#943291) - low: hb_report: Collect libqb version (bsc#943327) - medium: log_patterns: Remove reference to function name in log patterns (bsc#942906) - low: hb_report: Increase time to wait for the logmark - high: hb_report: Always prefer syslog if available (bsc#942906) - high: report: Update transition edge regexes (bsc#942906) - medium: scripts: Switch install default to false - low: scripts: Catch attempt to pass dict as parameter value - high: report: Output format from pacemaker has changed (bsc#941681) - high: hb_report: Prefer pacemaker.log if it exists (bsc#941681) - medium: report: Add pacemaker.log to find_node_log list (bsc#941734) - high: hb_report: Correct path to hb_report after move to subdirectory (bsc#936026) - low: main: Bash completion didn't handle sudo correctly - medium: config: Add report_tool_options (bsc#917638) - high: parse: Add attributes to terminator set (bsc#940920) - Medium: cibconfig: skip sanity check for properties other than cib-bootstrap-options - medium: ui_script: Fix bug in verify json encoding - low: ui_script: Check JSON command syntax - medium: ui_script: Add name to action output (fate#318211) - low: scripts: Preserve formatting of longdescs - low: scripts: Clearer shortdesc for filesystem - low: scripts: Fix formatting for SAP scripts - low: scripts: add missing type annotations to libvirt script - low: scripts: make overridden parameters non-advanced by default - low: scripts: Tweak description for libvirt - low: scripts: Strip shortdesc for scripts and params - low: scripts: Title and category for exportfs - high: ui_script: drop end sentinel from API output (fate#318211) - low: scripts: Fix possible reference error in agent include - low: scripts: Clearer error message - low: Remove build revision from version - low: Add HAProxy script to data manifest - medium: constants: Add 'provides' meta attribute (bsc#936587) - medium: scripts: Add HAProxy script - high: hb_report: find utility scripts after move (bsc#936026) - high: ui_report: Move hb_report to subdirectory (bsc#936026) - high: Makefile: Don't unstall hb_report using data-manifest (bsc#936026) - medium: report: Fall back to cluster-glue hb_report if necessary (bsc#936026) - medium: scripts: stop inserting comments as values - high: scripts: subscript values not required if subscript has no parameters / all defaults (fate#318211) - medium: scripts: Fix name override for subscripts (fate#318211) - low: scripts: Clean up generated CIB (fate#318211) * Sat Jun 13 2015 Kristoffer Grönlund and many others - Pre-release 2.2.0-rc3 - high: Merge rewizards development branch (fate#318211) (fate#318384) (fate#318483) (fate#318482) (fate#318550) - Summary of some of the changes included in the merge of the rewizards branch: + Colorized status output + New and more capable cluster script implementation + Deprecated the crmsh templates (not the CIB templates, the configuration templates) + Implemented a JSON API interface to the cluster scripts for hawk to use instead of having its own wizards + Handlebars-like templating language for cluster scripts that modify the CIB + Collect metadata from resource agents to avoid duplication in configuration scripts + Extended validation support for parameter values + New cluster scripts: - Stonith: SBD and libvirt - Apache web server - NFS server - cLVM - Databases: MySQL / MariaDB / Oracle / DB2 - SAP - OCFS2 - etc. + Radically simplified automake and autoconf setup + Improved completion performance + Added pygment lexers used by the history guide as stand-alone python module in contrib/ + Removed dependency on corosync for regression test suite + Sort topics and commands in help output + Hide internal commands in help and ls + Clearer debug output when simulating + Cleaned up and fixed documentation bugs - high: cmd_status: Colorize status output - low: cmd_status: Add full argument to status - low: scripts: Handle local runs even if nodelist doesn't contain local node - low: scripts: Stricter regexp for identifiers - doc: Fix unterminated block - low: command: Hide internal commands from ls - low: script: Rename describe to show - doc: Document the script JSON API - low: handles: Clean up special values - medium: help: Sort topics and commands in help output - doc: scripts: Basic documentation for the cluster scripts - doc: Describe website compilation process in development.md - contrib: Add pygment lexers used by the history guide - build: Add update-data-manifest.sh to generate datadir file list - medium: ui_script: Add JSON API - medium: config: add config.path.hawk_wizards - medium: handles: Fix error in strict parameter handling - scripts: Add placeholders for some basic scripts - WIP: in-progress notes etc. - doc: Update reference to parallax in scripts documentation - low: handles: Also allow # and $ in identifiers - medium: handles: Replace magic value with callables - medium: handles: {{^feature}}invert blocks{{/feature}} - medium: resource: Add ban command - medium: ui_root: Make the cibstatus command available directly from the root - medium: hb_report: Collect logs from pacemaker.log - low: crm: Detect and report use of python 3 - doc: Link to japanese translation of Getting Started - medium: crm_pkg: Fix cluster init bug on RH-based systems - medium: crm_gv: Improved quoting of non-identifier node names (bsc#931837) - medium: crm_gv: Wrap non-identifier names in quotes (bsc#931837) - low: Fix references to pssh to refer to parallax - medium: report: Try to load source as session if possible (bsc#927407) - low: xmlutil: Update comment to match the code - Merge pull request #91 from krig/missing-transitions - high: report: New detection to fix missing transitions (bnc#917131) - medium: ui_configure: Add resource as an alias for primitive - medium: parse: Allow implicit initial for groups as well - medium: parse: More robust implicit initial parser - doc: website: Embedded hawk video in announcement - doc: news: News update for 2.1.4 - Merge pull request #95 from dmuhamedagic/history-guide - Medium: doc: add history guide - Low: doc: simplify to make it work with python 2.6 - Medium: hb_report: use faster zypper interface if available - medium: ui_configure: Wait for DC when removing running resource - Merge pull request #94 from rikkotec/patch-queue/debian-multiarch-compat - Fix CFLAGS for supporting triplet paths with pacemaker - low: schema: Don't leak PacemakerError exceptions (#93) - high: ui_cluster: Add copy command - doc: Update the documentation for the upgrade command - parse: Don't require trailing colon in tag definitions - high: crm_pssh: Explicitly set parallax inline option (krig/parallax#1) - doc: Add quick links to website - high: ui_configure: Add show-property command - medium: utils: Allow 1/0 as boolean values for parameters - doc: Correct the URL to point to the new upstream repository - doc: Add announcement for release 2.1.3 - low: hb_report: Use crmsh config to find pengine/cib dirs (bsc#926377) - low: ui_options: add alias list for show - medium: cliformat: Escape double-quotes in nvpair values - high: parse: Don't allow constraints without applicants - medium: parse: Disallow location rules without resources - medium: ui_template: Make new command more robust (bnc#924641) - high: fix typo in previous commit - high: ui_node: Don't fence node in clearstate (boo#912919) - low: Replaced README with README.md - medium: ui_template: Always generate id unless explicitly defined (boo#921028) - high: cibconfig: Derive id for ops from referenced resource name (boo#921028) - medium: templates: Clearer descriptions for editing templates (boo#921028) - high: ui_context: Wait for DC after commit, not before (#85) - high: cibconfig: Don't delete valid tickets when removing referenced objects (bnc#922039) - high: ui_configure: Remove acl_group command (bnc#921056) - doc: Document changes to template list|new - medium: help: Teach help to fuzzy match topics - doc: Describe the shorthand syntax for commands - low: command: Use fuzzy match for sublevel check - medium: command: Fuzzy match command names - low: ui_context: Use true command name when reporting errors - doc: Move the main crmsh repository to the ClusterLabs organization on github - Merge pull request #82 from dmuhamedagic/sync_hb_report - Low: hb_report: add -X option for extra ssh options - Merge pull request #81 from lge/for-krig - fix: catch exception if schema file does not exist - low: allow pacemaker 1.0 version detection - low: allow (0,1) as option booleans - medium: cibconfig: Allow removal of non-existing elements if --force is set - medium: cibconfig: Allow delete of objects that don't exist without returning error code - medium: cibconfig: If a change results in no diff, exit silently - low: pacemaker: Remove debug output - medium: schema: Remove extra debug output - medium: schema: Test if node type is optional via schema - medium: parse: Treat pacemaker-next schema as 2.0+ - low: cibconfig: Improved debug output when schema change fails - medium: cibconfig: Fix inverted logic causing spurious warning - Merge pull request #80 from dmuhamedagic/schema-update - Medium: cibconf: preserve cib user attributes - medium: ra: Handle non-OCF agent meta-data better - medium: config: Fix case-sensitivity for booleans - medium: report: Include transitions with configuration changes (bnc#917131) - medium: xmlutil: Improved check for related elements - doc: Documentation for show related: - medium: report: Convert RE exception to simpler UI output - medium: cibconfig: add show related: - doc: Add link to clusterlabs.org - medium: parse: Encode unicode using xmlcharrefreplace in parser - medium: parse: nvpair attributes with no value = (#71) - medium: ui_cluster: Add diff command (bnc#914525) - doc: website: Fix changelog in news entry - doc: website: Add news release for 2.1.2 - medium: report: Fall back to end_ts = start_ts - medium: util: Don't fall back to current time - high: xmlutil: Treat node type=member as normal (boo#904698) - low: xmlutil: logic bug in sanity_check_nvpairs - medium: xmlutil: Modify sort order of object types - medium: cibconfig: Use orderedset to avoid reordering bugs (#79) - medium: orderedset: Add OrderedSet type - medium: cibconfig: Detect v1 format and don't patch container changes (bnc#914098) - medium: constants: Update transition regex (#77) - Revert "high: xmlutil: Reorder elements only if sort_elements is set (#78)" - low: ui_options: Add underscore aliases for legacy options - high: xmlutil: Reorder elements only if sort_elements is set (#78) - medium: cibconfig: Strip digest from v1 diffs (bnc#914098) - Merge pull request #77 from krig/mail-patchset - medium: crm_pssh: Make tar follow symlinks - medium: constants: Fix transition start detection - medium: crm_pssh: Handle incomplete Option argument - high: crm_pssh: Use correct Task API in do_pssh (bnc#913261) - medium: cibconfig: Break infinite edit loop if --force is set - Merge pull request #76 from dmuhamedagic/log-patterns - high: utils: Locate binaries across sudo boundary (bnc#912483) - low: config: Convert NoOptionError to ValueError - low: msg: Add note on modifying supported schemas - medium: config: Add 2.3 to list of supported schemas - medium: utils: crm_daemon_dir is added to PATH in envsetup (#67) * Fri Jan 9 2015 Kristoffer Grönlund and many others - medium: ui_resource: Set probe interval 0 if not set (bnc#905050) - doc: Document probe op in resource trace (bnc#905050) - low: ui_resource: --reprobe and --refresh are deprecated (bnc#905092) - doc: Document deprecation of refresh and reprobe (bnc#905092) - medium: parse: Support resource-discovery in location constraints - medium: pacemaker: Support pacemaker-next as schema - medium: cibconfig: Allow unsupported schemas with warning - medium: ra: Use correct path for crmd (#67) - medium: cmd_status: Show pending if available, enable extra options - high: config: Fix path to system-wide crm.conf (#67) - medium: config: Fall back to /etc/crm/crmsh.conf (#67) - low: cliformat: Colorize id: as identifier (boo#905338) - medium: cibconfig: Revised CIB schema handling - medium: ui_configure: Add replace option to commit - medium: cibconfig: Don't bump epoch if stripping version - medium: ui_context: Lazily import readline - medium: ui_configure: selectors in save command - medium: config: Add core.ignore_missing_metadata (#68) (boo#905910) - Medium: config: add alwayscolor to display output option - doc: Clarify documentation for property (boo#905637) - doc: Add documentation section describing rule expressions (boo#905637) - doc: Link to documentation on rule expressions - medium: Allow removing groups even if is_running (boo#905271) - medium: cibconfig: Delete containers first in edits (boo#905268) - doc: Improved documentation for show and save - doc: Add note about modeline for vim syntax - medium: ui_history: Fix crash using empty object set - utils: append_file: open destination in append-mode (boo#907528) - medium: parse: Allow nvpair with no value using name= syntax (#71) - medium: parse: Enable name[=value] for nvpair (#71) - Low: term: get rid of annying ^O in piped-to-less-R output - high: parse: Implicit initial parameter list - high: crm_pssh: Switch to python-parallax over pssh (bnc#905116) - low: report: Fix references to PSSH - low: report: Delay Report creation until use - medium: utils: Check if path basename is less (#74) - medium: ui_options: Accept prefix or suffix of option as argument - medium: Remove CIB version in case no --no-version. - low: cibconfig: Use LXML to remove version data more robustly (#75) - low: crm_gv: Avoid crashing if passed None in my_edge - low: cibconfig: Protect against dereferencing None when building graph * Tue Oct 28 2014 Kristoffer Grönlund and many others - Pre-release 2.2.0-rc1 - cibconfig: Clean up output from crm_verify (bnc#893138) - high: constants: Add acl_target and acl_group to cib_cli_map (bnc#894041) - medium: cibconfig: Add set command - doc: Rename asciidoc files to %.adoc - high: parse: split shortcuts into valid rules - medium: Handle broken CIB in find_objects - high: scripts: Handle corosync.conf without nodelist in add-node (bnc#862577) - low: template: Add 'new