)]}'
{"openstack/networking-l2gw/networking-l2gw.spec.j2":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"f0b92b75811bb0842432a025aade8ab1a144f11d","unresolved":false,"context_lines":[{"line_number":6,"context_line":"%global sname networking_l2gw"},{"line_number":7,"context_line":"%global servicename neutron-l2gw"},{"line_number":8,"context_line":"%global with_doc 1"},{"line_number":9,"context_line":"%define skip_python3 1"},{"line_number":10,"context_line":"Name:           {{ py2name() }}"},{"line_number":11,"context_line":"Version:        {{ py2rpmversion() }}"},{"line_number":12,"context_line":"Release:        {{ py2rpmrelease() }}"}],"source_content_type":"text/x-jinja2","patch_set":4,"id":"7faddb67_df3abc96","line":9,"updated":"2019-07-09 14:39:00.000000000","message":"Why? I\u0027m not sure we can afford to have non-py3 packages at this point.","commit_id":"b9cee617e89c9f123cf3ab2f1994215bfde80c37"},{"author":{"_account_id":6876,"name":"stephen-ma","email":"stephenbma43@gmail.com","username":"stephen-ma"},"change_message_id":"7ba9498a74b6e377e9130320469621b15b8f24de","unresolved":false,"context_lines":[{"line_number":48,"context_line":"BuildRequires:  {{ py2pkg(\u0027testrepository\u0027, py_versions\u003dbuild_py_versions) }}"},{"line_number":49,"context_line":"BuildRequires:  {{ py2pkg(\u0027testscenarios\u0027, py_versions\u003dbuild_py_versions) }}"},{"line_number":50,"context_line":"BuildRequires:  {{ py2pkg(\u0027testtools\u0027, py_versions\u003dbuild_py_versions) }}"},{"line_number":51,"context_line":"%if 0%{skip_python3}"},{"line_number":52,"context_line":"BuildRequires:  python-neutron"},{"line_number":53,"context_line":"%else"},{"line_number":54,"context_line":"BuildRequires:  %{python_module neutron}"},{"line_number":55,"context_line":"%endif"},{"line_number":56,"context_line":"%endif"},{"line_number":57,"context_line":"%python_subpackages"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":16,"id":"7faddb67_b77f4e64","line":55,"range":{"start_line":51,"start_character":0,"end_line":55,"end_character":6},"updated":"2019-07-22 23:16:11.000000000","message":"Is this BuildREquires redundant.  Because it do the test, this package needs to be installed  And this package already has neutron as a requirement in L27.","commit_id":"08d52cea4d6f4dd3f56d3ed60e7cb923835e32c5"},{"author":{"_account_id":6593,"name":"Dirk Mueller","email":"dirk@dmllr.de","username":"dmllr"},"change_message_id":"5983c69a401418a4476b450b02c08ca122419dfd","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Source1:        %{servicename}-agent.service"},{"line_number":22,"context_line":"BuildRequires:  fdupes"},{"line_number":23,"context_line":"BuildRequires:  openstack-macros"},{"line_number":24,"context_line":"BuildRequires:  {{ py2pkg(\u0027devel\u0027, py_versions\u003dbuild_py_versions) }}"},{"line_number":25,"context_line":"BuildRequires:  {{ py2pkg(\u0027pbr\u0027, py_versions\u003dbuild_py_versions) }}"},{"line_number":26,"context_line":"BuildRequires:  {{ py2pkg(\u0027setuptools\u0027, py_versions\u003dbuild_py_versions) }}"},{"line_number":27,"context_line":"Requires:       {{ py2pkg(\u0027neutron\u0027) }}"}],"source_content_type":"text/x-jinja2","patch_set":19,"id":"7faddb67_ff10eeaa","line":24,"updated":"2019-08-09 15:47:02.000000000","message":"This line isn\u0027t necessary when setuptools is buildrequired (which it is) just remove it.","commit_id":"62240ce40a8e2bc6fa8709fa1beb03bb63be8913"},{"author":{"_account_id":6593,"name":"Dirk Mueller","email":"dirk@dmllr.de","username":"dmllr"},"change_message_id":"5983c69a401418a4476b450b02c08ca122419dfd","unresolved":false,"context_lines":[{"line_number":23,"context_line":"BuildRequires:  openstack-macros"},{"line_number":24,"context_line":"BuildRequires:  {{ py2pkg(\u0027devel\u0027, py_versions\u003dbuild_py_versions) }}"},{"line_number":25,"context_line":"BuildRequires:  {{ py2pkg(\u0027pbr\u0027, py_versions\u003dbuild_py_versions) }}"},{"line_number":26,"context_line":"BuildRequires:  {{ py2pkg(\u0027setuptools\u0027, py_versions\u003dbuild_py_versions) }}"},{"line_number":27,"context_line":"Requires:       {{ py2pkg(\u0027neutron\u0027) }}"},{"line_number":28,"context_line":"Requires:       {{ py2pkg(\u0027Babel\u0027) }}"},{"line_number":29,"context_line":"Requires:       {{ py2pkg(\u0027neutron-lib\u0027) }}"}],"source_content_type":"text/x-jinja2","patch_set":19,"id":"7faddb67_1f12aab5","line":26,"updated":"2019-08-09 15:47:02.000000000","message":"fyi this could be easier written as:\n\nBuildRequires:  {{ py3(\u0027setuptools\u0027) }}","commit_id":"62240ce40a8e2bc6fa8709fa1beb03bb63be8913"},{"author":{"_account_id":6593,"name":"Dirk Mueller","email":"dirk@dmllr.de","username":"dmllr"},"change_message_id":"5983c69a401418a4476b450b02c08ca122419dfd","unresolved":false,"context_lines":[{"line_number":49,"context_line":"BuildRequires:  {{ py2pkg(\u0027testscenarios\u0027, py_versions\u003dbuild_py_versions) }}"},{"line_number":50,"context_line":"BuildRequires:  {{ py2pkg(\u0027testtools\u0027, py_versions\u003dbuild_py_versions) }}"},{"line_number":51,"context_line":"%if 0%{?skip_python2}"},{"line_number":52,"context_line":"BuildRequires:  python3-neutron"},{"line_number":53,"context_line":"%else"},{"line_number":54,"context_line":"BuildRequires:  python-neutron"},{"line_number":55,"context_line":"%endif"}],"source_content_type":"text/x-jinja2","patch_set":19,"id":"7faddb67_ff854ed0","line":52,"updated":"2019-08-09 15:47:02.000000000","message":"just always use python3-neutron here, there is no python-neutron anymore (it got deleted with the neutron to python3 switch)","commit_id":"62240ce40a8e2bc6fa8709fa1beb03bb63be8913"},{"author":{"_account_id":6593,"name":"Dirk Mueller","email":"dirk@dmllr.de","username":"dmllr"},"change_message_id":"5983c69a401418a4476b450b02c08ca122419dfd","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"%package -n openstack-%{servicename}-agent"},{"line_number":79,"context_line":"Summary:    Neutron L2 Gateway Agent"},{"line_number":80,"context_line":"Requires:   %{python_module {{ pypi_name }}} \u003d %{epoch}:%{version}-%{release}"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"%description -n openstack-%{servicename}-agent"},{"line_number":83,"context_line":"Agent that enables L2 Gateway functionality"}],"source_content_type":"text/x-jinja2","patch_set":19,"id":"7faddb67_bf67d651","line":80,"updated":"2019-08-09 15:47:02.000000000","message":"hmm, no, it should actuall require the main package not the python subpackage imho","commit_id":"62240ce40a8e2bc6fa8709fa1beb03bb63be8913"},{"author":{"_account_id":6593,"name":"Dirk Mueller","email":"dirk@dmllr.de","username":"dmllr"},"change_message_id":"81ece10cd173cdd2e026454d7eb652fab23a81a4","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"%package -n openstack-%{servicename}-agent"},{"line_number":79,"context_line":"Summary:    Neutron L2 Gateway Agent"},{"line_number":80,"context_line":"Requires:   %{python_module {{ pypi_name }}} \u003d %{epoch}:%{version}-%{release}"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"%description -n openstack-%{servicename}-agent"},{"line_number":83,"context_line":"Agent that enables L2 Gateway functionality"}],"source_content_type":"text/x-jinja2","patch_set":19,"id":"7faddb67_9e5e6643","line":80,"in_reply_to":"7faddb67_84071719","updated":"2019-08-13 19:44:20.000000000","message":"systemd unit files should be in the subpackages, not in the main package. main package should only provide things needed by everything (like e.g. common rootwrap files, config templates etc)","commit_id":"62240ce40a8e2bc6fa8709fa1beb03bb63be8913"},{"author":{"_account_id":27532,"name":"Jaime Caamaño Ruiz","email":"jcaamano@suse.com","username":"jaicaa"},"change_message_id":"092db876876c9e5ee53b61058d1849a994d2bf85","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"%package -n openstack-%{servicename}-agent"},{"line_number":79,"context_line":"Summary:    Neutron L2 Gateway Agent"},{"line_number":80,"context_line":"Requires:   %{python_module {{ pypi_name }}} \u003d %{epoch}:%{version}-%{release}"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"%description -n openstack-%{servicename}-agent"},{"line_number":83,"context_line":"Agent that enables L2 Gateway functionality"}],"source_content_type":"text/x-jinja2","patch_set":19,"id":"7faddb67_84071719","line":80,"in_reply_to":"7faddb67_bf67d651","updated":"2019-08-12 10:26:59.000000000","message":"Why? In this case it does not really matter because they are the same thing but usually the agent would require the python modules but nothing else that usually comes bundled with the main package (like service config and unit files that have nothing to do with the agent).","commit_id":"62240ce40a8e2bc6fa8709fa1beb03bb63be8913"},{"author":{"_account_id":6593,"name":"Dirk Mueller","email":"dirk@dmllr.de","username":"dmllr"},"change_message_id":"5983c69a401418a4476b450b02c08ca122419dfd","unresolved":false,"context_lines":[{"line_number":107,"context_line":"rm -rf %{pypi_name}.egg-info"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"%build"},{"line_number":110,"context_line":"%python_build"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"%if %{with docs}"},{"line_number":113,"context_line":"PBR_VERSION\u003d{{ upstream_version }} %sphinx_build -b html doc/source doc/build/html"}],"source_content_type":"text/x-jinja2","patch_set":19,"id":"7faddb67_1f606a35","line":110,"updated":"2019-08-09 15:47:02.000000000","message":"you could btw just use\n\n%py3_build\n\nand then we don\"t need skip_python2..","commit_id":"62240ce40a8e2bc6fa8709fa1beb03bb63be8913"},{"author":{"_account_id":6593,"name":"Dirk Mueller","email":"dirk@dmllr.de","username":"dmllr"},"change_message_id":"e5f5279c29ab2e24bedffc164dcdd3f06acde676","unresolved":false,"context_lines":[{"line_number":143,"context_line":"%doc README.rst"},{"line_number":144,"context_line":"%dir %{_sysconfdir}/neutron"},{"line_number":145,"context_line":"%config(noreplace) %attr(-, root, neutron) %{_sysconfdir}/neutron/l2gw_plugin.ini"},{"line_number":146,"context_line":"%{python3_sitelib}/%{sname}"},{"line_number":147,"context_line":"%{python3_sitelib}/%{sname}-*.egg-info"},{"line_number":148,"context_line":"%exclude %{python3_sitelib}/%{sname}/tests"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"7faddb67_1e191687","line":146,"updated":"2019-08-13 19:46:07.000000000","message":"can we put that into a python3-$pypi_name subpackage instead of the main package? see how the other services (cinder, nova, neutron) are doing it..","commit_id":"bd0de7da743f8b1e66e5e9c05849afdb3351d3cc"},{"author":{"_account_id":27532,"name":"Jaime Caamaño Ruiz","email":"jcaamano@suse.com","username":"jaicaa"},"change_message_id":"9828324f292a019597d927cb9915fefbf66ae033","unresolved":false,"context_lines":[{"line_number":143,"context_line":"%doc README.rst"},{"line_number":144,"context_line":"%dir %{_sysconfdir}/neutron"},{"line_number":145,"context_line":"%config(noreplace) %attr(-, root, neutron) %{_sysconfdir}/neutron/l2gw_plugin.ini"},{"line_number":146,"context_line":"%{python3_sitelib}/%{sname}"},{"line_number":147,"context_line":"%{python3_sitelib}/%{sname}-*.egg-info"},{"line_number":148,"context_line":"%exclude %{python3_sitelib}/%{sname}/tests"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"7faddb67_3d2f2e89","line":146,"in_reply_to":"7faddb67_1e191687","updated":"2019-08-14 11:03:27.000000000","message":"The reason I have not done it like that is because that is not the way this service has been traditionally packaged. See how it is being packaged in RDO currently for example:\n\nhttps://github.com/rdo-packages/networking-l2gw-distgit/blob/rpm-master/python-networking-l2gw.spec\n\npythonX-networking-l2gw is the main package and it is how it already exists in other places (rdo, ubuntu, debian,...). I thought it would be useful to keep backward compatibility but let me know if we don\u0027t mind about that.","commit_id":"bd0de7da743f8b1e66e5e9c05849afdb3351d3cc"},{"author":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@chainguard.dev","username":"toabctl"},"change_message_id":"3b8184f8ac3f4cd7a068b5143c4c3c3ae7d74e58","unresolved":false,"context_lines":[{"line_number":133,"context_line":"install -p -D -m 640 etc/l2gw_plugin.ini %{buildroot}%{_sysconfdir}/neutron/l2gw_plugin.ini"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"# Install systemd units"},{"line_number":136,"context_line":"install -p -D -m 755 %{SOURCE1} %{buildroot}%{_unitdir}/%{servicename}-agent.service"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"# Remove duplicate config files under /usr/etc/"},{"line_number":139,"context_line":"rm -rf %{buildroot}%{_prefix}/%{_sysconfdir}"}],"source_content_type":"text/x-jinja2","patch_set":22,"id":"7faddb67_e2ec1ff5","line":136,"updated":"2019-08-21 12:33:14.000000000","message":"Install as openstack-%{servicename}-agent.service","commit_id":"2a4d39ac61e423a8e45787dd3ae15ec960a146f4"},{"author":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@chainguard.dev","username":"toabctl"},"change_message_id":"3b8184f8ac3f4cd7a068b5143c4c3c3ae7d74e58","unresolved":false,"context_lines":[{"line_number":163,"context_line":"%license LICENSE"},{"line_number":164,"context_line":"%{python3_sitelib}/%{sname}"},{"line_number":165,"context_line":"%{python3_sitelib}/%{sname}-*.egg-info"},{"line_number":166,"context_line":"%exclude %{python3_sitelib}/%{sname}/tests"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"%if %{with docs}"},{"line_number":169,"context_line":"%files doc"}],"source_content_type":"text/x-jinja2","patch_set":22,"id":"7faddb67_02137b02","line":166,"updated":"2019-08-21 12:33:14.000000000","message":"%exclude needs to be within a %if %{with_test}","commit_id":"2a4d39ac61e423a8e45787dd3ae15ec960a146f4"},{"author":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@chainguard.dev","username":"toabctl"},"change_message_id":"3b8184f8ac3f4cd7a068b5143c4c3c3ae7d74e58","unresolved":false,"context_lines":[{"line_number":181,"context_line":"%license LICENSE"},{"line_number":182,"context_line":"%config(noreplace) %attr(-, root, neutron) %{_sysconfdir}/neutron/l2gateway_agent.ini"},{"line_number":183,"context_line":"%{_bindir}/neutron-l2gateway-agent"},{"line_number":184,"context_line":"%{_unitdir}/%{servicename}-agent.service"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"%changelog"}],"source_content_type":"text/x-jinja2","patch_set":22,"id":"7faddb67_62d90f54","line":184,"updated":"2019-08-21 12:33:14.000000000","message":"The unitname should start with openstack-","commit_id":"2a4d39ac61e423a8e45787dd3ae15ec960a146f4"}],"openstack/networking-l2gw/neutron-l2gw-agent.service":[{"author":{"_account_id":6876,"name":"stephen-ma","email":"stephenbma43@gmail.com","username":"stephen-ma"},"change_message_id":"044ff1b84a2ecea1bdde2d07130693b45d34c134","unresolved":false,"context_lines":[{"line_number":5,"context_line":"[Service]"},{"line_number":6,"context_line":"Type\u003dsimple"},{"line_number":7,"context_line":"User\u003dneutron"},{"line_number":8,"context_line":"ExecStart\u003d/usr/bin/neutron-l2gateway-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/l2gateway_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-l2gw-agent --log-file /var/log/neutron/l2gw-agent.log"},{"line_number":9,"context_line":"PrivateTmp\u003dfalse"},{"line_number":10,"context_line":"KillMode\u003dprocess"},{"line_number":11,"context_line":"Restart\u003don-failure"}],"source_content_type":"application/octet-stream","patch_set":16,"id":"7faddb67_913902f3","line":8,"range":{"start_line":8,"start_character":221,"end_line":8,"end_character":264},"updated":"2019-07-18 18:31:13.000000000","message":"Also the agents in openstack/neutron rpm-packaging do not have the --log-file option.","commit_id":"08d52cea4d6f4dd3f56d3ed60e7cb923835e32c5"},{"author":{"_account_id":6876,"name":"stephen-ma","email":"stephenbma43@gmail.com","username":"stephen-ma"},"change_message_id":"044ff1b84a2ecea1bdde2d07130693b45d34c134","unresolved":false,"context_lines":[{"line_number":5,"context_line":"[Service]"},{"line_number":6,"context_line":"Type\u003dsimple"},{"line_number":7,"context_line":"User\u003dneutron"},{"line_number":8,"context_line":"ExecStart\u003d/usr/bin/neutron-l2gateway-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/l2gateway_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-l2gw-agent --log-file /var/log/neutron/l2gw-agent.log"},{"line_number":9,"context_line":"PrivateTmp\u003dfalse"},{"line_number":10,"context_line":"KillMode\u003dprocess"},{"line_number":11,"context_line":"Restart\u003don-failure"}],"source_content_type":"application/octet-stream","patch_set":16,"id":"7faddb67_11aaf217","line":8,"range":{"start_line":8,"start_character":129,"end_line":8,"end_character":170},"updated":"2019-07-18 18:31:13.000000000","message":"Is this necessary?","commit_id":"08d52cea4d6f4dd3f56d3ed60e7cb923835e32c5"},{"author":{"_account_id":6876,"name":"stephen-ma","email":"stephenbma43@gmail.com","username":"stephen-ma"},"change_message_id":"9f4ac442071fef40fa66fe154bb217edd4880893","unresolved":false,"context_lines":[{"line_number":5,"context_line":"[Service]"},{"line_number":6,"context_line":"Type\u003dsimple"},{"line_number":7,"context_line":"User\u003dneutron"},{"line_number":8,"context_line":"ExecStart\u003d/usr/bin/neutron-l2gateway-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/l2gateway_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-l2gw-agent --log-file /var/log/neutron/l2gw-agent.log"},{"line_number":9,"context_line":"PrivateTmp\u003dfalse"},{"line_number":10,"context_line":"KillMode\u003dprocess"},{"line_number":11,"context_line":"Restart\u003don-failure"}],"source_content_type":"application/octet-stream","patch_set":16,"id":"7faddb67_57437a42","line":8,"range":{"start_line":8,"start_character":221,"end_line":8,"end_character":264},"in_reply_to":"7faddb67_913902f3","updated":"2019-07-18 19:38:49.000000000","message":"One more thing, the log file name should be neutron-l2gateway-agent.log.","commit_id":"08d52cea4d6f4dd3f56d3ed60e7cb923835e32c5"}]}
