)]}'
{"doc/source/admin/config-services-agent.rst":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"001e28a3e63a2045567d77a0777d28dbc5ecd414","unresolved":false,"context_lines":[{"line_number":44,"context_line":"neutron RPC, those endpoints should be defined in the agent-specific"},{"line_number":45,"context_line":"configuration file (for example, nova metadata for metadata agent)."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"External processes running by agents"},{"line_number":48,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Some neutron agents, like DHCP, Metadata or L3 agent are often run external"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bfb3d3c7_086cf1cb","line":47,"range":{"start_line":47,"start_character":19,"end_line":47,"end_character":26},"updated":"2019-05-31 14:48:53.000000000","message":"s/run","commit_id":"b4459b99c20493ca5e2eed6e88c50a742236c80a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"001e28a3e63a2045567d77a0777d28dbc5ecd414","unresolved":false,"context_lines":[{"line_number":47,"context_line":"External processes running by agents"},{"line_number":48,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Some neutron agents, like DHCP, Metadata or L3 agent are often run external"},{"line_number":51,"context_line":"services to provide some functionalities. It may be keepalived, dnsmasq, haproxy"},{"line_number":52,"context_line":"or some other process."},{"line_number":53,"context_line":"Neutron agents are responsible for spawn and kill such agents when it is needed."}],"source_content_type":"text/x-rst","patch_set":3,"id":"bfb3d3c7_286775eb","line":50,"range":{"start_line":50,"start_character":47,"end_line":50,"end_character":52},"updated":"2019-05-31 14:48:53.000000000","message":"s/agent,","commit_id":"b4459b99c20493ca5e2eed6e88c50a742236c80a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"001e28a3e63a2045567d77a0777d28dbc5ecd414","unresolved":false,"context_lines":[{"line_number":47,"context_line":"External processes running by agents"},{"line_number":48,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Some neutron agents, like DHCP, Metadata or L3 agent are often run external"},{"line_number":51,"context_line":"services to provide some functionalities. It may be keepalived, dnsmasq, haproxy"},{"line_number":52,"context_line":"or some other process."},{"line_number":53,"context_line":"Neutron agents are responsible for spawn and kill such agents when it is needed."}],"source_content_type":"text/x-rst","patch_set":3,"id":"bfb3d3c7_889d41bd","line":50,"range":{"start_line":50,"start_character":53,"end_line":50,"end_character":62},"updated":"2019-05-31 14:48:53.000000000","message":"s/often (remove \u0027are\u0027)","commit_id":"b4459b99c20493ca5e2eed6e88c50a742236c80a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"001e28a3e63a2045567d77a0777d28dbc5ecd414","unresolved":false,"context_lines":[{"line_number":48,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Some neutron agents, like DHCP, Metadata or L3 agent are often run external"},{"line_number":51,"context_line":"services to provide some functionalities. It may be keepalived, dnsmasq, haproxy"},{"line_number":52,"context_line":"or some other process."},{"line_number":53,"context_line":"Neutron agents are responsible for spawn and kill such agents when it is needed."},{"line_number":54,"context_line":"By default, to kill such processes agents use simple ``kill`` command but in"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bfb3d3c7_e8df1d63","line":51,"range":{"start_line":51,"start_character":20,"end_line":51,"end_character":24},"updated":"2019-05-31 14:48:53.000000000","message":"s/some of their ?","commit_id":"b4459b99c20493ca5e2eed6e88c50a742236c80a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"001e28a3e63a2045567d77a0777d28dbc5ecd414","unresolved":false,"context_lines":[{"line_number":50,"context_line":"Some neutron agents, like DHCP, Metadata or L3 agent are often run external"},{"line_number":51,"context_line":"services to provide some functionalities. It may be keepalived, dnsmasq, haproxy"},{"line_number":52,"context_line":"or some other process."},{"line_number":53,"context_line":"Neutron agents are responsible for spawn and kill such agents when it is needed."},{"line_number":54,"context_line":"By default, to kill such processes agents use simple ``kill`` command but in"},{"line_number":55,"context_line":"same cases, like for example when those additional services are running inside"},{"line_number":56,"context_line":"containers, it may be not good solution."}],"source_content_type":"text/x-rst","patch_set":3,"id":"bfb3d3c7_28c3f58a","line":53,"range":{"start_line":53,"start_character":67,"end_line":53,"end_character":79},"updated":"2019-05-31 14:48:53.000000000","message":"/necessary","commit_id":"b4459b99c20493ca5e2eed6e88c50a742236c80a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"001e28a3e63a2045567d77a0777d28dbc5ecd414","unresolved":false,"context_lines":[{"line_number":50,"context_line":"Some neutron agents, like DHCP, Metadata or L3 agent are often run external"},{"line_number":51,"context_line":"services to provide some functionalities. It may be keepalived, dnsmasq, haproxy"},{"line_number":52,"context_line":"or some other process."},{"line_number":53,"context_line":"Neutron agents are responsible for spawn and kill such agents when it is needed."},{"line_number":54,"context_line":"By default, to kill such processes agents use simple ``kill`` command but in"},{"line_number":55,"context_line":"same cases, like for example when those additional services are running inside"},{"line_number":56,"context_line":"containers, it may be not good solution."}],"source_content_type":"text/x-rst","patch_set":3,"id":"bfb3d3c7_a8d7e54a","line":53,"range":{"start_line":53,"start_character":35,"end_line":53,"end_character":40},"updated":"2019-05-31 14:48:53.000000000","message":"s/spawning and killing","commit_id":"b4459b99c20493ca5e2eed6e88c50a742236c80a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"001e28a3e63a2045567d77a0777d28dbc5ecd414","unresolved":false,"context_lines":[{"line_number":51,"context_line":"services to provide some functionalities. It may be keepalived, dnsmasq, haproxy"},{"line_number":52,"context_line":"or some other process."},{"line_number":53,"context_line":"Neutron agents are responsible for spawn and kill such agents when it is needed."},{"line_number":54,"context_line":"By default, to kill such processes agents use simple ``kill`` command but in"},{"line_number":55,"context_line":"same cases, like for example when those additional services are running inside"},{"line_number":56,"context_line":"containers, it may be not good solution."},{"line_number":57,"context_line":"To address this problem, there is config\u0027s ``AGENT`` group option"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bfb3d3c7_a83cc592","line":54,"range":{"start_line":54,"start_character":25,"end_line":54,"end_character":34},"updated":"2019-05-31 14:48:53.000000000","message":"s/processes,","commit_id":"b4459b99c20493ca5e2eed6e88c50a742236c80a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"001e28a3e63a2045567d77a0777d28dbc5ecd414","unresolved":false,"context_lines":[{"line_number":51,"context_line":"services to provide some functionalities. It may be keepalived, dnsmasq, haproxy"},{"line_number":52,"context_line":"or some other process."},{"line_number":53,"context_line":"Neutron agents are responsible for spawn and kill such agents when it is needed."},{"line_number":54,"context_line":"By default, to kill such processes agents use simple ``kill`` command but in"},{"line_number":55,"context_line":"same cases, like for example when those additional services are running inside"},{"line_number":56,"context_line":"containers, it may be not good solution."},{"line_number":57,"context_line":"To address this problem, there is config\u0027s ``AGENT`` group option"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bfb3d3c7_c85259de","line":54,"range":{"start_line":54,"start_character":42,"end_line":54,"end_character":45},"updated":"2019-05-31 14:48:53.000000000","message":"s/use a","commit_id":"b4459b99c20493ca5e2eed6e88c50a742236c80a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"001e28a3e63a2045567d77a0777d28dbc5ecd414","unresolved":false,"context_lines":[{"line_number":52,"context_line":"or some other process."},{"line_number":53,"context_line":"Neutron agents are responsible for spawn and kill such agents when it is needed."},{"line_number":54,"context_line":"By default, to kill such processes agents use simple ``kill`` command but in"},{"line_number":55,"context_line":"same cases, like for example when those additional services are running inside"},{"line_number":56,"context_line":"containers, it may be not good solution."},{"line_number":57,"context_line":"To address this problem, there is config\u0027s ``AGENT`` group option"},{"line_number":58,"context_line":"``kill_scripts_path`` in which operator can configure path to ``kill scripts``"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bfb3d3c7_68424d11","line":55,"range":{"start_line":55,"start_character":0,"end_line":55,"end_character":4},"updated":"2019-05-31 14:48:53.000000000","message":"s/some","commit_id":"b4459b99c20493ca5e2eed6e88c50a742236c80a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"001e28a3e63a2045567d77a0777d28dbc5ecd414","unresolved":false,"context_lines":[{"line_number":53,"context_line":"Neutron agents are responsible for spawn and kill such agents when it is needed."},{"line_number":54,"context_line":"By default, to kill such processes agents use simple ``kill`` command but in"},{"line_number":55,"context_line":"same cases, like for example when those additional services are running inside"},{"line_number":56,"context_line":"containers, it may be not good solution."},{"line_number":57,"context_line":"To address this problem, there is config\u0027s ``AGENT`` group option"},{"line_number":58,"context_line":"``kill_scripts_path`` in which operator can configure path to ``kill scripts``"},{"line_number":59,"context_line":"for such services. By default it is set to ``/etc/neutron/kill_scripts/``."}],"source_content_type":"text/x-rst","patch_set":3,"id":"bfb3d3c7_08763171","line":56,"range":{"start_line":56,"start_character":19,"end_line":56,"end_character":30},"updated":"2019-05-31 14:48:53.000000000","message":"s/not be a good\n\nI\u0027m going to stop there and just ping Slawek about updating this section myself.","commit_id":"b4459b99c20493ca5e2eed6e88c50a742236c80a"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"4f134d3abc2834a0cf590de14a61d6ecbed9634d","unresolved":false,"context_lines":[{"line_number":56,"context_line":"are running inside containers, it may be not a good solution."},{"line_number":57,"context_line":"To address this problem, operators should use the ``AGENT`` config group option"},{"line_number":58,"context_line":"``kill_scripts_path`` to configure a path to where ``kill scripts`` for such"},{"line_number":59,"context_line":"processes live. By default, it is set to ``/etc/neutron/kill_scripts/``."},{"line_number":60,"context_line":"If ``kill_scripts_path`` is set, every time neutron has to kill a process,"},{"line_number":61,"context_line":"for example ``dnsmasq``, it will look in this directory for a file with the name"},{"line_number":62,"context_line":"``\u003cprocess_name\u003e-kill``. So for ``dnsmasq`` process it will look for a"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9fb8cfa7_fff7bad3","line":59,"range":{"start_line":59,"start_character":16,"end_line":59,"end_character":71},"updated":"2019-06-02 16:17:10.000000000","message":"Should we note that if you change this, you should change exec_dirs in /etc/rootwrap.conf to point to the different location?","commit_id":"2618547b55648a5a1ff250de75794ea14ef6536a"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"3e55b61cd13b5f5f91328e5b469d9b61b09c8f62","unresolved":false,"context_lines":[{"line_number":56,"context_line":"are running inside containers, it may be not a good solution."},{"line_number":57,"context_line":"To address this problem, operators should use the ``AGENT`` config group option"},{"line_number":58,"context_line":"``kill_scripts_path`` to configure a path to where ``kill scripts`` for such"},{"line_number":59,"context_line":"processes live. By default, it is set to ``/etc/neutron/kill_scripts/``."},{"line_number":60,"context_line":"If ``kill_scripts_path`` is set, every time neutron has to kill a process,"},{"line_number":61,"context_line":"for example ``dnsmasq``, it will look in this directory for a file with the name"},{"line_number":62,"context_line":"``\u003cprocess_name\u003e-kill``. So for ``dnsmasq`` process it will look for a"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9fb8cfa7_6860ed33","line":59,"range":{"start_line":59,"start_character":16,"end_line":59,"end_character":71},"in_reply_to":"9fb8cfa7_fff7bad3","updated":"2019-06-03 12:40:13.000000000","message":"yes, You\u0027re right. Done","commit_id":"2618547b55648a5a1ff250de75794ea14ef6536a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"bc3240171ebb16e789f4c8ee7e6d9af7063cfffc","unresolved":false,"context_lines":[{"line_number":57,"context_line":"To address this problem, operators should use the ``AGENT`` config group option"},{"line_number":58,"context_line":"``kill_scripts_path`` to configure a path to where ``kill scripts`` for such"},{"line_number":59,"context_line":"processes live. By default, it is set to ``/etc/neutron/kill_scripts/``."},{"line_number":60,"context_line":"If option ``kill_scripts_path`` is changed in the config to the different"},{"line_number":61,"context_line":"location, ``exec_dirs`` in ``/etc/rootwrap.conf`` should be changed accordingly."},{"line_number":62,"context_line":"If ``kill_scripts_path`` is set, every time neutron has to kill a process,"},{"line_number":63,"context_line":"for example ``dnsmasq``, it will look in this directory for a file with the name"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9fb8cfa7_f5aa5a83","line":60,"range":{"start_line":60,"start_character":60,"end_line":60,"end_character":63},"updated":"2019-06-04 14:33:51.000000000","message":"nit: s/a","commit_id":"93015527f02cb54b0b2bc07c8c9c239c63878264"}],"etc/neutron/rootwrap.d/dhcp.filters":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"001e28a3e63a2045567d77a0777d28dbc5ecd414","unresolved":false,"context_lines":[{"line_number":16,"context_line":"kill_dnsmasq: KillFilter, root, /sbin/dnsmasq, -9, -HUP, -15"},{"line_number":17,"context_line":"kill_dnsmasq_usr: KillFilter, root, /usr/sbin/dnsmasq, -9, -HUP, -15"},{"line_number":18,"context_line":"# dnsmasq kill script filter"},{"line_number":19,"context_line":"+kill_dnsmasq_script: CommandFilter, dnsmasq-kill, root"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"ovs-vsctl: CommandFilter, ovs-vsctl, root"},{"line_number":22,"context_line":"mm-ctl: CommandFilter, mm-ctl, root"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"bfb3d3c7_686ecd00","line":19,"updated":"2019-05-31 14:48:53.000000000","message":"Extra + here ?","commit_id":"b4459b99c20493ca5e2eed6e88c50a742236c80a"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"88d42c7bd9c36760f5fdbf24c1fe6aeebd801e06","unresolved":false,"context_lines":[{"line_number":16,"context_line":"kill_dnsmasq: KillFilter, root, /sbin/dnsmasq, -9, -HUP, -15"},{"line_number":17,"context_line":"kill_dnsmasq_usr: KillFilter, root, /usr/sbin/dnsmasq, -9, -HUP, -15"},{"line_number":18,"context_line":"# dnsmasq kill script filter"},{"line_number":19,"context_line":"+kill_dnsmasq_script: CommandFilter, dnsmasq-kill, root"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"ovs-vsctl: CommandFilter, ovs-vsctl, root"},{"line_number":22,"context_line":"mm-ctl: CommandFilter, mm-ctl, root"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"bfb3d3c7_e36f3e25","line":19,"in_reply_to":"bfb3d3c7_686ecd00","updated":"2019-05-31 15:08:54.000000000","message":"yes, thx for removing it :)","commit_id":"b4459b99c20493ca5e2eed6e88c50a742236c80a"}],"neutron/agent/linux/external_process.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"001e28a3e63a2045567d77a0777d28dbc5ecd414","unresolved":false,"context_lines":[{"line_number":124,"context_line":"            return"},{"line_number":125,"context_line":"        kill_file \u003d \"%s-kill\" % self.service"},{"line_number":126,"context_line":"        if os.path.isfile(os.path.join(self.kill_scripts_path, kill_file)):"},{"line_number":127,"context_line":"            return [kill_file, sig, pid]"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def get_pid_file_name(self):"},{"line_number":130,"context_line":"        \"\"\"Returns the file name for a given kind of config file.\"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"bfb3d3c7_88330114","line":127,"updated":"2019-05-31 14:48:53.000000000","message":"nit: i\u0027d maybe change this method to return the kill command regardless instead if having the \u0027or\u0027 in the caller.\n\nif self.kill_scripts_path:\n   ...\n\nreturn [\u0027kill\u0027, \u0027-%s\u0027 % (sig), pid]","commit_id":"b4459b99c20493ca5e2eed6e88c50a742236c80a"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"88d42c7bd9c36760f5fdbf24c1fe6aeebd801e06","unresolved":false,"context_lines":[{"line_number":124,"context_line":"            return"},{"line_number":125,"context_line":"        kill_file \u003d \"%s-kill\" % self.service"},{"line_number":126,"context_line":"        if os.path.isfile(os.path.join(self.kill_scripts_path, kill_file)):"},{"line_number":127,"context_line":"            return [kill_file, sig, pid]"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def get_pid_file_name(self):"},{"line_number":130,"context_line":"        \"\"\"Returns the file name for a given kind of config file.\"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"bfb3d3c7_a3a066f5","line":127,"in_reply_to":"bfb3d3c7_88330114","updated":"2019-05-31 15:08:54.000000000","message":"Done","commit_id":"b4459b99c20493ca5e2eed6e88c50a742236c80a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e1d2d18243bc6ce9cd23ee16a03aaedd734c1426","unresolved":false,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def get_kill_cmd(self, sig, pid):"},{"line_number":122,"context_line":"        if not self.kill_scripts_path:"},{"line_number":123,"context_line":"            return"},{"line_number":124,"context_line":"        kill_file \u003d \"%s-kill\" % self.service"},{"line_number":125,"context_line":"        if os.path.isfile(os.path.join(self.kill_scripts_path, kill_file)):"},{"line_number":126,"context_line":"            return [kill_file, sig, pid]"}],"source_content_type":"text/x-python","patch_set":5,"id":"bfb3d3c7_43cf2a28","line":123,"updated":"2019-05-31 16:07:22.000000000","message":"This won\u0027t return anything :(  You\u0027ll need to invert it, I will just update since I think the unit tests would fail.\n\nActually, there wasn\u0027t a unit test for this, will add one.","commit_id":"826e3b5f6765cb9f5984680624f82bde53fc753e"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"acc164aa97201f9573a1a70fcb1164cbf41b797f","unresolved":false,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def get_kill_cmd(self, sig, pid):"},{"line_number":122,"context_line":"        if not self.kill_scripts_path:"},{"line_number":123,"context_line":"            return"},{"line_number":124,"context_line":"        kill_file \u003d \"%s-kill\" % self.service"},{"line_number":125,"context_line":"        if os.path.isfile(os.path.join(self.kill_scripts_path, kill_file)):"},{"line_number":126,"context_line":"            return [kill_file, sig, pid]"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fb8cfa7_30eb4eb1","line":123,"in_reply_to":"bfb3d3c7_43cf2a28","updated":"2019-05-31 18:57:15.000000000","message":"Thx for adding this :)","commit_id":"826e3b5f6765cb9f5984680624f82bde53fc753e"}],"neutron/conf/agent/common.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"001e28a3e63a2045567d77a0777d28dbc5ecd414","unresolved":false,"context_lines":[{"line_number":147,"context_line":"                      \u0027(seconds), use 0 to disable\u0027)),"},{"line_number":148,"context_line":"    cfg.StrOpt(\u0027kill_scripts_path\u0027, default\u003d\u0027/etc/neutron/kill_scripts/\u0027,"},{"line_number":149,"context_line":"               help\u003d_(\u0027Location of scripts used to kill external processes. \u0027"},{"line_number":150,"context_line":"                      \u0027Names of scripts should follow pattern like: \u0027"},{"line_number":151,"context_line":"                      \u0027\"\u003cprocess-name\u003e-kill\" where process-name is name of \u0027"},{"line_number":152,"context_line":"                      \u0027the process which should be killed using this script. \u0027"},{"line_number":153,"context_line":"                      \u0027For example kill script for dnsmasq process should be \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"bfb3d3c7_a8a605c0","line":150,"range":{"start_line":150,"start_character":40,"end_line":150,"end_character":46},"updated":"2019-05-31 14:48:53.000000000","message":"s/must ?","commit_id":"b4459b99c20493ca5e2eed6e88c50a742236c80a"}],"releasenotes/notes/add-custom-kill-scripts-af405ba49142d59c.yaml":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"001e28a3e63a2045567d77a0777d28dbc5ecd414","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    Added support for custom scripts used to kill external processes managed by"},{"line_number":4,"context_line":"    neutron agents."},{"line_number":5,"context_line":"features:"},{"line_number":6,"context_line":"  - |"},{"line_number":7,"context_line":"    Support for custom scripts used to kill external processes managed by"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"bfb3d3c7_c8a9f923","line":4,"updated":"2019-05-31 14:48:53.000000000","message":"I would get rid of above since it could get separated from the feature description as release notes are added.","commit_id":"b4459b99c20493ca5e2eed6e88c50a742236c80a"}]}
