)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@canonical.com","username":"toabctl"},"change_message_id":"2a4149df4648797e2b00bc27a65096c3f25f34c3","unresolved":false,"context_lines":[{"line_number":21,"context_line":"WIP - Spark - need to create a separate package for 1.6.3"},{"line_number":22,"context_line":"WIP - attempt at including /etc/monasca-transform.conf, but"},{"line_number":23,"context_line":"      what is up with python-monasca-tranform?"},{"line_number":24,"context_line":"WIP - attempted to make it like monasca-notification,"},{"line_number":25,"context_line":"      but now get an error \u0027package python-monasca-transform"},{"line_number":26,"context_line":"      already exists\u0027 when osc build"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1f1a1f67_76d8b851","line":24,"updated":"2017-07-19 20:10:22.000000000","message":"To fix that, you need a rule in pymod2pkg to map monasca-transform to openstack-monasca-transform . Then you can create the python- subpackage...","commit_id":"a9006de3c297004c480b59d55953cbaf987f83ec"},{"author":{"_account_id":10311,"name":"Joseph Davis","email":"joseph.davis@suse.com","username":"joadavis"},"change_message_id":"f07f03901aa58529ac7d6a8647d27b9ff4127661","unresolved":false,"context_lines":[{"line_number":21,"context_line":"WIP - Spark - need to create a separate package for 1.6.3"},{"line_number":22,"context_line":"WIP - attempt at including /etc/monasca-transform.conf, but"},{"line_number":23,"context_line":"      what is up with python-monasca-tranform?"},{"line_number":24,"context_line":"WIP - attempted to make it like monasca-notification,"},{"line_number":25,"context_line":"      but now get an error \u0027package python-monasca-transform"},{"line_number":26,"context_line":"      already exists\u0027 when osc build"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1f1a1f67_a314cfe9","line":24,"in_reply_to":"1f1a1f67_76d8b851","updated":"2017-07-19 23:25:39.000000000","message":"Like https://review.openstack.org/#/c/485373/1?  I\u0027m not familiar with pymod2pkg or all its uses.","commit_id":"a9006de3c297004c480b59d55953cbaf987f83ec"}],"openstack/monasca-transform/monasca-transform.spec.j2":[{"author":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@canonical.com","username":"toabctl"},"change_message_id":"0e2ba7bd12b687aec0fd61eda794fa6fc21c9f5a","unresolved":false,"context_lines":[{"line_number":3,"context_line":"{% set upstream_version \u003d upstream_version(\u00270.10.0\u0027) %}"},{"line_number":4,"context_line":"{% set rpm_release \u003d \u00271\u0027 %}"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"%global sname {{ pypi_name }}"},{"line_number":7,"context_line":"Name:           {{ py2name() }}"},{"line_number":8,"context_line":"Version:        {{ py2rpmversion() }}"},{"line_number":9,"context_line":"Release:        {{ py2rpmrelease() }}"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"1f1a1f67_966234ad","line":6,"updated":"2017-07-19 20:09:00.000000000","message":"you don\u0027t need to define sname. Just use {{ pypi_name }} instead of %{sname}","commit_id":"a9006de3c297004c480b59d55953cbaf987f83ec"},{"author":{"_account_id":10311,"name":"Joseph Davis","email":"joseph.davis@suse.com","username":"joadavis"},"change_message_id":"f07f03901aa58529ac7d6a8647d27b9ff4127661","unresolved":false,"context_lines":[{"line_number":3,"context_line":"{% set upstream_version \u003d upstream_version(\u00270.10.0\u0027) %}"},{"line_number":4,"context_line":"{% set rpm_release \u003d \u00271\u0027 %}"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"%global sname {{ pypi_name }}"},{"line_number":7,"context_line":"Name:           {{ py2name() }}"},{"line_number":8,"context_line":"Version:        {{ py2rpmversion() }}"},{"line_number":9,"context_line":"Release:        {{ py2rpmrelease() }}"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"1f1a1f67_e0851dae","line":6,"in_reply_to":"1f1a1f67_966234ad","updated":"2017-07-19 23:25:39.000000000","message":"Just trying to be consistent with monasca-persister.spec.j2.  Should we simplify that .spec.j2 as well?","commit_id":"a9006de3c297004c480b59d55953cbaf987f83ec"},{"author":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@canonical.com","username":"toabctl"},"change_message_id":"0e2ba7bd12b687aec0fd61eda794fa6fc21c9f5a","unresolved":false,"context_lines":[{"line_number":11,"context_line":"License:        {{ license(\u0027Apache-2.0\u0027) }}"},{"line_number":12,"context_line":"Group:          Development/Languages/Python"},{"line_number":13,"context_line":"Url:            https://wiki.openstack.org/wiki/Monasca/Transform"},{"line_number":14,"context_line":"Source0:        https://pypi.io/packages/source/m/%{pypi_tar_name}/%{pypi_tar_name}-%{version}.tar.gz"},{"line_number":15,"context_line":"BuildRequires:  openstack-macros"},{"line_number":16,"context_line":"BuildRequires:  {{ py2pkg(\u0027PyMySQL\u0027) }}"},{"line_number":17,"context_line":"BuildRequires:  {{ py2pkg(\u0027SQLAlchemy\u0027) }}"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"1f1a1f67_f694c88c","line":14,"updated":"2017-07-19 20:09:00.000000000","message":"For Source0, pypi_name should be used.","commit_id":"a9006de3c297004c480b59d55953cbaf987f83ec"},{"author":{"_account_id":10311,"name":"Joseph Davis","email":"joseph.davis@suse.com","username":"joadavis"},"change_message_id":"f07f03901aa58529ac7d6a8647d27b9ff4127661","unresolved":false,"context_lines":[{"line_number":11,"context_line":"License:        {{ license(\u0027Apache-2.0\u0027) }}"},{"line_number":12,"context_line":"Group:          Development/Languages/Python"},{"line_number":13,"context_line":"Url:            https://wiki.openstack.org/wiki/Monasca/Transform"},{"line_number":14,"context_line":"Source0:        https://pypi.io/packages/source/m/%{pypi_tar_name}/%{pypi_tar_name}-%{version}.tar.gz"},{"line_number":15,"context_line":"BuildRequires:  openstack-macros"},{"line_number":16,"context_line":"BuildRequires:  {{ py2pkg(\u0027PyMySQL\u0027) }}"},{"line_number":17,"context_line":"BuildRequires:  {{ py2pkg(\u0027SQLAlchemy\u0027) }}"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"1f1a1f67_c0a90124","line":14,"in_reply_to":"1f1a1f67_f694c88c","updated":"2017-07-19 23:25:39.000000000","message":"Unfortunately, there is something odd in the way monasca-transform got packed into a tar and the file name has \"monasca_transform\" with an underscore rather than dash.  Hence the separate variable.  I thought I\u0027d added a comment about that, but I apparently missed adding one.","commit_id":"a9006de3c297004c480b59d55953cbaf987f83ec"},{"author":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@canonical.com","username":"toabctl"},"change_message_id":"0e2ba7bd12b687aec0fd61eda794fa6fc21c9f5a","unresolved":false,"context_lines":[{"line_number":82,"context_line":"%{py2_install}"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"install -d -m 755 %{buildroot}%{_sysconfdir}/monasca"},{"line_number":85,"context_line":"install -D -m 640 etc/monasca-transform.conf %{buildroot}%{_sysconfdir}/monasca-transform.conf"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"%check"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"1f1a1f67_760af8d1","line":85,"updated":"2017-07-19 20:09:00.000000000","message":"The other monasca services usually put their conf into %{_sysconfdir}/monasca/$service.conf (so in this case, {_sysconfdir}/monasca/transform.conf ). Any reason to not do that here?","commit_id":"a9006de3c297004c480b59d55953cbaf987f83ec"},{"author":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@canonical.com","username":"toabctl"},"change_message_id":"75f1ea6136654dd3de451337812234ea71c07eff","unresolved":false,"context_lines":[{"line_number":4,"context_line":"{% set rpm_release \u003d \u00271\u0027 %}"},{"line_number":5,"context_line":"{% set spark_req_version \u003d \u00271.6.3\u0027 %}"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"%global sname {{ pypi_name }}"},{"line_number":8,"context_line":"Name:           {{ py2name() }}"},{"line_number":9,"context_line":"Version:        {{ py2rpmversion() }}"},{"line_number":10,"context_line":"Release:        {{ py2rpmrelease() }}"}],"source_content_type":"text/x-jinja2","patch_set":14,"id":"9f436f4f_7ac317ee","line":7,"updated":"2017-08-17 06:39:41.000000000","message":"sname is not needed here. You can just use {{ pypi_name }}","commit_id":"8b3098d3448b465edc2273a9f836e422c3200f93"},{"author":{"_account_id":22595,"name":"Stefan Nica","email":"snica@suse.com","username":"stefan.nica"},"change_message_id":"2729dd6cab5dacb154315c8871170d0f24cae92e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"{% set rpm_release \u003d \u00271\u0027 %}"},{"line_number":5,"context_line":"{% set spark_req_version \u003d \u00271.6.3\u0027 %}"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"%global sname {{ pypi_name }}"},{"line_number":8,"context_line":"Name:           {{ py2name() }}"},{"line_number":9,"context_line":"Version:        {{ py2rpmversion() }}"},{"line_number":10,"context_line":"Release:        {{ py2rpmrelease() }}"}],"source_content_type":"text/x-jinja2","patch_set":14,"id":"7f287b81_4882c3ca","line":7,"in_reply_to":"9f436f4f_7ac317ee","updated":"2017-08-22 13:13:18.000000000","message":"I\u0027m using sname in many places in this file, so IMO this is a cheaper alternative to using {{ pypi_name }} in all those places.","commit_id":"8b3098d3448b465edc2273a9f836e422c3200f93"},{"author":{"_account_id":6593,"name":"Dirk Mueller","email":"dirk@dmllr.de","username":"dmllr"},"change_message_id":"d43ef79915c344b18a388dfc7b712b81e5e7f503","unresolved":false,"context_lines":[{"line_number":96,"context_line":"install -d -m 750 %{buildroot}%{_var}/log/monasca"},{"line_number":97,"context_line":"install -d -m 750 %{buildroot}%{_var}/log/monasca/transform"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"# /usr/bin needed for the generated entry point"},{"line_number":100,"context_line":"install -d -m 755 %{buildroot}%{_sbindir}"},{"line_number":101,"context_line":"install -p -D -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/%{sname}.service"},{"line_number":102,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":14,"id":"9f436f4f_fc90d597","line":99,"updated":"2017-08-21 06:41:42.000000000","message":"Either the comment or the following line is wrong.. sbindir is /usr/sbin","commit_id":"8b3098d3448b465edc2273a9f836e422c3200f93"},{"author":{"_account_id":22595,"name":"Stefan Nica","email":"snica@suse.com","username":"stefan.nica"},"change_message_id":"2729dd6cab5dacb154315c8871170d0f24cae92e","unresolved":false,"context_lines":[{"line_number":96,"context_line":"install -d -m 750 %{buildroot}%{_var}/log/monasca"},{"line_number":97,"context_line":"install -d -m 750 %{buildroot}%{_var}/log/monasca/transform"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"# /usr/bin needed for the generated entry point"},{"line_number":100,"context_line":"install -d -m 755 %{buildroot}%{_sbindir}"},{"line_number":101,"context_line":"install -p -D -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/%{sname}.service"},{"line_number":102,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":14,"id":"7f287b81_c87593fc","line":99,"in_reply_to":"9f436f4f_fc90d597","updated":"2017-08-22 13:13:18.000000000","message":"Done","commit_id":"8b3098d3448b465edc2273a9f836e422c3200f93"},{"author":{"_account_id":6593,"name":"Dirk Mueller","email":"dirk@dmllr.de","username":"dmllr"},"change_message_id":"d43ef79915c344b18a388dfc7b712b81e5e7f503","unresolved":false,"context_lines":[{"line_number":101,"context_line":"install -p -D -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/%{sname}.service"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"# copy, compile and create a zip file to be fed to spark"},{"line_number":104,"context_line":"install -d -m 750 mt-zip-temp/"},{"line_number":105,"context_line":"install -d -m 750 monasca_transform mt-zip-temp/monasca_transform"},{"line_number":106,"context_line":"python -m compileall mt-zip-temp/monasca_transform"},{"line_number":107,"context_line":"install -d -m 750 %{buildroot}%{_datadir}/%{sname}"}],"source_content_type":"text/x-jinja2","patch_set":14,"id":"9f436f4f_dce07129","line":104,"updated":"2017-08-21 06:41:42.000000000","message":"mkdir","commit_id":"8b3098d3448b465edc2273a9f836e422c3200f93"},{"author":{"_account_id":22595,"name":"Stefan Nica","email":"snica@suse.com","username":"stefan.nica"},"change_message_id":"2729dd6cab5dacb154315c8871170d0f24cae92e","unresolved":false,"context_lines":[{"line_number":101,"context_line":"install -p -D -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/%{sname}.service"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"# copy, compile and create a zip file to be fed to spark"},{"line_number":104,"context_line":"install -d -m 750 mt-zip-temp/"},{"line_number":105,"context_line":"install -d -m 750 monasca_transform mt-zip-temp/monasca_transform"},{"line_number":106,"context_line":"python -m compileall mt-zip-temp/monasca_transform"},{"line_number":107,"context_line":"install -d -m 750 %{buildroot}%{_datadir}/%{sname}"}],"source_content_type":"text/x-jinja2","patch_set":14,"id":"7f287b81_8861cb3c","line":104,"in_reply_to":"9f436f4f_dce07129","updated":"2017-08-22 13:13:18.000000000","message":"Done","commit_id":"8b3098d3448b465edc2273a9f836e422c3200f93"},{"author":{"_account_id":6593,"name":"Dirk Mueller","email":"dirk@dmllr.de","username":"dmllr"},"change_message_id":"d43ef79915c344b18a388dfc7b712b81e5e7f503","unresolved":false,"context_lines":[{"line_number":105,"context_line":"install -d -m 750 monasca_transform mt-zip-temp/monasca_transform"},{"line_number":106,"context_line":"python -m compileall mt-zip-temp/monasca_transform"},{"line_number":107,"context_line":"install -d -m 750 %{buildroot}%{_datadir}/%{sname}"},{"line_number":108,"context_line":"zip -r %{buildroot}%{_datadir}/%{sname}/%{sname}.zip mt-zip-temp/monasca_transform -i \u0027*.pyc\u0027"},{"line_number":109,"context_line":"# TODO: do we need to rm the mt-zip-temp/?"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"# reconfigure for rpm install"}],"source_content_type":"text/x-jinja2","patch_set":14,"id":"9f436f4f_3cc53d8f","line":108,"updated":"2017-08-21 06:41:42.000000000","message":"Can you do those compile steps in %build?","commit_id":"8b3098d3448b465edc2273a9f836e422c3200f93"},{"author":{"_account_id":22595,"name":"Stefan Nica","email":"snica@suse.com","username":"stefan.nica"},"change_message_id":"2729dd6cab5dacb154315c8871170d0f24cae92e","unresolved":false,"context_lines":[{"line_number":105,"context_line":"install -d -m 750 monasca_transform mt-zip-temp/monasca_transform"},{"line_number":106,"context_line":"python -m compileall mt-zip-temp/monasca_transform"},{"line_number":107,"context_line":"install -d -m 750 %{buildroot}%{_datadir}/%{sname}"},{"line_number":108,"context_line":"zip -r %{buildroot}%{_datadir}/%{sname}/%{sname}.zip mt-zip-temp/monasca_transform -i \u0027*.pyc\u0027"},{"line_number":109,"context_line":"# TODO: do we need to rm the mt-zip-temp/?"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"# reconfigure for rpm install"}],"source_content_type":"text/x-jinja2","patch_set":14,"id":"7f287b81_68669f54","line":108,"in_reply_to":"9f436f4f_3cc53d8f","updated":"2017-08-22 13:13:18.000000000","message":"Done","commit_id":"8b3098d3448b465edc2273a9f836e422c3200f93"},{"author":{"_account_id":6593,"name":"Dirk Mueller","email":"dirk@dmllr.de","username":"dmllr"},"change_message_id":"d43ef79915c344b18a388dfc7b712b81e5e7f503","unresolved":false,"context_lines":[{"line_number":106,"context_line":"python -m compileall mt-zip-temp/monasca_transform"},{"line_number":107,"context_line":"install -d -m 750 %{buildroot}%{_datadir}/%{sname}"},{"line_number":108,"context_line":"zip -r %{buildroot}%{_datadir}/%{sname}/%{sname}.zip mt-zip-temp/monasca_transform -i \u0027*.pyc\u0027"},{"line_number":109,"context_line":"# TODO: do we need to rm the mt-zip-temp/?"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"# reconfigure for rpm install"},{"line_number":112,"context_line":"%define mon_trans_conf %{buildroot}%{_sysconfdir}/monasca-transform.conf"}],"source_content_type":"text/x-jinja2","patch_set":14,"id":"9f436f4f_fce57539","line":109,"updated":"2017-08-21 06:41:42.000000000","message":"No, that is in you buildroot","commit_id":"8b3098d3448b465edc2273a9f836e422c3200f93"},{"author":{"_account_id":6593,"name":"Dirk Mueller","email":"dirk@dmllr.de","username":"dmllr"},"change_message_id":"d43ef79915c344b18a388dfc7b712b81e5e7f503","unresolved":false,"context_lines":[{"line_number":134,"context_line":"crudini --set %{mon_trans_conf} service spark_python_files %{_datadir}/%{sname}/%{sname}.zip"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"%check"},{"line_number":137,"context_line":"# TODO: automated tests need to be restricted, as functional tests require running Spark"},{"line_number":138,"context_line":"# export OS_TEST_PATH\u003d./tests"},{"line_number":139,"context_line":"# find . -type f -name *.pyc -delete"},{"line_number":140,"context_line":"# PYTHONPATH\u003d. %{__python2} setup.py testr"}],"source_content_type":"text/x-jinja2","patch_set":14,"id":"9f436f4f_3c4add26","line":137,"updated":"2017-08-21 06:41:42.000000000","message":"Can you at least run unit tests?","commit_id":"8b3098d3448b465edc2273a9f836e422c3200f93"},{"author":{"_account_id":22595,"name":"Stefan Nica","email":"snica@suse.com","username":"stefan.nica"},"change_message_id":"4d56b86da482d73fb7ab444e7085b47c0869ed82","unresolved":false,"context_lines":[{"line_number":134,"context_line":"crudini --set %{mon_trans_conf} service spark_python_files %{_datadir}/%{sname}/%{sname}.zip"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"%check"},{"line_number":137,"context_line":"# TODO: automated tests need to be restricted, as functional tests require running Spark"},{"line_number":138,"context_line":"# export OS_TEST_PATH\u003d./tests"},{"line_number":139,"context_line":"# find . -type f -name *.pyc -delete"},{"line_number":140,"context_line":"# PYTHONPATH\u003d. %{__python2} setup.py testr"}],"source_content_type":"text/x-jinja2","patch_set":14,"id":"7f287b81_15ae13e7","line":137,"in_reply_to":"9f436f4f_3c4add26","updated":"2017-08-22 13:13:57.000000000","message":"Yes, I added the unit tests.","commit_id":"8b3098d3448b465edc2273a9f836e422c3200f93"},{"author":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@canonical.com","username":"toabctl"},"change_message_id":"75f1ea6136654dd3de451337812234ea71c07eff","unresolved":false,"context_lines":[{"line_number":144,"context_line":""},{"line_number":145,"context_line":"%pre"},{"line_number":146,"context_line":"%openstack_pre_user_group_create monasca-transform monasca /sbin/nologin"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"%files"},{"line_number":149,"context_line":"%license LICENSE"},{"line_number":150,"context_line":"%doc README.md ChangeLog"}],"source_content_type":"text/x-jinja2","patch_set":14,"id":"9f436f4f_5a6bb3ef","line":147,"updated":"2017-08-17 06:39:41.000000000","message":"The %pre %post ... macros for systemd are missing...","commit_id":"8b3098d3448b465edc2273a9f836e422c3200f93"},{"author":{"_account_id":22595,"name":"Stefan Nica","email":"snica@suse.com","username":"stefan.nica"},"change_message_id":"2729dd6cab5dacb154315c8871170d0f24cae92e","unresolved":false,"context_lines":[{"line_number":144,"context_line":""},{"line_number":145,"context_line":"%pre"},{"line_number":146,"context_line":"%openstack_pre_user_group_create monasca-transform monasca /sbin/nologin"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"%files"},{"line_number":149,"context_line":"%license LICENSE"},{"line_number":150,"context_line":"%doc README.md ChangeLog"}],"source_content_type":"text/x-jinja2","patch_set":14,"id":"7f287b81_28609732","line":147,"in_reply_to":"9f436f4f_5a6bb3ef","updated":"2017-08-22 13:13:18.000000000","message":"Done","commit_id":"8b3098d3448b465edc2273a9f836e422c3200f93"},{"author":{"_account_id":6593,"name":"Dirk Mueller","email":"dirk@dmllr.de","username":"dmllr"},"change_message_id":"d43ef79915c344b18a388dfc7b712b81e5e7f503","unresolved":false,"context_lines":[{"line_number":151,"context_line":"%dir %attr(-, root, monasca) %{_sysconfdir}/monasca"},{"line_number":152,"context_line":"%config(noreplace) %attr(0640, root, monasca) %{_sysconfdir}/monasca-transform.conf"},{"line_number":153,"context_line":"%{_unitdir}/%{sname}.service"},{"line_number":154,"context_line":"%{_bindir}/monasca-transform"},{"line_number":155,"context_line":"%dir %attr(0750, root, monasca) %{_var}/log/monasca"},{"line_number":156,"context_line":"%dir %attr(0750, monasca-transform, monasca) %{_var}/log/monasca/transform"},{"line_number":157,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":14,"id":"9f436f4f_7c5985fc","line":154,"updated":"2017-08-21 06:41:42.000000000","message":"It would be better if we move that to monasca-common maybe","commit_id":"8b3098d3448b465edc2273a9f836e422c3200f93"},{"author":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@canonical.com","username":"toabctl"},"change_message_id":"78b2b30723acaa953ec8cddbead97e6ed209d3b2","unresolved":false,"context_lines":[{"line_number":4,"context_line":"{% set rpm_release \u003d \u00271\u0027 %}"},{"line_number":5,"context_line":"{% set spark_req_version \u003d \u00271.6.3\u0027 %}"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"%global sname {{ pypi_name }}"},{"line_number":8,"context_line":"%define username            monasca-transform"},{"line_number":9,"context_line":"%define groupname           monasca"},{"line_number":10,"context_line":"Name:           {{ py2name() }}"}],"source_content_type":"text/x-jinja2","patch_set":17,"id":"7f287b81_d9f6dd63","line":7,"updated":"2017-08-29 08:41:31.000000000","message":"Could you remove sname and replace it everywhere with {{ pypi_name }} ? it\u0027s confusing to have 2 definitions for the same thing.","commit_id":"1b10e833e41d956ed3505443873c1be45496b5c8"},{"author":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@canonical.com","username":"toabctl"},"change_message_id":"78b2b30723acaa953ec8cddbead97e6ed209d3b2","unresolved":false,"context_lines":[{"line_number":87,"context_line":"%autosetup -n {{ pypi_tar_name }}-{{ upstream_version }}"},{"line_number":88,"context_line":"%py_req_cleanup"},{"line_number":89,"context_line":"# Add entry point for service startup by appending console_scripts after [entry_points]."},{"line_number":90,"context_line":"sed -i \u0027/\\[entry_points\\]/aconsole_scripts \u003d\\n    monasca-transform \u003d monasca_transform.service.transform_service:main_service\\n\u0027 setup.cfg"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"%build"},{"line_number":93,"context_line":"%{py2_build}"}],"source_content_type":"text/x-jinja2","patch_set":17,"id":"7f287b81_59878db6","line":90,"updated":"2017-08-29 08:41:31.000000000","message":"Huh? Is that something that needs to be fixed upstream?","commit_id":"1b10e833e41d956ed3505443873c1be45496b5c8"},{"author":{"_account_id":10311,"name":"Joseph Davis","email":"joseph.davis@suse.com","username":"joadavis"},"change_message_id":"bfabf9022761d420d1b0520f53c51ea458ae5177","unresolved":false,"context_lines":[{"line_number":87,"context_line":"%autosetup -n {{ pypi_tar_name }}-{{ upstream_version }}"},{"line_number":88,"context_line":"%py_req_cleanup"},{"line_number":89,"context_line":"# Add entry point for service startup by appending console_scripts after [entry_points]."},{"line_number":90,"context_line":"sed -i \u0027/\\[entry_points\\]/aconsole_scripts \u003d\\n    monasca-transform \u003d monasca_transform.service.transform_service:main_service\\n\u0027 setup.cfg"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"%build"},{"line_number":93,"context_line":"%{py2_build}"}],"source_content_type":"text/x-jinja2","patch_set":17,"id":"7f287b81_aa01c608","line":90,"in_reply_to":"7f287b81_59878db6","updated":"2017-09-05 16:47:19.000000000","message":"It is not how I would have liked it specified, but it is in place and published to pypi now and I\u0027m not sure how to change it and identify any dependencies that may exist.","commit_id":"1b10e833e41d956ed3505443873c1be45496b5c8"},{"author":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@canonical.com","username":"toabctl"},"change_message_id":"78b2b30723acaa953ec8cddbead97e6ed209d3b2","unresolved":false,"context_lines":[{"line_number":93,"context_line":"%{py2_build}"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"# copy, compile and create a zip file to be fed to spark"},{"line_number":96,"context_line":"python -m compileall monasca_transform"},{"line_number":97,"context_line":"zip -r %{sname}.zip monasca_transform -i \u0027*.pyc\u0027"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"%install"}],"source_content_type":"text/x-jinja2","patch_set":17,"id":"7f287b81_b943116c","line":96,"updated":"2017-08-29 08:41:31.000000000","message":"What is this good for? Sorry - I have zero spark knowledge.","commit_id":"1b10e833e41d956ed3505443873c1be45496b5c8"},{"author":{"_account_id":10311,"name":"Joseph Davis","email":"joseph.davis@suse.com","username":"joadavis"},"change_message_id":"bfabf9022761d420d1b0520f53c51ea458ae5177","unresolved":false,"context_lines":[{"line_number":93,"context_line":"%{py2_build}"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"# copy, compile and create a zip file to be fed to spark"},{"line_number":96,"context_line":"python -m compileall monasca_transform"},{"line_number":97,"context_line":"zip -r %{sname}.zip monasca_transform -i \u0027*.pyc\u0027"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"%install"}],"source_content_type":"text/x-jinja2","patch_set":17,"id":"7f287b81_4a34a24a","line":96,"in_reply_to":"7f287b81_b943116c","updated":"2017-09-05 16:47:19.000000000","message":"Spark needs to be handed a copy of all the python code used by Monasca Transform.  This allows it to use the classes and make calls back to the correct interfaces.  It is a little unusual compared to some other projects, but works.","commit_id":"1b10e833e41d956ed3505443873c1be45496b5c8"},{"author":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@canonical.com","username":"toabctl"},"change_message_id":"78b2b30723acaa953ec8cddbead97e6ed209d3b2","unresolved":false,"context_lines":[{"line_number":133,"context_line":"drizzle_jar\u003d%{_datadir}/spark/lib/drizzle-jdbc-1.3.jar"},{"line_number":134,"context_line":"spark_jars_list\u003d${spark_jars_list//$generic_mysql_jar/$drizzle_jar}"},{"line_number":135,"context_line":"# version tweaks to match what spark .rpm is delivering"},{"line_number":136,"context_line":"spark_jars_list\u003d${spark_jars_list//kafka_2.10-0.8.1.1.jar/kafka_2.10-0.8.2.1.jar}"},{"line_number":137,"context_line":"spark_jars_list\u003d${spark_jars_list//scala-library-2.10.1.jar/scala-library-2.10.4.jar}"},{"line_number":138,"context_line":"crudini --set %{mon_trans_conf} service spark_jars_list $\"$spark_jars_list\""},{"line_number":139,"context_line":"crudini --set %{mon_trans_conf} service spark_home $\"$spark_home\""}],"source_content_type":"text/x-jinja2","patch_set":17,"id":"7f287b81_397e01af","line":136,"updated":"2017-08-29 08:41:31.000000000","message":"? this hardcoded version thingy looks wrong. What are you trying todo here?","commit_id":"1b10e833e41d956ed3505443873c1be45496b5c8"},{"author":{"_account_id":10311,"name":"Joseph Davis","email":"joseph.davis@suse.com","username":"joadavis"},"change_message_id":"bfabf9022761d420d1b0520f53c51ea458ae5177","unresolved":false,"context_lines":[{"line_number":133,"context_line":"drizzle_jar\u003d%{_datadir}/spark/lib/drizzle-jdbc-1.3.jar"},{"line_number":134,"context_line":"spark_jars_list\u003d${spark_jars_list//$generic_mysql_jar/$drizzle_jar}"},{"line_number":135,"context_line":"# version tweaks to match what spark .rpm is delivering"},{"line_number":136,"context_line":"spark_jars_list\u003d${spark_jars_list//kafka_2.10-0.8.1.1.jar/kafka_2.10-0.8.2.1.jar}"},{"line_number":137,"context_line":"spark_jars_list\u003d${spark_jars_list//scala-library-2.10.1.jar/scala-library-2.10.4.jar}"},{"line_number":138,"context_line":"crudini --set %{mon_trans_conf} service spark_jars_list $\"$spark_jars_list\""},{"line_number":139,"context_line":"crudini --set %{mon_trans_conf} service spark_home $\"$spark_home\""}],"source_content_type":"text/x-jinja2","patch_set":17,"id":"7f287b81_6a975eed","line":136,"in_reply_to":"7f287b81_397e01af","updated":"2017-09-05 16:47:19.000000000","message":"Because Spark is based on Java, it needs a list of the .jar libraries it will use.  In creating a .rpm for Spark (separate effort not in rpm-packaging) the versions gathered were slightly different from what was in the default configuration file provided by the monasca-transform repository.\nYes, this is hard coded and will need to be changed when we move to Spark 2.2.0.  Unfortunately, because these full paths are needed in the configuration file, there isn\u0027t a simple way around it.  I suppose you could potentially write some code here to search the file system for the files, try to match the .jar names and match up version numbers, but that seems error prone.","commit_id":"1b10e833e41d956ed3505443873c1be45496b5c8"},{"author":{"_account_id":10311,"name":"Joseph Davis","email":"joseph.davis@suse.com","username":"joadavis"},"change_message_id":"bfabf9022761d420d1b0520f53c51ea458ae5177","unresolved":false,"context_lines":[{"line_number":154,"context_line":"%openstack_pre_user_group_create %{username} %{groupname} /sbin/nologin"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"%post"},{"line_number":157,"context_line":"%systemd_post %{name}.service"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"%preun"},{"line_number":160,"context_line":"%systemd_preun %{name}.service"}],"source_content_type":"text/x-jinja2","patch_set":17,"id":"7f287b81_ca589257","line":157,"range":{"start_line":157,"start_character":16,"end_line":157,"end_character":20},"updated":"2017-09-05 16:47:19.000000000","message":"Should this be sname?\nI hadn\u0027t specified starting/stopping the service as I wasn\u0027t sure how Spark and Kafka would be configured.  But I suppose if they are installed and running already that would work, and fail if not (and an admin can do the additional work to set things up).","commit_id":"1b10e833e41d956ed3505443873c1be45496b5c8"},{"author":{"_account_id":22595,"name":"Stefan Nica","email":"snica@suse.com","username":"stefan.nica"},"change_message_id":"cc0e0c9fb3b657a1340132ab5cf754c1a52798f9","unresolved":false,"context_lines":[{"line_number":154,"context_line":"%openstack_pre_user_group_create %{username} %{groupname} /sbin/nologin"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"%post"},{"line_number":157,"context_line":"%systemd_post %{name}.service"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"%preun"},{"line_number":160,"context_line":"%systemd_preun %{name}.service"}],"source_content_type":"text/x-jinja2","patch_set":17,"id":"7f287b81_1effeb01","line":157,"range":{"start_line":157,"start_character":16,"end_line":157,"end_character":20},"in_reply_to":"7f287b81_ca589257","updated":"2017-09-08 16:04:43.000000000","message":"This has to be something that will be expanded into the openstack-monasca-transform.service filename, in this case \u0027name\u0027.\nYou can separate the service from the rest of the package by creating a sub-package. If you look at other openstack packages (e.g. neutron), you see this being done in quite a lot of places. The idea is that you can install the \u0027service\u0027 subpackage separate from the \u0027main\u0027 or \u0027source\u0027 sub/package and you can even specify different requirements for the \u0027service\u0027 subpackage. On the other hand, if there are service dependencies that you\u0027re concerned about (not sure if this applies to Spark/Kafka) - e.g the monasca-transform service needs the Spark service to be running etc. - then this can be encoded in the service unit file.","commit_id":"1b10e833e41d956ed3505443873c1be45496b5c8"}]}
