)]}'
{"doc/source/config-reference/octavia-config-table.rst":[{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"a3d712a30df6d3362d16697a00ad4a57b21f57a5","unresolved":false,"context_lines":[{"line_number":281,"context_line":"   * - ``retry_interval`` \u003d ``1``"},{"line_number":282,"context_line":"     - (IntOpt) Seconds to wait before retrying an action with the networking service."},{"line_number":283,"context_line":"   * - ``port_detach_timeout`` \u003d ``300``"},{"line_number":284,"context_line":"     - (IntOpt) Seconds to wait for a port to detach from an instance."},{"line_number":285,"context_line":"   * - **[neutron]**"},{"line_number":286,"context_line":"     -"},{"line_number":287,"context_line":"   * - ``ca_certificates_file`` \u003d ``None``"}],"source_content_type":"text/x-rst","patch_set":15,"id":"3ac371cc_2c5b3e30","line":284,"range":{"start_line":284,"start_character":61,"end_line":284,"end_character":69},"updated":"2016-08-19 05:31:24.000000000","message":"Nit: amphora","commit_id":"47104134c4281018e944e32390773f3c3831cdca"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f3b234eed54d52a9144dc9b4b1139bd1dd6fd81","unresolved":false,"context_lines":[{"line_number":281,"context_line":"   * - ``retry_interval`` \u003d ``1``"},{"line_number":282,"context_line":"     - (IntOpt) Seconds to wait before retrying an action with the networking service."},{"line_number":283,"context_line":"   * - ``port_detach_timeout`` \u003d ``300``"},{"line_number":284,"context_line":"     - (IntOpt) Seconds to wait for a port to detach from an instance."},{"line_number":285,"context_line":"   * - **[neutron]**"},{"line_number":286,"context_line":"     -"},{"line_number":287,"context_line":"   * - ``ca_certificates_file`` \u003d ``None``"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1ac06dbe_d2816391","line":284,"range":{"start_line":284,"start_character":61,"end_line":284,"end_character":69},"in_reply_to":"3ac371cc_2c5b3e30","updated":"2016-08-19 17:49:03.000000000","message":"Done","commit_id":"47104134c4281018e944e32390773f3c3831cdca"}],"etc/octavia.conf":[{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"a3d712a30df6d3362d16697a00ad4a57b21f57a5","unresolved":false,"context_lines":[{"line_number":101,"context_line":"# max_retries \u003d 15"},{"line_number":102,"context_line":"# Seconds to wait before retrying an action with the networking service."},{"line_number":103,"context_line":"# retry_interval \u003d 1"},{"line_number":104,"context_line":"# The maximum time to wait, in seconds, for a port to detach from an instance"},{"line_number":105,"context_line":"# port_detach_timeout \u003d 300"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"[haproxy_amphora]"}],"source_content_type":"text/plain","patch_set":15,"id":"3ac371cc_8c407237","line":104,"range":{"start_line":104,"start_character":69,"end_line":104,"end_character":77},"updated":"2016-08-19 05:31:24.000000000","message":"Nit: amphora","commit_id":"47104134c4281018e944e32390773f3c3831cdca"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f3b234eed54d52a9144dc9b4b1139bd1dd6fd81","unresolved":false,"context_lines":[{"line_number":101,"context_line":"# max_retries \u003d 15"},{"line_number":102,"context_line":"# Seconds to wait before retrying an action with the networking service."},{"line_number":103,"context_line":"# retry_interval \u003d 1"},{"line_number":104,"context_line":"# The maximum time to wait, in seconds, for a port to detach from an instance"},{"line_number":105,"context_line":"# port_detach_timeout \u003d 300"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"[haproxy_amphora]"}],"source_content_type":"text/plain","patch_set":15,"id":"1ac06dbe_3249d78c","line":104,"range":{"start_line":104,"start_character":69,"end_line":104,"end_character":77},"in_reply_to":"3ac371cc_8c407237","updated":"2016-08-19 17:49:03.000000000","message":"Done","commit_id":"47104134c4281018e944e32390773f3c3831cdca"}],"octavia/amphorae/backends/agent/api_server/plug.py":[{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"a3d712a30df6d3362d16697a00ad4a57b21f57a5","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    default_netns_interface \u003d _interface_by_mac(mac_address)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    # Always put the VIP interface as eth1"},{"line_number":83,"context_line":"    primary_interface \u003d \u0027eth1\u0027"},{"line_number":84,"context_line":"    secondary_interface \u003d \"{interface}:0\".format(interface\u003dprimary_interface)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    # We need to setup the netns network directory so that the ifup"}],"source_content_type":"text/x-python","patch_set":15,"id":"3ac371cc_cc61cad5","line":83,"range":{"start_line":83,"start_character":24,"end_line":83,"end_character":30},"updated":"2016-08-19 05:31:24.000000000","message":"Should we define this as a constant?","commit_id":"47104134c4281018e944e32390773f3c3831cdca"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f3b234eed54d52a9144dc9b4b1139bd1dd6fd81","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    default_netns_interface \u003d _interface_by_mac(mac_address)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    # Always put the VIP interface as eth1"},{"line_number":83,"context_line":"    primary_interface \u003d \u0027eth1\u0027"},{"line_number":84,"context_line":"    secondary_interface \u003d \"{interface}:0\".format(interface\u003dprimary_interface)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    # We need to setup the netns network directory so that the ifup"}],"source_content_type":"text/x-python","patch_set":15,"id":"1ac06dbe_ade28a9d","line":83,"range":{"start_line":83,"start_character":24,"end_line":83,"end_character":30},"in_reply_to":"3ac371cc_cc61cad5","updated":"2016-08-19 17:49:03.000000000","message":"Yes, very good point.  Done","commit_id":"47104134c4281018e944e32390773f3c3831cdca"}],"octavia/common/config.py":[{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"a3d712a30df6d3362d16697a00ad4a57b21f57a5","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                      \u0027networking service.\u0027)),"},{"line_number":90,"context_line":"    cfg.IntOpt(\u0027port_detach_timeout\u0027, default\u003d300,"},{"line_number":91,"context_line":"               help\u003d_(\u0027Seconds to wait for a port to detach from an \u0027"},{"line_number":92,"context_line":"                      \u0027instance.\u0027))"},{"line_number":93,"context_line":"]"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"healthmanager_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":15,"id":"3ac371cc_4c579aca","line":92,"range":{"start_line":92,"start_character":23,"end_line":92,"end_character":31},"updated":"2016-08-19 05:31:24.000000000","message":"Nit: amphora","commit_id":"47104134c4281018e944e32390773f3c3831cdca"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f3b234eed54d52a9144dc9b4b1139bd1dd6fd81","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                      \u0027networking service.\u0027)),"},{"line_number":90,"context_line":"    cfg.IntOpt(\u0027port_detach_timeout\u0027, default\u003d300,"},{"line_number":91,"context_line":"               help\u003d_(\u0027Seconds to wait for a port to detach from an \u0027"},{"line_number":92,"context_line":"                      \u0027instance.\u0027))"},{"line_number":93,"context_line":"]"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"healthmanager_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":15,"id":"1ac06dbe_925ecb43","line":92,"range":{"start_line":92,"start_character":23,"end_line":92,"end_character":31},"in_reply_to":"3ac371cc_4c579aca","updated":"2016-08-19 17:49:03.000000000","message":"Done","commit_id":"47104134c4281018e944e32390773f3c3831cdca"}],"octavia/controller/worker/flows/amphora_flows.py":[{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"aafa9d3e8341bb509604704248cbf2537fe41057","unresolved":false,"context_lines":[{"line_number":339,"context_line":"            requires\u003dconstants.LOADBALANCER, provides\u003dconstants.LISTENERS))"},{"line_number":340,"context_line":"        failover_amphora_flow.add(database_tasks.GetVipFromLoadbalancer("},{"line_number":341,"context_line":"            requires\u003dconstants.LOADBALANCER, provides\u003dconstants.VIP))"},{"line_number":342,"context_line":"        failover_amphora_flow.add(amphora_driver_tasks.ListenersUpdate("},{"line_number":343,"context_line":"            requires\u003d(constants.LOADBALANCER, constants.LISTENERS)))"},{"line_number":344,"context_line":"        failover_amphora_flow.add(network_tasks.PlugPorts("},{"line_number":345,"context_line":"            requires\u003d(constants.AMPHORA, constants.PORTS)))"}],"source_content_type":"text/x-python","patch_set":12,"id":"bacf61ea_5ccf7655","line":342,"updated":"2016-08-02 03:16:33.000000000","message":"I have a question here, why we need to do ListenerUpdate before pluging ports? and we do this to both amphorae in active-standby mode, is it necessary to the other healthy amphora?","commit_id":"4bf29d889ed83c5603f85de2d98da73cfecdb616"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"0628e0e896107cbe29cc43e46d6ba67d7a9de811","unresolved":false,"context_lines":[{"line_number":339,"context_line":"            requires\u003dconstants.LOADBALANCER, provides\u003dconstants.LISTENERS))"},{"line_number":340,"context_line":"        failover_amphora_flow.add(database_tasks.GetVipFromLoadbalancer("},{"line_number":341,"context_line":"            requires\u003dconstants.LOADBALANCER, provides\u003dconstants.VIP))"},{"line_number":342,"context_line":"        failover_amphora_flow.add(amphora_driver_tasks.ListenersUpdate("},{"line_number":343,"context_line":"            requires\u003d(constants.LOADBALANCER, constants.LISTENERS)))"},{"line_number":344,"context_line":"        failover_amphora_flow.add(network_tasks.PlugPorts("},{"line_number":345,"context_line":"            requires\u003d(constants.AMPHORA, constants.PORTS)))"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad45d7e_9bf6d2d5","line":342,"in_reply_to":"bacf61ea_5ccf7655","updated":"2016-08-09 00:15:38.000000000","message":"I didn\u0027t change/add this code in this patch, it is old code.\nIf I remember correctly we need to update the peers list and the configuration ID with the new amphora information.\nDon\u0027t quote me on that as I am just pulling from member and did not go through the code to find the reason.","commit_id":"4bf29d889ed83c5603f85de2d98da73cfecdb616"}],"octavia/network/drivers/neutron/allowed_address_pairs.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"39fff0afe817f0294b7d658552288663d7e261cc","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                return interface"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    def _plug_amphora_vip(self, amphora, network_id):"},{"line_number":87,"context_line":"        # We need a vip port owned by Octavia for Act/Stndy and failover"},{"line_number":88,"context_line":"        try:"},{"line_number":89,"context_line":"            port \u003d {\u0027port\u0027: {\u0027name\u0027: \u0027octavia-lb-vip-\u0027 + amphora.id,"},{"line_number":90,"context_line":"                             \u0027network_id\u0027: network_id,"}],"source_content_type":"text/x-python","patch_set":15,"id":"1ac06dbe_342b8732","line":87,"updated":"2016-08-19 16:00:55.000000000","message":"nit: Stndy? \u003e_\u003e","commit_id":"47104134c4281018e944e32390773f3c3831cdca"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f3b234eed54d52a9144dc9b4b1139bd1dd6fd81","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                return interface"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    def _plug_amphora_vip(self, amphora, network_id):"},{"line_number":87,"context_line":"        # We need a vip port owned by Octavia for Act/Stndy and failover"},{"line_number":88,"context_line":"        try:"},{"line_number":89,"context_line":"            port \u003d {\u0027port\u0027: {\u0027name\u0027: \u0027octavia-lb-vip-\u0027 + amphora.id,"},{"line_number":90,"context_line":"                             \u0027network_id\u0027: network_id,"}],"source_content_type":"text/x-python","patch_set":15,"id":"1ac06dbe_a8aa786e","line":87,"in_reply_to":"1ac06dbe_342b8732","updated":"2016-08-19 17:49:03.000000000","message":"Done","commit_id":"47104134c4281018e944e32390773f3c3831cdca"}],"octavia/tests/unit/network/drivers/neutron/test_allowed_address_pairs.py":[{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"a3d712a30df6d3362d16697a00ad4a57b21f57a5","unresolved":false,"context_lines":[{"line_number":754,"context_line":"    @mock.patch(\u0027time.sleep\u0027)"},{"line_number":755,"context_line":"    def test_wait_for_port_detach_timeout(self, mock_sleep):"},{"line_number":756,"context_line":"        conf \u003d oslo_fixture.Config(cfg.CONF)"},{"line_number":757,"context_line":"        conf.config(group\u003d\"networking\", port_detach_timeout\u003d5)"},{"line_number":758,"context_line":"        amphora \u003d data_models.Amphora("},{"line_number":759,"context_line":"            id\u003dself.AMPHORA_ID, load_balancer_id\u003dself.LB_ID,"},{"line_number":760,"context_line":"            compute_id\u003dself.COMPUTE_ID, status\u003dself.ACTIVE,"}],"source_content_type":"text/x-python","patch_set":15,"id":"3ac371cc_ec4da69a","line":757,"range":{"start_line":757,"start_character":40,"end_line":757,"end_character":61},"updated":"2016-08-19 05:31:24.000000000","message":"So this test is going to take 5 seconds to run in a busy loop as the mocked out time.sleep gets called a whooooole bunch, right?\n\nWould it make sense to mock out time.time (and give it a list of return values) as well so that this test can execute much faster?","commit_id":"47104134c4281018e944e32390773f3c3831cdca"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f3b234eed54d52a9144dc9b4b1139bd1dd6fd81","unresolved":false,"context_lines":[{"line_number":754,"context_line":"    @mock.patch(\u0027time.sleep\u0027)"},{"line_number":755,"context_line":"    def test_wait_for_port_detach_timeout(self, mock_sleep):"},{"line_number":756,"context_line":"        conf \u003d oslo_fixture.Config(cfg.CONF)"},{"line_number":757,"context_line":"        conf.config(group\u003d\"networking\", port_detach_timeout\u003d5)"},{"line_number":758,"context_line":"        amphora \u003d data_models.Amphora("},{"line_number":759,"context_line":"            id\u003dself.AMPHORA_ID, load_balancer_id\u003dself.LB_ID,"},{"line_number":760,"context_line":"            compute_id\u003dself.COMPUTE_ID, status\u003dself.ACTIVE,"}],"source_content_type":"text/x-python","patch_set":15,"id":"1ac06dbe_23cfcbb1","line":757,"range":{"start_line":757,"start_character":40,"end_line":757,"end_character":61},"in_reply_to":"3ac371cc_ec4da69a","updated":"2016-08-19 17:49:03.000000000","message":"Done","commit_id":"47104134c4281018e944e32390773f3c3831cdca"}]}
