)]}'
{"octavia/amphorae/backends/agent/api_server/listener.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"a75f9654ffc74686aa0c42e49f492b9e7886f6e5","unresolved":false,"context_lines":[{"line_number":176,"context_line":"                    respawn_interval\u003d(util.CONF.haproxy_amphora."},{"line_number":177,"context_line":"                                      respawn_interval),"},{"line_number":178,"context_line":"                    amphora_nsname\u003dconsts.AMPHORA_NAMESPACE,"},{"line_number":179,"context_line":"                    HasIFUPAll\u003dself._osutils.has_ifup_all()"},{"line_number":180,"context_line":"                )"},{"line_number":181,"context_line":"                text_file.write(text)"},{"line_number":182,"context_line":""}],"source_content_type":"text/x-python","patch_set":81,"id":"3a461143_64f7008d","line":179,"updated":"2017-02-01 20:37:23.000000000","message":"this varname is super weird with the capitalization \u003c_\u003c","commit_id":"c00488143daf8e9306194ddcda636910bab532b6"}],"octavia/amphorae/backends/agent/api_server/osutils.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7877ccc0bbfeeabda26b37c72fe6e0adb575df02","unresolved":false,"context_lines":[{"line_number":32,"context_line":"from octavia.i18n import _LE"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"CONF \u003d cfg.CONF"},{"line_number":35,"context_line":"CONF.import_group(\u0027amphora_agent\u0027, \u0027octavia.common.config\u0027)"},{"line_number":36,"context_line":"CONF.import_group(\u0027haproxy_amphora\u0027, \u0027octavia.common.config\u0027)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":55,"id":"5a3905b3_e31fa8b4","line":35,"updated":"2017-01-23 23:06:47.000000000","message":"These import_group blocks may no longer be needed.  We recently removed most of them.","commit_id":"80f22070e9e8837a528baafe19480b9c3afa5f2c"},{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"b1d0766b1f8127641e8a034c73c09dc0057dd2f9","unresolved":false,"context_lines":[{"line_number":32,"context_line":"from octavia.i18n import _LE"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"CONF \u003d cfg.CONF"},{"line_number":35,"context_line":"CONF.import_group(\u0027amphora_agent\u0027, \u0027octavia.common.config\u0027)"},{"line_number":36,"context_line":"CONF.import_group(\u0027haproxy_amphora\u0027, \u0027octavia.common.config\u0027)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":55,"id":"5a3905b3_22c278e9","line":35,"in_reply_to":"5a3905b3_e31fa8b4","updated":"2017-01-24 15:25:35.000000000","message":"Done, for both imports","commit_id":"80f22070e9e8837a528baafe19480b9c3afa5f2c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"274c2bd8d925be9cd1e4cdc20db766cb8bfc7f9f","unresolved":false,"context_lines":[{"line_number":382,"context_line":"                netns_interface)"},{"line_number":383,"context_line":"        if not template_port:"},{"line_number":384,"context_line":"            template_port \u003d j2_env.get_template(self.ETH_X_PORT_CONF)"},{"line_number":385,"context_line":"        super(RH, self).write_port_interface_file("},{"line_number":386,"context_line":"            netns_interface, fixed_ips, mtu, interface_file_path,"},{"line_number":387,"context_line":"            template_port)"},{"line_number":388,"context_line":""}],"source_content_type":"text/x-python","patch_set":55,"id":"5a3905b3_a6d12e25","line":385,"updated":"2017-01-23 23:34:00.000000000","message":"What about the host routes for the member networks?\nhttps://github.com/openstack/octavia/blob/master/octavia/amphorae/backends/agent/api_server/templates/plug_port_ethX.conf.j2#L27","commit_id":"80f22070e9e8837a528baafe19480b9c3afa5f2c"},{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"b1d0766b1f8127641e8a034c73c09dc0057dd2f9","unresolved":false,"context_lines":[{"line_number":382,"context_line":"                netns_interface)"},{"line_number":383,"context_line":"        if not template_port:"},{"line_number":384,"context_line":"            template_port \u003d j2_env.get_template(self.ETH_X_PORT_CONF)"},{"line_number":385,"context_line":"        super(RH, self).write_port_interface_file("},{"line_number":386,"context_line":"            netns_interface, fixed_ips, mtu, interface_file_path,"},{"line_number":387,"context_line":"            template_port)"},{"line_number":388,"context_line":""}],"source_content_type":"text/x-python","patch_set":55,"id":"5a3905b3_10405806","line":385,"in_reply_to":"5a3905b3_a6d12e25","updated":"2017-01-24 15:25:35.000000000","message":"Valid point.\nAdded some additional code to this function to take care of static routes for member networks","commit_id":"80f22070e9e8837a528baafe19480b9c3afa5f2c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"274c2bd8d925be9cd1e4cdc20db766cb8bfc7f9f","unresolved":false,"context_lines":[{"line_number":391,"context_line":"            super(RH, self).bring_interfaces_up("},{"line_number":392,"context_line":"                ip, primary_interface, secondary_interface)"},{"line_number":393,"context_line":"        else:"},{"line_number":394,"context_line":"            # Secondary interface is not present in IPv6 configuration"},{"line_number":395,"context_line":"            self._bring_if_down(primary_interface)"},{"line_number":396,"context_line":"            self._bring_if_up(primary_interface, \u0027VIP\u0027)"}],"source_content_type":"text/x-python","patch_set":55,"id":"5a3905b3_867ef267","line":394,"updated":"2017-01-23 23:34:00.000000000","message":"This concerns me a bit as the way the allowed address pairs and VRRP works, we should have a two IPs for the vip.  One for the base network which vrrp uses to talk to the other instance, and one that moves between the hosts.\nDoes the secondary address just go up and down with the primary address?  How does keepalived manage the IP if that is the case?","commit_id":"80f22070e9e8837a528baafe19480b9c3afa5f2c"},{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"b1d0766b1f8127641e8a034c73c09dc0057dd2f9","unresolved":false,"context_lines":[{"line_number":391,"context_line":"            super(RH, self).bring_interfaces_up("},{"line_number":392,"context_line":"                ip, primary_interface, secondary_interface)"},{"line_number":393,"context_line":"        else:"},{"line_number":394,"context_line":"            # Secondary interface is not present in IPv6 configuration"},{"line_number":395,"context_line":"            self._bring_if_down(primary_interface)"},{"line_number":396,"context_line":"            self._bring_if_up(primary_interface, \u0027VIP\u0027)"}],"source_content_type":"text/x-python","patch_set":55,"id":"5a3905b3_9cf61f5b","line":394,"in_reply_to":"5a3905b3_867ef267","updated":"2017-01-24 15:25:35.000000000","message":"I updated rh_plug_vip_ethX.conf.j2 template to best reflect plug_vip_ethX.conf.j2 and it should have all ip addresees now (I simply followed the exact same logic in the latter template).\nunfortunately, IPv6 alias interfaces do not work in rh based configuration (I tried), so I had to use IPV6ADDR_SECONDARIES under the same NIC.\n\ncould you please point me to the keepalived manager?\nPerhaps we can update the IPV6ADDR_SECONDARIES option when needed and just ifdown + ifup to update?\n\nbtw, how does this work with the ubuntu templates? what happens when you wish to remove an ip address using those templates?","commit_id":"80f22070e9e8837a528baafe19480b9c3afa5f2c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"8cdd0dfc910069f5be8787410c3c91e1ff9775d9","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    def get_network_interface_file(self, interface):"},{"line_number":56,"context_line":"        if CONF.amphora_agent.agent_server_network_file:"},{"line_number":57,"context_line":"            return CONF.amphora_agent.agent_server_network_file"},{"line_number":58,"context_line":"        return os.path.join(CONF.amphora_agent.agent_server_network_dir,"},{"line_number":59,"context_line":"                            interface)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def create_netns_dir(self, network_dir, netns_network_dir):"}],"source_content_type":"text/x-python","patch_set":58,"id":"5a3905b3_ca027972","line":58,"updated":"2017-01-25 01:40:05.000000000","message":"We should update this.\nLogic:\nIf conf setting is specified, use it.\nIf conf is not set, set the path based on the OS, using strings from common/constants.py","commit_id":"b0364c5acf810f1a728755351c810dccdda89e57"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"8fb3cd17bc514aeedf6845ab1d74953cb09ac224","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    def get_network_interface_file(self, interface):"},{"line_number":56,"context_line":"        if CONF.amphora_agent.agent_server_network_file:"},{"line_number":57,"context_line":"            return CONF.amphora_agent.agent_server_network_file"},{"line_number":58,"context_line":"        return os.path.join(CONF.amphora_agent.agent_server_network_dir,"},{"line_number":59,"context_line":"                            interface)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def create_netns_dir(self, network_dir, netns_network_dir):"}],"source_content_type":"text/x-python","patch_set":58,"id":"5a3905b3_2467b126","line":58,"in_reply_to":"5a3905b3_ca027972","updated":"2017-01-25 03:36:58.000000000","message":"Done","commit_id":"b0364c5acf810f1a728755351c810dccdda89e57"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"57ee1e3285a9ecdcbdb2b923137050e9ed42ba57","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                netns\u003dconsts.AMPHORA_NAMESPACE,"},{"line_number":70,"context_line":"                net_dir\u003dnetns_network_dir),"},{"line_number":71,"context_line":"            symlinks\u003dTrue,"},{"line_number":72,"context_line":"            ignore\u003dshutil.ignore_patterns(\u0027eth0*\u0027, \u0027openssh*\u0027))"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def write_vip_interface_file(self, interface_file_path,"},{"line_number":75,"context_line":"                                 primary_interface, vip, ip, broadcast,"}],"source_content_type":"text/x-python","patch_set":58,"id":"5a3905b3_359d225a","line":72,"updated":"2017-01-25 02:12:21.000000000","message":"These don\u0027t match correctly under centos.\nIt should exclude the ifcfg-eth0 and probably others.  For centos it might actually be better to only copy what is needed.","commit_id":"b0364c5acf810f1a728755351c810dccdda89e57"},{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"605f0d71648dc8f589de7850fcd0cac45dbbfc3b","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                netns\u003dconsts.AMPHORA_NAMESPACE,"},{"line_number":70,"context_line":"                net_dir\u003dnetns_network_dir),"},{"line_number":71,"context_line":"            symlinks\u003dTrue,"},{"line_number":72,"context_line":"            ignore\u003dshutil.ignore_patterns(\u0027eth0*\u0027, \u0027openssh*\u0027))"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def write_vip_interface_file(self, interface_file_path,"},{"line_number":75,"context_line":"                                 primary_interface, vip, ip, broadcast,"}],"source_content_type":"text/x-python","patch_set":58,"id":"3a461143_55ad5e87","line":72,"in_reply_to":"5a3905b3_359d225a","updated":"2017-01-25 14:24:33.000000000","message":"I agree about the ifcfg-eth0, you got a point there.\nas for copying only what is needed, there are several scripts in that folder that we need, so I think a proper ignore pattern can be a good solution here:\n\nshutil.ignore_patterns(\u0027ifcfg-eth0*\u0027, \u0027ifcfg-lo*\u0027)\n\nI have added an \u0027ignore\u0027 param to that function, provided with the right ignore patterns from the OS specific create_netns_dir(). let me know if that looks okay.","commit_id":"b0364c5acf810f1a728755351c810dccdda89e57"},{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"9a667eba6e45c07bb67fe19378d55a542009056d","unresolved":false,"context_lines":[{"line_number":210,"context_line":"        self._bring_if_up(secondary_interface, \u0027VIP\u0027)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    def has_ifup_all(self):"},{"line_number":213,"context_line":"        return True;"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"class Ubuntu(BaseOS):"}],"source_content_type":"text/x-python","patch_set":71,"id":"3a461143_f6e0c6fc","line":213,"range":{"start_line":213,"start_character":19,"end_line":213,"end_character":20},"updated":"2017-01-26 20:40:06.000000000","message":"not accepted by PEP8","commit_id":"e78af86609daad5ea07e1fa004ec2521ac2e4136"},{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"2c6cb140aa6f70ffe5fa2560cb8a55fe15ddf9bd","unresolved":false,"context_lines":[{"line_number":210,"context_line":"        self._bring_if_up(secondary_interface, \u0027VIP\u0027)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    def has_ifup_all(self):"},{"line_number":213,"context_line":"        return True;"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"class Ubuntu(BaseOS):"}],"source_content_type":"text/x-python","patch_set":71,"id":"3a461143_bfca9118","line":213,"range":{"start_line":213,"start_character":19,"end_line":213,"end_character":20},"in_reply_to":"3a461143_f6e0c6fc","updated":"2017-01-26 21:52:59.000000000","message":"Done","commit_id":"e78af86609daad5ea07e1fa004ec2521ac2e4136"},{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"9a667eba6e45c07bb67fe19378d55a542009056d","unresolved":false,"context_lines":[{"line_number":291,"context_line":"            template_port)"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"    def has_ifup_all(self):"},{"line_number":294,"context_line":"        return True;"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"class RH(BaseOS):"}],"source_content_type":"text/x-python","patch_set":71,"id":"3a461143_761696f2","line":294,"range":{"start_line":294,"start_character":19,"end_line":294,"end_character":20},"updated":"2017-01-26 20:40:06.000000000","message":"ditto","commit_id":"e78af86609daad5ea07e1fa004ec2521ac2e4136"},{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"2c6cb140aa6f70ffe5fa2560cb8a55fe15ddf9bd","unresolved":false,"context_lines":[{"line_number":291,"context_line":"            template_port)"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"    def has_ifup_all(self):"},{"line_number":294,"context_line":"        return True;"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"class RH(BaseOS):"}],"source_content_type":"text/x-python","patch_set":71,"id":"3a461143_1fdc85e3","line":294,"range":{"start_line":294,"start_character":19,"end_line":294,"end_character":20},"in_reply_to":"3a461143_761696f2","updated":"2017-01-26 21:52:59.000000000","message":"Done","commit_id":"e78af86609daad5ea07e1fa004ec2521ac2e4136"},{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"9a667eba6e45c07bb67fe19378d55a542009056d","unresolved":false,"context_lines":[{"line_number":441,"context_line":"            self._bring_if_up(primary_interface, \u0027VIP\u0027)"},{"line_number":442,"context_line":""},{"line_number":443,"context_line":"    def has_ifup_all(self):"},{"line_number":444,"context_line":"        return False;"}],"source_content_type":"text/x-python","patch_set":71,"id":"3a461143_962ce24b","line":444,"range":{"start_line":444,"start_character":20,"end_line":444,"end_character":21},"updated":"2017-01-26 20:40:06.000000000","message":"ditto","commit_id":"e78af86609daad5ea07e1fa004ec2521ac2e4136"},{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"2c6cb140aa6f70ffe5fa2560cb8a55fe15ddf9bd","unresolved":false,"context_lines":[{"line_number":441,"context_line":"            self._bring_if_up(primary_interface, \u0027VIP\u0027)"},{"line_number":442,"context_line":""},{"line_number":443,"context_line":"    def has_ifup_all(self):"},{"line_number":444,"context_line":"        return False;"}],"source_content_type":"text/x-python","patch_set":71,"id":"3a461143_1f03a543","line":444,"range":{"start_line":444,"start_character":20,"end_line":444,"end_character":21},"in_reply_to":"3a461143_962ce24b","updated":"2017-01-26 21:52:59.000000000","message":"Done","commit_id":"e78af86609daad5ea07e1fa004ec2521ac2e4136"}],"octavia/amphorae/backends/agent/api_server/templates/rh_plug_port_ethX.conf.j2":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"274c2bd8d925be9cd1e4cdc20db766cb8bfc7f9f","unresolved":false,"context_lines":[{"line_number":21,"context_line":"USERCTL\u003d\"yes\""},{"line_number":22,"context_line":"{%- if ipv6 %}"},{"line_number":23,"context_line":"IPV6INIT\u003d\"yes\""},{"line_number":24,"context_line":"IPV6_DEFROUTE\u003d\"yes\""},{"line_number":25,"context_line":"{%- if mtu %}"},{"line_number":26,"context_line":"IPV6_MTU\u003d\"{{ mtu }}\""},{"line_number":27,"context_line":"{%- endif %}"}],"source_content_type":"text/x-jinja2","patch_set":55,"id":"5a3905b3_4695ea30","line":24,"updated":"2017-01-23 23:34:00.000000000","message":"This should not be default route for the member networks I don\u0027t think...\nI may not understand this setting correctly however.","commit_id":"80f22070e9e8837a528baafe19480b9c3afa5f2c"},{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"b1d0766b1f8127641e8a034c73c09dc0057dd2f9","unresolved":false,"context_lines":[{"line_number":21,"context_line":"USERCTL\u003d\"yes\""},{"line_number":22,"context_line":"{%- if ipv6 %}"},{"line_number":23,"context_line":"IPV6INIT\u003d\"yes\""},{"line_number":24,"context_line":"IPV6_DEFROUTE\u003d\"yes\""},{"line_number":25,"context_line":"{%- if mtu %}"},{"line_number":26,"context_line":"IPV6_MTU\u003d\"{{ mtu }}\""},{"line_number":27,"context_line":"{%- endif %}"}],"source_content_type":"text/x-jinja2","patch_set":55,"id":"5a3905b3_e266b0b9","line":24,"in_reply_to":"5a3905b3_4695ea30","updated":"2017-01-24 15:25:35.000000000","message":"Done","commit_id":"80f22070e9e8837a528baafe19480b9c3afa5f2c"}],"octavia/amphorae/backends/agent/api_server/templates/rh_plug_vip_ethX.conf.j2":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"274c2bd8d925be9cd1e4cdc20db766cb8bfc7f9f","unresolved":false,"context_lines":[{"line_number":21,"context_line":"USERCTL\u003d\"yes\""},{"line_number":22,"context_line":"{%- if vrrp_ipv6 %}"},{"line_number":23,"context_line":"IPV6INIT\u003d\"yes\""},{"line_number":24,"context_line":"IPV6_DEFROUTE\u003d\"yes\""},{"line_number":25,"context_line":"{%- if mtu %}"},{"line_number":26,"context_line":"IPV6_MTU\u003d\"{{ mtu }}\""},{"line_number":27,"context_line":"{%- endif %}"}],"source_content_type":"text/x-jinja2","patch_set":55,"id":"5a3905b3_e6ac168e","line":24,"updated":"2017-01-23 23:34:00.000000000","message":"Only the VIP should have a default route, so this is correct.","commit_id":"80f22070e9e8837a528baafe19480b9c3afa5f2c"},{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"b1d0766b1f8127641e8a034c73c09dc0057dd2f9","unresolved":false,"context_lines":[{"line_number":21,"context_line":"USERCTL\u003d\"yes\""},{"line_number":22,"context_line":"{%- if vrrp_ipv6 %}"},{"line_number":23,"context_line":"IPV6INIT\u003d\"yes\""},{"line_number":24,"context_line":"IPV6_DEFROUTE\u003d\"yes\""},{"line_number":25,"context_line":"{%- if mtu %}"},{"line_number":26,"context_line":"IPV6_MTU\u003d\"{{ mtu }}\""},{"line_number":27,"context_line":"{%- endif %}"}],"source_content_type":"text/x-jinja2","patch_set":55,"id":"5a3905b3_82fc0cb9","line":24,"in_reply_to":"5a3905b3_e6ac168e","updated":"2017-01-24 15:25:35.000000000","message":"Ack. Thanks for pointing this out!","commit_id":"80f22070e9e8837a528baafe19480b9c3afa5f2c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f7d78edd42869325d05d67c05fbc6e5fa6facdcf","unresolved":false,"context_lines":[{"line_number":19,"context_line":"ONBOOT\u003d\"yes\""},{"line_number":20,"context_line":"TYPE\u003d\"Ethernet\""},{"line_number":21,"context_line":"USERCTL\u003d\"yes\""},{"line_number":22,"context_line":"{%- if vrrp_ip %}"},{"line_number":23,"context_line":"{%- if vrrp_ipv6 %}"},{"line_number":24,"context_line":"IPV6INIT\u003d\"yes\""},{"line_number":25,"context_line":"IPV6_DEFROUTE\u003d\"yes\""}],"source_content_type":"text/x-jinja2","patch_set":58,"id":"5a3905b3_81785c2d","line":22,"updated":"2017-01-24 23:53:46.000000000","message":"You are missing an endif","commit_id":"b0364c5acf810f1a728755351c810dccdda89e57"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"507a396774c3564f73258709f81359b5fc425de2","unresolved":false,"context_lines":[{"line_number":19,"context_line":"ONBOOT\u003d\"yes\""},{"line_number":20,"context_line":"TYPE\u003d\"Ethernet\""},{"line_number":21,"context_line":"USERCTL\u003d\"yes\""},{"line_number":22,"context_line":"{%- if vrrp_ip %}"},{"line_number":23,"context_line":"{%- if vrrp_ipv6 %}"},{"line_number":24,"context_line":"IPV6INIT\u003d\"yes\""},{"line_number":25,"context_line":"IPV6_DEFROUTE\u003d\"yes\""}],"source_content_type":"text/x-jinja2","patch_set":58,"id":"5a3905b3_b54af2aa","line":22,"in_reply_to":"5a3905b3_81785c2d","updated":"2017-01-25 02:19:04.000000000","message":"Done","commit_id":"b0364c5acf810f1a728755351c810dccdda89e57"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7b658508082a8a6d24a6d211bb70ab6232b09c52","unresolved":false,"context_lines":[{"line_number":33,"context_line":"BOOTPROTO\u003d\"static\""},{"line_number":34,"context_line":"IPADDR\u003d\"{{ vrrp_ip }}\""},{"line_number":35,"context_line":"NETMASK\u003d\"{{ netmask }}\""},{"line_number":36,"context_line":"GATEWAY\u003d\"{{ gateway }}\""},{"line_number":37,"context_line":"{%- else %}"},{"line_number":38,"context_line":"{%- if vip_ipv6 %}"},{"line_number":39,"context_line":"IPV6INIT\u003d\"yes\""}],"source_content_type":"text/x-jinja2","patch_set":58,"id":"5a3905b3_ead3b55d","line":36,"updated":"2017-01-25 01:27:05.000000000","message":"MTU missing here.","commit_id":"b0364c5acf810f1a728755351c810dccdda89e57"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"507a396774c3564f73258709f81359b5fc425de2","unresolved":false,"context_lines":[{"line_number":33,"context_line":"BOOTPROTO\u003d\"static\""},{"line_number":34,"context_line":"IPADDR\u003d\"{{ vrrp_ip }}\""},{"line_number":35,"context_line":"NETMASK\u003d\"{{ netmask }}\""},{"line_number":36,"context_line":"GATEWAY\u003d\"{{ gateway }}\""},{"line_number":37,"context_line":"{%- else %}"},{"line_number":38,"context_line":"{%- if vip_ipv6 %}"},{"line_number":39,"context_line":"IPV6INIT\u003d\"yes\""}],"source_content_type":"text/x-jinja2","patch_set":58,"id":"5a3905b3_f5caba19","line":36,"in_reply_to":"5a3905b3_ead3b55d","updated":"2017-01-25 02:19:04.000000000","message":"Done","commit_id":"b0364c5acf810f1a728755351c810dccdda89e57"}],"octavia/amphorae/backends/agent/api_server/templates/rh_plug_vip_ethX_alias.conf.j2":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"274c2bd8d925be9cd1e4cdc20db766cb8bfc7f9f","unresolved":false,"context_lines":[{"line_number":17,"context_line":"DEVICE\u003d\"{{ interface }}:0\""},{"line_number":18,"context_line":"NAME\u003d\"{{ interface }}:0\""},{"line_number":19,"context_line":"ONBOOT\u003d\"yes\""},{"line_number":20,"context_line":"IPV6INIT\u003d\"no\""},{"line_number":21,"context_line":"{%- if mtu %}"},{"line_number":22,"context_line":"MTU\u003d\"{{ mtu }}\""},{"line_number":23,"context_line":"{%- endif %}"}],"source_content_type":"text/x-jinja2","patch_set":55,"id":"5a3905b3_262ffe3f","line":20,"updated":"2017-01-23 23:34:00.000000000","message":"Why doesn\u0027t this have the option of ipv6?  We do on the ubuntu side here:\nhttps://github.com/openstack/octavia/blob/master/octavia/amphorae/backends/agent/api_server/templates/plug_vip_ethX.conf.j2#L37","commit_id":"80f22070e9e8837a528baafe19480b9c3afa5f2c"},{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"b1d0766b1f8127641e8a034c73c09dc0057dd2f9","unresolved":false,"context_lines":[{"line_number":17,"context_line":"DEVICE\u003d\"{{ interface }}:0\""},{"line_number":18,"context_line":"NAME\u003d\"{{ interface }}:0\""},{"line_number":19,"context_line":"ONBOOT\u003d\"yes\""},{"line_number":20,"context_line":"IPV6INIT\u003d\"no\""},{"line_number":21,"context_line":"{%- if mtu %}"},{"line_number":22,"context_line":"MTU\u003d\"{{ mtu }}\""},{"line_number":23,"context_line":"{%- endif %}"}],"source_content_type":"text/x-jinja2","patch_set":55,"id":"5a3905b3_a27ae821","line":20,"in_reply_to":"5a3905b3_262ffe3f","updated":"2017-01-24 15:25:35.000000000","message":"The reason behind this is that in IPv6, you shouldn\u0027t[1] use alias interfaces (eth1:0), instead, you add additional IPv6 addresses to the main ifcfg-eth1 file under IPV6ADDR_SECONDARIES, as I did here[2]\n[1] https://www.centos.org/forums/viewtopic.php?t\u003d26456\n[2] https://review.openstack.org/#/c/331841/55/octavia/amphorae/backends/agent/api_server/templates/rh_plug_vip_ethX.conf.j2@36","commit_id":"80f22070e9e8837a528baafe19480b9c3afa5f2c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"71e0b3fde36d3c8359cce5fda0891761f4caf308","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"# under the License."},{"line_number":15,"context_line":"#}"},{"line_number":16,"context_line":"# Generated by Octavia agent"},{"line_number":17,"context_line":"DEVICE\u003d\"{{ interface }}:0\""},{"line_number":18,"context_line":"NAME\u003d\"{{ interface }}:0\""},{"line_number":19,"context_line":"ONBOOT\u003d\"yes\""}],"source_content_type":"text/x-jinja2","patch_set":58,"id":"5a3905b3_b5ee72b2","line":16,"updated":"2017-01-25 02:16:08.000000000","message":"Are any of these needed here?  NM_CONTROLLED\u003d\u0027no\u0027 and ONBOOT maybe?\nNM_CONTROLLED\u003d\"no\"\nDEVICE\u003d\"{{ interface }}\"\nONBOOT\u003d\"yes\"\nTYPE\u003d\"Ethernet\"\nUSERCTL\u003d\"yes\"","commit_id":"b0364c5acf810f1a728755351c810dccdda89e57"},{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"605f0d71648dc8f589de7850fcd0cac45dbbfc3b","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"# under the License."},{"line_number":15,"context_line":"#}"},{"line_number":16,"context_line":"# Generated by Octavia agent"},{"line_number":17,"context_line":"DEVICE\u003d\"{{ interface }}:0\""},{"line_number":18,"context_line":"NAME\u003d\"{{ interface }}:0\""},{"line_number":19,"context_line":"ONBOOT\u003d\"yes\""}],"source_content_type":"text/x-jinja2","patch_set":58,"id":"3a461143_751dfabc","line":16,"in_reply_to":"5a3905b3_b5ee72b2","updated":"2017-01-25 14:24:33.000000000","message":"Good catch.\nI added \u0027NM_CONTROLLED\u0027, all the rest are already there.","commit_id":"b0364c5acf810f1a728755351c810dccdda89e57"}],"octavia/amphorae/backends/agent/api_server/templates/systemd.conf.j2":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"9ba0c3ac80f2e1ac7aa071fb3d205c74b4eb558c","unresolved":false,"context_lines":[{"line_number":17,"context_line":"# Assign the interfaces into the namespace with the appropriate name"},{"line_number":18,"context_line":"ExecStartPre\u003d-/bin/sh -c \u0027/sbin/ip link | awk \\\u0027{getline n; print $0,n}\\\u0027 | awk \\\u0027{sub(\":\",\"\",$2)} { for(i\u003d1;i\u003c\u003dNF;i++) if ($i \u003d\u003d \"link/ether\") {print $(i+1) \" \" $2} }\\\u0027 | sort -k 1 | join -j 1 - /var/lib/octavia/plugged_interfaces.sorted | awk \\\u0027{system(\"ip link set \"$2\" netns {{ amphora_nsname }} name \"$3\"\")}\\\u0027\u0027"},{"line_number":19,"context_line":"# Bring up all of the namespace interfaces"},{"line_number":20,"context_line":"ExecStartPre\u003d-/sbin/ip netns exec {{ amphora_nsname }} ifup -a"},{"line_number":21,"context_line":"#"},{"line_number":22,"context_line":"ExecStart\u003d/sbin/ip netns exec {{ amphora_nsname }} /usr/sbin/haproxy-systemd-wrapper -f {{ haproxy_cfg }} -p {{ haproxy_pid }} -L {{ peer_name }} $EXTRAOPTS"},{"line_number":23,"context_line":"ExecReload\u003d/usr/sbin/haproxy -c -f {{ haproxy_cfg }}"}],"source_content_type":"text/x-jinja2","patch_set":68,"id":"3a461143_a4ed568d","line":20,"updated":"2017-01-26 02:52:09.000000000","message":"ifup -a doesn\u0027t work on centos","commit_id":"b8026107cfa160624629a37ffea150aba7be4ab1"},{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"427a76762b215b75727b8b5cb11b35c2820e8fb6","unresolved":false,"context_lines":[{"line_number":17,"context_line":"# Assign the interfaces into the namespace with the appropriate name"},{"line_number":18,"context_line":"ExecStartPre\u003d-/bin/sh -c \u0027/sbin/ip link | awk \\\u0027{getline n; print $0,n}\\\u0027 | awk \\\u0027{sub(\":\",\"\",$2)} { for(i\u003d1;i\u003c\u003dNF;i++) if ($i \u003d\u003d \"link/ether\") {print $(i+1) \" \" $2} }\\\u0027 | sort -k 1 | join -j 1 - /var/lib/octavia/plugged_interfaces.sorted | awk \\\u0027{system(\"ip link set \"$2\" netns {{ amphora_nsname }} name \"$3\"\")}\\\u0027\u0027"},{"line_number":19,"context_line":"# Bring up all of the namespace interfaces"},{"line_number":20,"context_line":"ExecStartPre\u003d-/sbin/ip netns exec {{ amphora_nsname }} ifup -a"},{"line_number":21,"context_line":"#"},{"line_number":22,"context_line":"ExecStart\u003d/sbin/ip netns exec {{ amphora_nsname }} /usr/sbin/haproxy-systemd-wrapper -f {{ haproxy_cfg }} -p {{ haproxy_pid }} -L {{ peer_name }} $EXTRAOPTS"},{"line_number":23,"context_line":"ExecReload\u003d/usr/sbin/haproxy -c -f {{ haproxy_cfg }}"}],"source_content_type":"text/x-jinja2","patch_set":68,"id":"3a461143_65743e35","line":20,"in_reply_to":"3a461143_a4ed568d","updated":"2017-01-26 10:45:45.000000000","message":"I have tested this and found the Ubuntu \u0027ifup -a\u0027 equivalent in CentOS: \u0027ifup *\u0027\nSadly, they way it works in CentOS does not work on Ubuntu, so we\u0027ll need to distinguish between the two.\n\nOne option is to have seperate templates for each image.\nThe alternative might look something like:\n\nifup -a || ifup *\n\n\nThe Tests:\n\nCentOS:\n\n[root@centos-amp-dev-230117 network-scripts]# ip netns exec amphora-haproxy ifdown *\n[root@centos-amp-dev-230117 network-scripts]# ip netns exec amphora-haproxy ifconfig\n[root@centos-amp-dev-230117 network-scripts]# ip netns exec amphora-haproxy ifup *\n[root@centos-amp-dev-230117 network-scripts]# ip netns exec amphora-haproxy ifconfig\neth1: flags\u003d4163\u003cUP,BROADCAST,RUNNING,MULTICAST\u003e  mtu 1450\n        inet 10.0.0.10  netmask 255.255.255.192  broadcast 10.0.0.63\n        inet6 fe80::f816:3eff:fefb:3e70  prefixlen 64  scopeid 0x20\u003clink\u003e\n        ether fa:16:3e:fb:3e:70  txqueuelen 1000  (Ethernet)\n        RX packets 53  bytes 4658 (4.5 KiB)\n        RX errors 0  dropped 0  overruns 0  frame 0\n        TX packets 47  bytes 2886 (2.8 KiB)\n        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0\n\neth1:0: flags\u003d4163\u003cUP,BROADCAST,RUNNING,MULTICAST\u003e  mtu 1450\n        inet 10.0.0.9  netmask 255.255.255.192  broadcast 10.0.0.63\n        ether fa:16:3e:fb:3e:70  txqueuelen 1000  (Ethernet)\n\n\nUbuntu:\n\nroot@amphora-0a83bdc8-cd55-452a-adac-5d17d713b77e:~# ip netns exec amphora-haproxy ifup *\nUnknown interface *","commit_id":"b8026107cfa160624629a37ffea150aba7be4ab1"}],"octavia/amphorae/backends/agent/api_server/templates/sysvinit.conf.j2":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"9ba0c3ac80f2e1ac7aa071fb3d205c74b4eb558c","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    # Assign the interfaces into the namespace with the appropriate name"},{"line_number":60,"context_line":"    ip link | awk \u0027{getline n; print $0,n}\u0027 | awk \u0027{sub(\":\",\"\",$2)} { for(i\u003d1;i\u003c\u003dNF;i++) if ($i \u003d\u003d \"link/ether\") {print $(i+1) \" \" $2} }\u0027 | sort -k 1 | join -j 1 - /var/lib/octavia/plugged_interfaces.sorted | awk \u0027{system(\"ip link set \"$2\" netns {{ amphora_nsname }} name \"$3\"\")}\u0027 || true"},{"line_number":61,"context_line":"    # Bring up all of the namespace interfaces"},{"line_number":62,"context_line":"    ip netns exec {{ amphora_nsname }} ifup -a || true"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    start-stop-daemon --start --pidfile \"$PIDFILE\" \\"},{"line_number":65,"context_line":"        --exec $HAPROXY -- -f \"$CONFIG\" -D -p \"$PIDFILE\" \\"}],"source_content_type":"text/x-jinja2","patch_set":68,"id":"3a461143_e4ff5e32","line":62,"updated":"2017-01-26 02:52:09.000000000","message":"ifup -a doesn\u0027t work on centos","commit_id":"b8026107cfa160624629a37ffea150aba7be4ab1"},{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"427a76762b215b75727b8b5cb11b35c2820e8fb6","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    # Assign the interfaces into the namespace with the appropriate name"},{"line_number":60,"context_line":"    ip link | awk \u0027{getline n; print $0,n}\u0027 | awk \u0027{sub(\":\",\"\",$2)} { for(i\u003d1;i\u003c\u003dNF;i++) if ($i \u003d\u003d \"link/ether\") {print $(i+1) \" \" $2} }\u0027 | sort -k 1 | join -j 1 - /var/lib/octavia/plugged_interfaces.sorted | awk \u0027{system(\"ip link set \"$2\" netns {{ amphora_nsname }} name \"$3\"\")}\u0027 || true"},{"line_number":61,"context_line":"    # Bring up all of the namespace interfaces"},{"line_number":62,"context_line":"    ip netns exec {{ amphora_nsname }} ifup -a || true"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    start-stop-daemon --start --pidfile \"$PIDFILE\" \\"},{"line_number":65,"context_line":"        --exec $HAPROXY -- -f \"$CONFIG\" -D -p \"$PIDFILE\" \\"}],"source_content_type":"text/x-jinja2","patch_set":68,"id":"3a461143_a5946637","line":62,"in_reply_to":"3a461143_e4ff5e32","updated":"2017-01-26 10:45:45.000000000","message":"ditto","commit_id":"b8026107cfa160624629a37ffea150aba7be4ab1"}],"octavia/amphorae/backends/agent/api_server/templates/upstart.conf.j2":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"9ba0c3ac80f2e1ac7aa071fb3d205c74b4eb558c","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    # Assign the interfaces into the namespace with the appropriate name"},{"line_number":42,"context_line":"    ip link | awk \u0027{getline n; print $0,n}\u0027 | awk \u0027{sub(\":\",\"\",$2)} { for(i\u003d1;i\u003c\u003dNF;i++) if ($i \u003d\u003d \"link/ether\") {print $(i+1) \" \" $2} }\u0027 | sort -k 1 | join -j 1 - /var/lib/octavia/plugged_interfaces.sorted | awk \u0027{system(\"ip link set \"$2\" netns {{ amphora_nsname }} name \"$3\"\")}\u0027 || true"},{"line_number":43,"context_line":"    # Bring up all of the namespace interfaces"},{"line_number":44,"context_line":"    ip netns exec {{ amphora_nsname }} ifup -a || true"},{"line_number":45,"context_line":"end script"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"script"}],"source_content_type":"text/x-jinja2","patch_set":68,"id":"3a461143_24fa4643","line":44,"updated":"2017-01-26 02:52:09.000000000","message":"ifup -a doesn\u0027t work on centos","commit_id":"b8026107cfa160624629a37ffea150aba7be4ab1"},{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"427a76762b215b75727b8b5cb11b35c2820e8fb6","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    # Assign the interfaces into the namespace with the appropriate name"},{"line_number":42,"context_line":"    ip link | awk \u0027{getline n; print $0,n}\u0027 | awk \u0027{sub(\":\",\"\",$2)} { for(i\u003d1;i\u003c\u003dNF;i++) if ($i \u003d\u003d \"link/ether\") {print $(i+1) \" \" $2} }\u0027 | sort -k 1 | join -j 1 - /var/lib/octavia/plugged_interfaces.sorted | awk \u0027{system(\"ip link set \"$2\" netns {{ amphora_nsname }} name \"$3\"\")}\u0027 || true"},{"line_number":43,"context_line":"    # Bring up all of the namespace interfaces"},{"line_number":44,"context_line":"    ip netns exec {{ amphora_nsname }} ifup -a || true"},{"line_number":45,"context_line":"end script"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"script"}],"source_content_type":"text/x-jinja2","patch_set":68,"id":"3a461143_c5997270","line":44,"in_reply_to":"3a461143_24fa4643","updated":"2017-01-26 10:45:45.000000000","message":"ditto","commit_id":"b8026107cfa160624629a37ffea150aba7be4ab1"}],"octavia/compute/drivers/nova_driver.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1fc86d77dd3543d107e376ed75ad5d93667af4b7","unresolved":false,"context_lines":[{"line_number":143,"context_line":"                scheduler_hints\u003dserver_group"},{"line_number":144,"context_line":"            )"},{"line_number":145,"context_line":"            # TODO(nmagnezi): remove when done debugging"},{"line_number":146,"context_line":"            import ipdb ; ipdb.set_trace()"},{"line_number":147,"context_line":"            return amphora.id"},{"line_number":148,"context_line":"        except Exception:"},{"line_number":149,"context_line":"            LOG.exception(_LE(\"Error building nova virtual machine.\"))"}],"source_content_type":"text/x-python","patch_set":65,"id":"3a461143_623c5730","line":146,"updated":"2017-01-25 17:19:57.000000000","message":"This breaks the code and should not be checked in","commit_id":"114f15409374d16956ee0c605dfb73c2660244e6"},{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"9a667eba6e45c07bb67fe19378d55a542009056d","unresolved":false,"context_lines":[{"line_number":142,"context_line":"                config_drive\u003dTrue,"},{"line_number":143,"context_line":"                scheduler_hints\u003dserver_group"},{"line_number":144,"context_line":"            )"},{"line_number":145,"context_line":"            return amphora.id"},{"line_number":146,"context_line":"        except Exception:"},{"line_number":147,"context_line":"            LOG.exception(_LE(\"Error building nova virtual machine.\"))"},{"line_number":148,"context_line":"            raise exceptions.ComputeBuildException()"}],"source_content_type":"text/x-python","patch_set":71,"id":"3a461143_16cf1280","line":145,"range":{"start_line":145,"start_character":0,"end_line":145,"end_character":29},"updated":"2017-01-26 20:40:06.000000000","message":"the above line was removed by mistake.\nTo be returned in next patch-set","commit_id":"e78af86609daad5ea07e1fa004ec2521ac2e4136"},{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"2c6cb140aa6f70ffe5fa2560cb8a55fe15ddf9bd","unresolved":false,"context_lines":[{"line_number":142,"context_line":"                config_drive\u003dTrue,"},{"line_number":143,"context_line":"                scheduler_hints\u003dserver_group"},{"line_number":144,"context_line":"            )"},{"line_number":145,"context_line":"            return amphora.id"},{"line_number":146,"context_line":"        except Exception:"},{"line_number":147,"context_line":"            LOG.exception(_LE(\"Error building nova virtual machine.\"))"},{"line_number":148,"context_line":"            raise exceptions.ComputeBuildException()"}],"source_content_type":"text/x-python","patch_set":71,"id":"3a461143_bf98d11c","line":145,"range":{"start_line":145,"start_character":0,"end_line":145,"end_character":29},"in_reply_to":"3a461143_16cf1280","updated":"2017-01-26 21:52:59.000000000","message":"Done","commit_id":"e78af86609daad5ea07e1fa004ec2521ac2e4136"}],"octavia/tests/unit/amphorae/backends/agent/api_server/test_osutils.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"96a8aae8bae4545eddb6f9360132ce87ebb9260e","unresolved":false,"context_lines":[{"line_number":29,"context_line":"            dir \u003d \u0027/etc/network/interfaces.d\u0027"},{"line_number":30,"context_line":"            interface \u003d \u0027eth0\u0027"},{"line_number":31,"context_line":"            file \u003d os.path.join(dir, interface + \u0027.cfg\u0027)"},{"line_number":32,"context_line":"            cfg.CONF.set_override(\u0027agent_server_network_dir\u0027, dir,"},{"line_number":33,"context_line":"                                  group\u003d\u0027amphora_agent\u0027)"},{"line_number":34,"context_line":"            cfg.CONF.set_override(\u0027agent_server_network_file\u0027, None,"},{"line_number":35,"context_line":"                                  group\u003d\u0027amphora_agent\u0027)"}],"source_content_type":"text/x-python","patch_set":64,"id":"5a3905b3_7367bdea","line":32,"updated":"2017-01-25 06:23:35.000000000","message":"These need to be fixed.  This will cause these settings to be changed globally for the test runs.\n\nSee: https://github.com/openstack/octavia/blob/master/octavia/tests/unit/amphorae/drivers/keepalived/jinja/test_jinja_cfg.py#L30\n\nWe need to use the oslo fixture.","commit_id":"86d9fe8b23cb1fdcc154a376708b7f742e7e1ce8"},{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"f5990264d14ce9c0b8ee818daea3d129b668b3ce","unresolved":false,"context_lines":[{"line_number":29,"context_line":"            dir \u003d \u0027/etc/network/interfaces.d\u0027"},{"line_number":30,"context_line":"            interface \u003d \u0027eth0\u0027"},{"line_number":31,"context_line":"            file \u003d os.path.join(dir, interface + \u0027.cfg\u0027)"},{"line_number":32,"context_line":"            cfg.CONF.set_override(\u0027agent_server_network_dir\u0027, dir,"},{"line_number":33,"context_line":"                                  group\u003d\u0027amphora_agent\u0027)"},{"line_number":34,"context_line":"            cfg.CONF.set_override(\u0027agent_server_network_file\u0027, None,"},{"line_number":35,"context_line":"                                  group\u003d\u0027amphora_agent\u0027)"}],"source_content_type":"text/x-python","patch_set":64,"id":"3a461143_1e876062","line":32,"in_reply_to":"5a3905b3_7367bdea","updated":"2017-01-25 23:28:50.000000000","message":"Done","commit_id":"86d9fe8b23cb1fdcc154a376708b7f742e7e1ce8"},{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"9aae6d781948e5040425a1dfb45a09945be2d95f","unresolved":false,"context_lines":[{"line_number":29,"context_line":"            dir \u003d \u0027/etc/network/interfaces.d\u0027"},{"line_number":30,"context_line":"            interface \u003d \u0027eth0\u0027"},{"line_number":31,"context_line":"            file \u003d os.path.join(dir, interface + \u0027.cfg\u0027)"},{"line_number":32,"context_line":"            cfg.CONF.set_override(\u0027agent_server_network_dir\u0027, dir,"},{"line_number":33,"context_line":"                                  group\u003d\u0027amphora_agent\u0027)"},{"line_number":34,"context_line":"            cfg.CONF.set_override(\u0027agent_server_network_file\u0027, None,"},{"line_number":35,"context_line":"                                  group\u003d\u0027amphora_agent\u0027)"}],"source_content_type":"text/x-python","patch_set":64,"id":"3a461143_20c41291","line":32,"in_reply_to":"5a3905b3_7367bdea","updated":"2017-01-25 14:24:49.000000000","message":"so just replace cfg.CONF.set_override with conf.config ?","commit_id":"86d9fe8b23cb1fdcc154a376708b7f742e7e1ce8"}]}
