Hello community, here is the log from the commit of package crmsh for openSUSE:Factory checked in at 2016-09-07 11:45:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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-08-17 12:04:59.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.crmsh.new/crmsh.changes 2016-09-07 11:45:53.000000000 +0200 @@ -1,0 +2,6 @@ +Fri Sep 02 07:56:25 UTC 2016 - kgronl...@suse.com + +- Update to version 2.3.1+git.1472802925.a4a4041: + * Require Python 2.6+, not 2.7 (bsc#995611) + +------------------------------------------------------------------- Old: ---- crmsh-2.3.0+git.1470991992.7deaa3a.tar.bz2 New: ---- crmsh-2.3.1+git.1472802925.a4a4041.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ crmsh.spec ++++++ --- /var/tmp/diff_new_pack.0bUpGu/_old 2016-09-07 11:45:55.000000000 +0200 +++ /var/tmp/diff_new_pack.0bUpGu/_new 2016-09-07 11:45:55.000000000 +0200 @@ -36,7 +36,7 @@ Summary: High Availability cluster command-line interface License: GPL-2.0+ Group: %{pkg_group} -Version: 2.3.0+git.1470991992.7deaa3a +Version: 2.3.1+git.1472802925.a4a4041 Release: 0 Url: http://crmsh.github.io Source0: %{name}-%{version}.tar.bz2 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.0bUpGu/_old 2016-09-07 11:45:55.000000000 +0200 +++ /var/tmp/diff_new_pack.0bUpGu/_new 2016-09-07 11:45:55.000000000 +0200 @@ -3,7 +3,7 @@ <param name="url">git://github.com/ClusterLabs/crmsh.git</param> <param name="scm">git</param> <param name="filename">crmsh</param> - <param name="versionformat">2.3.0+git.%ct.%h</param> + <param name="versionformat">2.3.1+git.%ct.%h</param> <param name="revision">master</param> <param name="changesgenerate">enable</param> </service> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.0bUpGu/_old 2016-09-07 11:45:55.000000000 +0200 +++ /var/tmp/diff_new_pack.0bUpGu/_new 2016-09-07 11:45:55.000000000 +0200 @@ -1,4 +1,4 @@ <servicedata> <service name="tar_scm"> <param name="url">git://github.com/ClusterLabs/crmsh.git</param> - <param name="changesrevision">7deaa3a022f1b817640fe7d7ab7d956dded50caa</param></service></servicedata> \ No newline at end of file + <param name="changesrevision">a4a404123703a355e9cf9c94cecd401c3266c0d5</param></service></servicedata> \ No newline at end of file ++++++ crmsh-2.3.0+git.1470991992.7deaa3a.tar.bz2 -> crmsh-2.3.1+git.1472802925.a4a4041.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.3.0+git.1470991992.7deaa3a/ChangeLog new/crmsh-2.3.1+git.1472802925.a4a4041/ChangeLog --- old/crmsh-2.3.0+git.1470991992.7deaa3a/ChangeLog 2016-08-15 08:01:21.000000000 +0200 +++ new/crmsh-2.3.1+git.1472802925.a4a4041/ChangeLog 2016-09-02 09:56:25.000000000 +0200 @@ -1,3 +1,7 @@ +* Fri Sep 2 2016 Kristoffer Grönlund <kgronl...@suse.com> and many others +- Release 2.3.1 +- Require Python 2.6+, not 2.7 (bsc#995611) (#152) + * Fri Aug 12 2016 Kristoffer Grönlund <kgronl...@suse.com> and many others - Release 2.3.0 - medium: constants: Add missing alerts constants (#150) (bsc#992789) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.3.0+git.1470991992.7deaa3a/configure.ac new/crmsh-2.3.1+git.1472802925.a4a4041/configure.ac --- old/crmsh-2.3.0+git.1470991992.7deaa3a/configure.ac 2016-08-15 08:01:21.000000000 +0200 +++ new/crmsh-2.3.1+git.1472802925.a4a4041/configure.ac 2016-09-02 09:56:25.000000000 +0200 @@ -8,7 +8,7 @@ AC_PREREQ([2.53]) -AC_INIT([crmsh],[2.3.0],[us...@clusterlabs.org]) +AC_INIT([crmsh],[2.3.1],[us...@clusterlabs.org]) 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.3.0+git.1470991992.7deaa3a/crm new/crmsh-2.3.1+git.1472802925.a4a4041/crm --- old/crmsh-2.3.0+git.1470991992.7deaa3a/crm 2016-08-15 08:01:21.000000000 +0200 +++ new/crmsh-2.3.1+git.1472802925.a4a4041/crm 2016-09-02 09:56:25.000000000 +0200 @@ -22,7 +22,7 @@ import sys from distutils import version -minimum_version = '2.7' +minimum_version = '2.6' v_min = version.StrictVersion(minimum_version) v_this = version.StrictVersion(sys.version[:3]) if v_min > v_this: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.3.0+git.1470991992.7deaa3a/crmsh/ui_script.py new/crmsh-2.3.1+git.1472802925.a4a4041/crmsh/ui_script.py --- old/crmsh-2.3.0+git.1470991992.7deaa3a/crmsh/ui_script.py 2016-08-15 08:01:21.000000000 +0200 +++ new/crmsh-2.3.1+git.1472802925.a4a4041/crmsh/ui_script.py 2016-09-02 09:56:25.000000000 +0200 @@ -346,7 +346,7 @@ """ import yaml import os - from collections import OrderedDict + from .ordereddict import OrderedDict def flatten(script): if not isinstance(script, dict): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.3.0+git.1470991992.7deaa3a/doc/development.md new/crmsh-2.3.1+git.1472802925.a4a4041/doc/development.md --- old/crmsh-2.3.0+git.1470991992.7deaa3a/doc/development.md 2016-08-15 08:01:21.000000000 +0200 +++ new/crmsh-2.3.1+git.1472802925.a4a4041/doc/development.md 2016-09-02 09:56:25.000000000 +0200 @@ -31,6 +31,43 @@ If everything worked out as it should, the website should now be generated in `doc/website-v1/gen`. +## Test suite + +There are two separate test suites for crmsh: + +* `test/unittests` - These are unit tests that test small pieces of + code or functionality. To run these tests, run the `test/run` script + from the project root. + +* `test/testcases` - These are larger integration tests which require + a Pacemaker installation on the machine where the tests are to + run. Usually, we run these tests using the OBS and the `osc` command + line tool: + + 1. Check out the crmsh python package to a directory (usually + `~/build-service/network:ha-clustering:Factory/crmsh`) + + 2. Replace the tarball for crmsh in the OBS project with an archive + built from the current source tree. Replace the version number with + whatever version is the current one on OBS: + + git archive --format=tar --prefix=crmsh-2.3.0+git.1470991992.7deaa3a/ -o <tmpdir>/crmsh-2.3.0+git.1470991992.7deaa3a.tar HEAD + bzip2 <tmpdir>/crmsh-2.3.0+git.1470991992.7deaa3a.tar + cp <tmpdir>/crmsh-2.3.0+git.1470991992.7deaa3a.tar.bz2 ~/build-service/network:ha-clustering:Factory/crmsh/crmsh-2.3.0+git.1470991992.7deaa3a.tar.bz2 + + 3. Build the rpm package for crmsh with the `with_regression_tests` + flag set to 1: + + cd ~/build-service/network:ha-clustering:Factory/crmsh + osc build -d --no-verify --release=1 --define with_regression_tests 1 openSUSE_Tumbleweed x86_64 crmsh.spec + +To simplify this process, there is a utility called `obs` which can be +downloaded here: https://github.com/krig/obs-scripts + +Using the `obs` script, the above is reduced to calling `obs test +factory`, given an appropriate `obs.conf` file. See the README in the +obs-scripts project for more details on using `obs`. + ## Modules This is the list of all modules including short descriptions. @@ -186,7 +223,7 @@ A bag of useful XML functions. Needs more order. -## Code improvements +## Code improvements / TODO These are some thoughts on how to improve maintainability and make crmsh nicer. Mostly for people looking at the code, the @@ -195,6 +232,58 @@ Everybody's invited to comment and make further suggestions, in particular experienced pythonistas. +### Syntax bug with automatic constraint handling + +See issue on github https://github.com/ClusterLabs/crmsh/issues/140 . + +The problem is the sequence of modifications: crmsh tries to be too +smart and changes the constraint which refers to all members of the +group so that it now refers to the group. But when the group is +then deleted, the constraint is also deleted. + +### Rewrite the hb_report script completely in Python + +Right now, the `hb_report` script is written in bash. This means it +has some duplicated code, for example finding pacemaker binaries, +with crmsh. It also means that it can be difficult to debug and +maintain. It would be better if it was completely implemented in +Python. + +### Python 3 compatibility + +The code is currently only compatible with Python 2.6+. We will need +to port crmsh to Python 3 eventually. The best solution for this is +probably using the six python library which enables code which is +both Python 2 and Python 3-compatible. + +### Validate more using pacemaker schema + +- We have the pacemaker CIB schema available (see schema.py), +however using it is difficult and so it is not used in enough +places. + +### Investigate switching to python-prompt-toolkit + +Either switch crmsh over to using the prompt toolkit for +implementing the interactive mode, or at least look at it +to see what ideas we can lift. + +https://github.com/jonathanslenders/python-prompt-toolkit + +### History transition should be able to save the graph to a file + +See https://github.com/ClusterLabs/crmsh/issues/98 + +### Add support for ordering attribute on resource sets + +See https://github.com/ClusterLabs/crmsh/issues/84 + +### Better version detection + +Be better at detecting and handling the Pacemaker version. +Ensure backwards compatibility, for example with old vs. +new ACL command syntax. + ### Syntax highlighting - syntax highlighting is done before producing output, which @@ -222,4 +311,4 @@ ### Bad namespace separation - xmlutil and utils are just a loose collection of functions, - need to be organized better (get rid of 'from xyz import *') +need to be organized better (get rid of 'from xyz import *') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.3.0+git.1470991992.7deaa3a/doc/website-v1/news/2016-09-01-release-2_1_7.adoc new/crmsh-2.3.1+git.1472802925.a4a4041/doc/website-v1/news/2016-09-01-release-2_1_7.adoc --- old/crmsh-2.3.0+git.1470991992.7deaa3a/doc/website-v1/news/2016-09-01-release-2_1_7.adoc 1970-01-01 01:00:00.000000000 +0100 +++ new/crmsh-2.3.1+git.1472802925.a4a4041/doc/website-v1/news/2016-09-01-release-2_1_7.adoc 2016-09-02 09:56:25.000000000 +0200 @@ -0,0 +1,46 @@ +Announcing crmsh stable release 2.1.7 +===================================== +:Author: Kristoffer Gronlund +:Email: kgronl...@suse.com +:Date: 2016-09-01 09:00 + +Today I are proud to announce the release of `crmsh` version 2.1.7! +The major new thing in this release is a backports of the events-based +alerts support from the 2.3 branch. + +Big thanks to Hideo Yamauchi for his patience and testing of the +alerts backport. + +This time, the list of changes is small enough that I can add it right +here: + +- high: parse: Backport of event-driven alerts parser (#150) +- 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) +- high: constants: Add maintenance to set of known attributes (bsc#981659) +- high: utils: Avoid deadlock if DC changes during idle wait (bsc#978480) +- medium: scripts: no-quorum-policy=ignore is deprecated (bsc#981056) +- low: cibconfig: Don't mix up CLI name with XML tag + +You can also get the list of changes from the changelog: + +* https://github.com/ClusterLabs/crmsh/blob/2.1.7/ChangeLog + +Right now, I don't have a set of pre-built rpm packages for Linux +distributions ready, but I am going to make this available soon. This +is in particular for centOS 6.x which still relies on Python 2.6 +support which makes running the later releases there more +difficult. These packages will most likely appear as a subrepository +here (more details coming soon): + +* http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/ + +Archives of the tagged release: + +* https://github.com/ClusterLabs/crmsh/archive/2.1.7.tar.gz +* https://github.com/ClusterLabs/crmsh/archive/2.1.7.zip + + +Thank you, + +Kristoffer diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.3.0+git.1470991992.7deaa3a/doc/website-v1/news.adoc new/crmsh-2.3.1+git.1472802925.a4a4041/doc/website-v1/news.adoc --- old/crmsh-2.3.0+git.1470991992.7deaa3a/doc/website-v1/news.adoc 2016-08-15 08:01:21.000000000 +0200 +++ new/crmsh-2.3.1+git.1472802925.a4a4041/doc/website-v1/news.adoc 2016-09-02 09:56:25.000000000 +0200 @@ -1,14 +1,15 @@ = News -link:/news/2016-08-12-release-2_3_0[2016-08-12 10:30] +link:/news/2016-09-01-release-2_1_7[2016-09-01 09:00] :leveloffset: 1 -include::news/2016-08-12-release-2_3_0.adoc[] +include::news/2016-09-01-release-2_1_7.adoc[] :leveloffset: 0 '''' +* link:/news/2016-08-12-release-2_3_0[2016-08-12 10:30 Releasing crmsh version 2.3.0] * link:/news/2016-04-28-release-2_2_1[2016-04-28 01:00 crmsh 2.2.1 and 2.1.6 are released] * 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] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-2.3.0+git.1470991992.7deaa3a/setup.py new/crmsh-2.3.1+git.1472802925.a4a4041/setup.py --- old/crmsh-2.3.0+git.1470991992.7deaa3a/setup.py 2016-08-15 08:01:21.000000000 +0200 +++ new/crmsh-2.3.1+git.1472802925.a4a4041/setup.py 2016-09-02 09:56:25.000000000 +0200 @@ -4,7 +4,7 @@ from setuptools import setup setup(name='crmsh', - version='2.3.0', + version='2.3.1', description='Command-line interface for High-Availability cluster management', author='Kristoffer Gronlund', author_email='kgronl...@suse.com',