)]}'
{"doc/source/api/distributor-api.rst":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":72,"id":"1a430d35_af1c886a","updated":"2017-02-09 07:10:08.000000000","message":"You need to update octavia/doc/source/index.rst to add this document to the \"APIs\" section.","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":41,"context_line":"* 400 Bad Request - API handler was unable to complete request."},{"line_number":42,"context_line":"* 401 Unauthorized - Authentication of the client certificate failed."},{"line_number":43,"context_line":"* 404 Not Found - The requested file was not found."},{"line_number":44,"context_line":"* 500 Internal Server Error - Usually indicates a permissions problem"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"API"},{"line_number":47,"context_line":"\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":72,"id":"1a430d35_ca170243","line":44,"range":{"start_line":44,"start_character":30,"end_line":44,"end_character":69},"updated":"2017-02-09 07:10:08.000000000","message":"I am not sure that is a true statement.","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"46f5f8b6924811aac7dcb3c49a69064dbe1d49c7","unresolved":false,"context_lines":[{"line_number":41,"context_line":"* 400 Bad Request - API handler was unable to complete request."},{"line_number":42,"context_line":"* 401 Unauthorized - Authentication of the client certificate failed."},{"line_number":43,"context_line":"* 404 Not Found - The requested file was not found."},{"line_number":44,"context_line":"* 500 Internal Server Error - Usually indicates a permissions problem"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"API"},{"line_number":47,"context_line":"\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":72,"id":"bff0334d_c1efae85","line":44,"range":{"start_line":44,"start_character":30,"end_line":44,"end_character":69},"in_reply_to":"1a430d35_ca170243","updated":"2017-09-28 21:10:45.000000000","message":"Done","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"* **Error Response:**"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"  * none"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"JSON Response attributes:"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-rst","patch_set":72,"id":"1a430d35_ca2e228b","line":63,"range":{"start_line":63,"start_character":1,"end_line":63,"end_character":8},"updated":"2017-02-09 07:10:08.000000000","message":"401 and 500 seem like they would be valid here.","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"46f5f8b6924811aac7dcb3c49a69064dbe1d49c7","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"* **Error Response:**"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"  * none"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"JSON Response attributes:"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-rst","patch_set":72,"id":"bff0334d_41039e43","line":63,"range":{"start_line":63,"start_character":1,"end_line":63,"end_character":8},"in_reply_to":"1a430d35_ca2e228b","updated":"2017-09-28 21:10:45.000000000","message":"Done","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"JSON Response attributes:"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* *hostname* - distributor hostname"},{"line_number":68,"context_line":"* *api_version* - Version of distributor API in use"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"**Notes:** The data in this request is used by the controller for determining"}],"source_content_type":"text/x-rst","patch_set":72,"id":"1a430d35_0a7aea87","line":67,"updated":"2017-02-09 07:10:08.000000000","message":"Are we not issuing UUIDs to the distributors?\nWe should add the distributors UUID here.","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"46f5f8b6924811aac7dcb3c49a69064dbe1d49c7","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"JSON Response attributes:"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* *hostname* - distributor hostname"},{"line_number":68,"context_line":"* *api_version* - Version of distributor API in use"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"**Notes:** The data in this request is used by the controller for determining"}],"source_content_type":"text/x-rst","patch_set":72,"id":"bff0334d_813ac6e4","line":67,"in_reply_to":"1a430d35_0a7aea87","updated":"2017-09-28 21:10:45.000000000","message":"Done","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":67,"context_line":"* *hostname* - distributor hostname"},{"line_number":68,"context_line":"* *api_version* - Version of distributor API in use"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"**Notes:** The data in this request is used by the controller for determining"},{"line_number":71,"context_line":"the distributor and API version numbers."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"It\u0027s also worth noting that this is the only API command that doesn\u0027t have a"}],"source_content_type":"text/x-rst","patch_set":72,"id":"1a430d35_0aa10af8","line":70,"range":{"start_line":70,"start_character":28,"end_line":70,"end_character":35},"updated":"2017-02-09 07:10:08.000000000","message":"response","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"46f5f8b6924811aac7dcb3c49a69064dbe1d49c7","unresolved":false,"context_lines":[{"line_number":67,"context_line":"* *hostname* - distributor hostname"},{"line_number":68,"context_line":"* *api_version* - Version of distributor API in use"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"**Notes:** The data in this request is used by the controller for determining"},{"line_number":71,"context_line":"the distributor and API version numbers."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"It\u0027s also worth noting that this is the only API command that doesn\u0027t have a"}],"source_content_type":"text/x-rst","patch_set":72,"id":"bff0334d_012eb6a4","line":70,"range":{"start_line":70,"start_character":28,"end_line":70,"end_character":35},"in_reply_to":"1a430d35_0aa10af8","updated":"2017-09-28 21:10:45.000000000","message":"Done","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"  {"},{"line_number":83,"context_line":"    \u0027hostname\u0027: \u0027octavia-haproxy-img-00328.local\u0027,"},{"line_number":84,"context_line":"    \u0027api_version\u0027: \u00270.1\u0027,"},{"line_number":85,"context_line":"  }"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Get distributor diagnostics"}],"source_content_type":"text/x-rst","patch_set":72,"id":"1a430d35_ea84be5e","line":84,"updated":"2017-02-09 07:10:08.000000000","message":"UUID here too","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"46f5f8b6924811aac7dcb3c49a69064dbe1d49c7","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"  {"},{"line_number":83,"context_line":"    \u0027hostname\u0027: \u0027octavia-haproxy-img-00328.local\u0027,"},{"line_number":84,"context_line":"    \u0027api_version\u0027: \u00270.1\u0027,"},{"line_number":85,"context_line":"  }"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Get distributor diagnostics"}],"source_content_type":"text/x-rst","patch_set":72,"id":"bff0334d_cc4c8578","line":84,"in_reply_to":"1a430d35_ea84be5e","updated":"2017-09-28 21:10:45.000000000","message":"Done","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"* **Error Response:**"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"  * none"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"JSON Response attributes:"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":72,"id":"1a430d35_2a7b267c","line":102,"range":{"start_line":102,"start_character":1,"end_line":102,"end_character":8},"updated":"2017-02-09 07:10:08.000000000","message":"401 and 500?","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"46f5f8b6924811aac7dcb3c49a69064dbe1d49c7","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"* **Error Response:**"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"  * none"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"JSON Response attributes:"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":72,"id":"bff0334d_0c4a6d54","line":102,"range":{"start_line":102,"start_character":1,"end_line":102,"end_character":8},"in_reply_to":"1a430d35_2a7b267c","updated":"2017-09-28 21:10:45.000000000","message":"Done","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"JSON Response attributes:"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"* *hostname* - amphora hostname"},{"line_number":107,"context_line":"* *api_version* - Version of API/agent in use"},{"line_number":108,"context_line":"* *network_tx* - Current total outbound bandwidth in bytes/sec (30-second"},{"line_number":109,"context_line":"  snapshot)"}],"source_content_type":"text/x-rst","patch_set":72,"id":"1a430d35_6aea8edc","line":106,"updated":"2017-02-09 07:10:08.000000000","message":"I think we should include the UUID here as well.","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":109,"context_line":"  snapshot)"},{"line_number":110,"context_line":"* *network_rx* - Current total inbound bandwidth in bytes/sec (30-second"},{"line_number":111,"context_line":"  snapshot)"},{"line_number":112,"context_line":"* *active* - is distributor role Active"},{"line_number":113,"context_line":"* *cpu* - list of percent CPU usage broken down into:"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"  * total"}],"source_content_type":"text/x-rst","patch_set":72,"id":"1a430d35_0a64aab6","line":112,"range":{"start_line":112,"start_character":13,"end_line":112,"end_character":39},"updated":"2017-02-09 07:10:08.000000000","message":"Can we be more descriptive of this attribute?\nI struggle to understand the difference between this and topology_status.  Also, if this is an enumerated list, those should be called out here or in this block.","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"46f5f8b6924811aac7dcb3c49a69064dbe1d49c7","unresolved":false,"context_lines":[{"line_number":109,"context_line":"  snapshot)"},{"line_number":110,"context_line":"* *network_rx* - Current total inbound bandwidth in bytes/sec (30-second"},{"line_number":111,"context_line":"  snapshot)"},{"line_number":112,"context_line":"* *active* - is distributor role Active"},{"line_number":113,"context_line":"* *cpu* - list of percent CPU usage broken down into:"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"  * total"}],"source_content_type":"text/x-rst","patch_set":72,"id":"bff0334d_4cdcf573","line":112,"range":{"start_line":112,"start_character":13,"end_line":112,"end_character":39},"in_reply_to":"1a430d35_0a64aab6","updated":"2017-09-28 21:10:45.000000000","message":"?","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":134,"context_line":"  * available"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"* *load* - System load (list)"},{"line_number":137,"context_line":"* *topology* - Current topology"},{"line_number":138,"context_line":"* *topology_status* - Is topology status valid"},{"line_number":139,"context_line":"* *packages* - list of load-balancing related packages installed with versions"},{"line_number":140,"context_line":"  (eg. OpenSSL, haproxy, nginx, etc.)"}],"source_content_type":"text/x-rst","patch_set":72,"id":"1a430d35_4a5a32f3","line":137,"range":{"start_line":137,"start_character":15,"end_line":137,"end_character":31},"updated":"2017-02-09 07:10:08.000000000","message":"if this is an enumerated list, those should be called out here or in this block.","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"* *load* - System load (list)"},{"line_number":137,"context_line":"* *topology* - Current topology"},{"line_number":138,"context_line":"* *topology_status* - Is topology status valid"},{"line_number":139,"context_line":"* *packages* - list of load-balancing related packages installed with versions"},{"line_number":140,"context_line":"  (eg. OpenSSL, haproxy, nginx, etc.)"},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":72,"id":"1a430d35_aa6b9683","line":138,"range":{"start_line":138,"start_character":22,"end_line":138,"end_character":46},"updated":"2017-02-09 07:10:08.000000000","message":"if this is an enumerated list, those should be called out here or in this block.\nCan we clarify the purpose of this?","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":136,"context_line":"* *load* - System load (list)"},{"line_number":137,"context_line":"* *topology* - Current topology"},{"line_number":138,"context_line":"* *topology_status* - Is topology status valid"},{"line_number":139,"context_line":"* *packages* - list of load-balancing related packages installed with versions"},{"line_number":140,"context_line":"  (eg. OpenSSL, haproxy, nginx, etc.)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"**Notes:** The data in this request is meant to provide intelligence for an"},{"line_number":143,"context_line":"auto-scaling orchestration controller (heat) in order to determine whether"}],"source_content_type":"text/x-rst","patch_set":72,"id":"1a430d35_4a115203","line":140,"range":{"start_line":139,"start_character":15,"end_line":140,"end_character":37},"updated":"2017-02-09 07:10:08.000000000","message":"Do these make sense for a distributor?  Wouldn\u0027t it be other software?","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":140,"context_line":"  (eg. OpenSSL, haproxy, nginx, etc.)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"**Notes:** The data in this request is meant to provide intelligence for an"},{"line_number":143,"context_line":"auto-scaling orchestration controller (heat) in order to determine whether"},{"line_number":144,"context_line":"additional (or fewer) virtual amphorae are necessary to handle load. As such,"},{"line_number":145,"context_line":"we may add additional parameters to the JSON listing above if they prove to be"},{"line_number":146,"context_line":"useful for making these decisions."}],"source_content_type":"text/x-rst","patch_set":72,"id":"1a430d35_0a32eaa6","line":143,"range":{"start_line":143,"start_character":38,"end_line":143,"end_character":44},"updated":"2017-02-09 07:10:08.000000000","message":"Ugh, no heat!  We don\u0027t need it.\nI would prefer to not reference it in this documentation.","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":141,"context_line":""},{"line_number":142,"context_line":"**Notes:** The data in this request is meant to provide intelligence for an"},{"line_number":143,"context_line":"auto-scaling orchestration controller (heat) in order to determine whether"},{"line_number":144,"context_line":"additional (or fewer) virtual amphorae are necessary to handle load. As such,"},{"line_number":145,"context_line":"we may add additional parameters to the JSON listing above if they prove to be"},{"line_number":146,"context_line":"useful for making these decisions."},{"line_number":147,"context_line":""}],"source_content_type":"text/x-rst","patch_set":72,"id":"1a430d35_eabcbedd","line":144,"range":{"start_line":144,"start_character":0,"end_line":144,"end_character":67},"updated":"2017-02-09 07:10:08.000000000","message":"amphorae or distributors?\nDoes this paragraph make sense here or should it just be dropped.","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":148,"context_line":"The data in this request is also used by the controller for determining overall"},{"line_number":149,"context_line":"health of the amphora, currently-configured topology and role, etc."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"**Examples**"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"* Success code 200:"},{"line_number":154,"context_line":""}],"source_content_type":"text/x-rst","patch_set":72,"id":"1a430d35_0ad90a57","line":151,"updated":"2017-02-09 07:10:08.000000000","message":"This example output is missing attributes listed above.","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":20279,"name":"Jason Niesz","email":"Jason.Niesz@walmart.com","username":"jniesz"},"change_message_id":"063f830c5b325e123ce33692f28ba20a38c55308","unresolved":false,"context_lines":[{"line_number":84,"context_line":"    \u0027api_version\u0027: \u00270.1\u0027,"},{"line_number":85,"context_line":"  }"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Get distributor diagnostics"},{"line_number":88,"context_line":"---------------------------"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"* **URL:** /*:version*/diagnostics"}],"source_content_type":"text/x-rst","patch_set":81,"id":"5f201791_14ad9f30","line":87,"updated":"2017-06-22 21:16:24.000000000","message":"Should we include the type of distributor (L3, L2, ...) in the response?","commit_id":"417e164c8b611ed85f61b5872e42eeea42317173"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"4db4e85bbdbfb5a19093e08ce8294f852947956b","unresolved":false,"context_lines":[{"line_number":84,"context_line":"    \u0027api_version\u0027: \u00270.1\u0027,"},{"line_number":85,"context_line":"  }"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Get distributor diagnostics"},{"line_number":88,"context_line":"---------------------------"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"* **URL:** /*:version*/diagnostics"}],"source_content_type":"text/x-rst","patch_set":81,"id":"3f1d235d_2c2f1cf7","line":87,"in_reply_to":"5f201791_14ad9f30","updated":"2017-07-03 18:50:36.000000000","message":"I was thinking to remove that spec since I folded most into the amphora spec. But good point","commit_id":"417e164c8b611ed85f61b5872e42eeea42317173"}],"doc/source/api/haproxy-amphora-api.rst":[{"author":{"_account_id":20279,"name":"Jason Niesz","email":"Jason.Niesz@walmart.com","username":"jniesz"},"change_message_id":"063f830c5b325e123ce33692f28ba20a38c55308","unresolved":false,"context_lines":[{"line_number":238,"context_line":"* *hostname* - amphora hostname"},{"line_number":239,"context_line":"* *uuid* - amphora UUID"},{"line_number":240,"context_line":"* *haproxy_version* - Version of the haproxy installed"},{"line_number":241,"context_line":"* *ovn_version* - Version of ovs installed"},{"line_number":242,"context_line":"* *api_version* - Version of haproxy amphora API in use"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"**Notes:** The data in this request is used by the controller for determining"}],"source_content_type":"text/x-rst","patch_set":81,"id":"5f201791_54879710","line":241,"updated":"2017-06-22 21:16:24.000000000","message":"What about a distributor that doesn\u0027t use ovn, such as fd.io?","commit_id":"417e164c8b611ed85f61b5872e42eeea42317173"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"4db4e85bbdbfb5a19093e08ce8294f852947956b","unresolved":false,"context_lines":[{"line_number":238,"context_line":"* *hostname* - amphora hostname"},{"line_number":239,"context_line":"* *uuid* - amphora UUID"},{"line_number":240,"context_line":"* *haproxy_version* - Version of the haproxy installed"},{"line_number":241,"context_line":"* *ovn_version* - Version of ovs installed"},{"line_number":242,"context_line":"* *api_version* - Version of haproxy amphora API in use"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"**Notes:** The data in this request is used by the controller for determining"}],"source_content_type":"text/x-rst","patch_set":81,"id":"3f1d235d_ac3a0c31","line":241,"in_reply_to":"5f201791_54879710","updated":"2017-07-03 18:50:36.000000000","message":"Done","commit_id":"417e164c8b611ed85f61b5872e42eeea42317173"},{"author":{"_account_id":20279,"name":"Jason Niesz","email":"Jason.Niesz@walmart.com","username":"jniesz"},"change_message_id":"063f830c5b325e123ce33692f28ba20a38c55308","unresolved":false,"context_lines":[{"line_number":1183,"context_line":"* **Data params:**"},{"line_number":1184,"context_line":""},{"line_number":1185,"context_line":" * *subnet_cidr*: The vip subnet in cidr notation"},{"line_number":1186,"context_line":" * *gateway*: The vip subnet gateway address"},{"line_number":1187,"context_line":" * *mac_address*: The mac address of the interface to plug"},{"line_number":1188,"context_line":""},{"line_number":1189,"context_line":""}],"source_content_type":"text/x-rst","patch_set":81,"id":"5f201791_d4ee07b3","line":1186,"updated":"2017-06-22 21:16:24.000000000","message":"For an anycast VIP, there would be no gateway address for the anycast VIP subnet.  Is the gateway field optional?","commit_id":"417e164c8b611ed85f61b5872e42eeea42317173"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"4db4e85bbdbfb5a19093e08ce8294f852947956b","unresolved":false,"context_lines":[{"line_number":1183,"context_line":"* **Data params:**"},{"line_number":1184,"context_line":""},{"line_number":1185,"context_line":" * *subnet_cidr*: The vip subnet in cidr notation"},{"line_number":1186,"context_line":" * *gateway*: The vip subnet gateway address"},{"line_number":1187,"context_line":" * *mac_address*: The mac address of the interface to plug"},{"line_number":1188,"context_line":""},{"line_number":1189,"context_line":""}],"source_content_type":"text/x-rst","patch_set":81,"id":"3f1d235d_2c183cd1","line":1186,"in_reply_to":"5f201791_d4ee07b3","updated":"2017-07-03 18:50:36.000000000","message":"Done","commit_id":"417e164c8b611ed85f61b5872e42eeea42317173"},{"author":{"_account_id":20279,"name":"Jason Niesz","email":"Jason.Niesz@walmart.com","username":"jniesz"},"change_message_id":"063f830c5b325e123ce33692f28ba20a38c55308","unresolved":false,"context_lines":[{"line_number":1184,"context_line":""},{"line_number":1185,"context_line":" * *subnet_cidr*: The vip subnet in cidr notation"},{"line_number":1186,"context_line":" * *gateway*: The vip subnet gateway address"},{"line_number":1187,"context_line":" * *mac_address*: The mac address of the interface to plug"},{"line_number":1188,"context_line":""},{"line_number":1189,"context_line":""},{"line_number":1190,"context_line":"* **Success Response:**"}],"source_content_type":"text/x-rst","patch_set":81,"id":"5f201791_f4da2315","line":1187,"updated":"2017-06-22 21:16:24.000000000","message":"Will this work with loop back interfaces (00:00:00:00:00:00) ?","commit_id":"417e164c8b611ed85f61b5872e42eeea42317173"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"4db4e85bbdbfb5a19093e08ce8294f852947956b","unresolved":false,"context_lines":[{"line_number":1184,"context_line":""},{"line_number":1185,"context_line":" * *subnet_cidr*: The vip subnet in cidr notation"},{"line_number":1186,"context_line":" * *gateway*: The vip subnet gateway address"},{"line_number":1187,"context_line":" * *mac_address*: The mac address of the interface to plug"},{"line_number":1188,"context_line":""},{"line_number":1189,"context_line":""},{"line_number":1190,"context_line":"* **Success Response:**"}],"source_content_type":"text/x-rst","patch_set":81,"id":"3f1d235d_ec86c4db","line":1187,"in_reply_to":"5f201791_f4da2315","updated":"2017-07-03 18:50:36.000000000","message":"This would be implementation dependent. The spec tries to specify I wide range of potential load balancers and distributors","commit_id":"417e164c8b611ed85f61b5872e42eeea42317173"}],"doc/source/contributor/api/haproxy-amphora-api.rst":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"2370747c5247cad92cbe8f5e405e4918c88d3067","unresolved":false,"context_lines":[{"line_number":104,"context_line":"* *topology* - One of: SINGLE, ACTIVE-STANDBY, ACTIVE-ACTIVE"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"* *role* - One of ACTIVE, STANDBY (only applicable to ACTIVE-STANDBY), or"},{"line_number":107,"context_line":"  Distributor (in case of an ACTIVE-ACTIVE Distributor)"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"* *ha_ip* - only applicable to ACTIVE-STANDBY topology: Highly-available"},{"line_number":110,"context_line":"  routing IP address for the ACTIVE-STANDBY pair."}],"source_content_type":"text/x-rst","patch_set":95,"id":"7f515b1d_343de3c3","line":107,"updated":"2017-09-28 22:48:51.000000000","message":"We can\u0027t have Active/Standby distributors?\nI thought we were adding a \"TYPE\" for \"DISTRIBUTOR\" and leaving role for Active/Standby.","commit_id":"b75b4e1e86b827439b0665f12402422afcecbdc0"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"dea253ca811881956747f3387782f58dde1365cd","unresolved":false,"context_lines":[{"line_number":104,"context_line":"* *topology* - One of: SINGLE, ACTIVE-STANDBY, ACTIVE-ACTIVE"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"* *role* - One of ACTIVE, STANDBY (only applicable to ACTIVE-STANDBY), or"},{"line_number":107,"context_line":"  Distributor (in case of an ACTIVE-ACTIVE Distributor)"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"* *ha_ip* - only applicable to ACTIVE-STANDBY topology: Highly-available"},{"line_number":110,"context_line":"  routing IP address for the ACTIVE-STANDBY pair."}],"source_content_type":"text/x-rst","patch_set":95,"id":"3f4b6375_71cbb449","line":107,"in_reply_to":"7f515b1d_343de3c3","updated":"2017-11-01 18:50:43.000000000","message":"+1","commit_id":"b75b4e1e86b827439b0665f12402422afcecbdc0"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"61b109d426faf6c0e1359bb9690ff6c5bc91a1dc","unresolved":false,"context_lines":[{"line_number":178,"context_line":"complete\u0027 message is probably one good candidate for this type of UDP"},{"line_number":179,"context_line":"communication.)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"Swithcing to a Distrinutor role is only permitted if no listener has been"},{"line_number":182,"context_line":"activated on this amphora."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"**Examples**"}],"source_content_type":"text/x-rst","patch_set":95,"id":"7f515b1d_d5db184c","line":181,"range":{"start_line":181,"start_character":15,"end_line":181,"end_character":26},"updated":"2017-09-29 19:22:25.000000000","message":"Typo of Distributor?","commit_id":"b75b4e1e86b827439b0665f12402422afcecbdc0"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"dea253ca811881956747f3387782f58dde1365cd","unresolved":false,"context_lines":[{"line_number":178,"context_line":"complete\u0027 message is probably one good candidate for this type of UDP"},{"line_number":179,"context_line":"communication.)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"Swithcing to a Distrinutor role is only permitted if no listener has been"},{"line_number":182,"context_line":"activated on this amphora."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"**Examples**"}],"source_content_type":"text/x-rst","patch_set":95,"id":"3f4b6375_51daf816","line":181,"range":{"start_line":181,"start_character":15,"end_line":181,"end_character":26},"in_reply_to":"7f515b1d_d5db184c","updated":"2017-11-01 18:50:43.000000000","message":"Also typo of \"Switching\".","commit_id":"b75b4e1e86b827439b0665f12402422afcecbdc0"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"2370747c5247cad92cbe8f5e405e4918c88d3067","unresolved":false,"context_lines":[{"line_number":238,"context_line":"* *hostname* - amphora hostname"},{"line_number":239,"context_line":"* *uuid* - amphora UUID"},{"line_number":240,"context_line":"* *haproxy_version* - Version of the haproxy installed"},{"line_number":241,"context_line":"* *ovn_version* - Version of ovs installed"},{"line_number":242,"context_line":"* *api_version* - Version of haproxy amphora API in use"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"**Notes:**"}],"source_content_type":"text/x-rst","patch_set":95,"id":"7f515b1d_143ae7ca","line":241,"updated":"2017-09-28 22:48:51.000000000","message":"Is it OVS or OVN?","commit_id":"b75b4e1e86b827439b0665f12402422afcecbdc0"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"dea253ca811881956747f3387782f58dde1365cd","unresolved":false,"context_lines":[{"line_number":238,"context_line":"* *hostname* - amphora hostname"},{"line_number":239,"context_line":"* *uuid* - amphora UUID"},{"line_number":240,"context_line":"* *haproxy_version* - Version of the haproxy installed"},{"line_number":241,"context_line":"* *ovn_version* - Version of ovs installed"},{"line_number":242,"context_line":"* *api_version* - Version of haproxy amphora API in use"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"**Notes:**"}],"source_content_type":"text/x-rst","patch_set":95,"id":"3f4b6375_f108c491","line":241,"in_reply_to":"7f515b1d_143ae7ca","updated":"2017-11-01 18:50:43.000000000","message":"+1","commit_id":"b75b4e1e86b827439b0665f12402422afcecbdc0"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"dea253ca811881956747f3387782f58dde1365cd","unresolved":false,"context_lines":[{"line_number":263,"context_line":"    \u0027hostname\u0027: \u0027octavia-haproxy-img-00328.local\u0027,"},{"line_number":264,"context_line":"    \u0027uuid\u0027: \u00276e2bc8a0-2548-4fb7-a5f0-fb1ef4a696ce\u0027,"},{"line_number":265,"context_line":"    \u0027haproxy_version\u0027: \u00271.5.11\u0027,"},{"line_number":266,"context_line":"    \u0027ovn_version\u0027: \u00272.7.90\u0027,"},{"line_number":267,"context_line":"    \u0027api_version\u0027: \u00270.1\u0027,"},{"line_number":268,"context_line":"  }"},{"line_number":269,"context_line":""}],"source_content_type":"text/x-rst","patch_set":95,"id":"3f4b6375_f12d64fd","line":266,"updated":"2017-11-01 18:50:43.000000000","message":"This will need to match the above ovn or ovs, guessing ovn is correct since it\u0027s in two places?","commit_id":"b75b4e1e86b827439b0665f12402422afcecbdc0"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"dea253ca811881956747f3387782f58dde1365cd","unresolved":false,"context_lines":[{"line_number":322,"context_line":""},{"line_number":323,"context_line":"* *load* - System load (list)"},{"line_number":324,"context_line":"* *topology* - One of SINGLE, ACTIVE-STANDBY, ACTIVE-ACTIVE"},{"line_number":325,"context_line":"* *role* - One of ACTIVE, STANDBY (only applicable to ACTIVE-STANDBY), or"},{"line_number":326,"context_line":"  Distributor (in case of an ACTIVE-ACTIVE Distributor)"},{"line_number":327,"context_line":"* *topology_status* - One of OK, TOPOLOGY-CHANGE"},{"line_number":328,"context_line":"* *listeners* - list of listener UUIDs being serviced by this amphora"}],"source_content_type":"text/x-rst","patch_set":95,"id":"3f4b6375_5148b8ca","line":325,"updated":"2017-11-01 18:50:43.000000000","message":"This will need to match the decision above (type or role).","commit_id":"b75b4e1e86b827439b0665f12402422afcecbdc0"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"2370747c5247cad92cbe8f5e405e4918c88d3067","unresolved":false,"context_lines":[{"line_number":1561,"context_line":""},{"line_number":1562,"context_line":"* **Data params:**"},{"line_number":1563,"context_line":""},{"line_number":1564,"context_line":" * *mac_address*: The mac address of the interface to plug"},{"line_number":1565,"context_line":""},{"line_number":1566,"context_line":"* **Success Response:**"},{"line_number":1567,"context_line":""}],"source_content_type":"text/x-rst","patch_set":95,"id":"7f515b1d_d449efb6","line":1564,"range":{"start_line":1564,"start_character":1,"end_line":1564,"end_character":58},"updated":"2017-09-28 22:48:51.000000000","message":"Why would we plug for a delete call?\nIs this even needed?","commit_id":"b75b4e1e86b827439b0665f12402422afcecbdc0"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"dea253ca811881956747f3387782f58dde1365cd","unresolved":false,"context_lines":[{"line_number":1561,"context_line":""},{"line_number":1562,"context_line":"* **Data params:**"},{"line_number":1563,"context_line":""},{"line_number":1564,"context_line":" * *mac_address*: The mac address of the interface to plug"},{"line_number":1565,"context_line":""},{"line_number":1566,"context_line":"* **Success Response:**"},{"line_number":1567,"context_line":""}],"source_content_type":"text/x-rst","patch_set":95,"id":"3f4b6375_f17b24f1","line":1564,"range":{"start_line":1564,"start_character":1,"end_line":1564,"end_character":58},"in_reply_to":"7f515b1d_d449efb6","updated":"2017-11-01 18:50:43.000000000","message":"It\u0027s a delete so typically we don\u0027t even pass a body. I\u0027m assuming this is leftover from a copy/paste.","commit_id":"b75b4e1e86b827439b0665f12402422afcecbdc0"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"2370747c5247cad92cbe8f5e405e4918c88d3067","unresolved":false,"context_lines":[{"line_number":1573,"context_line":"  * Code: 400"},{"line_number":1574,"context_line":""},{"line_number":1575,"context_line":"    * Content: Invalid IP"},{"line_number":1576,"context_line":"    * Content: Invalid lb_id"},{"line_number":1577,"context_line":"    * Content: Invalid mac_addr"},{"line_number":1578,"context_line":""},{"line_number":1579,"context_line":"  * Code: 404"}],"source_content_type":"text/x-rst","patch_set":95,"id":"7f515b1d_b4631342","line":1576,"range":{"start_line":1576,"start_character":0,"end_line":1576,"end_character":28},"updated":"2017-09-28 22:48:51.000000000","message":"I don\u0027t see this being passed in the above description.","commit_id":"b75b4e1e86b827439b0665f12402422afcecbdc0"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"dea253ca811881956747f3387782f58dde1365cd","unresolved":false,"context_lines":[{"line_number":1573,"context_line":"  * Code: 400"},{"line_number":1574,"context_line":""},{"line_number":1575,"context_line":"    * Content: Invalid IP"},{"line_number":1576,"context_line":"    * Content: Invalid lb_id"},{"line_number":1577,"context_line":"    * Content: Invalid mac_addr"},{"line_number":1578,"context_line":""},{"line_number":1579,"context_line":"  * Code: 404"}],"source_content_type":"text/x-rst","patch_set":95,"id":"3f4b6375_b185acd1","line":1576,"range":{"start_line":1576,"start_character":0,"end_line":1576,"end_character":28},"in_reply_to":"7f515b1d_b4631342","updated":"2017-11-01 18:50:43.000000000","message":"This and the one below it should go, I think.","commit_id":"b75b4e1e86b827439b0665f12402422afcecbdc0"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"dea253ca811881956747f3387782f58dde1365cd","unresolved":false,"context_lines":[{"line_number":1607,"context_line":"  DELETE URL:"},{"line_number":1608,"context_line":"  https://octavia-haproxy-img-00328.local/v0.1/plug/vip/203.0.113.2"},{"line_number":1609,"context_line":""},{"line_number":1610,"context_line":"  JSON POST parameters:"},{"line_number":1611,"context_line":"  {"},{"line_number":1612,"context_line":"    \u0027mac_address\u0027: \u002778:31:c1:ce:0b:3c\u0027"},{"line_number":1613,"context_line":"  }"}],"source_content_type":"text/x-rst","patch_set":95,"id":"3f4b6375_91551053","line":1610,"updated":"2017-11-01 18:50:43.000000000","message":"DO WE pass parameters for this DELETE? (If so, needs to be DELETE parameters, but do we need this?)","commit_id":"b75b4e1e86b827439b0665f12402422afcecbdc0"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"dea253ca811881956747f3387782f58dde1365cd","unresolved":false,"context_lines":[{"line_number":1618,"context_line":"        \u0027details\u0027: \u0027VIP 203.0.113.2 unplugged\u0027"},{"line_number":1619,"context_line":"      }"},{"line_number":1620,"context_line":""},{"line_number":1621,"context_line":""},{"line_number":1622,"context_line":""},{"line_number":1623,"context_line":""},{"line_number":1624,"context_line":""}],"source_content_type":"text/x-rst","patch_set":95,"id":"3f4b6375_b1d36cd5","line":1621,"updated":"2017-11-01 18:50:43.000000000","message":"This seems like a lot of newlines.","commit_id":"b75b4e1e86b827439b0665f12402422afcecbdc0"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"dea253ca811881956747f3387782f58dde1365cd","unresolved":false,"context_lines":[{"line_number":1628,"context_line":""},{"line_number":1629,"context_line":"    JSON Response:"},{"line_number":1630,"context_line":"      {"},{"line_number":1631,"context_line":"        \u0027message\u0027: \u0027Invalid VIP\u0027,"},{"line_number":1632,"context_line":"      }"},{"line_number":1633,"context_line":""},{"line_number":1634,"context_line":"* Error code 404:"}],"source_content_type":"text/x-rst","patch_set":95,"id":"3f4b6375_31df7cd7","line":1631,"updated":"2017-11-01 18:50:43.000000000","message":"Above you say \"Invalid IP\" but here it\u0027s \"Invalid VIP\"?","commit_id":"b75b4e1e86b827439b0665f12402422afcecbdc0"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"2370747c5247cad92cbe8f5e405e4918c88d3067","unresolved":false,"context_lines":[{"line_number":1651,"context_line":""},{"line_number":1652,"context_line":"* **Data params:**"},{"line_number":1653,"context_line":""},{"line_number":1654,"context_line":" * *subnet_cidr*: The vip subnet in cidr notation"},{"line_number":1655,"context_line":" * *gateway*: The vip subnet gateway address"},{"line_number":1656,"context_line":" * *mac_address*: The mac address of the interface to plug"},{"line_number":1657,"context_line":" * *amphora_mac*: A list of the amphora\u0027s mac addresses which need to"}],"source_content_type":"text/x-rst","patch_set":95,"id":"7f515b1d_14d9c7f1","line":1654,"range":{"start_line":1654,"start_character":22,"end_line":1654,"end_character":32},"updated":"2017-09-28 22:48:51.000000000","message":"VIP of what?  The amp or the distributor?","commit_id":"b75b4e1e86b827439b0665f12402422afcecbdc0"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"2370747c5247cad92cbe8f5e405e4918c88d3067","unresolved":false,"context_lines":[{"line_number":1653,"context_line":""},{"line_number":1654,"context_line":" * *subnet_cidr*: The vip subnet in cidr notation"},{"line_number":1655,"context_line":" * *gateway*: The vip subnet gateway address"},{"line_number":1656,"context_line":" * *mac_address*: The mac address of the interface to plug"},{"line_number":1657,"context_line":" * *amphora_mac*: A list of the amphora\u0027s mac addresses which need to"},{"line_number":1658,"context_line":"   be registered"},{"line_number":1659,"context_line":""}],"source_content_type":"text/x-rst","patch_set":95,"id":"7f515b1d_d4de8fd8","line":1656,"range":{"start_line":1656,"start_character":18,"end_line":1656,"end_character":58},"updated":"2017-09-28 22:48:51.000000000","message":"What mac address are we plugging here?","commit_id":"b75b4e1e86b827439b0665f12402422afcecbdc0"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"2370747c5247cad92cbe8f5e405e4918c88d3067","unresolved":false,"context_lines":[{"line_number":1654,"context_line":" * *subnet_cidr*: The vip subnet in cidr notation"},{"line_number":1655,"context_line":" * *gateway*: The vip subnet gateway address"},{"line_number":1656,"context_line":" * *mac_address*: The mac address of the interface to plug"},{"line_number":1657,"context_line":" * *amphora_mac*: A list of the amphora\u0027s mac addresses which need to"},{"line_number":1658,"context_line":"   be registered"},{"line_number":1659,"context_line":""},{"line_number":1660,"context_line":""},{"line_number":1661,"context_line":"* **Success Response:**"}],"source_content_type":"text/x-rst","patch_set":95,"id":"7f515b1d_14b0a789","line":1658,"range":{"start_line":1657,"start_character":3,"end_line":1658,"end_character":16},"updated":"2017-09-28 22:48:51.000000000","message":"Is it \"to be registered\" of the full list of amphora that should exist?  Below it implies this is a full list and those missing should be removed.","commit_id":"b75b4e1e86b827439b0665f12402422afcecbdc0"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"dea253ca811881956747f3387782f58dde1365cd","unresolved":false,"context_lines":[{"line_number":1728,"context_line":""},{"line_number":1729,"context_line":"    JSON Response:"},{"line_number":1730,"context_line":"      {"},{"line_number":1731,"context_line":"        \u0027message\u0027: \u0027Invalid VIP\u0027,"},{"line_number":1732,"context_line":"      }"},{"line_number":1733,"context_line":""},{"line_number":1734,"context_line":"* Error code 404:"}],"source_content_type":"text/x-rst","patch_set":95,"id":"3f4b6375_71acd434","line":1731,"updated":"2017-11-01 18:50:43.000000000","message":"Again, line 1670 you say \"Invalid IP\" but here it\u0027s VIP?","commit_id":"b75b4e1e86b827439b0665f12402422afcecbdc0"}],"octavia/amphorae/backends/agent/api_server/server.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"dea253ca811881956747f3387782f58dde1365cd","unresolved":false,"context_lines":[{"line_number":90,"context_line":"    return listener.get_listener_status(listener_id)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"@app.route(\u0027/\u0027 + api_server.VERSION + \u0027/listeners/\u003clistener_id\u003e/certificates\u0027 +"},{"line_number":94,"context_line":"           \u0027/\u003cfilename\u003e\u0027, methods\u003d[\u0027PUT\u0027])"},{"line_number":95,"context_line":"def upload_certificate(listener_id, filename):"},{"line_number":96,"context_line":"    return listener.upload_certificate(listener_id, filename)"}],"source_content_type":"text/x-python","patch_set":4,"id":"bab6814e_eed98a58","line":93,"updated":"2017-11-01 18:50:43.000000000","message":"Could you undo this change so it removes this file from the commit? Simplifying the change makes people more likely to review. :)","commit_id":"e3298b529a2c06555875b6f048e827705a53e84c"}],"octavia/common/config.py":[{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"7c35eb62fcc73579df539ecce7387c9ed86194b3","unresolved":false,"context_lines":[{"line_number":196,"context_line":"               default\u003d\u0027ubuntu\u0027,"},{"line_number":197,"context_line":"               help\u003d_(\u0027Name of user for access to distributor.\u0027)),"},{"line_number":198,"context_line":"    cfg.StrOpt(\u0027key_path\u0027,"},{"line_number":199,"context_line":"               default\u003d\u0027/opt/stack/.ssh/id_rsa\u0027,"},{"line_number":200,"context_line":"               help\u003d_(\u0027Local absolute path to the private key \u0027"},{"line_number":201,"context_line":"                      \u0027loaded on amphora at boot.\u0027)),"},{"line_number":202,"context_line":"    cfg.StrOpt(\u0027base_path\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"7aa08908_9757fc24","line":199,"range":{"start_line":199,"start_character":24,"end_line":199,"end_character":46},"updated":"2016-06-09 06:00:22.000000000","message":"Really?","commit_id":"b49d4d9488f3a0e3da20664a75fac20eaef31aec"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"f2b9749f3ddd5ae321a64ac3e9297b0497b28be1","unresolved":false,"context_lines":[{"line_number":196,"context_line":"               default\u003d\u0027ubuntu\u0027,"},{"line_number":197,"context_line":"               help\u003d_(\u0027Name of user for access to distributor.\u0027)),"},{"line_number":198,"context_line":"    cfg.StrOpt(\u0027key_path\u0027,"},{"line_number":199,"context_line":"               default\u003d\u0027/opt/stack/.ssh/id_rsa\u0027,"},{"line_number":200,"context_line":"               help\u003d_(\u0027Local absolute path to the private key \u0027"},{"line_number":201,"context_line":"                      \u0027loaded on amphora at boot.\u0027)),"},{"line_number":202,"context_line":"    cfg.StrOpt(\u0027base_path\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"7aa08908_8931fc5c","line":199,"range":{"start_line":199,"start_character":24,"end_line":199,"end_character":46},"in_reply_to":"7aa08908_9757fc24","updated":"2016-06-13 12:54:55.000000000","message":"I have fixed it in the next patch","commit_id":"b49d4d9488f3a0e3da20664a75fac20eaef31aec"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"7c35eb62fcc73579df539ecce7387c9ed86194b3","unresolved":false,"context_lines":[{"line_number":218,"context_line":"    cfg.IntOpt(\u0027bind_port\u0027, default\u003d9442,"},{"line_number":219,"context_line":"               help\u003d_(\"The port to bind to\")),"},{"line_number":220,"context_line":"    cfg.IntOpt(\u0027respawn_count\u0027, default\u003d2,"},{"line_number":221,"context_line":"               help\u003d_(\"The respawn count for haproxy\u0027s upstart script\")),"},{"line_number":222,"context_line":"    cfg.IntOpt(\u0027respawn_interval\u0027, default\u003d2,"},{"line_number":223,"context_line":"               help\u003d_(\"The respawn interval for haproxy\u0027s upstart script\")),"},{"line_number":224,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"7aa08908_57575457","line":221,"range":{"start_line":221,"start_character":52,"end_line":221,"end_character":53},"updated":"2016-06-09 06:00:22.000000000","message":"\u0027","commit_id":"b49d4d9488f3a0e3da20664a75fac20eaef31aec"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"f2b9749f3ddd5ae321a64ac3e9297b0497b28be1","unresolved":false,"context_lines":[{"line_number":218,"context_line":"    cfg.IntOpt(\u0027bind_port\u0027, default\u003d9442,"},{"line_number":219,"context_line":"               help\u003d_(\"The port to bind to\")),"},{"line_number":220,"context_line":"    cfg.IntOpt(\u0027respawn_count\u0027, default\u003d2,"},{"line_number":221,"context_line":"               help\u003d_(\"The respawn count for haproxy\u0027s upstart script\")),"},{"line_number":222,"context_line":"    cfg.IntOpt(\u0027respawn_interval\u0027, default\u003d2,"},{"line_number":223,"context_line":"               help\u003d_(\"The respawn interval for haproxy\u0027s upstart script\")),"},{"line_number":224,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"7aa08908_e932405d","line":221,"range":{"start_line":221,"start_character":52,"end_line":221,"end_character":53},"in_reply_to":"7aa08908_57575457","updated":"2016-06-13 12:54:55.000000000","message":"Done","commit_id":"b49d4d9488f3a0e3da20664a75fac20eaef31aec"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"7c35eb62fcc73579df539ecce7387c9ed86194b3","unresolved":false,"context_lines":[{"line_number":220,"context_line":"    cfg.IntOpt(\u0027respawn_count\u0027, default\u003d2,"},{"line_number":221,"context_line":"               help\u003d_(\"The respawn count for haproxy\u0027s upstart script\")),"},{"line_number":222,"context_line":"    cfg.IntOpt(\u0027respawn_interval\u0027, default\u003d2,"},{"line_number":223,"context_line":"               help\u003d_(\"The respawn interval for haproxy\u0027s upstart script\")),"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    # REST client"},{"line_number":226,"context_line":"    cfg.StrOpt(\u0027client_cert\u0027, default\u003d\u0027/etc/octavia/certs/client.pem\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"7aa08908_f7b76082","line":223,"range":{"start_line":223,"start_character":55,"end_line":223,"end_character":56},"updated":"2016-06-09 06:00:22.000000000","message":"^^","commit_id":"b49d4d9488f3a0e3da20664a75fac20eaef31aec"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"f2b9749f3ddd5ae321a64ac3e9297b0497b28be1","unresolved":false,"context_lines":[{"line_number":220,"context_line":"    cfg.IntOpt(\u0027respawn_count\u0027, default\u003d2,"},{"line_number":221,"context_line":"               help\u003d_(\"The respawn count for haproxy\u0027s upstart script\")),"},{"line_number":222,"context_line":"    cfg.IntOpt(\u0027respawn_interval\u0027, default\u003d2,"},{"line_number":223,"context_line":"               help\u003d_(\"The respawn interval for haproxy\u0027s upstart script\")),"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    # REST client"},{"line_number":226,"context_line":"    cfg.StrOpt(\u0027client_cert\u0027, default\u003d\u0027/etc/octavia/certs/client.pem\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"7aa08908_2941e8a9","line":223,"range":{"start_line":223,"start_character":55,"end_line":223,"end_character":56},"in_reply_to":"7aa08908_f7b76082","updated":"2016-06-13 12:54:55.000000000","message":"Done","commit_id":"b49d4d9488f3a0e3da20664a75fac20eaef31aec"},{"author":{"_account_id":13438,"name":"Kobi Samoray","email":"kobi.samoray@broadcom.com","username":"ksamoray"},"change_message_id":"ceaa10ae18cdda39682a17b9434cd13ec157008f","unresolved":false,"context_lines":[{"line_number":207,"context_line":""},{"line_number":208,"context_line":"    # REST server"},{"line_number":209,"context_line":"    cfg.StrOpt(\u0027bind_host\u0027, default\u003d\u00270.0.0.0\u0027,"},{"line_number":210,"context_line":"               help\u003d_(\"The host IP to bind to\")),"},{"line_number":211,"context_line":"    cfg.IntOpt(\u0027bind_port\u0027, default\u003d9442,"},{"line_number":212,"context_line":"               help\u003d_(\"The port to bind to\")),"},{"line_number":213,"context_line":"    cfg.IntOpt(\u0027respawn_count\u0027, default\u003d2,"}],"source_content_type":"text/x-python","patch_set":18,"id":"7aa08908_d67b26f3","line":210,"updated":"2016-06-15 14:33:00.000000000","message":"Help should be more descriptive, e.g \"Distributor host IP address\" or such","commit_id":"44c25a2a4f94726ef5d2a2cd42f199a16a4b44c1"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"14a0729c34ab197f0433f04313f5c6665bd07318","unresolved":false,"context_lines":[{"line_number":207,"context_line":""},{"line_number":208,"context_line":"    # REST server"},{"line_number":209,"context_line":"    cfg.StrOpt(\u0027bind_host\u0027, default\u003d\u00270.0.0.0\u0027,"},{"line_number":210,"context_line":"               help\u003d_(\"The host IP to bind to\")),"},{"line_number":211,"context_line":"    cfg.IntOpt(\u0027bind_port\u0027, default\u003d9442,"},{"line_number":212,"context_line":"               help\u003d_(\"The port to bind to\")),"},{"line_number":213,"context_line":"    cfg.IntOpt(\u0027respawn_count\u0027, default\u003d2,"}],"source_content_type":"text/x-python","patch_set":18,"id":"5a9d85d2_fad8b91f","line":210,"in_reply_to":"7aa08908_d67b26f3","updated":"2016-06-20 14:12:46.000000000","message":"Done","commit_id":"44c25a2a4f94726ef5d2a2cd42f199a16a4b44c1"},{"author":{"_account_id":13438,"name":"Kobi Samoray","email":"kobi.samoray@broadcom.com","username":"ksamoray"},"change_message_id":"ceaa10ae18cdda39682a17b9434cd13ec157008f","unresolved":false,"context_lines":[{"line_number":209,"context_line":"    cfg.StrOpt(\u0027bind_host\u0027, default\u003d\u00270.0.0.0\u0027,"},{"line_number":210,"context_line":"               help\u003d_(\"The host IP to bind to\")),"},{"line_number":211,"context_line":"    cfg.IntOpt(\u0027bind_port\u0027, default\u003d9442,"},{"line_number":212,"context_line":"               help\u003d_(\"The port to bind to\")),"},{"line_number":213,"context_line":"    cfg.IntOpt(\u0027respawn_count\u0027, default\u003d2,"},{"line_number":214,"context_line":"               help\u003d_(\"The respawn count for distributor upstart script\")),"},{"line_number":215,"context_line":"    cfg.IntOpt(\u0027respawn_interval\u0027, default\u003d2,"}],"source_content_type":"text/x-python","patch_set":18,"id":"7aa08908_5668d621","line":212,"updated":"2016-06-15 14:33:00.000000000","message":"Ditto","commit_id":"44c25a2a4f94726ef5d2a2cd42f199a16a4b44c1"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"14a0729c34ab197f0433f04313f5c6665bd07318","unresolved":false,"context_lines":[{"line_number":209,"context_line":"    cfg.StrOpt(\u0027bind_host\u0027, default\u003d\u00270.0.0.0\u0027,"},{"line_number":210,"context_line":"               help\u003d_(\"The host IP to bind to\")),"},{"line_number":211,"context_line":"    cfg.IntOpt(\u0027bind_port\u0027, default\u003d9442,"},{"line_number":212,"context_line":"               help\u003d_(\"The port to bind to\")),"},{"line_number":213,"context_line":"    cfg.IntOpt(\u0027respawn_count\u0027, default\u003d2,"},{"line_number":214,"context_line":"               help\u003d_(\"The respawn count for distributor upstart script\")),"},{"line_number":215,"context_line":"    cfg.IntOpt(\u0027respawn_interval\u0027, default\u003d2,"}],"source_content_type":"text/x-python","patch_set":18,"id":"5a9d85d2_5a046d7d","line":212,"in_reply_to":"7aa08908_5668d621","updated":"2016-06-20 14:12:46.000000000","message":"Done","commit_id":"44c25a2a4f94726ef5d2a2cd42f199a16a4b44c1"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":210,"context_line":"               help\u003d_(\"The host IP to bind to for REST requests\")),"},{"line_number":211,"context_line":"    cfg.IntOpt(\u0027bind_port\u0027, default\u003d9442,"},{"line_number":212,"context_line":"               help\u003d_(\"The port to bind to for REST requests\")),"},{"line_number":213,"context_line":"    cfg.IntOpt(\u0027respawn_count\u0027, default\u003d2,"},{"line_number":214,"context_line":"               help\u003d_(\"The respawn count for distributor upstart script\")),"},{"line_number":215,"context_line":"    cfg.IntOpt(\u0027respawn_interval\u0027, default\u003d2,"},{"line_number":216,"context_line":"               help\u003d_(\"The respawn interval for distributor upstart script\")),"}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_f5b20ce4","line":213,"updated":"2016-07-20 15:19:10.000000000","message":"initd configuration params?","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"a0f62a8d151b81b8783dede1ea9eacf95813355f","unresolved":false,"context_lines":[{"line_number":210,"context_line":"               help\u003d_(\"The host IP to bind to for REST requests\")),"},{"line_number":211,"context_line":"    cfg.IntOpt(\u0027bind_port\u0027, default\u003d9442,"},{"line_number":212,"context_line":"               help\u003d_(\"The port to bind to for REST requests\")),"},{"line_number":213,"context_line":"    cfg.IntOpt(\u0027respawn_count\u0027, default\u003d2,"},{"line_number":214,"context_line":"               help\u003d_(\"The respawn count for distributor upstart script\")),"},{"line_number":215,"context_line":"    cfg.IntOpt(\u0027respawn_interval\u0027, default\u003d2,"},{"line_number":216,"context_line":"               help\u003d_(\"The respawn interval for distributor upstart script\")),"}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_64b1018f","line":213,"in_reply_to":"dada55a8_f5b20ce4","updated":"2016-12-12 14:36:10.000000000","message":"no need, use other group","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ce47a6cfaf0305856283eb729fc27806da24265a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2016 IBM Corp."},{"line_number":2,"context_line":"# Copyright 2011 VMware, Inc., 2014 A10 Networks"},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_5d74ea34","line":1,"updated":"2016-10-07 17:11:33.000000000","message":"Different order","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":24261,"name":"Abed Abu dbai","email":"abeda@il.ibm.com","username":"abeda"},"change_message_id":"eba045cfa7245b93543c5968720d35bc4b40e2ee","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2016 IBM Corp."},{"line_number":2,"context_line":"# Copyright 2011 VMware, Inc., 2014 A10 Networks"},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":33,"id":"3a71b18c_80bd496a","line":1,"in_reply_to":"1a95cdbc_20afdb2a","updated":"2016-12-12 13:31:57.000000000","message":"Removed","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"e3f9636782a82941134e6583e41f33bebc3e3ced","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2016 IBM Corp."},{"line_number":2,"context_line":"# Copyright 2011 VMware, Inc., 2014 A10 Networks"},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_20afdb2a","line":1,"in_reply_to":"1a95cdbc_5d74ea34","updated":"2016-10-09 10:33:56.000000000","message":"Its IBM legals policy to place this line first. I will ask them if it is OK to change the order.","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"ab4c74806dace2abf383cee288a78a0a35671a2c","unresolved":false,"context_lines":[{"line_number":218,"context_line":"               help\u003d_(\"The respawn count for distributor upstart script\")),"},{"line_number":219,"context_line":"    cfg.IntOpt(\u0027respawn_interval\u0027, default\u003d2,"},{"line_number":220,"context_line":"               help\u003d_(\"The respawn interval for distributor upstart script\")),"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    # REST client"},{"line_number":223,"context_line":"    cfg.StrOpt(\u0027client_cert\u0027, default\u003d\u0027/etc/octavia/certs/client.pem\u0027,"},{"line_number":224,"context_line":"               help\u003d_(\"The client certificate to talk to the agent\")),"}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_05a98cdf","line":221,"updated":"2016-10-05 21:37:17.000000000","message":"Since the distributor is based on an image that is in many ways very similar to the amphora, at least as how it gets command and control from the octavia controller, I suspect you\u0027re going to need the following two options as well:\n\nrest_request_conn_timeout\nrest_request_read_timeout","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"e3f9636782a82941134e6583e41f33bebc3e3ced","unresolved":false,"context_lines":[{"line_number":218,"context_line":"               help\u003d_(\"The respawn count for distributor upstart script\")),"},{"line_number":219,"context_line":"    cfg.IntOpt(\u0027respawn_interval\u0027, default\u003d2,"},{"line_number":220,"context_line":"               help\u003d_(\"The respawn interval for distributor upstart script\")),"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    # REST client"},{"line_number":223,"context_line":"    cfg.StrOpt(\u0027client_cert\u0027, default\u003d\u0027/etc/octavia/certs/client.pem\u0027,"},{"line_number":224,"context_line":"               help\u003d_(\"The client certificate to talk to the agent\")),"}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_20243bc3","line":221,"in_reply_to":"1a95cdbc_05a98cdf","updated":"2016-10-09 10:33:56.000000000","message":"Done","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2016 IBM Corp."},{"line_number":2,"context_line":"# Copyright 2011 VMware, Inc., 2014 A10 Networks"},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_145d8ce9","line":1,"updated":"2016-10-10 22:51:58.000000000","message":"It is OpenStack convention to have these in order or contribution, so this should be below the VMware and A10 networks copyrights","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2016 IBM Corp."},{"line_number":2,"context_line":"# Copyright 2011 VMware, Inc., 2014 A10 Networks"},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":35,"id":"9a629dbe_0b5c8dec","line":1,"in_reply_to":"fa6399be_145d8ce9","updated":"2016-11-22 08:09:37.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":195,"context_line":"                help\u003d_(\"If False, use sysvinit.\")),"},{"line_number":196,"context_line":"]"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"distributor_opts \u003d ["},{"line_number":199,"context_line":"    cfg.StrOpt(\u0027base_path\u0027,"},{"line_number":200,"context_line":"               default\u003d\u0027/var/lib/octavia\u0027,"},{"line_number":201,"context_line":"               help\u003d_(\u0027Base directory for distributor files.\u0027)),"}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_34953040","line":198,"updated":"2016-10-10 22:51:58.000000000","message":"These are all identical to the amphora agent settings.\nDo we really need these or can we just use the amphora agent settings?","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":195,"context_line":"                help\u003d_(\"If False, use sysvinit.\")),"},{"line_number":196,"context_line":"]"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"distributor_opts \u003d ["},{"line_number":199,"context_line":"    cfg.StrOpt(\u0027base_path\u0027,"},{"line_number":200,"context_line":"               default\u003d\u0027/var/lib/octavia\u0027,"},{"line_number":201,"context_line":"               help\u003d_(\u0027Base directory for distributor files.\u0027)),"}],"source_content_type":"text/x-python","patch_set":35,"id":"9a629dbe_2b715178","line":198,"in_reply_to":"fa6399be_34953040","updated":"2016-11-22 08:09:37.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":20279,"name":"Jason Niesz","email":"Jason.Niesz@walmart.com","username":"jniesz"},"change_message_id":"221d77496282419d7d1146509ef59f676d4a2983","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    cfg.IntOpt(\u0027port_detach_timeout\u0027, default\u003d300,"},{"line_number":93,"context_line":"               help\u003d_(\u0027Seconds to wait for a port to detach from an \u0027"},{"line_number":94,"context_line":"                      \u0027amphora.\u0027)),"},{"line_number":95,"context_line":"    cfg.BoolOpt(\u0027allow_vip_network_id\u0027, default\u003dTrue,"},{"line_number":96,"context_line":"                help\u003d_(\u0027Can users supply a network_id for their VIP?\u0027)),"},{"line_number":97,"context_line":"    cfg.BoolOpt(\u0027allow_vip_subnet_id\u0027, default\u003dTrue,"},{"line_number":98,"context_line":"                help\u003d_(\u0027Can users supply a subnet_id for their VIP?\u0027)),"},{"line_number":99,"context_line":"    cfg.BoolOpt(\u0027allow_vip_port_id\u0027, default\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":82,"id":"3f1d235d_1af8c478","line":96,"range":{"start_line":95,"start_character":0,"end_line":96,"end_character":72},"updated":"2017-07-05 21:50:15.000000000","message":"Allowing the user to specify a VIP subnet is required for distributor models where VIP subnet !\u003d tenant subnet.","commit_id":"35175f0c957f311a30ce736f01768d5bb673d54d"}],"octavia/common/constants.py":[{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":145,"context_line":"DISTRIBUTOR_PENDING_CREATE \u003d \u0027PENDING_CREATE\u0027"},{"line_number":146,"context_line":"DISTRIBUTOR_DELETED \u003d \u0027DELETED\u0027"},{"line_number":147,"context_line":"DISTRIBUTOR_ERROR \u003d \u0027ERROR\u0027"},{"line_number":148,"context_line":"SUPPORTED_DISTRIBUTOR_PROVISIONING_STATUSES \u003d (DISTRIBUTOR_ACTIVE,"},{"line_number":149,"context_line":"                                               DISTRIBUTOR_ALLOCATED,"},{"line_number":150,"context_line":"                                               DISTRIBUTOR_BOOTING,"},{"line_number":151,"context_line":"                                               DISTRIBUTOR_READY,"}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_55ccb869","line":148,"updated":"2016-07-20 15:19:10.000000000","message":"all statuses indented starting from new line","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"55612d89a0da87d7f15ae6658aa3cd998d764492","unresolved":false,"context_lines":[{"line_number":145,"context_line":"DISTRIBUTOR_PENDING_CREATE \u003d \u0027PENDING_CREATE\u0027"},{"line_number":146,"context_line":"DISTRIBUTOR_DELETED \u003d \u0027DELETED\u0027"},{"line_number":147,"context_line":"DISTRIBUTOR_ERROR \u003d \u0027ERROR\u0027"},{"line_number":148,"context_line":"SUPPORTED_DISTRIBUTOR_PROVISIONING_STATUSES \u003d (DISTRIBUTOR_ACTIVE,"},{"line_number":149,"context_line":"                                               DISTRIBUTOR_ALLOCATED,"},{"line_number":150,"context_line":"                                               DISTRIBUTOR_BOOTING,"},{"line_number":151,"context_line":"                                               DISTRIBUTOR_READY,"}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_cefd99b2","line":148,"in_reply_to":"dada55a8_55ccb869","updated":"2016-12-12 12:49:56.000000000","message":"I see that in other places in this file this is not a requirement and it also passes automatic tests.","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                                               DISTRIBUTOR_PENDING_DELETE,"},{"line_number":156,"context_line":"                                               DISTRIBUTOR_PENDING_UPDATE)"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"SUPPORTED_DISTRIBUTOR_STATUSES \u003d (DISTRIBUTOR_ALLOCATED,"},{"line_number":159,"context_line":"                                  DISTRIBUTOR_BOOTING,"},{"line_number":160,"context_line":"                                  DISTRIBUTOR_READY,"},{"line_number":161,"context_line":"                                  DISTRIBUTOR_DELETED,"}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_35c9445a","line":158,"updated":"2016-07-20 15:19:10.000000000","message":"the same here","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"55612d89a0da87d7f15ae6658aa3cd998d764492","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                                               DISTRIBUTOR_PENDING_DELETE,"},{"line_number":156,"context_line":"                                               DISTRIBUTOR_PENDING_UPDATE)"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"SUPPORTED_DISTRIBUTOR_STATUSES \u003d (DISTRIBUTOR_ALLOCATED,"},{"line_number":159,"context_line":"                                  DISTRIBUTOR_BOOTING,"},{"line_number":160,"context_line":"                                  DISTRIBUTOR_READY,"},{"line_number":161,"context_line":"                                  DISTRIBUTOR_DELETED,"}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_0e3231a7","line":158,"in_reply_to":"dada55a8_35c9445a","updated":"2016-12-12 12:49:56.000000000","message":"Done","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":282,"context_line":"RELOAD_LB_AFTER_AMP_ASSOC \u003d \u0027reload-lb-after-amp-assoc\u0027"},{"line_number":283,"context_line":"RELOAD_LB_AFTER_AMP_ASSOC_FULL_GRAPH \u003d \u0027reload-lb-after-amp-assoc-full-graph\u0027"},{"line_number":284,"context_line":"RELOAD_LB_AFTER_PLUG_VIP \u003d \u0027reload-lb-after-plug-vip\u0027"},{"line_number":285,"context_line":"RELOAD_LB_BEFORE_PLUG_VIP_TO_DISTRIBUTER \u003d ("},{"line_number":286,"context_line":"    \u0027reload-lb-before-plug-vip-to-distributor\u0027)"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"NOVA_1 \u003d \u00271.1\u0027"}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_95c2b032","line":285,"updated":"2016-07-20 15:19:10.000000000","message":"DISTRIBUTOR","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"a0f62a8d151b81b8783dede1ea9eacf95813355f","unresolved":false,"context_lines":[{"line_number":282,"context_line":"RELOAD_LB_AFTER_AMP_ASSOC \u003d \u0027reload-lb-after-amp-assoc\u0027"},{"line_number":283,"context_line":"RELOAD_LB_AFTER_AMP_ASSOC_FULL_GRAPH \u003d \u0027reload-lb-after-amp-assoc-full-graph\u0027"},{"line_number":284,"context_line":"RELOAD_LB_AFTER_PLUG_VIP \u003d \u0027reload-lb-after-plug-vip\u0027"},{"line_number":285,"context_line":"RELOAD_LB_BEFORE_PLUG_VIP_TO_DISTRIBUTER \u003d ("},{"line_number":286,"context_line":"    \u0027reload-lb-before-plug-vip-to-distributor\u0027)"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"NOVA_1 \u003d \u00271.1\u0027"}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_04376dff","line":285,"in_reply_to":"dada55a8_95c2b032","updated":"2016-12-12 14:36:10.000000000","message":"Done","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"6b5e436be7598992838c862d4c163d3dd4644a20","unresolved":false,"context_lines":[{"line_number":325,"context_line":""},{"line_number":326,"context_line":"AGENT_CONF_TEMPLATE \u003d \u0027amphora_agent_conf.template\u0027"},{"line_number":327,"context_line":"DISTRIBUTOR_AGENT_CONF_TEMPLATE \u003d \u0027distributor_agent_conf.template\u0027"},{"line_number":328,"context_line":"DISTRIBUTOR_AGENT_API_TEMPLATES \u003d \u0027/templates\u0027"},{"line_number":329,"context_line":"USER_DATA_CONFIG_DRIVE_TEMPLATE \u003d \u0027user_data_config_drive.template\u0027"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"OPEN \u003d \u0027OPEN\u0027"}],"source_content_type":"text/x-python","patch_set":26,"id":"1ac06dbe_cf563505","line":328,"updated":"2016-08-23 18:03:48.000000000","message":"Is this describing a directory or a series of files?","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"a0f62a8d151b81b8783dede1ea9eacf95813355f","unresolved":false,"context_lines":[{"line_number":325,"context_line":""},{"line_number":326,"context_line":"AGENT_CONF_TEMPLATE \u003d \u0027amphora_agent_conf.template\u0027"},{"line_number":327,"context_line":"DISTRIBUTOR_AGENT_CONF_TEMPLATE \u003d \u0027distributor_agent_conf.template\u0027"},{"line_number":328,"context_line":"DISTRIBUTOR_AGENT_API_TEMPLATES \u003d \u0027/templates\u0027"},{"line_number":329,"context_line":"USER_DATA_CONFIG_DRIVE_TEMPLATE \u003d \u0027user_data_config_drive.template\u0027"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"OPEN \u003d \u0027OPEN\u0027"}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_642661cf","line":328,"in_reply_to":"1ac06dbe_cf563505","updated":"2016-12-12 14:36:10.000000000","message":"a series of files","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"157193400fd7eef7b4111836627f4865568cf7be","unresolved":false,"context_lines":[{"line_number":326,"context_line":""},{"line_number":327,"context_line":"AGENT_CONF_TEMPLATE \u003d \u0027amphora_agent_conf.template\u0027"},{"line_number":328,"context_line":"DISTRIBUTOR_AGENT_CONF_TEMPLATE \u003d \u0027distributor_agent_conf.template\u0027"},{"line_number":329,"context_line":"DISTRIBUTOR_AGENT_API_TEMPLATES \u003d \u0027/templates\u0027"},{"line_number":330,"context_line":"USER_DATA_CONFIG_DRIVE_TEMPLATE \u003d \u0027user_data_config_drive.template\u0027"},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"OPEN \u003d \u0027OPEN\u0027"}],"source_content_type":"text/x-python","patch_set":27,"id":"1ac06dbe_0d55ebc4","line":329,"updated":"2016-08-23 18:05:14.000000000","message":"Is this describing a directory or a series of files?","commit_id":"7800d177fcb1898ba21768f9bf7f9def24debe54"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ce47a6cfaf0305856283eb729fc27806da24265a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2016 IBM Corp."},{"line_number":2,"context_line":"# Copyright 2014 Rackspace"},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_7da8c677","line":1,"updated":"2016-10-07 17:11:33.000000000","message":"Order","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":24261,"name":"Abed Abu dbai","email":"abeda@il.ibm.com","username":"abeda"},"change_message_id":"eba045cfa7245b93543c5968720d35bc4b40e2ee","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2016 IBM Corp."},{"line_number":2,"context_line":"# Copyright 2014 Rackspace"},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":33,"id":"3a71b18c_c0b3c198","line":1,"in_reply_to":"1a95cdbc_7da8c677","updated":"2016-12-12 13:31:57.000000000","message":"Done","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"ab4c74806dace2abf383cee288a78a0a35671a2c","unresolved":false,"context_lines":[{"line_number":142,"context_line":"# Distributor is ready"},{"line_number":143,"context_line":"DISTRIBUTOR_READY \u003d \u0027READY\u0027"},{"line_number":144,"context_line":"DISTRIBUTOR_ACTIVE \u003d \u0027ACTIVE\u0027"},{"line_number":145,"context_line":"DISTRIBUTOR_PENDING_DELETE \u003d \u0027PENDING_DELETE\u0027"},{"line_number":146,"context_line":"DISTRIBUTOR_PENDING_UPDATE \u003d \u0027PENDING_UPDATE\u0027"},{"line_number":147,"context_line":"DISTRIBUTOR_PENDING_CREATE \u003d \u0027PENDING_CREATE\u0027"},{"line_number":148,"context_line":"DISTRIBUTOR_DELETED \u003d \u0027DELETED\u0027"}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_65917099","line":145,"range":{"start_line":145,"start_character":0,"end_line":145,"end_character":45},"updated":"2016-10-05 21:37:17.000000000","message":"Why aren\u0027t you using \u0027PENDING_DELETE\u0027, \u0027PENDING_UPDATE\u0027, etc. as already defined above?","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"e3f9636782a82941134e6583e41f33bebc3e3ced","unresolved":false,"context_lines":[{"line_number":142,"context_line":"# Distributor is ready"},{"line_number":143,"context_line":"DISTRIBUTOR_READY \u003d \u0027READY\u0027"},{"line_number":144,"context_line":"DISTRIBUTOR_ACTIVE \u003d \u0027ACTIVE\u0027"},{"line_number":145,"context_line":"DISTRIBUTOR_PENDING_DELETE \u003d \u0027PENDING_DELETE\u0027"},{"line_number":146,"context_line":"DISTRIBUTOR_PENDING_UPDATE \u003d \u0027PENDING_UPDATE\u0027"},{"line_number":147,"context_line":"DISTRIBUTOR_PENDING_CREATE \u003d \u0027PENDING_CREATE\u0027"},{"line_number":148,"context_line":"DISTRIBUTOR_DELETED \u003d \u0027DELETED\u0027"}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_4006a720","line":145,"range":{"start_line":145,"start_character":0,"end_line":145,"end_character":45},"in_reply_to":"1a95cdbc_65917099","updated":"2016-10-09 10:33:56.000000000","message":"For code readability and clearness... If you think it is not needed for clearness, I can remove it","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ce47a6cfaf0305856283eb729fc27806da24265a","unresolved":false,"context_lines":[{"line_number":230,"context_line":"DELETE_POOL_FLOW \u003d \u0027octavia-delete-pool-flow\u0027"},{"line_number":231,"context_line":"DELETE_L7POLICY_FLOW \u003d \u0027octavia-delete-l7policy-flow\u0027"},{"line_number":232,"context_line":"DELETE_L7RULE_FLOW \u003d \u0027octavia-delete-l7policy-flow\u0027"},{"line_number":233,"context_line":"CREATE_DISTRIBUTOR_FLOW \u003d \u0027octavia-create-distributor-flow\u0027"},{"line_number":234,"context_line":"FAILOVER_AMPHORA_FLOW \u003d \u0027octavia-failover-amphora-flow\u0027"},{"line_number":235,"context_line":"LOADBALANCER_NETWORKING_SUBFLOW \u003d \u0027octavia-new-loadbalancer-net-subflow\u0027"},{"line_number":236,"context_line":""}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_3df71e8c","line":233,"range":{"start_line":233,"start_character":0,"end_line":233,"end_character":23},"updated":"2016-10-07 17:11:33.000000000","message":"Why are variables so mixed inside of existing code?","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"e3f9636782a82941134e6583e41f33bebc3e3ced","unresolved":false,"context_lines":[{"line_number":230,"context_line":"DELETE_POOL_FLOW \u003d \u0027octavia-delete-pool-flow\u0027"},{"line_number":231,"context_line":"DELETE_L7POLICY_FLOW \u003d \u0027octavia-delete-l7policy-flow\u0027"},{"line_number":232,"context_line":"DELETE_L7RULE_FLOW \u003d \u0027octavia-delete-l7policy-flow\u0027"},{"line_number":233,"context_line":"CREATE_DISTRIBUTOR_FLOW \u003d \u0027octavia-create-distributor-flow\u0027"},{"line_number":234,"context_line":"FAILOVER_AMPHORA_FLOW \u003d \u0027octavia-failover-amphora-flow\u0027"},{"line_number":235,"context_line":"LOADBALANCER_NETWORKING_SUBFLOW \u003d \u0027octavia-new-loadbalancer-net-subflow\u0027"},{"line_number":236,"context_line":""}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_3b346adc","line":233,"range":{"start_line":233,"start_character":0,"end_line":233,"end_character":23},"in_reply_to":"1a95cdbc_3df71e8c","updated":"2016-10-09 10:33:56.000000000","message":"Done","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ce47a6cfaf0305856283eb729fc27806da24265a","unresolved":false,"context_lines":[{"line_number":284,"context_line":"RELOAD_LB_AFTER_AMP_ASSOC \u003d \u0027reload-lb-after-amp-assoc\u0027"},{"line_number":285,"context_line":"RELOAD_LB_AFTER_AMP_ASSOC_FULL_GRAPH \u003d \u0027reload-lb-after-amp-assoc-full-graph\u0027"},{"line_number":286,"context_line":"RELOAD_LB_AFTER_PLUG_VIP \u003d \u0027reload-lb-after-plug-vip\u0027"},{"line_number":287,"context_line":"RELOAD_LB_BEFORE_PLUG_VIP_TO_DISTRIBUTER \u003d ("},{"line_number":288,"context_line":"    \u0027reload-lb-before-plug-vip-to-distributor\u0027)"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"NOVA_1 \u003d \u00271.1\u0027"}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_dd32ba5d","line":287,"range":{"start_line":287,"start_character":38,"end_line":287,"end_character":39},"updated":"2016-10-07 17:11:33.000000000","message":"O","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"e3f9636782a82941134e6583e41f33bebc3e3ced","unresolved":false,"context_lines":[{"line_number":284,"context_line":"RELOAD_LB_AFTER_AMP_ASSOC \u003d \u0027reload-lb-after-amp-assoc\u0027"},{"line_number":285,"context_line":"RELOAD_LB_AFTER_AMP_ASSOC_FULL_GRAPH \u003d \u0027reload-lb-after-amp-assoc-full-graph\u0027"},{"line_number":286,"context_line":"RELOAD_LB_AFTER_PLUG_VIP \u003d \u0027reload-lb-after-plug-vip\u0027"},{"line_number":287,"context_line":"RELOAD_LB_BEFORE_PLUG_VIP_TO_DISTRIBUTER \u003d ("},{"line_number":288,"context_line":"    \u0027reload-lb-before-plug-vip-to-distributor\u0027)"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"NOVA_1 \u003d \u00271.1\u0027"}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_1b396ed7","line":287,"range":{"start_line":287,"start_character":38,"end_line":287,"end_character":39},"in_reply_to":"1a95cdbc_dd32ba5d","updated":"2016-10-09 10:33:56.000000000","message":"Done","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"8a781bb6140342e6b588d989db65f92921e2a05c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2016 IBM Corp."},{"line_number":2,"context_line":"# Copyright 2014 Rackspace"},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_e040560a","line":1,"updated":"2016-10-10 20:01:11.000000000","message":"Still","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2016 IBM Corp."},{"line_number":2,"context_line":"# Copyright 2014 Rackspace"},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":35,"id":"9a629dbe_a961dfd5","line":1,"in_reply_to":"fa6399be_7476c83f","updated":"2016-11-22 08:09:37.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2016 IBM Corp."},{"line_number":2,"context_line":"# Copyright 2014 Rackspace"},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":35,"id":"9a629dbe_e99917d2","line":1,"in_reply_to":"fa6399be_e040560a","updated":"2016-11-22 08:09:37.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2016 IBM Corp."},{"line_number":2,"context_line":"# Copyright 2014 Rackspace"},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_7476c83f","line":1,"in_reply_to":"fa6399be_e040560a","updated":"2016-10-10 22:51:58.000000000","message":"Same here, see my earlier comment, but I agree with diltram","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":136,"context_line":"# when quoted with double quotes."},{"line_number":137,"context_line":"HTTP_QUOTED_HEADER_VALUE_REGEX \u003d (r\u0027\\A\"[a-zA-Z0-9 \\t\u0027"},{"line_number":138,"context_line":"                                  r\u0027!\"#$%\u0026\\\u0027()*+,-./:;\u003c\u003d\u003e?@[\\]^_`{|}~\\\\]*\"\\Z\u0027)"},{"line_number":139,"context_line":"# Note: The database Distributor table has a foreign key constraint against"},{"line_number":140,"context_line":"#       the provisioning_status table"},{"line_number":141,"context_line":"# Distributor is being built"},{"line_number":142,"context_line":"DISTRIBUTOR_BOOTING \u003d \u0027BOOTING\u0027"},{"line_number":143,"context_line":"# Distributor has been allocated"}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_14ecacc6","line":140,"range":{"start_line":139,"start_character":0,"end_line":140,"end_character":37},"updated":"2016-10-10 22:51:58.000000000","message":"If this is the case we should be using the already defined constants.  They are the same.","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":136,"context_line":"# when quoted with double quotes."},{"line_number":137,"context_line":"HTTP_QUOTED_HEADER_VALUE_REGEX \u003d (r\u0027\\A\"[a-zA-Z0-9 \\t\u0027"},{"line_number":138,"context_line":"                                  r\u0027!\"#$%\u0026\\\u0027()*+,-./:;\u003c\u003d\u003e?@[\\]^_`{|}~\\\\]*\"\\Z\u0027)"},{"line_number":139,"context_line":"# Note: The database Distributor table has a foreign key constraint against"},{"line_number":140,"context_line":"#       the provisioning_status table"},{"line_number":141,"context_line":"# Distributor is being built"},{"line_number":142,"context_line":"DISTRIBUTOR_BOOTING \u003d \u0027BOOTING\u0027"},{"line_number":143,"context_line":"# Distributor has been allocated"}],"source_content_type":"text/x-python","patch_set":35,"id":"9a629dbe_6cc9955a","line":140,"range":{"start_line":139,"start_character":0,"end_line":140,"end_character":37},"in_reply_to":"fa6399be_14ecacc6","updated":"2016-11-22 08:09:37.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"8a781bb6140342e6b588d989db65f92921e2a05c","unresolved":false,"context_lines":[{"line_number":235,"context_line":"DELETE_L7RULE_FLOW \u003d \u0027octavia-delete-l7policy-flow\u0027"},{"line_number":236,"context_line":"FAILOVER_AMPHORA_FLOW \u003d \u0027octavia-failover-amphora-flow\u0027"},{"line_number":237,"context_line":"LOADBALANCER_NETWORKING_SUBFLOW \u003d \u0027octavia-new-loadbalancer-net-subflow\u0027"},{"line_number":238,"context_line":"DISTRIBUTOR_NETWORKING_SUBFLOW \u003d \u0027octavia-new-distributor-net-subflow\u0027"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"CREATE_DISTRIBUTOR_FLOW \u003d \u0027octavia-create-distributor-flow\u0027"},{"line_number":241,"context_line":"WAIT_FOR_DISTRIBUTOR \u003d \u0027wait-for-distributor\u0027"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"UPDATE_HEALTH_MONITOR_FLOW \u003d \u0027octavia-update-health-monitor-flow\u0027"},{"line_number":244,"context_line":"UPDATE_LISTENER_FLOW \u003d \u0027octavia-update-listener-flow\u0027"}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_c093524e","line":241,"range":{"start_line":238,"start_character":0,"end_line":241,"end_character":45},"updated":"2016-10-10 20:01:11.000000000","message":"Can we move all that constants to the end and create a comment describing that this section contains all const. for Distributor?","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":235,"context_line":"DELETE_L7RULE_FLOW \u003d \u0027octavia-delete-l7policy-flow\u0027"},{"line_number":236,"context_line":"FAILOVER_AMPHORA_FLOW \u003d \u0027octavia-failover-amphora-flow\u0027"},{"line_number":237,"context_line":"LOADBALANCER_NETWORKING_SUBFLOW \u003d \u0027octavia-new-loadbalancer-net-subflow\u0027"},{"line_number":238,"context_line":"DISTRIBUTOR_NETWORKING_SUBFLOW \u003d \u0027octavia-new-distributor-net-subflow\u0027"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"CREATE_DISTRIBUTOR_FLOW \u003d \u0027octavia-create-distributor-flow\u0027"},{"line_number":241,"context_line":"WAIT_FOR_DISTRIBUTOR \u003d \u0027wait-for-distributor\u0027"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"UPDATE_HEALTH_MONITOR_FLOW \u003d \u0027octavia-update-health-monitor-flow\u0027"},{"line_number":244,"context_line":"UPDATE_LISTENER_FLOW \u003d \u0027octavia-update-listener-flow\u0027"}],"source_content_type":"text/x-python","patch_set":35,"id":"9a629dbe_4c393141","line":241,"range":{"start_line":238,"start_character":0,"end_line":241,"end_character":45},"in_reply_to":"fa6399be_94d8bc1f","updated":"2016-11-22 08:09:37.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":235,"context_line":"DELETE_L7RULE_FLOW \u003d \u0027octavia-delete-l7policy-flow\u0027"},{"line_number":236,"context_line":"FAILOVER_AMPHORA_FLOW \u003d \u0027octavia-failover-amphora-flow\u0027"},{"line_number":237,"context_line":"LOADBALANCER_NETWORKING_SUBFLOW \u003d \u0027octavia-new-loadbalancer-net-subflow\u0027"},{"line_number":238,"context_line":"DISTRIBUTOR_NETWORKING_SUBFLOW \u003d \u0027octavia-new-distributor-net-subflow\u0027"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"CREATE_DISTRIBUTOR_FLOW \u003d \u0027octavia-create-distributor-flow\u0027"},{"line_number":241,"context_line":"WAIT_FOR_DISTRIBUTOR \u003d \u0027wait-for-distributor\u0027"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"UPDATE_HEALTH_MONITOR_FLOW \u003d \u0027octavia-update-health-monitor-flow\u0027"},{"line_number":244,"context_line":"UPDATE_LISTENER_FLOW \u003d \u0027octavia-update-listener-flow\u0027"}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_94d8bc1f","line":241,"range":{"start_line":238,"start_character":0,"end_line":241,"end_character":45},"in_reply_to":"fa6399be_c093524e","updated":"2016-10-10 22:51:58.000000000","message":"+1","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":235,"context_line":"DELETE_L7RULE_FLOW \u003d \u0027octavia-delete-l7policy-flow\u0027"},{"line_number":236,"context_line":"FAILOVER_AMPHORA_FLOW \u003d \u0027octavia-failover-amphora-flow\u0027"},{"line_number":237,"context_line":"LOADBALANCER_NETWORKING_SUBFLOW \u003d \u0027octavia-new-loadbalancer-net-subflow\u0027"},{"line_number":238,"context_line":"DISTRIBUTOR_NETWORKING_SUBFLOW \u003d \u0027octavia-new-distributor-net-subflow\u0027"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"CREATE_DISTRIBUTOR_FLOW \u003d \u0027octavia-create-distributor-flow\u0027"},{"line_number":241,"context_line":"WAIT_FOR_DISTRIBUTOR \u003d \u0027wait-for-distributor\u0027"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"UPDATE_HEALTH_MONITOR_FLOW \u003d \u0027octavia-update-health-monitor-flow\u0027"},{"line_number":244,"context_line":"UPDATE_LISTENER_FLOW \u003d \u0027octavia-update-listener-flow\u0027"}],"source_content_type":"text/x-python","patch_set":35,"id":"9a629dbe_2c34fd48","line":241,"range":{"start_line":238,"start_character":0,"end_line":241,"end_character":45},"in_reply_to":"fa6399be_c093524e","updated":"2016-11-22 08:09:37.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":387,"context_line":"DISTRIBUTOR_AGENT_CONF_TEMPLATE \u003d \u0027distributor_agent_conf.template\u0027"},{"line_number":388,"context_line":"DISTRIBUTOR_AGENT_API_TEMPLATES \u003d \u0027/templates\u0027"},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"DISTRIBUTOR_BOOTING \u003d \u0027DISTRIBUTOR_BOOTING\u0027"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"# Distributor has been allocated"},{"line_number":393,"context_line":"DISTRIBUTOR_ALLOCATED \u003d \u0027DISTRIBUTOR_ALLOCATED\u0027"},{"line_number":394,"context_line":"# Distributor is ready"},{"line_number":395,"context_line":"DISTRIBUTOR_READY \u003d \u0027DISTRIBUTOR_READY\u0027"},{"line_number":396,"context_line":"DISTRIBUTOR_ACTIVE \u003d \u0027DISTRIBUTOR_ACTIVE\u0027"},{"line_number":397,"context_line":"DISTRIBUTOR_PENDING_DELETE \u003d \u0027DISTRIBUTOR_PENDING_DELETE\u0027"},{"line_number":398,"context_line":"DISTRIBUTOR_PENDING_UPDATE \u003d \u0027DISTRIBUTOR_PENDING_UPDATE\u0027"},{"line_number":399,"context_line":"DISTRIBUTOR_PENDING_CREATE \u003d \u0027DISTRIBUTOR_PENDING_CREATE\u0027"},{"line_number":400,"context_line":"DISTRIBUTOR_DELETED \u003d \u0027DISTRIBUTOR_DELETED\u0027"},{"line_number":401,"context_line":"DISTRIBUTOR_ERROR \u003d \u0027DISTRIBUTOR_ERROR\u0027"},{"line_number":402,"context_line":"SUPPORTED_DISTRIBUTOR_PROVISIONING_STATUSES \u003d (DISTRIBUTOR_ACTIVE,"},{"line_number":403,"context_line":"                                               DISTRIBUTOR_ALLOCATED,"},{"line_number":404,"context_line":"                                               DISTRIBUTOR_BOOTING,"},{"line_number":405,"context_line":"                                               DISTRIBUTOR_READY,"},{"line_number":406,"context_line":"                                               DISTRIBUTOR_DELETED,"},{"line_number":407,"context_line":"                                               DISTRIBUTOR_ERROR,"},{"line_number":408,"context_line":"                                               DISTRIBUTOR_PENDING_CREATE,"},{"line_number":409,"context_line":"                                               DISTRIBUTOR_PENDING_DELETE,"},{"line_number":410,"context_line":"                                               DISTRIBUTOR_PENDING_UPDATE)"},{"line_number":411,"context_line":""},{"line_number":412,"context_line":"SUPPORTED_DISTRIBUTOR_STATUSES \u003d (DISTRIBUTOR_ALLOCATED, DISTRIBUTOR_BOOTING,"},{"line_number":413,"context_line":"                                  DISTRIBUTOR_READY, DISTRIBUTOR_DELETED,"},{"line_number":414,"context_line":"                                  DISTRIBUTOR_PENDING_DELETE)"}],"source_content_type":"text/x-python","patch_set":72,"id":"1a430d35_6a98ce78","line":414,"range":{"start_line":390,"start_character":0,"end_line":414,"end_character":61},"updated":"2017-02-09 07:10:08.000000000","message":"Is there a reason we need to duplicate these and prefix \"DISTRIBUTOR\"?\nCan we at least reuse the the existing constants that don\u0027t have AMPHORA prefixed?","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"46f5f8b6924811aac7dcb3c49a69064dbe1d49c7","unresolved":false,"context_lines":[{"line_number":387,"context_line":"DISTRIBUTOR_AGENT_CONF_TEMPLATE \u003d \u0027distributor_agent_conf.template\u0027"},{"line_number":388,"context_line":"DISTRIBUTOR_AGENT_API_TEMPLATES \u003d \u0027/templates\u0027"},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"DISTRIBUTOR_BOOTING \u003d \u0027DISTRIBUTOR_BOOTING\u0027"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"# Distributor has been allocated"},{"line_number":393,"context_line":"DISTRIBUTOR_ALLOCATED \u003d \u0027DISTRIBUTOR_ALLOCATED\u0027"},{"line_number":394,"context_line":"# Distributor is ready"},{"line_number":395,"context_line":"DISTRIBUTOR_READY \u003d \u0027DISTRIBUTOR_READY\u0027"},{"line_number":396,"context_line":"DISTRIBUTOR_ACTIVE \u003d \u0027DISTRIBUTOR_ACTIVE\u0027"},{"line_number":397,"context_line":"DISTRIBUTOR_PENDING_DELETE \u003d \u0027DISTRIBUTOR_PENDING_DELETE\u0027"},{"line_number":398,"context_line":"DISTRIBUTOR_PENDING_UPDATE \u003d \u0027DISTRIBUTOR_PENDING_UPDATE\u0027"},{"line_number":399,"context_line":"DISTRIBUTOR_PENDING_CREATE \u003d \u0027DISTRIBUTOR_PENDING_CREATE\u0027"},{"line_number":400,"context_line":"DISTRIBUTOR_DELETED \u003d \u0027DISTRIBUTOR_DELETED\u0027"},{"line_number":401,"context_line":"DISTRIBUTOR_ERROR \u003d \u0027DISTRIBUTOR_ERROR\u0027"},{"line_number":402,"context_line":"SUPPORTED_DISTRIBUTOR_PROVISIONING_STATUSES \u003d (DISTRIBUTOR_ACTIVE,"},{"line_number":403,"context_line":"                                               DISTRIBUTOR_ALLOCATED,"},{"line_number":404,"context_line":"                                               DISTRIBUTOR_BOOTING,"},{"line_number":405,"context_line":"                                               DISTRIBUTOR_READY,"},{"line_number":406,"context_line":"                                               DISTRIBUTOR_DELETED,"},{"line_number":407,"context_line":"                                               DISTRIBUTOR_ERROR,"},{"line_number":408,"context_line":"                                               DISTRIBUTOR_PENDING_CREATE,"},{"line_number":409,"context_line":"                                               DISTRIBUTOR_PENDING_DELETE,"},{"line_number":410,"context_line":"                                               DISTRIBUTOR_PENDING_UPDATE)"},{"line_number":411,"context_line":""},{"line_number":412,"context_line":"SUPPORTED_DISTRIBUTOR_STATUSES \u003d (DISTRIBUTOR_ALLOCATED, DISTRIBUTOR_BOOTING,"},{"line_number":413,"context_line":"                                  DISTRIBUTOR_READY, DISTRIBUTOR_DELETED,"},{"line_number":414,"context_line":"                                  DISTRIBUTOR_PENDING_DELETE)"}],"source_content_type":"text/x-python","patch_set":72,"id":"bff0334d_5277bcd5","line":414,"range":{"start_line":390,"start_character":0,"end_line":414,"end_character":61},"in_reply_to":"1a430d35_6a98ce78","updated":"2017-09-28 21:10:45.000000000","message":"Done","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"}],"octavia/common/data_models.py":[{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"7c35eb62fcc73579df539ecce7387c9ed86194b3","unresolved":false,"context_lines":[{"line_number":427,"context_line":"        self.compute_id \u003d compute_id"},{"line_number":428,"context_line":"        self.lb_network_ip \u003d lb_network_ip"},{"line_number":429,"context_line":"        self.status \u003d status"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"class AmphoraHealth(BaseDataModel):"},{"line_number":433,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"7aa08908_22088427","line":430,"updated":"2016-06-09 06:00:22.000000000","message":"What about mac address and other stuff?","commit_id":"b49d4d9488f3a0e3da20664a75fac20eaef31aec"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"f2b9749f3ddd5ae321a64ac3e9297b0497b28be1","unresolved":false,"context_lines":[{"line_number":427,"context_line":"        self.compute_id \u003d compute_id"},{"line_number":428,"context_line":"        self.lb_network_ip \u003d lb_network_ip"},{"line_number":429,"context_line":"        self.status \u003d status"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"class AmphoraHealth(BaseDataModel):"},{"line_number":433,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"7aa08908_09f7cc8b","line":430,"in_reply_to":"7aa08908_22088427","updated":"2016-06-13 12:54:55.000000000","message":"we keep MAC in the VIP table. So no need to keep these properties her","commit_id":"b49d4d9488f3a0e3da20664a75fac20eaef31aec"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":430,"context_line":"class Distributor(BaseDataModel):"},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"    def __init__(self, id\u003dNone, compute_id\u003dNone, lb_network_ip\u003dNone,"},{"line_number":433,"context_line":"                 status\u003dNone):"},{"line_number":434,"context_line":"        self.id \u003d id"},{"line_number":435,"context_line":"        self.compute_id \u003d compute_id"},{"line_number":436,"context_line":"        self.lb_network_ip \u003d lb_network_ip"}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_d590a845","line":433,"updated":"2016-07-20 15:19:10.000000000","message":"Why this all params are optional? Is it possible to create distributor without specyfing things like network and compute?","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"016ce8025ae46899305b1bc7e87aa1c44f3ac44d","unresolved":false,"context_lines":[{"line_number":430,"context_line":"class Distributor(BaseDataModel):"},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"    def __init__(self, id\u003dNone, compute_id\u003dNone, lb_network_ip\u003dNone,"},{"line_number":433,"context_line":"                 status\u003dNone):"},{"line_number":434,"context_line":"        self.id \u003d id"},{"line_number":435,"context_line":"        self.compute_id \u003d compute_id"},{"line_number":436,"context_line":"        self.lb_network_ip \u003d lb_network_ip"}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_971acd6d","line":433,"in_reply_to":"dada55a8_d590a845","updated":"2016-12-12 14:43:44.000000000","message":"we did it similarly to amphora, see next code. I think for testing it might be useful","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"ab4c74806dace2abf383cee288a78a0a35671a2c","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    # NOTE(brandon-logan) This does not discover dicts for relationship"},{"line_number":28,"context_line":"    # attributes."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def to_dict(self):"},{"line_number":31,"context_line":"        \"\"\"Converts a data model to a dictionary.\"\"\""},{"line_number":32,"context_line":"        ret \u003d {}"}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_2573e881","line":29,"range":{"start_line":29,"start_character":0,"end_line":29,"end_character":0},"updated":"2016-10-05 21:37:17.000000000","message":"Why did you add this blank line?","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"e3f9636782a82941134e6583e41f33bebc3e3ced","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    # NOTE(brandon-logan) This does not discover dicts for relationship"},{"line_number":28,"context_line":"    # attributes."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def to_dict(self):"},{"line_number":31,"context_line":"        \"\"\"Converts a data model to a dictionary.\"\"\""},{"line_number":32,"context_line":"        ret \u003d {}"}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_db59c636","line":29,"range":{"start_line":29,"start_character":0,"end_line":29,"end_character":0},"in_reply_to":"1a95cdbc_2573e881","updated":"2016-10-09 10:33:56.000000000","message":"Done","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"ab4c74806dace2abf383cee288a78a0a35671a2c","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        # Split the class name up by capitalized words"},{"line_number":58,"context_line":"        return \u0027 \u0027.join(re.findall(\u0027[A-Z][^A-Z]*\u0027, cls.__name__))"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def _get_unique_key(self, obj\u003dNone):"},{"line_number":61,"context_line":"        \"\"\"Returns a unique key for passed object for data model building.\"\"\""},{"line_number":62,"context_line":"        obj \u003d obj or self"},{"line_number":63,"context_line":"        # First handle all objects with their own ID, then handle subordinate"}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_e50f40df","line":60,"range":{"start_line":60,"start_character":0,"end_line":60,"end_character":40},"updated":"2016-10-05 21:37:17.000000000","message":"You need to update this for the Distributor, or else you\u0027re going to run into \u0027NotImplementedError\u0027s whenever anyone tries to use a Distributor.","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"e3f9636782a82941134e6583e41f33bebc3e3ced","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        # Split the class name up by capitalized words"},{"line_number":58,"context_line":"        return \u0027 \u0027.join(re.findall(\u0027[A-Z][^A-Z]*\u0027, cls.__name__))"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def _get_unique_key(self, obj\u003dNone):"},{"line_number":61,"context_line":"        \"\"\"Returns a unique key for passed object for data model building.\"\"\""},{"line_number":62,"context_line":"        obj \u003d obj or self"},{"line_number":63,"context_line":"        # First handle all objects with their own ID, then handle subordinate"}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_fbb2024b","line":60,"range":{"start_line":60,"start_character":0,"end_line":60,"end_character":40},"in_reply_to":"1a95cdbc_e50f40df","updated":"2016-10-09 10:33:56.000000000","message":"I do it in later commits. I tried in each commit to add minimum details needed for this specific commit. This was done in order to make sure that finally after I upload all the commits I add only things that I really use in the code.","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"ab4c74806dace2abf383cee288a78a0a35671a2c","unresolved":false,"context_lines":[{"line_number":435,"context_line":"                break"},{"line_number":436,"context_line":""},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"class Distributor(BaseDataModel):"},{"line_number":439,"context_line":""},{"line_number":440,"context_line":"    def __init__(self, id\u003dNone, compute_id\u003dNone, lb_network_ip\u003dNone,"},{"line_number":441,"context_line":"                 status\u003dNone):"}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_c5b964cd","line":438,"range":{"start_line":438,"start_character":0,"end_line":438,"end_character":33},"updated":"2016-10-05 21:37:17.000000000","message":"This seems *really* simplistic for the Distributor model. How do you know which load balancers a given Distributor serves for example? How about managing the certificates used to authenticate against the Distributor Rest API? Given how little is tracked as part of this model, and how much is tracked with the Amphora model, I suspect you\u0027re missing important things here that are likely to paint us into a corner with regard to distributor flexibility later on, eh.","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"e3f9636782a82941134e6583e41f33bebc3e3ced","unresolved":false,"context_lines":[{"line_number":435,"context_line":"                break"},{"line_number":436,"context_line":""},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"class Distributor(BaseDataModel):"},{"line_number":439,"context_line":""},{"line_number":440,"context_line":"    def __init__(self, id\u003dNone, compute_id\u003dNone, lb_network_ip\u003dNone,"},{"line_number":441,"context_line":"                 status\u003dNone):"}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_fb612206","line":438,"range":{"start_line":438,"start_character":0,"end_line":438,"end_character":33},"in_reply_to":"1a95cdbc_c5b964cd","updated":"2016-10-09 10:33:56.000000000","message":"we have also cluster object that keeps relation between distributor and LB and additional info.","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    Copyright 2016 IBM Corp."},{"line_number":2,"context_line":"#    Copyright (c) 2014 Rackspace"},{"line_number":3,"context_line":"#    Copyright (c) 2016 Blue Box, an IBM Company"},{"line_number":4,"context_line":"#    All Rights Reserved."}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_143aec36","line":1,"updated":"2016-10-10 22:51:58.000000000","message":"Same, should be at the bottom.","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    Copyright 2016 IBM Corp."},{"line_number":2,"context_line":"#    Copyright (c) 2014 Rackspace"},{"line_number":3,"context_line":"#    Copyright (c) 2016 Blue Box, an IBM Company"},{"line_number":4,"context_line":"#    All Rights Reserved."}],"source_content_type":"text/x-python","patch_set":35,"id":"9a629dbe_4b1cc513","line":1,"in_reply_to":"fa6399be_143aec36","updated":"2016-11-22 08:09:37.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":434,"context_line":"                break"},{"line_number":435,"context_line":""},{"line_number":436,"context_line":""},{"line_number":437,"context_line":"class Distributor(BaseDataModel):"},{"line_number":438,"context_line":""},{"line_number":439,"context_line":"    def __init__(self, id\u003dNone, compute_id\u003dNone, lb_network_ip\u003dNone,"},{"line_number":440,"context_line":"                 status\u003dNone):"}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_14d66cc5","line":437,"updated":"2016-10-10 22:51:58.000000000","message":"It seems like we should have just added a new set of roles to the amphora that are \"distributor\".  Wouldn\u0027t we want VRRP and REST API certificate management for the distributor?","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":434,"context_line":"                break"},{"line_number":435,"context_line":""},{"line_number":436,"context_line":""},{"line_number":437,"context_line":"class Distributor(BaseDataModel):"},{"line_number":438,"context_line":""},{"line_number":439,"context_line":"    def __init__(self, id\u003dNone, compute_id\u003dNone, lb_network_ip\u003dNone,"},{"line_number":440,"context_line":"                 status\u003dNone):"}],"source_content_type":"text/x-python","patch_set":35,"id":"9a629dbe_2b1f910a","line":437,"in_reply_to":"fa6399be_14d66cc5","updated":"2016-11-22 08:09:37.000000000","message":"In the first release we dont plan VRRP (as we talked in the mid-cycle). So I am trying to add minimal attributes needed in the current version to avoid over-design and compications","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":438,"context_line":""},{"line_number":439,"context_line":"    def __init__(self, id\u003dNone, compute_id\u003dNone, lb_network_ip\u003dNone,"},{"line_number":440,"context_line":"                 status\u003dNone):"},{"line_number":441,"context_line":"        self.id \u003d id"},{"line_number":442,"context_line":"        self.compute_id \u003d compute_id"},{"line_number":443,"context_line":"        self.lb_network_ip \u003d lb_network_ip"},{"line_number":444,"context_line":"        self.status \u003d status"}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_14174c52","line":441,"updated":"2016-10-10 22:51:58.000000000","message":"Shouldn\u0027t this be tied back to a project or load balancer?\nIs it just a single orphaned element for all of the deployment?","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":438,"context_line":""},{"line_number":439,"context_line":"    def __init__(self, id\u003dNone, compute_id\u003dNone, lb_network_ip\u003dNone,"},{"line_number":440,"context_line":"                 status\u003dNone):"},{"line_number":441,"context_line":"        self.id \u003d id"},{"line_number":442,"context_line":"        self.compute_id \u003d compute_id"},{"line_number":443,"context_line":"        self.lb_network_ip \u003d lb_network_ip"},{"line_number":444,"context_line":"        self.status \u003d status"}],"source_content_type":"text/x-python","patch_set":35,"id":"9a629dbe_eb24b961","line":441,"in_reply_to":"fa6399be_14174c52","updated":"2016-11-22 08:09:37.000000000","message":"It depends on the mode (distributor might be shared).","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":486,"context_line":"                 status\u003dNone):"},{"line_number":487,"context_line":"        self.id \u003d id"},{"line_number":488,"context_line":"        self.compute_id \u003d compute_id"},{"line_number":489,"context_line":"        self.lb_network_ip \u003d lb_network_ip"},{"line_number":490,"context_line":"        self.status \u003d status"},{"line_number":491,"context_line":""},{"line_number":492,"context_line":""}],"source_content_type":"text/x-python","patch_set":72,"id":"1a430d35_aac39636","line":489,"updated":"2017-02-09 07:10:08.000000000","message":"I am assuming (based on the rst) that the distributors will also use two way TLS authentication.  If that is the case we should have the cert_expiration and cert_busy attributes so housekeeping can manage those certificates.","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"46f5f8b6924811aac7dcb3c49a69064dbe1d49c7","unresolved":false,"context_lines":[{"line_number":486,"context_line":"                 status\u003dNone):"},{"line_number":487,"context_line":"        self.id \u003d id"},{"line_number":488,"context_line":"        self.compute_id \u003d compute_id"},{"line_number":489,"context_line":"        self.lb_network_ip \u003d lb_network_ip"},{"line_number":490,"context_line":"        self.status \u003d status"},{"line_number":491,"context_line":""},{"line_number":492,"context_line":""}],"source_content_type":"text/x-python","patch_set":72,"id":"bff0334d_723e40db","line":489,"in_reply_to":"1a430d35_aac39636","updated":"2017-09-28 21:10:45.000000000","message":"removed","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":487,"context_line":"        self.id \u003d id"},{"line_number":488,"context_line":"        self.compute_id \u003d compute_id"},{"line_number":489,"context_line":"        self.lb_network_ip \u003d lb_network_ip"},{"line_number":490,"context_line":"        self.status \u003d status"},{"line_number":491,"context_line":""},{"line_number":492,"context_line":""},{"line_number":493,"context_line":"class AmphoraHealth(BaseDataModel):"}],"source_content_type":"text/x-python","patch_set":72,"id":"1a430d35_6aa60eaf","line":490,"updated":"2017-02-09 07:10:08.000000000","message":"Are the HA fields in a later patch?","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"}],"octavia/db/migration/alembic.ini":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"dea253ca811881956747f3387782f58dde1365cd","unresolved":false,"context_lines":[{"line_number":20,"context_line":"# versions/ directory"},{"line_number":21,"context_line":"# sourceless \u003d false"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"sqlalchemy.url \u003d mysql+pymysql://root:password@172.25.8.82:3306/octavia"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# Logging configuration"}],"source_content_type":"text/x-properties","patch_set":4,"id":"bab6814e_4e24165f","line":23,"updated":"2017-11-01 18:50:43.000000000","message":"Changes to this file need to not be checked in... Please remove changes from your commit, and probably add it to your global gitignore.","commit_id":"e3298b529a2c06555875b6f048e827705a53e84c"}],"octavia/db/migration/alembic_migrations/versions/94135f95e292_create_distributor_table.py":[{"author":{"_account_id":13438,"name":"Kobi Samoray","email":"kobi.samoray@broadcom.com","username":"ksamoray"},"change_message_id":"0f751419f7cecced2ae6a806f9151505b94a736f","unresolved":false,"context_lines":[{"line_number":15,"context_line":"\"\"\"create distributor table"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Revision ID: 94135f95e292"},{"line_number":18,"context_line":"Revises: 8c0851bdf6c3"},{"line_number":19,"context_line":"Create Date: 2016-05-04 16:50:45.781429"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":7,"id":"bab6814e_6a29e689","line":18,"updated":"2016-05-23 09:19:07.000000000","message":"down revision should be 9bf4d21caaea. this will allow DB migration to run successfully and fix the test failures.","commit_id":"8e22b8d41a5b371d40ed370bd4e7e69689139ec4"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"4ab2f280ddb0b33b4d33ee72722d1eb2056edb00","unresolved":false,"context_lines":[{"line_number":15,"context_line":"\"\"\"create distributor table"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Revision ID: 94135f95e292"},{"line_number":18,"context_line":"Revises: 8c0851bdf6c3"},{"line_number":19,"context_line":"Create Date: 2016-05-04 16:50:45.781429"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":7,"id":"bab6814e_28a33151","line":18,"in_reply_to":"bab6814e_6a29e689","updated":"2016-05-24 06:26:02.000000000","message":"Done","commit_id":"8e22b8d41a5b371d40ed370bd4e7e69689139ec4"},{"author":{"_account_id":13438,"name":"Kobi Samoray","email":"kobi.samoray@broadcom.com","username":"ksamoray"},"change_message_id":"0f751419f7cecced2ae6a806f9151505b94a736f","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"# revision identifiers, used by Alembic."},{"line_number":24,"context_line":"revision \u003d \u002794135f95e292\u0027"},{"line_number":25,"context_line":"down_revision \u003d \u00278c0851bdf6c3\u0027"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from alembic import op"},{"line_number":28,"context_line":"import sqlalchemy as sa"}],"source_content_type":"text/x-python","patch_set":7,"id":"bab6814e_4a2ce298","line":25,"updated":"2016-05-23 09:19:07.000000000","message":"ditto","commit_id":"8e22b8d41a5b371d40ed370bd4e7e69689139ec4"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"4ab2f280ddb0b33b4d33ee72722d1eb2056edb00","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"# revision identifiers, used by Alembic."},{"line_number":24,"context_line":"revision \u003d \u002794135f95e292\u0027"},{"line_number":25,"context_line":"down_revision \u003d \u00278c0851bdf6c3\u0027"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from alembic import op"},{"line_number":28,"context_line":"import sqlalchemy as sa"}],"source_content_type":"text/x-python","patch_set":7,"id":"bab6814e_88885dc8","line":25,"in_reply_to":"bab6814e_4a2ce298","updated":"2016-05-24 06:26:02.000000000","message":"Done","commit_id":"8e22b8d41a5b371d40ed370bd4e7e69689139ec4"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    Copyright 2015 Rackspace"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_b5953434","line":1,"updated":"2016-07-20 15:19:10.000000000","message":"It\u0027s 2016 plus someone also is changing company?","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":24261,"name":"Abed Abu dbai","email":"abeda@il.ibm.com","username":"abeda"},"change_message_id":"f862ab61cfbeaebe604a9619b38f329d606099d5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    Copyright 2015 Rackspace"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_8b41ef65","line":1,"in_reply_to":"dada55a8_b5953434","updated":"2016-12-12 13:30:00.000000000","message":"Done","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        sa.Column(u\u0027lb_network_ip\u0027, sa.String(64), nullable\u003dTrue),"},{"line_number":37,"context_line":"        sa.Column(u\u0027status\u0027, sa.String(36), nullable\u003dTrue),"},{"line_number":38,"context_line":"        sa.PrimaryKeyConstraint(u\u0027id\u0027),"},{"line_number":39,"context_line":"        sa.ForeignKeyConstraint([u\u0027status\u0027],"},{"line_number":40,"context_line":"                                [u\u0027provisioning_status.name\u0027],"},{"line_number":41,"context_line":"                                name\u003du\u0027fk_distributor_provisioning_status_name\u0027"},{"line_number":42,"context_line":"                                )"}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_1597e03a","line":39,"updated":"2016-07-20 15:19:10.000000000","message":"Start from new line","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"1e80a72f3431d870c91db2ca2f58f5f65ff7b4a3","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        sa.Column(u\u0027lb_network_ip\u0027, sa.String(64), nullable\u003dTrue),"},{"line_number":37,"context_line":"        sa.Column(u\u0027status\u0027, sa.String(36), nullable\u003dTrue),"},{"line_number":38,"context_line":"        sa.PrimaryKeyConstraint(u\u0027id\u0027),"},{"line_number":39,"context_line":"        sa.ForeignKeyConstraint([u\u0027status\u0027],"},{"line_number":40,"context_line":"                                [u\u0027provisioning_status.name\u0027],"},{"line_number":41,"context_line":"                                name\u003du\u0027fk_distributor_provisioning_status_name\u0027"},{"line_number":42,"context_line":"                                )"}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_4e37c94c","line":39,"in_reply_to":"dada55a8_1597e03a","updated":"2016-12-12 13:00:29.000000000","message":"Done","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        sa.ForeignKeyConstraint([u\u0027status\u0027],"},{"line_number":40,"context_line":"                                [u\u0027provisioning_status.name\u0027],"},{"line_number":41,"context_line":"                                name\u003du\u0027fk_distributor_provisioning_status_name\u0027"},{"line_number":42,"context_line":"                                )"},{"line_number":43,"context_line":"    )"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_f59b2c64","line":42,"updated":"2016-07-20 15:19:10.000000000","message":"Closing brackent can\u0027t be in same line with internal code","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"1e80a72f3431d870c91db2ca2f58f5f65ff7b4a3","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        sa.ForeignKeyConstraint([u\u0027status\u0027],"},{"line_number":40,"context_line":"                                [u\u0027provisioning_status.name\u0027],"},{"line_number":41,"context_line":"                                name\u003du\u0027fk_distributor_provisioning_status_name\u0027"},{"line_number":42,"context_line":"                                )"},{"line_number":43,"context_line":"    )"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_6e4005a6","line":42,"in_reply_to":"dada55a8_f59b2c64","updated":"2016-12-12 13:00:29.000000000","message":"Done","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"ab4c74806dace2abf383cee288a78a0a35671a2c","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def upgrade():"},{"line_number":32,"context_line":"    op.create_table("},{"line_number":33,"context_line":"        u\u0027distributor\u0027,"},{"line_number":34,"context_line":"        sa.Column(u\u0027id\u0027, sa.String(36), nullable\u003dFalse),"},{"line_number":35,"context_line":"        sa.Column(u\u0027compute_id\u0027, sa.String(36), nullable\u003dTrue),"},{"line_number":36,"context_line":"        sa.Column(u\u0027lb_network_ip\u0027, sa.String(64), nullable\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_05b42ccf","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":23},"updated":"2016-10-05 21:37:17.000000000","message":"Again, I suspect you aren\u0027t tracking enough here.","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"e3f9636782a82941134e6583e41f33bebc3e3ced","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def upgrade():"},{"line_number":32,"context_line":"    op.create_table("},{"line_number":33,"context_line":"        u\u0027distributor\u0027,"},{"line_number":34,"context_line":"        sa.Column(u\u0027id\u0027, sa.String(36), nullable\u003dFalse),"},{"line_number":35,"context_line":"        sa.Column(u\u0027compute_id\u0027, sa.String(36), nullable\u003dTrue),"},{"line_number":36,"context_line":"        sa.Column(u\u0027lb_network_ip\u0027, sa.String(64), nullable\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_1b5dee46","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":23},"in_reply_to":"1a95cdbc_05b42ccf","updated":"2016-10-09 10:33:56.000000000","message":"I know, but we do have additional info in cluster that is added in the next commits.","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        sa.Column(u\u0027id\u0027, sa.String(36), nullable\u003dFalse),"},{"line_number":35,"context_line":"        sa.Column(u\u0027compute_id\u0027, sa.String(36), nullable\u003dTrue),"},{"line_number":36,"context_line":"        sa.Column(u\u0027lb_network_ip\u0027, sa.String(64), nullable\u003dTrue),"},{"line_number":37,"context_line":"        sa.Column(u\u0027status\u0027, sa.String(36), nullable\u003dTrue),"},{"line_number":38,"context_line":"        sa.PrimaryKeyConstraint(u\u0027id\u0027),"},{"line_number":39,"context_line":"        sa.ForeignKeyConstraint([u\u0027status\u0027],"},{"line_number":40,"context_line":"                                [u\u0027provisioning_status.name\u0027],"}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_f46c980a","line":37,"range":{"start_line":37,"start_character":44,"end_line":37,"end_character":57},"updated":"2016-10-10 22:51:58.000000000","message":"Should this be nullable?  What status does that mean?","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        sa.Column(u\u0027id\u0027, sa.String(36), nullable\u003dFalse),"},{"line_number":35,"context_line":"        sa.Column(u\u0027compute_id\u0027, sa.String(36), nullable\u003dTrue),"},{"line_number":36,"context_line":"        sa.Column(u\u0027lb_network_ip\u0027, sa.String(64), nullable\u003dTrue),"},{"line_number":37,"context_line":"        sa.Column(u\u0027status\u0027, sa.String(36), nullable\u003dTrue),"},{"line_number":38,"context_line":"        sa.PrimaryKeyConstraint(u\u0027id\u0027),"},{"line_number":39,"context_line":"        sa.ForeignKeyConstraint([u\u0027status\u0027],"},{"line_number":40,"context_line":"                                [u\u0027provisioning_status.name\u0027],"}],"source_content_type":"text/x-python","patch_set":35,"id":"9a629dbe_8b16ddef","line":37,"range":{"start_line":37,"start_character":44,"end_line":37,"end_character":57},"in_reply_to":"fa6399be_f46c980a","updated":"2016-11-22 08:09:37.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    )"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"def downgrade():"},{"line_number":47,"context_line":"    op.drop_table(u\u0027distributor\u0027)"}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_b4494091","line":46,"updated":"2016-10-10 22:51:58.000000000","message":"We don\u0027t do downgrade in OpenStack anymore.","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    )"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"def downgrade():"},{"line_number":47,"context_line":"    op.drop_table(u\u0027distributor\u0027)"}],"source_content_type":"text/x-python","patch_set":35,"id":"9a629dbe_abd1e131","line":46,"in_reply_to":"fa6399be_b4494091","updated":"2016-11-22 08:09:37.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        ]"},{"line_number":59,"context_line":"    )"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    op.create_table("},{"line_number":62,"context_line":"        u\u0027distributor\u0027,"},{"line_number":63,"context_line":"        sa.Column(u\u0027id\u0027, sa.String(36), nullable\u003dFalse),"},{"line_number":64,"context_line":"        sa.Column(u\u0027compute_id\u0027, sa.String(36), nullable\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":72,"id":"1a430d35_2afde66d","line":61,"updated":"2017-02-09 07:10:08.000000000","message":"Same questions as I put on the data model.","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"}],"octavia/db/models.py":[{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":456,"context_line":"    __tablename__ \u003d \"distributor\""},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"    id \u003d sa.Column(sa.String(36), nullable\u003dFalse, primary_key\u003dTrue,"},{"line_number":459,"context_line":"                   autoincrement\u003dFalse)"},{"line_number":460,"context_line":"    compute_id \u003d sa.Column(sa.String(36), nullable\u003dTrue)"},{"line_number":461,"context_line":"    lb_network_ip \u003d sa.Column(sa.String(64), nullable\u003dTrue)"},{"line_number":462,"context_line":"    status \u003d sa.Column("}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_557e7819","line":459,"updated":"2016-07-20 15:19:10.000000000","message":"Why ID has autoincrement\u003dFalse? Why you\u0027re planning to manually manage IDs for all Distributors?","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"52ca8b6abdfefd548ba9b4407ccb4ac5d04a18bd","unresolved":false,"context_lines":[{"line_number":456,"context_line":"    __tablename__ \u003d \"distributor\""},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"    id \u003d sa.Column(sa.String(36), nullable\u003dFalse, primary_key\u003dTrue,"},{"line_number":459,"context_line":"                   autoincrement\u003dFalse)"},{"line_number":460,"context_line":"    compute_id \u003d sa.Column(sa.String(36), nullable\u003dTrue)"},{"line_number":461,"context_line":"    lb_network_ip \u003d sa.Column(sa.String(64), nullable\u003dTrue)"},{"line_number":462,"context_line":"    status \u003d sa.Column("}],"source_content_type":"text/x-python","patch_set":26,"id":"7a8ec9b2_ca80d04c","line":459,"in_reply_to":"1ac06dbe_4a5513c4","updated":"2016-09-19 15:41:32.000000000","message":"Done","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"52ca8b6abdfefd548ba9b4407ccb4ac5d04a18bd","unresolved":false,"context_lines":[{"line_number":456,"context_line":"    __tablename__ \u003d \"distributor\""},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"    id \u003d sa.Column(sa.String(36), nullable\u003dFalse, primary_key\u003dTrue,"},{"line_number":459,"context_line":"                   autoincrement\u003dFalse)"},{"line_number":460,"context_line":"    compute_id \u003d sa.Column(sa.String(36), nullable\u003dTrue)"},{"line_number":461,"context_line":"    lb_network_ip \u003d sa.Column(sa.String(64), nullable\u003dTrue)"},{"line_number":462,"context_line":"    status \u003d sa.Column("}],"source_content_type":"text/x-python","patch_set":26,"id":"7a8ec9b2_8ab8882c","line":459,"in_reply_to":"dada55a8_557e7819","updated":"2016-09-19 15:41:32.000000000","message":"Done","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"811c65065a76963ee90735a1dfd7f74415ee2128","unresolved":false,"context_lines":[{"line_number":456,"context_line":"    __tablename__ \u003d \"distributor\""},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"    id \u003d sa.Column(sa.String(36), nullable\u003dFalse, primary_key\u003dTrue,"},{"line_number":459,"context_line":"                   autoincrement\u003dFalse)"},{"line_number":460,"context_line":"    compute_id \u003d sa.Column(sa.String(36), nullable\u003dTrue)"},{"line_number":461,"context_line":"    lb_network_ip \u003d sa.Column(sa.String(64), nullable\u003dTrue)"},{"line_number":462,"context_line":"    status \u003d sa.Column("}],"source_content_type":"text/x-python","patch_set":26,"id":"1ac06dbe_4a5513c4","line":459,"in_reply_to":"dada55a8_557e7819","updated":"2016-08-23 19:36:08.000000000","message":"We should use IdMixing from base_models to handle that field","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ce47a6cfaf0305856283eb729fc27806da24265a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    Copyright 2016 IBM Corp."},{"line_number":2,"context_line":"#    Copyright 2014 Rackspace"},{"line_number":3,"context_line":"#    Copyright 2016 Blue Box, an IBM Company"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_9dc83224","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":29},"updated":"2016-10-07 17:11:33.000000000","message":"Order","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":24261,"name":"Abed Abu dbai","email":"abeda@il.ibm.com","username":"abeda"},"change_message_id":"eba045cfa7245b93543c5968720d35bc4b40e2ee","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    Copyright 2016 IBM Corp."},{"line_number":2,"context_line":"#    Copyright 2014 Rackspace"},{"line_number":3,"context_line":"#    Copyright 2016 Blue Box, an IBM Company"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":33,"id":"3a71b18c_40a89120","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":29},"in_reply_to":"1a95cdbc_3b58ea55","updated":"2016-12-12 13:31:57.000000000","message":"Done","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"e3f9636782a82941134e6583e41f33bebc3e3ced","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    Copyright 2016 IBM Corp."},{"line_number":2,"context_line":"#    Copyright 2014 Rackspace"},{"line_number":3,"context_line":"#    Copyright 2016 Blue Box, an IBM Company"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_3b58ea55","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":29},"in_reply_to":"1a95cdbc_9dc83224","updated":"2016-10-09 10:33:56.000000000","message":"I am checking it with our legals, thanks!","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"ab4c74806dace2abf383cee288a78a0a35671a2c","unresolved":false,"context_lines":[{"line_number":465,"context_line":"    vrrp_priority \u003d sa.Column(sa.Integer(), nullable\u003dTrue)"},{"line_number":466,"context_line":""},{"line_number":467,"context_line":""},{"line_number":468,"context_line":"class Distributor(base_models.BASE, base_models.IdMixin):"},{"line_number":469,"context_line":""},{"line_number":470,"context_line":"    __data_model__ \u003d data_models.Distributor"},{"line_number":471,"context_line":""}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_45c6344a","line":468,"range":{"start_line":468,"start_character":0,"end_line":468,"end_character":57},"updated":"2016-10-05 21:37:17.000000000","message":"As with the data model, I suspect you aren\u0027t tracking enough here.","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"e3f9636782a82941134e6583e41f33bebc3e3ced","unresolved":false,"context_lines":[{"line_number":465,"context_line":"    vrrp_priority \u003d sa.Column(sa.Integer(), nullable\u003dTrue)"},{"line_number":466,"context_line":""},{"line_number":467,"context_line":""},{"line_number":468,"context_line":"class Distributor(base_models.BASE, base_models.IdMixin):"},{"line_number":469,"context_line":""},{"line_number":470,"context_line":"    __data_model__ \u003d data_models.Distributor"},{"line_number":471,"context_line":""}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_5b53f638","line":468,"range":{"start_line":468,"start_character":0,"end_line":468,"end_character":57},"in_reply_to":"1a95cdbc_45c6344a","updated":"2016-10-09 10:33:56.000000000","message":"Well, same comment from my side :)","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"}],"octavia/db/repositories.py":[{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"7c35eb62fcc73579df539ecce7387c9ed86194b3","unresolved":false,"context_lines":[{"line_number":653,"context_line":"class DistributorRepository(BaseRepository):"},{"line_number":654,"context_line":"    model_class \u003d models.Distributor"},{"line_number":655,"context_line":""},{"line_number":656,"context_line":"    def get_ready_distributor(self, session):"},{"line_number":657,"context_line":"        with session.begin(subtransactions\u003dTrue):"},{"line_number":658,"context_line":"            distributor \u003d session.query(models.Distributor).filter_by("},{"line_number":659,"context_line":"                status\u003dconstants.DISTRIBUTOR_READY).first()"}],"source_content_type":"text/x-python","patch_set":14,"id":"7aa08908_2256c405","line":656,"updated":"2016-06-09 06:00:22.000000000","message":"This implementation looks like prepared to host only one Distributor","commit_id":"b49d4d9488f3a0e3da20664a75fac20eaef31aec"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"f2b9749f3ddd5ae321a64ac3e9297b0497b28be1","unresolved":false,"context_lines":[{"line_number":653,"context_line":"class DistributorRepository(BaseRepository):"},{"line_number":654,"context_line":"    model_class \u003d models.Distributor"},{"line_number":655,"context_line":""},{"line_number":656,"context_line":"    def get_ready_distributor(self, session):"},{"line_number":657,"context_line":"        with session.begin(subtransactions\u003dTrue):"},{"line_number":658,"context_line":"            distributor \u003d session.query(models.Distributor).filter_by("},{"line_number":659,"context_line":"                status\u003dconstants.DISTRIBUTOR_READY).first()"}],"source_content_type":"text/x-python","patch_set":14,"id":"7aa08908_2928c8e1","line":656,"in_reply_to":"7aa08908_2256c405","updated":"2016-06-13 12:54:55.000000000","message":"I have fixed it in the next upload","commit_id":"b49d4d9488f3a0e3da20664a75fac20eaef31aec"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ce47a6cfaf0305856283eb729fc27806da24265a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2016 IBM Corp."},{"line_number":2,"context_line":"# Copyright 2014 Rackspace"},{"line_number":3,"context_line":"# Copyright 2016 Blue Box, an IBM Company"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_1d7982c8","line":1,"updated":"2016-10-07 17:11:33.000000000","message":"Order again","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"e3f9636782a82941134e6583e41f33bebc3e3ced","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2016 IBM Corp."},{"line_number":2,"context_line":"# Copyright 2014 Rackspace"},{"line_number":3,"context_line":"# Copyright 2016 Blue Box, an IBM Company"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_7b3432fb","line":1,"in_reply_to":"1a95cdbc_1d7982c8","updated":"2016-10-09 10:33:56.000000000","message":"OK, checking","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":24261,"name":"Abed Abu dbai","email":"abeda@il.ibm.com","username":"abeda"},"change_message_id":"eba045cfa7245b93543c5968720d35bc4b40e2ee","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2016 IBM Corp."},{"line_number":2,"context_line":"# Copyright 2014 Rackspace"},{"line_number":3,"context_line":"# Copyright 2016 Blue Box, an IBM Company"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":33,"id":"3a71b18c_80646922","line":1,"in_reply_to":"1a95cdbc_7b3432fb","updated":"2016-12-12 13:31:57.000000000","message":"Done","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ce47a6cfaf0305856283eb729fc27806da24265a","unresolved":false,"context_lines":[{"line_number":689,"context_line":"            distributor \u003d session.query(models.Distributor).filter_by("},{"line_number":690,"context_line":"                id\u003did).first()"},{"line_number":691,"context_line":"            if distributor is None:"},{"line_number":692,"context_line":"                return None"},{"line_number":693,"context_line":"            return distributor.to_data_model()"},{"line_number":694,"context_line":""},{"line_number":695,"context_line":""}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_a1122c55","line":692,"updated":"2016-10-07 17:11:33.000000000","message":"Personally I prefer exception programming but I understand why you use here None.","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"e3f9636782a82941134e6583e41f33bebc3e3ced","unresolved":false,"context_lines":[{"line_number":689,"context_line":"            distributor \u003d session.query(models.Distributor).filter_by("},{"line_number":690,"context_line":"                id\u003did).first()"},{"line_number":691,"context_line":"            if distributor is None:"},{"line_number":692,"context_line":"                return None"},{"line_number":693,"context_line":"            return distributor.to_data_model()"},{"line_number":694,"context_line":""},{"line_number":695,"context_line":""}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_9b373efe","line":692,"in_reply_to":"1a95cdbc_a1122c55","updated":"2016-10-09 10:33:56.000000000","message":"Done","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":684,"context_line":"class DistributorRepository(BaseRepository):"},{"line_number":685,"context_line":"    model_class \u003d models.Distributor"},{"line_number":686,"context_line":""},{"line_number":687,"context_line":"    def get_distributor_by_id(self, session, id):"},{"line_number":688,"context_line":"        with session.begin(subtransactions\u003dTrue):"},{"line_number":689,"context_line":"            distributor \u003d session.query(models.Distributor).filter_by("},{"line_number":690,"context_line":"                id\u003did).first()"}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_ef08412b","line":687,"updated":"2016-10-10 22:51:58.000000000","message":"Why do we need this?  Can\u0027t we use the base get method for this?","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":684,"context_line":"class DistributorRepository(BaseRepository):"},{"line_number":685,"context_line":"    model_class \u003d models.Distributor"},{"line_number":686,"context_line":""},{"line_number":687,"context_line":"    def get_distributor_by_id(self, session, id):"},{"line_number":688,"context_line":"        with session.begin(subtransactions\u003dTrue):"},{"line_number":689,"context_line":"            distributor \u003d session.query(models.Distributor).filter_by("},{"line_number":690,"context_line":"                id\u003did).first()"}],"source_content_type":"text/x-python","patch_set":35,"id":"9a629dbe_cbd61527","line":687,"in_reply_to":"fa6399be_ef08412b","updated":"2016-11-22 08:09:37.000000000","message":"There are two possible ways to get the distributor - one by ID and one for shared distributor mode. We rewrite it for clarity and in the next patches we add another method as well","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":992,"context_line":"class DistributorRepository(BaseRepository):"},{"line_number":993,"context_line":"    model_class \u003d models.Distributor"},{"line_number":994,"context_line":""},{"line_number":995,"context_line":"    def get_distributor_by_id(self, session, id):"},{"line_number":996,"context_line":"        with session.begin(subtransactions\u003dTrue):"},{"line_number":997,"context_line":"            distributor \u003d session.query(models.Distributor).filter_by("},{"line_number":998,"context_line":"                id\u003did).first()"}],"source_content_type":"text/x-python","patch_set":72,"id":"1a430d35_4a0eb28c","line":995,"updated":"2017-02-09 07:10:08.000000000","message":"Why do we need this?  Doesn\u0027t the BaseRepository \"get\" function provide this capability?","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"}],"octavia/distributor/drivers/base.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"dea253ca811881956747f3387782f58dde1365cd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"bab6814e_8ee9dee8","line":1,"updated":"2017-11-01 18:50:43.000000000","message":"What is this file?","commit_id":"e3298b529a2c06555875b6f048e827705a53e84c"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"dea253ca811881956747f3387782f58dde1365cd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"bab6814e_8ed0be20","line":1,"updated":"2017-11-01 18:50:43.000000000","message":"What is this file?","commit_id":"8e22b8d41a5b371d40ed370bd4e7e69689139ec4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":35,"id":"fa6399be_2f41593a","updated":"2016-10-10 22:51:58.000000000","message":"This file is empty, so not needed.","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":24261,"name":"Abed Abu dbai","email":"abeda@il.ibm.com","username":"abeda"},"change_message_id":"c83d7b8aadc7e5a53ea332d910202c3a230e88a0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":35,"id":"3a71b18c_334ccdc7","in_reply_to":"fa6399be_2f41593a","updated":"2016-12-12 13:32:26.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"}],"octavia/distributor/drivers/driver_base.py":[{"author":{"_account_id":13438,"name":"Kobi Samoray","email":"kobi.samoray@broadcom.com","username":"ksamoray"},"change_message_id":"ceaa10ae18cdda39682a17b9434cd13ec157008f","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# under the License."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"import abc"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import six"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"7aa08908_f1b90c7e","line":15,"updated":"2016-06-15 14:33:00.000000000","message":"nit: these are builtin. extra line here is redundant","commit_id":"44c25a2a4f94726ef5d2a2cd42f199a16a4b44c1"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"14a0729c34ab197f0433f04313f5c6665bd07318","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# under the License."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"import abc"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import six"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"5a9d85d2_7a032974","line":15,"in_reply_to":"7aa08908_f1b90c7e","updated":"2016-06-20 14:12:46.000000000","message":"Done","commit_id":"44c25a2a4f94726ef5d2a2cd42f199a16a4b44c1"},{"author":{"_account_id":13438,"name":"Kobi Samoray","email":"kobi.samoray@broadcom.com","username":"ksamoray"},"change_message_id":"ceaa10ae18cdda39682a17b9434cd13ec157008f","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        add more function along with the development, eventually, we want it"},{"line_number":31,"context_line":"        to return information as:"},{"line_number":32,"context_line":"        {\"Rest Interface\": \"1.0\", \"Distributor\": \"1.0\","},{"line_number":33,"context_line":"        \"packages\":{\"ha proxy\":\"1.5\"}}"},{"line_number":34,"context_line":"        some information might come from querying the Distributor"},{"line_number":35,"context_line":"        \"\"\""},{"line_number":36,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":18,"id":"7aa08908_f1474c78","line":33,"updated":"2016-06-15 14:33:00.000000000","message":"nit: haproxy","commit_id":"44c25a2a4f94726ef5d2a2cd42f199a16a4b44c1"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"14a0729c34ab197f0433f04313f5c6665bd07318","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        add more function along with the development, eventually, we want it"},{"line_number":31,"context_line":"        to return information as:"},{"line_number":32,"context_line":"        {\"Rest Interface\": \"1.0\", \"Distributor\": \"1.0\","},{"line_number":33,"context_line":"        \"packages\":{\"ha proxy\":\"1.5\"}}"},{"line_number":34,"context_line":"        some information might come from querying the Distributor"},{"line_number":35,"context_line":"        \"\"\""},{"line_number":36,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":18,"id":"5a9d85d2_daf85d7f","line":33,"in_reply_to":"7aa08908_f1474c78","updated":"2016-06-20 14:12:46.000000000","message":"Done","commit_id":"44c25a2a4f94726ef5d2a2cd42f199a16a4b44c1"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#"},{"line_number":2,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":3,"context_line":"# not use this file except in compliance with the License. You may obtain"},{"line_number":4,"context_line":"# a copy of the License at"}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_b5e374d8","line":1,"updated":"2016-07-20 15:19:10.000000000","message":"Company header?","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":24261,"name":"Abed Abu dbai","email":"abeda@il.ibm.com","username":"abeda"},"change_message_id":"f862ab61cfbeaebe604a9619b38f329d606099d5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#"},{"line_number":2,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":3,"context_line":"# not use this file except in compliance with the License. You may obtain"},{"line_number":4,"context_line":"# a copy of the License at"}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_6b501333","line":1,"in_reply_to":"dada55a8_b5e374d8","updated":"2016-12-12 13:30:00.000000000","message":"Done","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"1e80a72f3431d870c91db2ca2f58f5f65ff7b4a3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#"},{"line_number":2,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":3,"context_line":"# not use this file except in compliance with the License. You may obtain"},{"line_number":4,"context_line":"# a copy of the License at"}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_8e24810d","line":1,"in_reply_to":"dada55a8_b5e374d8","updated":"2016-12-12 13:00:29.000000000","message":"Done","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        :param distributor: distributor object, need to use its id property"},{"line_number":76,"context_line":"        :type distributor: object"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        :param load_balancer: A load balancer that just had its vip allocated"},{"line_number":79,"context_line":"                              and plugged in the network driver."},{"line_number":80,"context_line":"        :type load_balancer: octavia.network.data_models.LoadBalancer"}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_15e520db","line":77,"updated":"2016-07-20 15:19:10.000000000","message":"Remove that new lines","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"1e80a72f3431d870c91db2ca2f58f5f65ff7b4a3","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        :param distributor: distributor object, need to use its id property"},{"line_number":76,"context_line":"        :type distributor: object"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        :param load_balancer: A load balancer that just had its vip allocated"},{"line_number":79,"context_line":"                              and plugged in the network driver."},{"line_number":80,"context_line":"        :type load_balancer: octavia.network.data_models.LoadBalancer"}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_4ed349d5","line":77,"in_reply_to":"dada55a8_15e520db","updated":"2016-12-12 13:00:29.000000000","message":"Done","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        :param load_balancer: A load balancer that just had its vip allocated"},{"line_number":79,"context_line":"                              and plugged in the network driver."},{"line_number":80,"context_line":"        :type load_balancer: octavia.network.data_models.LoadBalancer"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        :param arg_extra: algorithm extras defined by the"},{"line_number":83,"context_line":"        specific topology manager"},{"line_number":84,"context_line":"        :type arg_extra: object"}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_f5e96cb8","line":81,"updated":"2016-07-20 15:19:10.000000000","message":"^^","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"1e80a72f3431d870c91db2ca2f58f5f65ff7b4a3","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        :param load_balancer: A load balancer that just had its vip allocated"},{"line_number":79,"context_line":"                              and plugged in the network driver."},{"line_number":80,"context_line":"        :type load_balancer: octavia.network.data_models.LoadBalancer"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        :param arg_extra: algorithm extras defined by the"},{"line_number":83,"context_line":"        specific topology manager"},{"line_number":84,"context_line":"        :type arg_extra: object"}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_2ece0d2d","line":81,"in_reply_to":"dada55a8_f5e96cb8","updated":"2016-12-12 13:00:29.000000000","message":"Done","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        :param distributor: distributor object, need to use its id property"},{"line_number":95,"context_line":"        :type distributor: object"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        :param load_balancer: A load balancer that is to be removed."},{"line_number":98,"context_line":"        :type load_balancer: octavia.network.data_models.LoadBalancer"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_55d31804","line":96,"updated":"2016-07-20 15:19:10.000000000","message":"new lines","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"1e80a72f3431d870c91db2ca2f58f5f65ff7b4a3","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        :param distributor: distributor object, need to use its id property"},{"line_number":95,"context_line":"        :type distributor: object"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        :param load_balancer: A load balancer that is to be removed."},{"line_number":98,"context_line":"        :type load_balancer: octavia.network.data_models.LoadBalancer"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_8ed9e1f5","line":96,"in_reply_to":"dada55a8_55d31804","updated":"2016-12-12 13:00:29.000000000","message":"Done","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        :param load_balancer: A load balancer that is to be removed."},{"line_number":98,"context_line":"        :type load_balancer: octavia.network.data_models.LoadBalancer"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        :returns: None"},{"line_number":101,"context_line":"        \"\"\""},{"line_number":102,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_35d024f6","line":99,"updated":"2016-07-20 15:19:10.000000000","message":"^^","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"1e80a72f3431d870c91db2ca2f58f5f65ff7b4a3","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        :param load_balancer: A load balancer that is to be removed."},{"line_number":98,"context_line":"        :type load_balancer: octavia.network.data_models.LoadBalancer"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        :returns: None"},{"line_number":101,"context_line":"        \"\"\""},{"line_number":102,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_aee21d9e","line":99,"in_reply_to":"dada55a8_35d024f6","updated":"2016-12-12 13:00:29.000000000","message":"Done","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        :param distributor: distributor object"},{"line_number":109,"context_line":"        :type distributor: object"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        :param load_balancer: A load balancer to which the amphora is attached"},{"line_number":112,"context_line":"        :type load_balancer: octavia.network.data_models.LoadBalancer"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_95d91025","line":110,"updated":"2016-07-20 15:19:10.000000000","message":"New lines","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"1e80a72f3431d870c91db2ca2f58f5f65ff7b4a3","unresolved":false,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        :param distributor: distributor object"},{"line_number":109,"context_line":"        :type distributor: object"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        :param load_balancer: A load balancer to which the amphora is attached"},{"line_number":112,"context_line":"        :type load_balancer: octavia.network.data_models.LoadBalancer"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_cedf59d4","line":110,"in_reply_to":"dada55a8_95d91025","updated":"2016-12-12 13:00:29.000000000","message":"Done","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"5e80380c3d9666424f56bf7b9b3bcacb9504baab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":35,"id":"fa6399be_21140df4","updated":"2016-10-10 23:23:39.000000000","message":"We are defining an interface here.  There needs to be an API spec for this like this one for the amphora API: http://docs.openstack.org/developer/octavia/api/haproxy-amphora-api.html","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":35,"id":"9a629dbe_376c3908","in_reply_to":"fa6399be_21140df4","updated":"2016-11-22 08:09:37.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        add more function along with the development, eventually, we want it"},{"line_number":32,"context_line":"        to return information as:"},{"line_number":33,"context_line":"        {\"Rest Interface\": \"1.0\", \"Distributor\": \"1.0\"}"},{"line_number":34,"context_line":"        some information might come from querying the Distributor"},{"line_number":35,"context_line":"        \"\"\""},{"line_number":36,"context_line":"        pass"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_4fda0d7a","line":34,"range":{"start_line":34,"start_character":8,"end_line":34,"end_character":65},"updated":"2016-10-10 22:51:58.000000000","message":"This is in the driver, so the information should come from the distributor itself.  Anything else would come from the repository, etc.","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        add more function along with the development, eventually, we want it"},{"line_number":32,"context_line":"        to return information as:"},{"line_number":33,"context_line":"        {\"Rest Interface\": \"1.0\", \"Distributor\": \"1.0\"}"},{"line_number":34,"context_line":"        some information might come from querying the Distributor"},{"line_number":35,"context_line":"        \"\"\""},{"line_number":36,"context_line":"        pass"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"9a629dbe_c58d192c","line":34,"range":{"start_line":34,"start_character":8,"end_line":34,"end_character":65},"in_reply_to":"fa6399be_4fda0d7a","updated":"2016-11-22 08:09:37.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        pass"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @abc.abstractmethod"},{"line_number":39,"context_line":"    def get_details(self, distributor):"},{"line_number":40,"context_line":"        \"\"\"Return ready health set of amphorae"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        :param distributor: distributor object, need to use its id property"}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_6fbef100","line":39,"range":{"start_line":39,"start_character":8,"end_line":39,"end_character":19},"updated":"2016-10-10 22:51:58.000000000","message":"From the description, this should be get_status and not get_details.  If you feel it should be get_details, please describe why it would return anything different than get_info above.  You could be consistent with the amphora API and call it get_diagnostics","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        pass"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @abc.abstractmethod"},{"line_number":39,"context_line":"    def get_details(self, distributor):"},{"line_number":40,"context_line":"        \"\"\"Return ready health set of amphorae"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        :param distributor: distributor object, need to use its id property"}],"source_content_type":"text/x-python","patch_set":35,"id":"9a629dbe_a5d745ec","line":39,"range":{"start_line":39,"start_character":8,"end_line":39,"end_character":19},"in_reply_to":"fa6399be_6fbef100","updated":"2016-11-22 08:09:37.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @abc.abstractmethod"},{"line_number":56,"context_line":"    def finalize_distributor(self, distributor):"},{"line_number":57,"context_line":"        \"\"\"It is called before listeners configured while distributor was built"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        :param distributor: distributor object, need to use its id property"},{"line_number":60,"context_line":"        :type distributor: object"}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_4f6f6d92","line":57,"range":{"start_line":57,"start_character":11,"end_line":57,"end_character":79},"updated":"2016-10-10 22:51:58.000000000","message":"This is confusing.  Maybe?\nCalled after the distributor was built but before listeners are configured","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @abc.abstractmethod"},{"line_number":56,"context_line":"    def finalize_distributor(self, distributor):"},{"line_number":57,"context_line":"        \"\"\"It is called before listeners configured while distributor was built"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        :param distributor: distributor object, need to use its id property"},{"line_number":60,"context_line":"        :type distributor: object"}],"source_content_type":"text/x-python","patch_set":35,"id":"9a629dbe_41980f6b","line":57,"range":{"start_line":57,"start_character":11,"end_line":57,"end_character":79},"in_reply_to":"fa6399be_4f6f6d92","updated":"2016-11-22 08:09:37.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        :param distributor: distributor object, need to use its id property"},{"line_number":60,"context_line":"        :type distributor: object"},{"line_number":61,"context_line":"        :returns: return a value list (distributor.id, status flag--\u0027ge"},{"line_number":62,"context_line":"        t_diagnostics\u0027)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        At this moment, we just build the basic structure for testing, will"},{"line_number":65,"context_line":"        add more function along with the development, eventually, we want it"}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_ef25a15c","line":62,"range":{"start_line":61,"start_character":8,"end_line":62,"end_character":23},"updated":"2016-10-10 22:51:58.000000000","message":"Does this method really need to return this?","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        :param distributor: distributor object, need to use its id property"},{"line_number":60,"context_line":"        :type distributor: object"},{"line_number":61,"context_line":"        :returns: return a value list (distributor.id, status flag--\u0027ge"},{"line_number":62,"context_line":"        t_diagnostics\u0027)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        At this moment, we just build the basic structure for testing, will"},{"line_number":65,"context_line":"        add more function along with the development, eventually, we want it"}],"source_content_type":"text/x-python","patch_set":35,"id":"9a629dbe_41af2f7d","line":62,"range":{"start_line":61,"start_character":8,"end_line":62,"end_character":23},"in_reply_to":"fa6399be_ef25a15c","updated":"2016-11-22 08:09:37.000000000","message":"We want it to return anything, just for debugging","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        t_diagnostics\u0027)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        At this moment, we just build the basic structure for testing, will"},{"line_number":65,"context_line":"        add more function along with the development, eventually, we want it"},{"line_number":66,"context_line":"        run some expensive self tests to determine if the distributor and lbs"},{"line_number":67,"context_line":"        are healthy the idea is that those tests are triggered more infrequent"},{"line_number":68,"context_line":"        than the health gathering"},{"line_number":69,"context_line":"        \"\"\""},{"line_number":70,"context_line":"        pass"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_2f4b192d","line":68,"range":{"start_line":65,"start_character":54,"end_line":68,"end_character":33},"updated":"2016-10-10 22:51:58.000000000","message":"This does not make sense for \"finalize_distributor\".  It\u0027s the same as the method above.","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        t_diagnostics\u0027)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        At this moment, we just build the basic structure for testing, will"},{"line_number":65,"context_line":"        add more function along with the development, eventually, we want it"},{"line_number":66,"context_line":"        run some expensive self tests to determine if the distributor and lbs"},{"line_number":67,"context_line":"        are healthy the idea is that those tests are triggered more infrequent"},{"line_number":68,"context_line":"        than the health gathering"},{"line_number":69,"context_line":"        \"\"\""},{"line_number":70,"context_line":"        pass"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"9a629dbe_e11cc3c3","line":68,"range":{"start_line":65,"start_character":54,"end_line":68,"end_character":33},"in_reply_to":"fa6399be_2f4b192d","updated":"2016-11-22 08:09:37.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        :param distributor_mac: distributor mac for this VIP"},{"line_number":85,"context_line":"        :type distributor_mac: string"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        :param alg_extra: algorithm extras defined by the"},{"line_number":88,"context_line":"        specific topology manager"},{"line_number":89,"context_line":"        :type arg_extra: object"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"        :returns: None"},{"line_number":92,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_6f0351b9","line":89,"range":{"start_line":87,"start_character":0,"end_line":89,"end_character":31},"updated":"2016-10-10 22:51:58.000000000","message":"No, this is too vague and will lead to failures and mistakes.  I.e. how would a caller know what topology manager is used in this distributor?\nThis breaks the interface definition.","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":24261,"name":"Abed Abu dbai","email":"abeda@il.ibm.com","username":"abeda"},"change_message_id":"c83d7b8aadc7e5a53ea332d910202c3a230e88a0","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        :param distributor_mac: distributor mac for this VIP"},{"line_number":85,"context_line":"        :type distributor_mac: string"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        :param alg_extra: algorithm extras defined by the"},{"line_number":88,"context_line":"        specific topology manager"},{"line_number":89,"context_line":"        :type arg_extra: object"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"        :returns: None"},{"line_number":92,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":35,"id":"3a71b18c_939be117","line":89,"range":{"start_line":87,"start_character":0,"end_line":89,"end_character":31},"in_reply_to":"fa6399be_3873db16","updated":"2016-12-12 13:32:26.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"b32e0a6576cc8e83725f021913d4339ec175123a","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        :param distributor_mac: distributor mac for this VIP"},{"line_number":85,"context_line":"        :type distributor_mac: string"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        :param alg_extra: algorithm extras defined by the"},{"line_number":88,"context_line":"        specific topology manager"},{"line_number":89,"context_line":"        :type arg_extra: object"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"        :returns: None"},{"line_number":92,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_3873db16","line":89,"range":{"start_line":87,"start_character":0,"end_line":89,"end_character":31},"in_reply_to":"fa6399be_6f0351b9","updated":"2016-10-13 14:08:50.000000000","message":"the alg_extra list defines distributor specific parameters.\nSince we dont want to create a new API for each type of distributor, we did this generic parameter.\nfirst parameter in alg_type is \"type\" which defines type of algorithm.\nFor example, for elastic load balancer we do not give cluster size, versus for N+1 we tell to the distributor what is the size. \nIn registration of a new amphora depending on implementation we give or dont give its slot number... and so on\nThe exact details of concrete alg_extra can be seen in the concrete driver itself.\nWe also inveted time in treating very explicit return of errors in the case of parameters failure. These will be added in later commits.\n\nPlease, tell me if you have another idea about keeping things in the API general.","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        :param amphora: An amphora object"},{"line_number":120,"context_line":"        :type: amphora: an object that defines amphora to be registered"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        :param arg_extra: algorithm extras defined by"},{"line_number":123,"context_line":"        the specific topology manager"},{"line_number":124,"context_line":"        :type arg_extra: object"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        :returns: None"},{"line_number":127,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_cfd7fd21","line":124,"range":{"start_line":122,"start_character":0,"end_line":124,"end_character":31},"updated":"2016-10-10 22:51:58.000000000","message":"No, this is too vague and will lead to failures and mistakes.  I.e. how would a caller know what topology manager is used in this distributor?\nThis breaks the interface definition.","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":24261,"name":"Abed Abu dbai","email":"abeda@il.ibm.com","username":"abeda"},"change_message_id":"c83d7b8aadc7e5a53ea332d910202c3a230e88a0","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        :param amphora: An amphora object"},{"line_number":120,"context_line":"        :type: amphora: an object that defines amphora to be registered"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        :param arg_extra: algorithm extras defined by"},{"line_number":123,"context_line":"        the specific topology manager"},{"line_number":124,"context_line":"        :type arg_extra: object"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        :returns: None"},{"line_number":127,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":35,"id":"3a71b18c_d3b8f977","line":124,"range":{"start_line":122,"start_character":0,"end_line":124,"end_character":31},"in_reply_to":"9a629dbe_b7a92927","updated":"2016-12-12 13:32:26.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        :param amphora: An amphora object"},{"line_number":120,"context_line":"        :type: amphora: an object that defines amphora to be registered"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        :param arg_extra: algorithm extras defined by"},{"line_number":123,"context_line":"        the specific topology manager"},{"line_number":124,"context_line":"        :type arg_extra: object"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        :returns: None"},{"line_number":127,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":35,"id":"9a629dbe_b7a92927","line":124,"range":{"start_line":122,"start_character":0,"end_line":124,"end_character":31},"in_reply_to":"fa6399be_cfd7fd21","updated":"2016-11-22 08:09:37.000000000","message":"It will depend on the specific driver that the user uses and described in the driver itself.\nOtherwise we cant make generic enough interface.\nWe will send an error with description of expected arguments in the case of failures","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        :param amphora: An amphora object"},{"line_number":143,"context_line":"        :type: amphora: an object that defines amphora to be unregistered"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        :param arg_extra: algorithm extras defined by"},{"line_number":146,"context_line":"        the specific topology manager"},{"line_number":147,"context_line":"        :type arg_extra: object"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"        :returns: None"},{"line_number":150,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_2fe79913","line":147,"range":{"start_line":145,"start_character":1,"end_line":147,"end_character":31},"updated":"2016-10-10 22:51:58.000000000","message":"No, this is too vague and will lead to failures and mistakes.  I.e. how would a caller know what topology manager is used in this distributor?\nThis breaks the interface definition.","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":24261,"name":"Abed Abu dbai","email":"abeda@il.ibm.com","username":"abeda"},"change_message_id":"c83d7b8aadc7e5a53ea332d910202c3a230e88a0","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        :param amphora: An amphora object"},{"line_number":143,"context_line":"        :type: amphora: an object that defines amphora to be unregistered"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        :param arg_extra: algorithm extras defined by"},{"line_number":146,"context_line":"        the specific topology manager"},{"line_number":147,"context_line":"        :type arg_extra: object"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"        :returns: None"},{"line_number":150,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":35,"id":"3a71b18c_53a5c944","line":147,"range":{"start_line":145,"start_character":1,"end_line":147,"end_character":31},"in_reply_to":"9a629dbe_17673526","updated":"2016-12-12 13:32:26.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        :param amphora: An amphora object"},{"line_number":143,"context_line":"        :type: amphora: an object that defines amphora to be unregistered"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        :param arg_extra: algorithm extras defined by"},{"line_number":146,"context_line":"        the specific topology manager"},{"line_number":147,"context_line":"        :type arg_extra: object"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"        :returns: None"},{"line_number":150,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":35,"id":"9a629dbe_17673526","line":147,"range":{"start_line":145,"start_character":1,"end_line":147,"end_character":31},"in_reply_to":"fa6399be_2fe79913","updated":"2016-11-22 08:09:37.000000000","message":"The same...","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        :param distributor: distributor object, need to use its id property"},{"line_number":42,"context_line":"        :type distributor: object"},{"line_number":43,"context_line":"        :returns: return a value list (distributor.id, status flag--\u0027ge"},{"line_number":44,"context_line":"        t_diagnostics\u0027)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        At this moment, we just build the basic structure for testing, will"}],"source_content_type":"text/x-python","patch_set":72,"id":"1a430d35_aa4d56c5","line":43,"range":{"start_line":43,"start_character":39,"end_line":43,"end_character":53},"updated":"2017-02-09 07:10:08.000000000","message":"This is missing from the API doc (UUID)","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        pass"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    @abc.abstractmethod"},{"line_number":55,"context_line":"    def post_vip_plug(self, distributor, load_balancer, distributor_mac,"},{"line_number":56,"context_line":"                      cluster_alg_type, cluster_min_size):"},{"line_number":57,"context_line":"        \"\"\"Called after network driver has allocated and plugged the VIP"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":72,"id":"1a430d35_2a8246c8","line":55,"updated":"2017-02-09 07:10:08.000000000","message":"Missing from the API doc","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        :type distributor: object"},{"line_number":61,"context_line":"        :param load_balancer: A load balancer that just had its vip allocated"},{"line_number":62,"context_line":"                              and plugged in the network driver."},{"line_number":63,"context_line":"        :type load_balancer: octavia.network.data_models.LoadBalancer"},{"line_number":64,"context_line":"        :param distributor_mac: distributor mac for this VIP"},{"line_number":65,"context_line":"        :type distributor_mac: string"},{"line_number":66,"context_line":"        :param cluster_alg_type: specific algorithm type"}],"source_content_type":"text/x-python","patch_set":72,"id":"1a430d35_4aea3275","line":63,"range":{"start_line":63,"start_character":8,"end_line":63,"end_character":69},"updated":"2017-02-09 07:10:08.000000000","message":"Really?","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        :type load_balancer: octavia.network.data_models.LoadBalancer"},{"line_number":64,"context_line":"        :param distributor_mac: distributor mac for this VIP"},{"line_number":65,"context_line":"        :type distributor_mac: string"},{"line_number":66,"context_line":"        :param cluster_alg_type: specific algorithm type"},{"line_number":67,"context_line":"            (currently supported are ACTIVE_ACTIVE and PLUG_DEBUG)"},{"line_number":68,"context_line":"        :type arg_type: basestring"},{"line_number":69,"context_line":"        :param culster_min_size: minimal size of cluster"}],"source_content_type":"text/x-python","patch_set":72,"id":"1a430d35_2a9ec606","line":66,"range":{"start_line":66,"start_character":8,"end_line":66,"end_character":56},"updated":"2017-02-09 07:10:08.000000000","message":"This wouldn\u0027t be in the local config file?\nCan you reboot a distributor and have it come up?  (it should)","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            (currently supported are ACTIVE_ACTIVE and PLUG_DEBUG)"},{"line_number":68,"context_line":"        :type arg_type: basestring"},{"line_number":69,"context_line":"        :param culster_min_size: minimal size of cluster"},{"line_number":70,"context_line":"        :type cluster_min_size: int"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        :returns: None"},{"line_number":73,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":72,"id":"1a430d35_6a8c4eda","line":70,"updated":"2017-02-09 07:10:08.000000000","message":"Same question about config file.","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        pass"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    @abc.abstractmethod"},{"line_number":77,"context_line":"    def pre_vip_unplug(self, distributor, load_balancer):"},{"line_number":78,"context_line":"        \"\"\"Called before network driver has deallocated and unplugged the VIP"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        :param distributor: distributor object, need to use its id property"}],"source_content_type":"text/x-python","patch_set":72,"id":"1a430d35_6a70ce0b","line":77,"updated":"2017-02-09 07:10:08.000000000","message":"Missing from the API doc","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        :param distributor: distributor object, need to use its id property"},{"line_number":81,"context_line":"        :type distributor: object"},{"line_number":82,"context_line":"        :param load_balancer: A load balancer that is to be removed."},{"line_number":83,"context_line":"        :type load_balancer: octavia.network.data_models.LoadBalancer"},{"line_number":84,"context_line":"        :returns: None"},{"line_number":85,"context_line":"        \"\"\""},{"line_number":86,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":72,"id":"1a430d35_aa92b6f3","line":83,"range":{"start_line":83,"start_character":0,"end_line":83,"end_character":69},"updated":"2017-02-09 07:10:08.000000000","message":"Really?","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        pass"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    @abc.abstractmethod"},{"line_number":89,"context_line":"    def register_amphora(self, distributor, load_balancer, amphora,"},{"line_number":90,"context_line":"                         cluster_alg_type, cluster_min_size):"},{"line_number":91,"context_line":"        \"\"\"Called after amphora is ready to add amphora MAC"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-python","patch_set":72,"id":"1a430d35_8a6b3a1d","line":89,"updated":"2017-02-09 07:10:08.000000000","message":"Missing from the API doc","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        :param distributor: distributor object"},{"line_number":94,"context_line":"        :type distributor: object"},{"line_number":95,"context_line":"        :param load_balancer: A load balancer to which the amphora is attached"},{"line_number":96,"context_line":"        :type load_balancer: octavia.network.data_models.LoadBalancer"},{"line_number":97,"context_line":"        :param amphora: An amphora object"},{"line_number":98,"context_line":"        :type: amphora: an object that defines amphora to be registered"},{"line_number":99,"context_line":"        :param cluster_alg_type: specific algorithm type"}],"source_content_type":"text/x-python","patch_set":72,"id":"1a430d35_6ab36e98","line":96,"range":{"start_line":96,"start_character":29,"end_line":96,"end_character":69},"updated":"2017-02-09 07:10:08.000000000","message":"Really?","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        :type load_balancer: octavia.network.data_models.LoadBalancer"},{"line_number":97,"context_line":"        :param amphora: An amphora object"},{"line_number":98,"context_line":"        :type: amphora: an object that defines amphora to be registered"},{"line_number":99,"context_line":"        :param cluster_alg_type: specific algorithm type"},{"line_number":100,"context_line":"            (currently supported are ACTIVE_ACTIVE and PLUG_DEBUG)"},{"line_number":101,"context_line":"        :type arg_type: basestring"},{"line_number":102,"context_line":"        :param culster_min_size: minimal size of cluster"}],"source_content_type":"text/x-python","patch_set":72,"id":"1a430d35_ea659e1d","line":99,"range":{"start_line":99,"start_character":8,"end_line":99,"end_character":56},"updated":"2017-02-09 07:10:08.000000000","message":"This can change at any time?","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        pass"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    @abc.abstractmethod"},{"line_number":109,"context_line":"    def unregister_amphora(self, distributor, load_balancer,"},{"line_number":110,"context_line":"                           amphora, cluster_alg_type, cluster_min_size):"},{"line_number":111,"context_line":"        \"\"\"Called after amphora is ready to be removed"},{"line_number":112,"context_line":""}],"source_content_type":"text/x-python","patch_set":72,"id":"1a430d35_aa763603","line":109,"updated":"2017-02-09 07:10:08.000000000","message":"Missing from the API doc","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":114,"context_line":"        :type distributor: object"},{"line_number":115,"context_line":"        :param load_balancer: A load balancer from which the amphora is"},{"line_number":116,"context_line":"        detached"},{"line_number":117,"context_line":"        :type load_balancer: octavia.network.data_models.LoadBalancer"},{"line_number":118,"context_line":"        :param amphora: An amphora object"},{"line_number":119,"context_line":"        :type: amphora: an object that defines amphora to be unregistered"},{"line_number":120,"context_line":"        :param cluster_alg_type: specific algorithm type"}],"source_content_type":"text/x-python","patch_set":72,"id":"1a430d35_4a6f92fb","line":117,"range":{"start_line":117,"start_character":29,"end_line":117,"end_character":69},"updated":"2017-02-09 07:10:08.000000000","message":"?","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"61b109d426faf6c0e1359bb9690ff6c5bc91a1dc","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        :param server_group_id: Optional server group id(uuid) which is used"},{"line_number":47,"context_line":"                                for anti_affinity feature"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        :raises DistrinutorBuildException: if distributor failed to build"},{"line_number":50,"context_line":"                ditributor"},{"line_number":51,"context_line":"        :returns: distributor"},{"line_number":52,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":95,"id":"7f515b1d_55ef28e8","line":49,"range":{"start_line":49,"start_character":16,"end_line":49,"end_character":41},"updated":"2017-09-29 19:22:25.000000000","message":"Typo of DistributorBuildException?","commit_id":"b75b4e1e86b827439b0665f12402422afcecbdc0"}],"octavia/distributor/drivers/noop_driver/driver.py":[{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_357b042a","line":1,"updated":"2016-07-20 15:19:10.000000000","message":"2016","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":24261,"name":"Abed Abu dbai","email":"abeda@il.ibm.com","username":"abeda"},"change_message_id":"f862ab61cfbeaebe604a9619b38f329d606099d5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_0b2ddfa7","line":1,"in_reply_to":"dada55a8_357b042a","updated":"2016-12-12 13:30:00.000000000","message":"Done","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"ad4c035db728327bc878e73540a2b2615784aefd","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_ce8d99d4","line":1,"in_reply_to":"dada55a8_357b042a","updated":"2016-12-12 13:03:21.000000000","message":"Done","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":22,"context_line":"class NoopManager(object):"},{"line_number":23,"context_line":"    def __init__(self):"},{"line_number":24,"context_line":"        super(NoopManager, self).__init__()"},{"line_number":25,"context_line":"        self.distributorconfig \u003d {}"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    def get_info(self, distributor):"},{"line_number":28,"context_line":"        LOG.debug(\"distributor %s no-op, info distributor %s\","}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_95747036","line":25,"updated":"2016-07-20 15:19:10.000000000","message":"distributor_config or even config","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"ad4c035db728327bc878e73540a2b2615784aefd","unresolved":false,"context_lines":[{"line_number":22,"context_line":"class NoopManager(object):"},{"line_number":23,"context_line":"    def __init__(self):"},{"line_number":24,"context_line":"        super(NoopManager, self).__init__()"},{"line_number":25,"context_line":"        self.distributorconfig \u003d {}"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    def get_info(self, distributor):"},{"line_number":28,"context_line":"        LOG.debug(\"distributor %s no-op, info distributor %s\","}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_ee633518","line":25,"in_reply_to":"dada55a8_95747036","updated":"2016-12-12 13:03:21.000000000","message":"Done","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":72,"context_line":"class NoopDistributorDriver(driver_base.DistributorDriver):"},{"line_number":73,"context_line":"    def __init__(self):"},{"line_number":74,"context_line":"        super(NoopDistributorDriver, self).__init__()"},{"line_number":75,"context_line":"        self.driver \u003d NoopManager()"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def get_info(self, distributor):"},{"line_number":78,"context_line":"        self.driver.get_info(distributor)"}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_7571fc43","line":75,"updated":"2016-07-20 15:19:10.000000000","message":"In driver you can find a driver which is really a manager - sounds weird, am I right?","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"ad4c035db728327bc878e73540a2b2615784aefd","unresolved":false,"context_lines":[{"line_number":72,"context_line":"class NoopDistributorDriver(driver_base.DistributorDriver):"},{"line_number":73,"context_line":"    def __init__(self):"},{"line_number":74,"context_line":"        super(NoopDistributorDriver, self).__init__()"},{"line_number":75,"context_line":"        self.driver \u003d NoopManager()"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def get_info(self, distributor):"},{"line_number":78,"context_line":"        self.driver.get_info(distributor)"}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_6e8ac5c0","line":75,"in_reply_to":"dada55a8_7571fc43","updated":"2016-12-12 13:03:21.000000000","message":"Discussed in mid cycle. seems ok because was the same in amphorae","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"ab4c74806dace2abf383cee288a78a0a35671a2c","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def post_vip_plug(self, distributor, load_balancer, distributor_mac,"},{"line_number":58,"context_line":"                      alg_extra):"},{"line_number":59,"context_line":"        LOG.debug(\"distributor %s no-op, post vip plug load balancer %s\","},{"line_number":60,"context_line":"                  self.__class__.__name__, load_balancer.id)"},{"line_number":61,"context_line":"        self.distributorconfig[(load_balancer.id,"},{"line_number":62,"context_line":"                                distributor.id)] \u003d ("}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_256e882f","line":59,"range":{"start_line":59,"start_character":0,"end_line":59,"end_character":73},"updated":"2016-10-05 21:37:17.000000000","message":"The point of the no-op driver logging is to log how the method was called. This means you should be logging most if not all the options that it was called with. You\u0027re only logging the load_balancer.id in most of these methods, and you should really be logging more of the options.","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"45b056f03f75c95d07271559e193e3c816b788be","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def post_vip_plug(self, distributor, load_balancer, distributor_mac,"},{"line_number":58,"context_line":"                      alg_extra):"},{"line_number":59,"context_line":"        LOG.debug(\"distributor %s no-op, post vip plug load balancer %s\","},{"line_number":60,"context_line":"                  self.__class__.__name__, load_balancer.id)"},{"line_number":61,"context_line":"        self.distributorconfig[(load_balancer.id,"},{"line_number":62,"context_line":"                                distributor.id)] \u003d ("}],"source_content_type":"text/x-python","patch_set":33,"id":"3a71b18c_41b237e6","line":59,"range":{"start_line":59,"start_character":0,"end_line":59,"end_character":73},"in_reply_to":"1a95cdbc_256e882f","updated":"2016-12-12 14:11:58.000000000","message":"Done","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":42,"context_line":"            distributor.id, \u0027finalize_distributor\u0027)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def register_amphora(self, distributor, load_balancer, amphora, alg_extra):"},{"line_number":45,"context_line":"        LOG.debug(\"distributor %s no-op, register amphora %s\","},{"line_number":46,"context_line":"                  self.__class__.__name__, amphora.id)"},{"line_number":47,"context_line":"        self.distributorconfig[amphora.id] \u003d ("},{"line_number":48,"context_line":"            amphora.id, \u0027register_amphora\u0027)"}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_2f95d93f","line":45,"range":{"start_line":45,"start_character":18,"end_line":45,"end_character":62},"updated":"2016-10-10 22:51:58.000000000","message":"This should probably include the load balancer ID","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":42,"context_line":"            distributor.id, \u0027finalize_distributor\u0027)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def register_amphora(self, distributor, load_balancer, amphora, alg_extra):"},{"line_number":45,"context_line":"        LOG.debug(\"distributor %s no-op, register amphora %s\","},{"line_number":46,"context_line":"                  self.__class__.__name__, amphora.id)"},{"line_number":47,"context_line":"        self.distributorconfig[amphora.id] \u003d ("},{"line_number":48,"context_line":"            amphora.id, \u0027register_amphora\u0027)"}],"source_content_type":"text/x-python","patch_set":35,"id":"7a77a97e_6a6b4a85","line":45,"range":{"start_line":45,"start_character":18,"end_line":45,"end_character":62},"in_reply_to":"fa6399be_2f95d93f","updated":"2016-11-22 08:09:37.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    def register_amphora(self, distributor, load_balancer, amphora, alg_extra):"},{"line_number":45,"context_line":"        LOG.debug(\"distributor %s no-op, register amphora %s\","},{"line_number":46,"context_line":"                  self.__class__.__name__, amphora.id)"},{"line_number":47,"context_line":"        self.distributorconfig[amphora.id] \u003d ("},{"line_number":48,"context_line":"            amphora.id, \u0027register_amphora\u0027)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def unregister_amphora(self, distributor, load_balancer, amphora,"},{"line_number":51,"context_line":"                           alg_extra):"}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_8f46e5bd","line":48,"range":{"start_line":47,"start_character":0,"end_line":48,"end_character":43},"updated":"2016-10-10 22:51:58.000000000","message":"Should be loading the rest of the parameters.","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    def register_amphora(self, distributor, load_balancer, amphora, alg_extra):"},{"line_number":45,"context_line":"        LOG.debug(\"distributor %s no-op, register amphora %s\","},{"line_number":46,"context_line":"                  self.__class__.__name__, amphora.id)"},{"line_number":47,"context_line":"        self.distributorconfig[amphora.id] \u003d ("},{"line_number":48,"context_line":"            amphora.id, \u0027register_amphora\u0027)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def unregister_amphora(self, distributor, load_balancer, amphora,"},{"line_number":51,"context_line":"                           alg_extra):"}],"source_content_type":"text/x-python","patch_set":35,"id":"7a77a97e_4a704e72","line":48,"range":{"start_line":47,"start_character":0,"end_line":48,"end_character":43},"in_reply_to":"fa6399be_8f46e5bd","updated":"2016-11-22 08:09:37.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def unregister_amphora(self, distributor, load_balancer, amphora,"},{"line_number":51,"context_line":"                           alg_extra):"},{"line_number":52,"context_line":"        LOG.debug(\"distributor %s no-op, unregister amphora %s\","},{"line_number":53,"context_line":"                  self.__class__.__name__, amphora.id)"},{"line_number":54,"context_line":"        self.distributorconfig[amphora.id] \u003d ("},{"line_number":55,"context_line":"            amphora.id, \u0027unregister_amphora\u0027)"}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_4f920d59","line":52,"range":{"start_line":52,"start_character":18,"end_line":52,"end_character":64},"updated":"2016-10-10 22:51:58.000000000","message":"Same","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def unregister_amphora(self, distributor, load_balancer, amphora,"},{"line_number":51,"context_line":"                           alg_extra):"},{"line_number":52,"context_line":"        LOG.debug(\"distributor %s no-op, unregister amphora %s\","},{"line_number":53,"context_line":"                  self.__class__.__name__, amphora.id)"},{"line_number":54,"context_line":"        self.distributorconfig[amphora.id] \u003d ("},{"line_number":55,"context_line":"            amphora.id, \u0027unregister_amphora\u0027)"}],"source_content_type":"text/x-python","patch_set":35,"id":"7a77a97e_2a75d262","line":52,"range":{"start_line":52,"start_character":18,"end_line":52,"end_character":64},"in_reply_to":"fa6399be_4f920d59","updated":"2016-11-22 08:09:37.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":51,"context_line":"                           alg_extra):"},{"line_number":52,"context_line":"        LOG.debug(\"distributor %s no-op, unregister amphora %s\","},{"line_number":53,"context_line":"                  self.__class__.__name__, amphora.id)"},{"line_number":54,"context_line":"        self.distributorconfig[amphora.id] \u003d ("},{"line_number":55,"context_line":"            amphora.id, \u0027unregister_amphora\u0027)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def post_vip_plug(self, distributor, load_balancer, distributor_mac,"},{"line_number":58,"context_line":"                      alg_extra):"}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_af11e9b1","line":55,"range":{"start_line":54,"start_character":1,"end_line":55,"end_character":45},"updated":"2016-10-10 22:51:58.000000000","message":"Should be loading the rest of the parameters.","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":51,"context_line":"                           alg_extra):"},{"line_number":52,"context_line":"        LOG.debug(\"distributor %s no-op, unregister amphora %s\","},{"line_number":53,"context_line":"                  self.__class__.__name__, amphora.id)"},{"line_number":54,"context_line":"        self.distributorconfig[amphora.id] \u003d ("},{"line_number":55,"context_line":"            amphora.id, \u0027unregister_amphora\u0027)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def post_vip_plug(self, distributor, load_balancer, distributor_mac,"},{"line_number":58,"context_line":"                      alg_extra):"}],"source_content_type":"text/x-python","patch_set":35,"id":"7a77a97e_0a5ad6f1","line":55,"range":{"start_line":54,"start_character":1,"end_line":55,"end_character":45},"in_reply_to":"fa6399be_af11e9b1","updated":"2016-11-22 08:09:37.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def post_vip_plug(self, distributor, load_balancer, distributor_mac,"},{"line_number":58,"context_line":"                      alg_extra):"},{"line_number":59,"context_line":"        LOG.debug(\"distributor %s no-op, post vip plug load balancer %s\","},{"line_number":60,"context_line":"                  self.__class__.__name__, load_balancer.id)"},{"line_number":61,"context_line":"        self.distributorconfig[(load_balancer.id,"},{"line_number":62,"context_line":"                                distributor.id)] \u003d ("}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_6f9fd15f","line":59,"range":{"start_line":59,"start_character":18,"end_line":59,"end_character":72},"updated":"2016-10-10 22:51:58.000000000","message":"This should log the other fields as well.","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def post_vip_plug(self, distributor, load_balancer, distributor_mac,"},{"line_number":58,"context_line":"                      alg_extra):"},{"line_number":59,"context_line":"        LOG.debug(\"distributor %s no-op, post vip plug load balancer %s\","},{"line_number":60,"context_line":"                  self.__class__.__name__, load_balancer.id)"},{"line_number":61,"context_line":"        self.distributorconfig[(load_balancer.id,"},{"line_number":62,"context_line":"                                distributor.id)] \u003d ("}],"source_content_type":"text/x-python","patch_set":35,"id":"7a77a97e_ea567acc","line":59,"range":{"start_line":59,"start_character":18,"end_line":59,"end_character":72},"in_reply_to":"fa6399be_6f9fd15f","updated":"2016-11-22 08:09:37.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7f11f8db0af0c638d71f9096c2ff54e37524b52c","unresolved":false,"context_lines":[{"line_number":58,"context_line":"                      alg_extra):"},{"line_number":59,"context_line":"        LOG.debug(\"distributor %s no-op, post vip plug load balancer %s\","},{"line_number":60,"context_line":"                  self.__class__.__name__, load_balancer.id)"},{"line_number":61,"context_line":"        self.distributorconfig[(load_balancer.id,"},{"line_number":62,"context_line":"                                distributor.id)] \u003d ("},{"line_number":63,"context_line":"            load_balancer.id, distributor.id, \u0027post_vip_plug\u0027)"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"fa6399be_cf161da7","line":61,"updated":"2016-10-10 22:51:58.000000000","message":"Should be loading the rest of the parameters.","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"fda6bf8e37fcfc4eca1a2b2edbab72f075af1ebf","unresolved":false,"context_lines":[{"line_number":58,"context_line":"                      alg_extra):"},{"line_number":59,"context_line":"        LOG.debug(\"distributor %s no-op, post vip plug load balancer %s\","},{"line_number":60,"context_line":"                  self.__class__.__name__, load_balancer.id)"},{"line_number":61,"context_line":"        self.distributorconfig[(load_balancer.id,"},{"line_number":62,"context_line":"                                distributor.id)] \u003d ("},{"line_number":63,"context_line":"            load_balancer.id, distributor.id, \u0027post_vip_plug\u0027)"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"7a77a97e_ca637eaf","line":61,"in_reply_to":"fa6399be_cf161da7","updated":"2016-11-22 08:09:37.000000000","message":"Done","commit_id":"fced194a72fec3afa59e1ee4b6ee7b9def033796"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c91ba1d03fdc09ef7f697a32befafc756cfc7fd3","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from oslo_log import log as logging"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from octavia.distributor.drivers import driver_base as driver_base"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":72,"id":"1a430d35_6a61ae04","line":17,"range":{"start_line":17,"start_character":52,"end_line":17,"end_character":66},"updated":"2017-02-09 07:10:08.000000000","message":"This is not necessary.  You are renaming to the same name.","commit_id":"458612d627af9bcc3b53ea7aae4b2f5f575b5db5"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"19d6f8d8445a1f9fa99674125574825f0c294550","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        self.distributor_config[distributor.id] \u003d (distributor.id,"},{"line_number":36,"context_line":"                                                   \u0027get_diagnostics\u0027)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def register_amphora(self, distributor, load_balancer, amphora,"},{"line_number":39,"context_line":"                         cluster_alg_type, cluster_min_size):"},{"line_number":40,"context_line":"        LOG.debug(\"distributor %s no-op, register amphora %s with LB %s\","},{"line_number":41,"context_line":"                  self.__class__.__name__, amphora.id, load_balancer.id)"}],"source_content_type":"text/x-python","patch_set":73,"id":"da36d5c6_32e5a4db","line":38,"updated":"2017-02-23 21:25:00.000000000","message":"This only registers ONE amphora. I consulted with johnsom and diagram and at the mid cycle it was decided to allow multiple amphora. Maybe we can pass in a list of all the amphora. This would save us the delete call below.","commit_id":"71da963e2c8a30aaae5bf3f0d7a3df7efb99849e"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"46f5f8b6924811aac7dcb3c49a69064dbe1d49c7","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        self.distributor_config[distributor.id] \u003d (distributor.id,"},{"line_number":36,"context_line":"                                                   \u0027get_diagnostics\u0027)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def register_amphora(self, distributor, load_balancer, amphora,"},{"line_number":39,"context_line":"                         cluster_alg_type, cluster_min_size):"},{"line_number":40,"context_line":"        LOG.debug(\"distributor %s no-op, register amphora %s with LB %s\","},{"line_number":41,"context_line":"                  self.__class__.__name__, amphora.id, load_balancer.id)"}],"source_content_type":"text/x-python","patch_set":73,"id":"bff0334d_ff457844","line":38,"in_reply_to":"da36d5c6_32e5a4db","updated":"2017-09-28 21:10:45.000000000","message":"Done","commit_id":"71da963e2c8a30aaae5bf3f0d7a3df7efb99849e"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"19d6f8d8445a1f9fa99674125574825f0c294550","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                                                       cluster_min_size,"},{"line_number":51,"context_line":"                                                       \u0027register_amphora\u0027)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def unregister_amphora(self, distributor, load_balancer, amphora,"},{"line_number":54,"context_line":"                           cluster_alg_type, cluster_min_size):"},{"line_number":55,"context_line":"        LOG.debug(\"distributor %s no-op, unregister amphora %s, LB:%s\","},{"line_number":56,"context_line":"                  self.__class__.__name__, amphora.id, load_balancer.id)"}],"source_content_type":"text/x-python","patch_set":73,"id":"da36d5c6_72fabc76","line":53,"updated":"2017-02-23 21:25:00.000000000","message":"We also want to delete more than one amphora. Eventually it might be wise to remove this and just use the method above to set all amphora. Removing would be to set them without said amphora.","commit_id":"71da963e2c8a30aaae5bf3f0d7a3df7efb99849e"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"46f5f8b6924811aac7dcb3c49a69064dbe1d49c7","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                                                       cluster_min_size,"},{"line_number":51,"context_line":"                                                       \u0027register_amphora\u0027)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def unregister_amphora(self, distributor, load_balancer, amphora,"},{"line_number":54,"context_line":"                           cluster_alg_type, cluster_min_size):"},{"line_number":55,"context_line":"        LOG.debug(\"distributor %s no-op, unregister amphora %s, LB:%s\","},{"line_number":56,"context_line":"                  self.__class__.__name__, amphora.id, load_balancer.id)"}],"source_content_type":"text/x-python","patch_set":73,"id":"bff0334d_1fb93c2d","line":53,"in_reply_to":"da36d5c6_72fabc76","updated":"2017-09-28 21:10:45.000000000","message":"Done","commit_id":"71da963e2c8a30aaae5bf3f0d7a3df7efb99849e"}],"octavia/tests/functional/db/test_models.py":[{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":620,"context_line":"    def test_create(self):"},{"line_number":621,"context_line":"        self.create_distributor(self.session)"},{"line_number":622,"context_line":""},{"line_number":623,"context_line":"    def test_update(self):"},{"line_number":624,"context_line":"        distributor \u003d self.create_distributor(self.session)"},{"line_number":625,"context_line":"        distributor.distributor_id \u003d self.FAKE_UUID_2"},{"line_number":626,"context_line":"        new_distributor \u003d self.session.query(models.Distributor).filter_by("}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_55a5d89f","line":623,"updated":"2016-07-20 15:19:10.000000000","message":"What this test is testing? SQLAlchemy code to update data in database?","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"016ce8025ae46899305b1bc7e87aa1c44f3ac44d","unresolved":false,"context_lines":[{"line_number":620,"context_line":"    def test_create(self):"},{"line_number":621,"context_line":"        self.create_distributor(self.session)"},{"line_number":622,"context_line":""},{"line_number":623,"context_line":"    def test_update(self):"},{"line_number":624,"context_line":"        distributor \u003d self.create_distributor(self.session)"},{"line_number":625,"context_line":"        distributor.distributor_id \u003d self.FAKE_UUID_2"},{"line_number":626,"context_line":"        new_distributor \u003d self.session.query(models.Distributor).filter_by("}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_b7450944","line":623,"in_reply_to":"dada55a8_55a5d89f","updated":"2016-12-12 14:43:44.000000000","message":"I think so","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":627,"context_line":"            id\u003ddistributor.id).first()"},{"line_number":628,"context_line":"        self.assertEqual(self.FAKE_UUID_2, new_distributor.distributor_id)"},{"line_number":629,"context_line":""},{"line_number":630,"context_line":"    def test_delete(self):"},{"line_number":631,"context_line":"        distributor \u003d self.create_distributor(self.session)"},{"line_number":632,"context_line":"        with self.session.begin():"},{"line_number":633,"context_line":"            self.session.delete(distributor)"}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_35a2e499","line":630,"updated":"2016-07-20 15:19:10.000000000","message":"The same here. Why you\u0027re testing a code which exists only in test? Here you should test real methods not write code to verify that it\u0027s working","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"016ce8025ae46899305b1bc7e87aa1c44f3ac44d","unresolved":false,"context_lines":[{"line_number":627,"context_line":"            id\u003ddistributor.id).first()"},{"line_number":628,"context_line":"        self.assertEqual(self.FAKE_UUID_2, new_distributor.distributor_id)"},{"line_number":629,"context_line":""},{"line_number":630,"context_line":"    def test_delete(self):"},{"line_number":631,"context_line":"        distributor \u003d self.create_distributor(self.session)"},{"line_number":632,"context_line":"        with self.session.begin():"},{"line_number":633,"context_line":"            self.session.delete(distributor)"}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_176b1dba","line":630,"in_reply_to":"dada55a8_35a2e499","updated":"2016-12-12 14:43:44.000000000","message":"Done","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ce47a6cfaf0305856283eb729fc27806da24265a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    Copyright 2016 IBM Corp."},{"line_number":2,"context_line":"#    Copyright 2014 Rackspace"},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":33,"id":"1a95cdbc_fd3db6dd","line":1,"updated":"2016-10-07 17:11:33.000000000","message":"Order","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"},{"author":{"_account_id":24261,"name":"Abed Abu dbai","email":"abeda@il.ibm.com","username":"abeda"},"change_message_id":"eba045cfa7245b93543c5968720d35bc4b40e2ee","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    Copyright 2016 IBM Corp."},{"line_number":2,"context_line":"#    Copyright 2014 Rackspace"},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":33,"id":"3a71b18c_133991d7","line":1,"in_reply_to":"1a95cdbc_fd3db6dd","updated":"2016-12-12 13:31:57.000000000","message":"Done","commit_id":"41bc902e7fa2cf2361595ab7ea80e2358f4d50dd"}],"octavia/tests/functional/db/test_repositories.py":[{"author":{"_account_id":14615,"name":"Sergey Belous","email":"belous.py@gmail.com","username":"sbelous"},"change_message_id":"cd37f9f7f7a440a01350005e11ffe95828ce806a","unresolved":false,"context_lines":[{"line_number":8,"context_line":"#"},{"line_number":9,"context_line":"#    Unless required by applicable law or agreed to in writing, software"},{"line_number":10,"context_line":"#    distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT"},{"line_number":11,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See thet"},{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"bab6814e_b5139b65","line":11,"updated":"2016-05-19 16:51:36.000000000","message":"That\u0027s why pep8 failed.","commit_id":"e3298b529a2c06555875b6f048e827705a53e84c"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"ecbf84c725fa2ff64697dc52f03ed9c3fc188728","unresolved":false,"context_lines":[{"line_number":8,"context_line":"#"},{"line_number":9,"context_line":"#    Unless required by applicable law or agreed to in writing, software"},{"line_number":10,"context_line":"#    distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT"},{"line_number":11,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See thet"},{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"bab6814e_60015705","line":11,"in_reply_to":"bab6814e_b5139b65","updated":"2016-05-20 05:31:42.000000000","message":"Done","commit_id":"e3298b529a2c06555875b6f048e827705a53e84c"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":1536,"context_line":""},{"line_number":1537,"context_line":"    def create_distributor(self, distributor_id):"},{"line_number":1538,"context_line":"        dist_ready \u003d constants.DISTRIBUTOR_READY"},{"line_number":1539,"context_line":"        distributor \u003d self.distributor_repo.create(self.session,"},{"line_number":1540,"context_line":"                                                   id\u003ddistributor_id,"},{"line_number":1541,"context_line":"                                                   compute_id\u003dself.FAKE_UUID_4,"},{"line_number":1542,"context_line":"                                                   status\u003ddist_ready,"}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_75bf3caa","line":1539,"updated":"2016-07-20 15:19:10.000000000","message":"Move to new line","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"a33c2b087dcc0dad9deb659d4cde1d1b3d3f06c7","unresolved":false,"context_lines":[{"line_number":1536,"context_line":""},{"line_number":1537,"context_line":"    def create_distributor(self, distributor_id):"},{"line_number":1538,"context_line":"        dist_ready \u003d constants.DISTRIBUTOR_READY"},{"line_number":1539,"context_line":"        distributor \u003d self.distributor_repo.create(self.session,"},{"line_number":1540,"context_line":"                                                   id\u003ddistributor_id,"},{"line_number":1541,"context_line":"                                                   compute_id\u003dself.FAKE_UUID_4,"},{"line_number":1542,"context_line":"                                                   status\u003ddist_ready,"}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_f49b02c7","line":1539,"in_reply_to":"dada55a8_75bf3caa","updated":"2016-12-12 13:25:29.000000000","message":"Done","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":1545,"context_line":""},{"line_number":1546,"context_line":"    def test_get(self):"},{"line_number":1547,"context_line":"        distributor \u003d self.create_distributor(self.FAKE_UUID_2)"},{"line_number":1548,"context_line":"        new_distributor \u003d self.distributor_repo.get(self.session,"},{"line_number":1549,"context_line":"                                                    id\u003ddistributor.id)"},{"line_number":1550,"context_line":"        self.assertIsInstance(new_distributor, models.Distributor)"},{"line_number":1551,"context_line":"        self.assertEqual(distributor, new_distributor)"}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_d5dee80f","line":1548,"updated":"2016-07-20 15:19:10.000000000","message":"^^","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"a33c2b087dcc0dad9deb659d4cde1d1b3d3f06c7","unresolved":false,"context_lines":[{"line_number":1545,"context_line":""},{"line_number":1546,"context_line":"    def test_get(self):"},{"line_number":1547,"context_line":"        distributor \u003d self.create_distributor(self.FAKE_UUID_2)"},{"line_number":1548,"context_line":"        new_distributor \u003d self.distributor_repo.get(self.session,"},{"line_number":1549,"context_line":"                                                    id\u003ddistributor.id)"},{"line_number":1550,"context_line":"        self.assertIsInstance(new_distributor, models.Distributor)"},{"line_number":1551,"context_line":"        self.assertEqual(distributor, new_distributor)"}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_547e766a","line":1548,"in_reply_to":"dada55a8_d5dee80f","updated":"2016-12-12 13:25:29.000000000","message":"Done","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"}],"octavia/tests/unit/distributor/drivers/test_distributor_noop_driver.py":[{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_95abd074","line":1,"updated":"2016-07-20 15:19:10.000000000","message":"Company header","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"996deeed763b5b4fc8d388e61520feefec82a2b7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_c9a753a5","line":1,"in_reply_to":"dada55a8_95abd074","updated":"2016-12-12 13:20:43.000000000","message":"Done","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":24261,"name":"Abed Abu dbai","email":"abeda@il.ibm.com","username":"abeda"},"change_message_id":"f862ab61cfbeaebe604a9619b38f329d606099d5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_dda72a09","line":1,"in_reply_to":"dada55a8_95abd074","updated":"2016-12-12 13:30:00.000000000","message":"Done","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        self.amphora.id \u003d self.FAKE_UUID_1"},{"line_number":33,"context_line":"        self.load_balancer \u003d data_models.LoadBalancer("},{"line_number":34,"context_line":"            id\u003dself.FAKE_UUID_1, amphorae\u003d[self.amphora])"},{"line_number":35,"context_line":"        self.distributor \u003d models.Distributor()"},{"line_number":36,"context_line":"        self.distributor.id \u003d self.FAKE_UUID_2"},{"line_number":37,"context_line":"        self.alg_extra \u003d \"no_extra\""},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_75a8dc77","line":35,"updated":"2016-07-20 15:19:10.000000000","message":"Why not set that ID here?","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"996deeed763b5b4fc8d388e61520feefec82a2b7","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        self.amphora.id \u003d self.FAKE_UUID_1"},{"line_number":33,"context_line":"        self.load_balancer \u003d data_models.LoadBalancer("},{"line_number":34,"context_line":"            id\u003dself.FAKE_UUID_1, amphorae\u003d[self.amphora])"},{"line_number":35,"context_line":"        self.distributor \u003d models.Distributor()"},{"line_number":36,"context_line":"        self.distributor.id \u003d self.FAKE_UUID_2"},{"line_number":37,"context_line":"        self.alg_extra \u003d \"no_extra\""},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_49f503eb","line":35,"in_reply_to":"dada55a8_75a8dc77","updated":"2016-12-12 13:20:43.000000000","message":"I don\u0027t think it is that pricipal","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    def test_get_info(self):"},{"line_number":40,"context_line":"        self.driver.get_info(self.distributor)"},{"line_number":41,"context_line":"        self.assertEqual((self.distributor.id, \u0027get_info\u0027),"},{"line_number":42,"context_line":"                         self.driver.driver.distributorconfig["},{"line_number":43,"context_line":"                             self.distributor.id])"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_d5b708d6","line":41,"updated":"2016-07-20 15:19:10.000000000","message":"Please reorganize that code, it\u0027s horrible to read","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"996deeed763b5b4fc8d388e61520feefec82a2b7","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    def test_get_info(self):"},{"line_number":40,"context_line":"        self.driver.get_info(self.distributor)"},{"line_number":41,"context_line":"        self.assertEqual((self.distributor.id, \u0027get_info\u0027),"},{"line_number":42,"context_line":"                         self.driver.driver.distributorconfig["},{"line_number":43,"context_line":"                             self.distributor.id])"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_09322ba7","line":41,"in_reply_to":"dada55a8_d5b708d6","updated":"2016-12-12 13:20:43.000000000","message":"Done","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    def test_get_info(self):"},{"line_number":40,"context_line":"        self.driver.get_info(self.distributor)"},{"line_number":41,"context_line":"        self.assertEqual((self.distributor.id, \u0027get_info\u0027),"},{"line_number":42,"context_line":"                         self.driver.driver.distributorconfig["},{"line_number":43,"context_line":"                             self.distributor.id])"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def test_get_details(self):"}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_b5bc14bc","line":42,"updated":"2016-07-20 15:19:10.000000000","message":"Again driver has a driver which is driving to drivers madness","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"996deeed763b5b4fc8d388e61520feefec82a2b7","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    def test_get_info(self):"},{"line_number":40,"context_line":"        self.driver.get_info(self.distributor)"},{"line_number":41,"context_line":"        self.assertEqual((self.distributor.id, \u0027get_info\u0027),"},{"line_number":42,"context_line":"                         self.driver.driver.distributorconfig["},{"line_number":43,"context_line":"                             self.distributor.id])"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def test_get_details(self):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_4928a333","line":42,"in_reply_to":"dada55a8_b5bc14bc","updated":"2016-12-12 13:20:43.000000000","message":"Done","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"ef5edd5a8b976ae5ba8fbff2fabddd9e6f97116e","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def test_get_details(self):"},{"line_number":46,"context_line":"        self.driver.get_details(self.distributor)"},{"line_number":47,"context_line":"        self.assertEqual((self.distributor.id, \u0027get_diagnostics\u0027),"},{"line_number":48,"context_line":"                         self.driver.driver.distributorconfig["},{"line_number":49,"context_line":"                             self.distributor.id])"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"dada55a8_15aec080","line":47,"updated":"2016-07-20 15:19:10.000000000","message":"The same like ^^. Plus is it really good thing to give people access directly into configuration data? I thing it should be private attribute and only methods should add/edit data inside of it","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"},{"author":{"_account_id":21138,"name":"Valleriya Perelman","email":"perelman@il.ibm.com","username":"perelman"},"change_message_id":"996deeed763b5b4fc8d388e61520feefec82a2b7","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def test_get_details(self):"},{"line_number":46,"context_line":"        self.driver.get_details(self.distributor)"},{"line_number":47,"context_line":"        self.assertEqual((self.distributor.id, \u0027get_diagnostics\u0027),"},{"line_number":48,"context_line":"                         self.driver.driver.distributorconfig["},{"line_number":49,"context_line":"                             self.distributor.id])"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"3a71b18c_0995cb31","line":47,"in_reply_to":"dada55a8_15aec080","updated":"2016-12-12 13:20:43.000000000","message":"I am sorry, I dont understand the comment. Which configuration here should be private?\nIt is noop driver, nobody should also use it, only for tests","commit_id":"33c259a3b823d7f2847d56df903c4df6c7ac6c98"}]}
