)]}'
{"specs/version1.1/amphora-maintenance-mode.rst":[{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"32fe038fac88e89ebd7248724d8dbb9437e3e3a6","unresolved":false,"context_lines":[{"line_number":19,"context_line":"A deployer will sometimes need to maintain their fleet of hosts. In this case,"},{"line_number":20,"context_line":"Octavia would normally failover amphorae on those hosts onto other hosts. In"},{"line_number":21,"context_line":"some cases, the deployer would like to prevent this behavior, as the churn"},{"line_number":22,"context_line":"from this when performing maintenance on an entire AZ could be problematic."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The following proposal is acceptable if a deployer is willing to accept:"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_46025971","line":22,"updated":"2017-10-05 23:42:49.000000000","message":"we have rate limiting so this feature is mostly to \"speed up\" the maintenance","commit_id":"f8a12a473e2e1c4b36cc309a28304ae20ce447a9"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"bca6b6768fe6af896fa049b1cd651824419301f1","unresolved":false,"context_lines":[{"line_number":19,"context_line":"A deployer will sometimes need to maintain their fleet of hosts. In this case,"},{"line_number":20,"context_line":"Octavia would normally failover amphorae on those hosts onto other hosts. In"},{"line_number":21,"context_line":"some cases, the deployer would like to prevent this behavior, as the churn"},{"line_number":22,"context_line":"from this when performing maintenance on an entire AZ could be problematic."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The following proposal is acceptable if a deployer is willing to accept:"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_55955ae3","line":22,"in_reply_to":"7f515b1d_46025971","updated":"2017-10-06 07:55:22.000000000","message":"That\u0027s partly true... But, it\u0027s also to prevent a huge reshuffling of resources (possibly multiple times per amp, depending on how they get scheduled).\n\nIf you think it\u0027s still going to be less downtime/risk to just let amps failover naturally (again, possibly multiple times), maybe we really could just throw away this spec altogether.\n\nI\u0027m interested in hearing more opinions.","commit_id":"f8a12a473e2e1c4b36cc309a28304ae20ce447a9"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"32fe038fac88e89ebd7248724d8dbb9437e3e3a6","unresolved":false,"context_lines":[{"line_number":27,"context_line":"* Temporary degredation of the amphora pair (for ACTIVE_STANDBY topology) and"},{"line_number":28,"context_line":"  possibly a short downtime as keepalived switches roles (if the ACTIVE is on"},{"line_number":29,"context_line":"  the host that is going down)."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Proposed change"},{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_e6f2659a","line":30,"updated":"2017-10-05 23:42:49.000000000","message":"* doesn\u0027t have signed SLA\u0027s with users...","commit_id":"f8a12a473e2e1c4b36cc309a28304ae20ce447a9"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"bca6b6768fe6af896fa049b1cd651824419301f1","unresolved":false,"context_lines":[{"line_number":27,"context_line":"* Temporary degredation of the amphora pair (for ACTIVE_STANDBY topology) and"},{"line_number":28,"context_line":"  possibly a short downtime as keepalived switches roles (if the ACTIVE is on"},{"line_number":29,"context_line":"  the host that is going down)."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Proposed change"},{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_d5b14a91","line":30,"in_reply_to":"7f515b1d_e6f2659a","updated":"2017-10-06 07:55:22.000000000","message":"I\u0027m unaware of SLAs that are more complex than \"x% uptime\" for LBs (not that they don\u0027t exist anywhere, but I\u0027ve never seen one), so it\u0027s unclear to me that this is a problem. Do you have an example of such an SLA somewhere?\nI know our SLA is purely about uptime, HA is just how we are able to guarantee that. Being out of HA for even as much as an hour would probably not impact us that greatly, and the user doesn\u0027t care whether their LB is HA or not TECHNICALLY, what they care about is that it\u0027s up at least x% of the time.\nI think an operator could do this and still reasonably expect to keep to their 99.999% or whatever they claim.","commit_id":"f8a12a473e2e1c4b36cc309a28304ae20ce447a9"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"32fe038fac88e89ebd7248724d8dbb9437e3e3a6","unresolved":false,"context_lines":[{"line_number":31,"context_line":"Proposed change"},{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Add new `/maintenance` endpoints to allow an administrator to set \"maintenance"},{"line_number":35,"context_line":"mode\" on a list of amphorae by ID, or an entire AZ of amphorae by name (the"},{"line_number":36,"context_line":"controller-worker will automatically determine which amphorae are affected)."},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_4685b9ce","line":34,"updated":"2017-10-05 23:42:49.000000000","message":"It\u0027s called amphora/maintenance below so please adjust\n\nOn second thought all we want is to prevent failover so we could just set a failover attribute? Maintenance for me means that the operator put an entity in a state where the user can\u0027t change anything while the operator  performs some updates","commit_id":"f8a12a473e2e1c4b36cc309a28304ae20ce447a9"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"bca6b6768fe6af896fa049b1cd651824419301f1","unresolved":false,"context_lines":[{"line_number":31,"context_line":"Proposed change"},{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Add new `/maintenance` endpoints to allow an administrator to set \"maintenance"},{"line_number":35,"context_line":"mode\" on a list of amphorae by ID, or an entire AZ of amphorae by name (the"},{"line_number":36,"context_line":"controller-worker will automatically determine which amphorae are affected)."},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_55631a1b","line":34,"in_reply_to":"7f515b1d_4685b9ce","updated":"2017-10-06 07:55:22.000000000","message":"Ah yes, I was trying to be generic because there\u0027s two but they both end in /maintenance. I\u0027ll reword this.","commit_id":"f8a12a473e2e1c4b36cc309a28304ae20ce447a9"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"9bf4c1e12639ce22953ac16493db21ef1537daec","unresolved":false,"context_lines":[{"line_number":31,"context_line":"Proposed change"},{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Add new `/maintenance` endpoints to allow an administrator to set \"maintenance"},{"line_number":35,"context_line":"mode\" on a list of amphorae by ID, or an entire AZ of amphorae by name (the"},{"line_number":36,"context_line":"controller-worker will automatically determine which amphorae are affected)."},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_83226a00","line":34,"in_reply_to":"7f515b1d_55631a1b","updated":"2017-10-06 22:52:55.000000000","message":"Done","commit_id":"f8a12a473e2e1c4b36cc309a28304ae20ce447a9"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"32fe038fac88e89ebd7248724d8dbb9437e3e3a6","unresolved":false,"context_lines":[{"line_number":38,"context_line":"When maintenance mode is set on an amphora, it will be excluded from the stale"},{"line_number":39,"context_line":"amphora calculation. The healthmanager process will therefore not failover the"},{"line_number":40,"context_line":"amphora due to a stale heartbeat time."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Once maintenance mode is unset for an amphora, it will failover as normal if"},{"line_number":43,"context_line":"its heartbeat time is stale."},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_665b1587","line":41,"updated":"2017-10-05 23:42:49.000000000","message":"Are we still allowing updates to the LB? Or are we freezing them for the duration of the maintenance?","commit_id":"f8a12a473e2e1c4b36cc309a28304ae20ce447a9"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"bca6b6768fe6af896fa049b1cd651824419301f1","unresolved":false,"context_lines":[{"line_number":38,"context_line":"When maintenance mode is set on an amphora, it will be excluded from the stale"},{"line_number":39,"context_line":"amphora calculation. The healthmanager process will therefore not failover the"},{"line_number":40,"context_line":"amphora due to a stale heartbeat time."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Once maintenance mode is unset for an amphora, it will failover as normal if"},{"line_number":43,"context_line":"its heartbeat time is stale."},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_f5b446d3","line":41,"in_reply_to":"7f515b1d_665b1587","updated":"2017-10-06 07:55:22.000000000","message":"Still allowing updates -- I mentioned it down below, but I should mention it here too. We would allow updates, which would go to the active amp (in an active/passive) but we just ignore the frozen amp for the purposes of updates (in a SINGLE topo setup, an update is a NOOP that just stores the data to the DB and updates no amps, until the amp exits maintenance mode and gets a full update).","commit_id":"f8a12a473e2e1c4b36cc309a28304ae20ce447a9"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"9bf4c1e12639ce22953ac16493db21ef1537daec","unresolved":false,"context_lines":[{"line_number":38,"context_line":"When maintenance mode is set on an amphora, it will be excluded from the stale"},{"line_number":39,"context_line":"amphora calculation. The healthmanager process will therefore not failover the"},{"line_number":40,"context_line":"amphora due to a stale heartbeat time."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Once maintenance mode is unset for an amphora, it will failover as normal if"},{"line_number":43,"context_line":"its heartbeat time is stale."},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_e3b7de85","line":41,"in_reply_to":"7f515b1d_f5b446d3","updated":"2017-10-06 22:52:55.000000000","message":"Done","commit_id":"f8a12a473e2e1c4b36cc309a28304ae20ce447a9"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"32fe038fac88e89ebd7248724d8dbb9437e3e3a6","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Data model impact"},{"line_number":57,"context_line":"-----------------"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"Add a new column `availability_zone` to the `amphora` table."},{"line_number":60,"context_line":"The type will be VARCHAR(255) to match nova\u0027s record size."},{"line_number":61,"context_line":"The initial value will be NULL, and it can be backfilled manually."},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_86f2916e","line":59,"updated":"2017-10-05 23:42:49.000000000","message":"not sure if this is relevant. Nova should be able to hand out a list of affected amphora to feed to us...","commit_id":"f8a12a473e2e1c4b36cc309a28304ae20ce447a9"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"bca6b6768fe6af896fa049b1cd651824419301f1","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Data model impact"},{"line_number":57,"context_line":"-----------------"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"Add a new column `availability_zone` to the `amphora` table."},{"line_number":60,"context_line":"The type will be VARCHAR(255) to match nova\u0027s record size."},{"line_number":61,"context_line":"The initial value will be NULL, and it can be backfilled manually."},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_15e7e2e6","line":59,"in_reply_to":"7f515b1d_86f2916e","updated":"2017-10-06 07:55:22.000000000","message":"Hmm, I suppose it\u0027d be possible to query nova at the time that we need to do the calculation, but it seems like it\u0027s easy enough to store this here, speeds up the calculation, and we can use it for other things later too (I actually have another use lined up already).","commit_id":"f8a12a473e2e1c4b36cc309a28304ae20ce447a9"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"32fe038fac88e89ebd7248724d8dbb9437e3e3a6","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"All listed resources will be accessible only to admins."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"GET /v2/octavia/amphorae/maintenance"},{"line_number":73,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":".. csv-table::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_a6946de9","line":72,"updated":"2017-10-05 23:42:49.000000000","message":"I would entertain a /v2/octavia/amphorae?failover\u003dfalse endpoint since all we do is prevent a failover -- so why not be specific?","commit_id":"f8a12a473e2e1c4b36cc309a28304ae20ce447a9"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"bca6b6768fe6af896fa049b1cd651824419301f1","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"All listed resources will be accessible only to admins."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"GET /v2/octavia/amphorae/maintenance"},{"line_number":73,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":".. csv-table::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_7543b6b0","line":72,"in_reply_to":"7f515b1d_a6946de9","updated":"2017-10-06 07:55:22.000000000","message":"I need to be clearer above maybe, but there is more to this than just preventing failover, technically. We also block updates (and disable haproxy on the amp manually in any case besides SINGLE), as well as pushing the full config again when it leaves this state.","commit_id":"f8a12a473e2e1c4b36cc309a28304ae20ce447a9"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"32fe038fac88e89ebd7248724d8dbb9437e3e3a6","unresolved":false,"context_lines":[{"line_number":116,"context_line":"Other end user impact"},{"line_number":117,"context_line":"---------------------"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"None."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Performance Impact"},{"line_number":122,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_66e675eb","line":119,"updated":"2017-10-05 23:42:49.000000000","message":"End users will in most cases not know that their specific LB or amphora is under maintenance and can\u0027t take the necessary precautions. So depending on the SLA that might be unacceptable...","commit_id":"f8a12a473e2e1c4b36cc309a28304ae20ce447a9"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"bca6b6768fe6af896fa049b1cd651824419301f1","unresolved":false,"context_lines":[{"line_number":116,"context_line":"Other end user impact"},{"line_number":117,"context_line":"---------------------"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"None."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Performance Impact"},{"line_number":122,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_95763206","line":119,"in_reply_to":"7f515b1d_66e675eb","updated":"2017-10-06 07:55:22.000000000","message":"See my question about SLAs above... I don\u0027t know what kind of SLAs this might actually cause a problem with.","commit_id":"f8a12a473e2e1c4b36cc309a28304ae20ce447a9"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"643c789d6048c0b1c59767d0dda47032738ff702","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Add new `maintenance` endpoints to allow an administrator to set \"maintenance"},{"line_number":35,"context_line":"mode\" on a list of amphorae by ID, or an entire AZ of amphorae by name (the"},{"line_number":36,"context_line":"controller-worker will automatically determine which amphorae are affected)."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"When maintenance mode is set on an amphora, it will be excluded from the stale"},{"line_number":39,"context_line":"amphora calculation. The healthmanager process will therefore not failover the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_b59b5864","line":36,"range":{"start_line":36,"start_character":0,"end_line":36,"end_character":17},"updated":"2017-10-06 21:58:12.000000000","message":"This might be all on the API server side, so maybe don\u0027t call this out.","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"9bf4c1e12639ce22953ac16493db21ef1537daec","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Add new `maintenance` endpoints to allow an administrator to set \"maintenance"},{"line_number":35,"context_line":"mode\" on a list of amphorae by ID, or an entire AZ of amphorae by name (the"},{"line_number":36,"context_line":"controller-worker will automatically determine which amphorae are affected)."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"When maintenance mode is set on an amphora, it will be excluded from the stale"},{"line_number":39,"context_line":"amphora calculation. The healthmanager process will therefore not failover the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_67fe5339","line":36,"range":{"start_line":36,"start_character":0,"end_line":36,"end_character":17},"in_reply_to":"7f515b1d_b59b5864","updated":"2017-10-06 22:52:55.000000000","message":"Done","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"643c789d6048c0b1c59767d0dda47032738ff702","unresolved":false,"context_lines":[{"line_number":36,"context_line":"controller-worker will automatically determine which amphorae are affected)."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"When maintenance mode is set on an amphora, it will be excluded from the stale"},{"line_number":39,"context_line":"amphora calculation. The healthmanager process will therefore not failover the"},{"line_number":40,"context_line":"amphora due to a stale heartbeat time. It will also be sent a new config that"},{"line_number":41,"context_line":"disables it from serving traffic (in all topologies except SINGLE). It will be"},{"line_number":42,"context_line":"excluded from any further updates to config, though the LB will still be"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_15b8ecc5","line":39,"range":{"start_line":39,"start_character":25,"end_line":39,"end_character":38},"updated":"2017-10-06 21:58:12.000000000","message":"health manager?","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"68fbbda814a7fb487542fceb44a35edeca485fdd","unresolved":false,"context_lines":[{"line_number":36,"context_line":"controller-worker will automatically determine which amphorae are affected)."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"When maintenance mode is set on an amphora, it will be excluded from the stale"},{"line_number":39,"context_line":"amphora calculation. The healthmanager process will therefore not failover the"},{"line_number":40,"context_line":"amphora due to a stale heartbeat time. It will also be sent a new config that"},{"line_number":41,"context_line":"disables it from serving traffic (in all topologies except SINGLE). It will be"},{"line_number":42,"context_line":"excluded from any further updates to config, though the LB will still be"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_3dacee8a","line":39,"range":{"start_line":39,"start_character":25,"end_line":39,"end_character":38},"in_reply_to":"7f515b1d_15b8ecc5","updated":"2017-10-07 00:11:37.000000000","message":"Done","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"643c789d6048c0b1c59767d0dda47032738ff702","unresolved":false,"context_lines":[{"line_number":40,"context_line":"amphora due to a stale heartbeat time. It will also be sent a new config that"},{"line_number":41,"context_line":"disables it from serving traffic (in all topologies except SINGLE). It will be"},{"line_number":42,"context_line":"excluded from any further updates to config, though the LB will still be"},{"line_number":43,"context_line":"mutable (the changes will just not be sent to the frozen amphora)."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Once maintenance mode is unset for an amphora, a full config will be pushed to"},{"line_number":46,"context_line":"it automatically, and it will again failover as normal if its heartbeat time"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_15dd8c13","line":43,"range":{"start_line":43,"start_character":9,"end_line":43,"end_character":64},"updated":"2017-10-06 21:58:12.000000000","message":"until maintenance mode is lifted","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"9bf4c1e12639ce22953ac16493db21ef1537daec","unresolved":false,"context_lines":[{"line_number":40,"context_line":"amphora due to a stale heartbeat time. It will also be sent a new config that"},{"line_number":41,"context_line":"disables it from serving traffic (in all topologies except SINGLE). It will be"},{"line_number":42,"context_line":"excluded from any further updates to config, though the LB will still be"},{"line_number":43,"context_line":"mutable (the changes will just not be sent to the frozen amphora)."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Once maintenance mode is unset for an amphora, a full config will be pushed to"},{"line_number":46,"context_line":"it automatically, and it will again failover as normal if its heartbeat time"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_07631f1c","line":43,"range":{"start_line":43,"start_character":9,"end_line":43,"end_character":64},"in_reply_to":"7f515b1d_15dd8c13","updated":"2017-10-06 22:52:55.000000000","message":"Done","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"643c789d6048c0b1c59767d0dda47032738ff702","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Once maintenance mode is unset for an amphora, a full config will be pushed to"},{"line_number":46,"context_line":"it automatically, and it will again failover as normal if its heartbeat time"},{"line_number":47,"context_line":"becomes stale (or is still stale because it didn\u0027t come back up)."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_55dae416","line":47,"range":{"start_line":47,"start_character":14,"end_line":47,"end_character":64},"updated":"2017-10-06 21:58:12.000000000","message":"nit: Don\u0027t need the parenthesis here.","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"9bf4c1e12639ce22953ac16493db21ef1537daec","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Once maintenance mode is unset for an amphora, a full config will be pushed to"},{"line_number":46,"context_line":"it automatically, and it will again failover as normal if its heartbeat time"},{"line_number":47,"context_line":"becomes stale (or is still stale because it didn\u0027t come back up)."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_6771b3de","line":47,"range":{"start_line":47,"start_character":14,"end_line":47,"end_character":64},"in_reply_to":"7f515b1d_55dae416","updated":"2017-10-06 22:52:55.000000000","message":"Done","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"643c789d6048c0b1c59767d0dda47032738ff702","unresolved":false,"context_lines":[{"line_number":46,"context_line":"it automatically, and it will again failover as normal if its heartbeat time"},{"line_number":47,"context_line":"becomes stale (or is still stale because it didn\u0027t come back up)."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* Have a more thorough maintenance resource that could track maintenances as"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_f52d50fd","line":49,"range":{"start_line":49,"start_character":0,"end_line":49,"end_character":12},"updated":"2017-10-06 21:58:12.000000000","message":"The operator live-migrates the instances to hosts not impacted by the maintenance. (How I would do it)","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4ed08f093269d73eb0229615b5eeee1fe21746b5","unresolved":false,"context_lines":[{"line_number":46,"context_line":"it automatically, and it will again failover as normal if its heartbeat time"},{"line_number":47,"context_line":"becomes stale (or is still stale because it didn\u0027t come back up)."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* Have a more thorough maintenance resource that could track maintenances as"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_ea656a1e","line":49,"range":{"start_line":49,"start_character":0,"end_line":49,"end_character":12},"in_reply_to":"7f515b1d_c7450772","updated":"2017-10-06 23:29:04.000000000","message":"Not sure I agree, it would be a simple nova query to find the amps that qualify.  Live migration could be done completely outside of Octavia as part of a standard maintenance process.","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"9bf4c1e12639ce22953ac16493db21ef1537daec","unresolved":false,"context_lines":[{"line_number":46,"context_line":"it automatically, and it will again failover as normal if its heartbeat time"},{"line_number":47,"context_line":"becomes stale (or is still stale because it didn\u0027t come back up)."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* Have a more thorough maintenance resource that could track maintenances as"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_c7450772","line":49,"range":{"start_line":49,"start_character":0,"end_line":49,"end_character":12},"in_reply_to":"7f515b1d_f52d50fd","updated":"2017-10-06 22:52:55.000000000","message":"I\u0027d still have that be something WE handle, so I\u0027m adding it to the third alternative.","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"643c789d6048c0b1c59767d0dda47032738ff702","unresolved":false,"context_lines":[{"line_number":52,"context_line":"* Have a more thorough maintenance resource that could track maintenances as"},{"line_number":53,"context_line":"  individual records and allow them to have a state flow and attach notes or"},{"line_number":54,"context_line":"  other metadata."},{"line_number":55,"context_line":"* Simply allow admins to set specific amphorae as busy to prevent any changes"},{"line_number":56,"context_line":"  or failovers, and manually set them back."},{"line_number":57,"context_line":"* Create an endpoint to \"evacuate\" an AZ and preemptively failover all amps to"},{"line_number":58,"context_line":"  another AZ."},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_35ee48b4","line":56,"range":{"start_line":55,"start_character":2,"end_line":56,"end_character":43},"updated":"2017-10-06 21:58:12.000000000","message":"I have been wondering about this. How is this really different?  The config push?","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"9bf4c1e12639ce22953ac16493db21ef1537daec","unresolved":false,"context_lines":[{"line_number":52,"context_line":"* Have a more thorough maintenance resource that could track maintenances as"},{"line_number":53,"context_line":"  individual records and allow them to have a state flow and attach notes or"},{"line_number":54,"context_line":"  other metadata."},{"line_number":55,"context_line":"* Simply allow admins to set specific amphorae as busy to prevent any changes"},{"line_number":56,"context_line":"  or failovers, and manually set them back."},{"line_number":57,"context_line":"* Create an endpoint to \"evacuate\" an AZ and preemptively failover all amps to"},{"line_number":58,"context_line":"  another AZ."},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_675ad350","line":56,"range":{"start_line":55,"start_character":2,"end_line":56,"end_character":43},"in_reply_to":"7f515b1d_35ee48b4","updated":"2017-10-06 22:52:55.000000000","message":"Yes... Both the config push at the end, and because if a user does a change when an amp is unreachable, it will cause the LB and the amp to go to ERROR.","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"643c789d6048c0b1c59767d0dda47032738ff702","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Add a new column `maintenance` to the `amphora_health` table."},{"line_number":68,"context_line":"The type will be BOOLEAN to signal whether the amphora is under maintenance."},{"line_number":69,"context_line":"The initial value will be 0."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"REST API impact"},{"line_number":72,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_15146c9f","line":69,"range":{"start_line":69,"start_character":26,"end_line":69,"end_character":27},"updated":"2017-10-06 21:58:12.000000000","message":"false","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"9bf4c1e12639ce22953ac16493db21ef1537daec","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Add a new column `maintenance` to the `amphora_health` table."},{"line_number":68,"context_line":"The type will be BOOLEAN to signal whether the amphora is under maintenance."},{"line_number":69,"context_line":"The initial value will be 0."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"REST API impact"},{"line_number":72,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_47591758","line":69,"range":{"start_line":69,"start_character":26,"end_line":69,"end_character":27},"in_reply_to":"7f515b1d_15146c9f","updated":"2017-10-06 22:52:55.000000000","message":"I waffled on this, almost put BOTH, but sure. We\u0027re talking about SQL here and technically there is no \"False\", but I don\u0027t care either way.","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"643c789d6048c0b1c59767d0dda47032738ff702","unresolved":false,"context_lines":[{"line_number":71,"context_line":"REST API impact"},{"line_number":72,"context_line":"---------------"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"All listed resources will be accessible only to admins."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"GET /v2/octavia/amphorae/maintenance"},{"line_number":77,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_5521c4fa","line":74,"range":{"start_line":74,"start_character":48,"end_line":74,"end_character":55},"updated":"2017-10-06 21:58:12.000000000","message":"In the default RBAC policy.","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"9bf4c1e12639ce22953ac16493db21ef1537daec","unresolved":false,"context_lines":[{"line_number":71,"context_line":"REST API impact"},{"line_number":72,"context_line":"---------------"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"All listed resources will be accessible only to admins."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"GET /v2/octavia/amphorae/maintenance"},{"line_number":77,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_c73aa7e5","line":74,"range":{"start_line":74,"start_character":48,"end_line":74,"end_character":55},"in_reply_to":"7f515b1d_5521c4fa","updated":"2017-10-06 22:52:55.000000000","message":"Done","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"643c789d6048c0b1c59767d0dda47032738ff702","unresolved":false,"context_lines":[{"line_number":79,"context_line":".. csv-table::"},{"line_number":80,"context_line":"    :header: Name,Type,Description"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    amphorae,list\u003cUUID\u003e,List of Amphorae that are set for maintenance"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"POST /v2/octavia/amphorae/maintenance"},{"line_number":85,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_354ac8ab","line":82,"range":{"start_line":82,"start_character":24,"end_line":82,"end_character":69},"updated":"2017-10-06 21:58:12.000000000","message":"This should list all amphora and their maintenance status, maintenance or not. Filters can be used to get only amps in or out of maintenance.","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"9bf4c1e12639ce22953ac16493db21ef1537daec","unresolved":false,"context_lines":[{"line_number":79,"context_line":".. csv-table::"},{"line_number":80,"context_line":"    :header: Name,Type,Description"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    amphorae,list\u003cUUID\u003e,List of Amphorae that are set for maintenance"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"POST /v2/octavia/amphorae/maintenance"},{"line_number":85,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_8724afc7","line":82,"range":{"start_line":82,"start_character":24,"end_line":82,"end_character":69},"in_reply_to":"7f515b1d_354ac8ab","updated":"2017-10-06 22:52:55.000000000","message":"Then technically we shouldn\u0027t even have a GET on this endpoint, because you can get that data just from the /amphorae endpoint using filters... I guess I\u0027ll remove this.","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"68fbbda814a7fb487542fceb44a35edeca485fdd","unresolved":false,"context_lines":[{"line_number":79,"context_line":".. csv-table::"},{"line_number":80,"context_line":"    :header: Name,Type,Description"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    amphorae,list\u003cUUID\u003e,List of Amphorae that are set for maintenance"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"POST /v2/octavia/amphorae/maintenance"},{"line_number":85,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_1d72524a","line":82,"range":{"start_line":82,"start_character":24,"end_line":82,"end_character":69},"in_reply_to":"7f515b1d_6a717ade","updated":"2017-10-07 00:11:37.000000000","message":"AH right, that\u0027s why. Alright, re-adding it...","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4ed08f093269d73eb0229615b5eeee1fe21746b5","unresolved":false,"context_lines":[{"line_number":79,"context_line":".. csv-table::"},{"line_number":80,"context_line":"    :header: Name,Type,Description"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    amphorae,list\u003cUUID\u003e,List of Amphorae that are set for maintenance"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"POST /v2/octavia/amphorae/maintenance"},{"line_number":85,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_6a717ade","line":82,"range":{"start_line":82,"start_character":24,"end_line":82,"end_character":69},"in_reply_to":"7f515b1d_8724afc7","updated":"2017-10-06 23:29:04.000000000","message":"We decided against that as this is querying the amphora-health table and not the main amphora table, so it make sense and cleaner to have this.","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"643c789d6048c0b1c59767d0dda47032738ff702","unresolved":false,"context_lines":[{"line_number":87,"context_line":".. csv-table::"},{"line_number":88,"context_line":"    :header: Name,Type,Required,Description"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    amphorae,list\u003cUUID\u003e,No,List of Amphorae to individually set for maintenance"},{"line_number":91,"context_line":"    availability_zone,string,No,Name of the Availability Zone to select Amphorae for maintenance"},{"line_number":92,"context_line":"    maintenance,boolean,Yes,Enable or disable maintenance mode"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"GET /v2/octavia/amphorae/{UUID}/maintenance"},{"line_number":95,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_55e424ac","line":92,"range":{"start_line":90,"start_character":4,"end_line":92,"end_character":62},"updated":"2017-10-06 21:58:12.000000000","message":"Let\u0027s be clear here, are amphorae and availability_zone mutually exclusive?","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4ed08f093269d73eb0229615b5eeee1fe21746b5","unresolved":false,"context_lines":[{"line_number":87,"context_line":".. csv-table::"},{"line_number":88,"context_line":"    :header: Name,Type,Required,Description"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    amphorae,list\u003cUUID\u003e,No,List of Amphorae to individually set for maintenance"},{"line_number":91,"context_line":"    availability_zone,string,No,Name of the Availability Zone to select Amphorae for maintenance"},{"line_number":92,"context_line":"    maintenance,boolean,Yes,Enable or disable maintenance mode"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"GET /v2/octavia/amphorae/{UUID}/maintenance"},{"line_number":95,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_2a54a220","line":92,"range":{"start_line":90,"start_character":4,"end_line":92,"end_character":62},"in_reply_to":"7f515b1d_27029b0c","updated":"2017-10-06 23:29:04.000000000","message":"Just extra complication to the API, but ok...","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"68fbbda814a7fb487542fceb44a35edeca485fdd","unresolved":false,"context_lines":[{"line_number":87,"context_line":".. csv-table::"},{"line_number":88,"context_line":"    :header: Name,Type,Required,Description"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    amphorae,list\u003cUUID\u003e,No,List of Amphorae to individually set for maintenance"},{"line_number":91,"context_line":"    availability_zone,string,No,Name of the Availability Zone to select Amphorae for maintenance"},{"line_number":92,"context_line":"    maintenance,boolean,Yes,Enable or disable maintenance mode"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"GET /v2/octavia/amphorae/{UUID}/maintenance"},{"line_number":95,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_fd8e5625","line":92,"range":{"start_line":90,"start_character":4,"end_line":92,"end_character":62},"in_reply_to":"7f515b1d_2a54a220","updated":"2017-10-07 00:11:37.000000000","message":"Making them both optional but mutually exclusive is actually much more complex than just doing a union operation.","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"9bf4c1e12639ce22953ac16493db21ef1537daec","unresolved":false,"context_lines":[{"line_number":87,"context_line":".. csv-table::"},{"line_number":88,"context_line":"    :header: Name,Type,Required,Description"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    amphorae,list\u003cUUID\u003e,No,List of Amphorae to individually set for maintenance"},{"line_number":91,"context_line":"    availability_zone,string,No,Name of the Availability Zone to select Amphorae for maintenance"},{"line_number":92,"context_line":"    maintenance,boolean,Yes,Enable or disable maintenance mode"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"GET /v2/octavia/amphorae/{UUID}/maintenance"},{"line_number":95,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_27029b0c","line":92,"range":{"start_line":90,"start_character":4,"end_line":92,"end_character":62},"in_reply_to":"7f515b1d_55e424ac","updated":"2017-10-06 22:52:55.000000000","message":"No, I actually don\u0027t think they need to be. It\u0027d be an additive set, in the end.","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"643c789d6048c0b1c59767d0dda47032738ff702","unresolved":false,"context_lines":[{"line_number":97,"context_line":".. csv-table::"},{"line_number":98,"context_line":"    :header: Name,Type,Description"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    maintenance,boolean,Maintenance mode state of the amphora"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"POST /v2/octavia/amphorae/{UUID}/maintenance"},{"line_number":103,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_d5e93480","line":100,"range":{"start_line":100,"start_character":4,"end_line":100,"end_character":61},"updated":"2017-10-06 21:58:12.000000000","message":"Typically we also return the UUID in the results.  What do you think?","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4ed08f093269d73eb0229615b5eeee1fe21746b5","unresolved":false,"context_lines":[{"line_number":97,"context_line":".. csv-table::"},{"line_number":98,"context_line":"    :header: Name,Type,Description"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    maintenance,boolean,Maintenance mode state of the amphora"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"POST /v2/octavia/amphorae/{UUID}/maintenance"},{"line_number":103,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_ca3aaee5","line":100,"range":{"start_line":100,"start_character":4,"end_line":100,"end_character":61},"in_reply_to":"7f515b1d_870dcf3f","updated":"2017-10-06 23:29:04.000000000","message":"Same as above, this is in the amphora-health table, so cleaner to leave.","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"68fbbda814a7fb487542fceb44a35edeca485fdd","unresolved":false,"context_lines":[{"line_number":97,"context_line":".. csv-table::"},{"line_number":98,"context_line":"    :header: Name,Type,Description"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    maintenance,boolean,Maintenance mode state of the amphora"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"POST /v2/octavia/amphorae/{UUID}/maintenance"},{"line_number":103,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_dd915a48","line":100,"range":{"start_line":100,"start_character":4,"end_line":100,"end_character":61},"in_reply_to":"7f515b1d_ca3aaee5","updated":"2017-10-07 00:11:37.000000000","message":"Done","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"9bf4c1e12639ce22953ac16493db21ef1537daec","unresolved":false,"context_lines":[{"line_number":97,"context_line":".. csv-table::"},{"line_number":98,"context_line":"    :header: Name,Type,Description"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    maintenance,boolean,Maintenance mode state of the amphora"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"POST /v2/octavia/amphorae/{UUID}/maintenance"},{"line_number":103,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_870dcf3f","line":100,"range":{"start_line":100,"start_character":4,"end_line":100,"end_character":61},"in_reply_to":"7f515b1d_d5e93480","updated":"2017-10-06 22:52:55.000000000","message":"Removing this entirely as this field comes back in the main amphora response.","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"643c789d6048c0b1c59767d0dda47032738ff702","unresolved":false,"context_lines":[{"line_number":110,"context_line":"Security impact"},{"line_number":111,"context_line":"---------------"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"None."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Notifications impact"},{"line_number":116,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_956cdc36","line":113,"range":{"start_line":113,"start_character":0,"end_line":113,"end_character":5},"updated":"2017-10-06 21:58:12.000000000","message":"RBAC policy will need to be applied to these paths.","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"9bf4c1e12639ce22953ac16493db21ef1537daec","unresolved":false,"context_lines":[{"line_number":110,"context_line":"Security impact"},{"line_number":111,"context_line":"---------------"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"None."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Notifications impact"},{"line_number":116,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_ca086e29","line":113,"range":{"start_line":113,"start_character":0,"end_line":113,"end_character":5},"in_reply_to":"7f515b1d_956cdc36","updated":"2017-10-06 22:52:55.000000000","message":"Done","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"643c789d6048c0b1c59767d0dda47032738ff702","unresolved":false,"context_lines":[{"line_number":125,"context_line":"Performance Impact"},{"line_number":126,"context_line":"------------------"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"If Octavia is deployed in SINGLE topology, affected LBs will experience some"},{"line_number":129,"context_line":"hard downtime while their host is offline."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"If Octavia is deployed in ACTIVE_STANDBY topology, affected LBs may failover"},{"line_number":132,"context_line":"to their STANDBY node via the default keepalived mechanism (but only if the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_f5c0b0e2","line":129,"range":{"start_line":128,"start_character":0,"end_line":129,"end_character":42},"updated":"2017-10-06 21:58:12.000000000","message":"We aren\u0027t talking about what happens to the amp after they are put into maintenance.  We should talk to the behavior of this change which is they will not failover in the event of a failure and that they will have a config push when exiting maintenance.","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"9bf4c1e12639ce22953ac16493db21ef1537daec","unresolved":false,"context_lines":[{"line_number":125,"context_line":"Performance Impact"},{"line_number":126,"context_line":"------------------"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"If Octavia is deployed in SINGLE topology, affected LBs will experience some"},{"line_number":129,"context_line":"hard downtime while their host is offline."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"If Octavia is deployed in ACTIVE_STANDBY topology, affected LBs may failover"},{"line_number":132,"context_line":"to their STANDBY node via the default keepalived mechanism (but only if the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_aa2412b0","line":129,"range":{"start_line":128,"start_character":0,"end_line":129,"end_character":42},"in_reply_to":"7f515b1d_f5c0b0e2","updated":"2017-10-06 22:52:55.000000000","message":"Done","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"643c789d6048c0b1c59767d0dda47032738ff702","unresolved":false,"context_lines":[{"line_number":128,"context_line":"If Octavia is deployed in SINGLE topology, affected LBs will experience some"},{"line_number":129,"context_line":"hard downtime while their host is offline."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"If Octavia is deployed in ACTIVE_STANDBY topology, affected LBs may failover"},{"line_number":132,"context_line":"to their STANDBY node via the default keepalived mechanism (but only if the"},{"line_number":133,"context_line":"currently ACTIVE node is the one affected by the maintenance) and will"},{"line_number":134,"context_line":"experience the same short downtime as the VIP is moved."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Once the maintenance is unset, amps that are not receiving new heartbeats will"},{"line_number":137,"context_line":"immediately failover as normal. If some hosts did not properly bring up their"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_75acc034","line":134,"range":{"start_line":131,"start_character":51,"end_line":134,"end_character":55},"updated":"2017-10-06 21:58:12.000000000","message":"Could be re-worded to remove the parenthesis.","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"9bf4c1e12639ce22953ac16493db21ef1537daec","unresolved":false,"context_lines":[{"line_number":128,"context_line":"If Octavia is deployed in SINGLE topology, affected LBs will experience some"},{"line_number":129,"context_line":"hard downtime while their host is offline."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"If Octavia is deployed in ACTIVE_STANDBY topology, affected LBs may failover"},{"line_number":132,"context_line":"to their STANDBY node via the default keepalived mechanism (but only if the"},{"line_number":133,"context_line":"currently ACTIVE node is the one affected by the maintenance) and will"},{"line_number":134,"context_line":"experience the same short downtime as the VIP is moved."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Once the maintenance is unset, amps that are not receiving new heartbeats will"},{"line_number":137,"context_line":"immediately failover as normal. If some hosts did not properly bring up their"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_2a3022e8","line":134,"range":{"start_line":131,"start_character":51,"end_line":134,"end_character":55},"in_reply_to":"7f515b1d_75acc034","updated":"2017-10-06 22:52:55.000000000","message":"Done","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"643c789d6048c0b1c59767d0dda47032738ff702","unresolved":false,"context_lines":[{"line_number":133,"context_line":"currently ACTIVE node is the one affected by the maintenance) and will"},{"line_number":134,"context_line":"experience the same short downtime as the VIP is moved."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Once the maintenance is unset, amps that are not receiving new heartbeats will"},{"line_number":137,"context_line":"immediately failover as normal. If some hosts did not properly bring up their"},{"line_number":138,"context_line":"amphorae after the maintenance, there could be a rush of new amp creation. To"},{"line_number":139,"context_line":"guard against this case, it is recommended that deployers make use of the amp"},{"line_number":140,"context_line":"creation rate limit feature."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_15634c1c","line":137,"range":{"start_line":136,"start_character":74,"end_line":137,"end_character":11},"updated":"2017-10-06 21:58:12.000000000","message":"Well, on the next health check interval which is operator configurable.","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"9bf4c1e12639ce22953ac16493db21ef1537daec","unresolved":false,"context_lines":[{"line_number":133,"context_line":"currently ACTIVE node is the one affected by the maintenance) and will"},{"line_number":134,"context_line":"experience the same short downtime as the VIP is moved."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Once the maintenance is unset, amps that are not receiving new heartbeats will"},{"line_number":137,"context_line":"immediately failover as normal. If some hosts did not properly bring up their"},{"line_number":138,"context_line":"amphorae after the maintenance, there could be a rush of new amp creation. To"},{"line_number":139,"context_line":"guard against this case, it is recommended that deployers make use of the amp"},{"line_number":140,"context_line":"creation rate limit feature."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_8a403637","line":137,"range":{"start_line":136,"start_character":74,"end_line":137,"end_character":11},"in_reply_to":"7f515b1d_15634c1c","updated":"2017-10-06 22:52:55.000000000","message":"Done","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"643c789d6048c0b1c59767d0dda47032738ff702","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Once the maintenance is unset, amps that are not receiving new heartbeats will"},{"line_number":137,"context_line":"immediately failover as normal. If some hosts did not properly bring up their"},{"line_number":138,"context_line":"amphorae after the maintenance, there could be a rush of new amp creation. To"},{"line_number":139,"context_line":"guard against this case, it is recommended that deployers make use of the amp"},{"line_number":140,"context_line":"creation rate limit feature."},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_f565501e","line":138,"range":{"start_line":138,"start_character":57,"end_line":138,"end_character":73},"updated":"2017-10-06 21:58:12.000000000","message":"failovers","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"9bf4c1e12639ce22953ac16493db21ef1537daec","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Once the maintenance is unset, amps that are not receiving new heartbeats will"},{"line_number":137,"context_line":"immediately failover as normal. If some hosts did not properly bring up their"},{"line_number":138,"context_line":"amphorae after the maintenance, there could be a rush of new amp creation. To"},{"line_number":139,"context_line":"guard against this case, it is recommended that deployers make use of the amp"},{"line_number":140,"context_line":"creation rate limit feature."},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_ea78ca8f","line":138,"range":{"start_line":138,"start_character":57,"end_line":138,"end_character":73},"in_reply_to":"7f515b1d_f565501e","updated":"2017-10-06 22:52:55.000000000","message":"I mean yes, but that IS this. I\u0027ll still reword it.","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"643c789d6048c0b1c59767d0dda47032738ff702","unresolved":false,"context_lines":[{"line_number":137,"context_line":"immediately failover as normal. If some hosts did not properly bring up their"},{"line_number":138,"context_line":"amphorae after the maintenance, there could be a rush of new amp creation. To"},{"line_number":139,"context_line":"guard against this case, it is recommended that deployers make use of the amp"},{"line_number":140,"context_line":"creation rate limit feature."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"Other deployer impact"},{"line_number":143,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_95761cd8","line":140,"range":{"start_line":140,"start_character":9,"end_line":140,"end_character":27},"updated":"2017-10-06 21:58:12.000000000","message":"and/or spares pool.","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"9bf4c1e12639ce22953ac16493db21ef1537daec","unresolved":false,"context_lines":[{"line_number":137,"context_line":"immediately failover as normal. If some hosts did not properly bring up their"},{"line_number":138,"context_line":"amphorae after the maintenance, there could be a rush of new amp creation. To"},{"line_number":139,"context_line":"guard against this case, it is recommended that deployers make use of the amp"},{"line_number":140,"context_line":"creation rate limit feature."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"Other deployer impact"},{"line_number":143,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_8a6956bf","line":140,"range":{"start_line":140,"start_character":9,"end_line":140,"end_character":27},"in_reply_to":"7f515b1d_95761cd8","updated":"2017-10-06 22:52:55.000000000","message":"Done","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"643c789d6048c0b1c59767d0dda47032738ff702","unresolved":false,"context_lines":[{"line_number":139,"context_line":"guard against this case, it is recommended that deployers make use of the amp"},{"line_number":140,"context_line":"creation rate limit feature."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"Other deployer impact"},{"line_number":143,"context_line":"---------------------"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"For deployers upgrading an existing deployment, it is recommended that they"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_b516b854","line":142,"range":{"start_line":142,"start_character":0,"end_line":142,"end_character":21},"updated":"2017-10-06 21:58:12.000000000","message":"This should talk to operator experience changes.\nLike LB failover API should not work with amps in \"maintenance\", etc.","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"9bf4c1e12639ce22953ac16493db21ef1537daec","unresolved":false,"context_lines":[{"line_number":139,"context_line":"guard against this case, it is recommended that deployers make use of the amp"},{"line_number":140,"context_line":"creation rate limit feature."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"Other deployer impact"},{"line_number":143,"context_line":"---------------------"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"For deployers upgrading an existing deployment, it is recommended that they"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_4abfdefa","line":142,"range":{"start_line":142,"start_character":0,"end_line":142,"end_character":21},"in_reply_to":"7f515b1d_b516b854","updated":"2017-10-06 22:52:55.000000000","message":"Done","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"643c789d6048c0b1c59767d0dda47032738ff702","unresolved":false,"context_lines":[{"line_number":142,"context_line":"Other deployer impact"},{"line_number":143,"context_line":"---------------------"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"For deployers upgrading an existing deployment, it is recommended that they"},{"line_number":146,"context_line":"manually backfill the `availability_zone` field in the amphora table for all"},{"line_number":147,"context_line":"existing amphorae."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"Developer impact"},{"line_number":150,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_955f3c40","line":147,"range":{"start_line":145,"start_character":0,"end_line":147,"end_character":18},"updated":"2017-10-06 21:58:12.000000000","message":"We could probably write a simple script for them to do this that queries nova and fills it in.","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"9bf4c1e12639ce22953ac16493db21ef1537daec","unresolved":false,"context_lines":[{"line_number":142,"context_line":"Other deployer impact"},{"line_number":143,"context_line":"---------------------"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"For deployers upgrading an existing deployment, it is recommended that they"},{"line_number":146,"context_line":"manually backfill the `availability_zone` field in the amphora table for all"},{"line_number":147,"context_line":"existing amphorae."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"Developer impact"},{"line_number":150,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_6ac05a7d","line":147,"range":{"start_line":145,"start_character":0,"end_line":147,"end_character":18},"in_reply_to":"7f515b1d_955f3c40","updated":"2017-10-06 22:52:55.000000000","message":"Done","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"643c789d6048c0b1c59767d0dda47032738ff702","unresolved":false,"context_lines":[{"line_number":149,"context_line":"Developer impact"},{"line_number":150,"context_line":"----------------"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"None."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"Implementation"},{"line_number":155,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_151a2c7c","line":152,"updated":"2017-10-06 21:58:12.000000000","message":"We are missing the gating discussion here.  I.e. what actions will be immutable and which would be deferred. How they should \"ignore\" amps in \"maintenance\", etc.","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4ed08f093269d73eb0229615b5eeee1fe21746b5","unresolved":false,"context_lines":[{"line_number":149,"context_line":"Developer impact"},{"line_number":150,"context_line":"----------------"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"None."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"Implementation"},{"line_number":155,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_aa165254","line":152,"in_reply_to":"7f515b1d_151a2c7c","updated":"2017-10-06 23:29:04.000000000","message":"Still open...","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"68fbbda814a7fb487542fceb44a35edeca485fdd","unresolved":false,"context_lines":[{"line_number":149,"context_line":"Developer impact"},{"line_number":150,"context_line":"----------------"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"None."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"Implementation"},{"line_number":155,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_9d9be264","line":152,"in_reply_to":"7f515b1d_aa165254","updated":"2017-10-07 00:11:37.000000000","message":"Yeah actually not sure what you mean / what I should add here really...","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"643c789d6048c0b1c59767d0dda47032738ff702","unresolved":false,"context_lines":[{"line_number":164,"context_line":"----------"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"#. Add required fields to the database schema and models."},{"line_number":167,"context_line":"#. Update existing flows to respect maintenance mode."},{"line_number":168,"context_line":"#. Create the new API endpoints."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_473597d9","line":167,"range":{"start_line":167,"start_character":2,"end_line":167,"end_character":53},"updated":"2017-10-06 21:58:12.000000000","message":"Including delete flows (don\u0027t bring up and update amps that belong to deleted LBs during maintenance)","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"9bf4c1e12639ce22953ac16493db21ef1537daec","unresolved":false,"context_lines":[{"line_number":164,"context_line":"----------"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"#. Add required fields to the database schema and models."},{"line_number":167,"context_line":"#. Update existing flows to respect maintenance mode."},{"line_number":168,"context_line":"#. Create the new API endpoints."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_aa43f212","line":167,"range":{"start_line":167,"start_character":2,"end_line":167,"end_character":53},"in_reply_to":"7f515b1d_473597d9","updated":"2017-10-06 22:52:55.000000000","message":"I believe deleting will be unchanged -- if a LB is deleted while amps are in maintenance mode, we can go ahead and delete them -- nova SHOULD take care of the deletes even if the HV is temporarily unavailable, for eventual consistency.","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"643c789d6048c0b1c59767d0dda47032738ff702","unresolved":false,"context_lines":[{"line_number":166,"context_line":"#. Add required fields to the database schema and models."},{"line_number":167,"context_line":"#. Update existing flows to respect maintenance mode."},{"line_number":168,"context_line":"#. Create the new API endpoints."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Dependencies"},{"line_number":171,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":172,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_670d3334","line":169,"updated":"2017-10-06 21:58:12.000000000","message":"Update API endpoints to return 409 if the operation cannot proceed with amps in maintenance.  (failover API, etc.)","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"9bf4c1e12639ce22953ac16493db21ef1537daec","unresolved":false,"context_lines":[{"line_number":166,"context_line":"#. Add required fields to the database schema and models."},{"line_number":167,"context_line":"#. Update existing flows to respect maintenance mode."},{"line_number":168,"context_line":"#. Create the new API endpoints."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Dependencies"},{"line_number":171,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":172,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_2a4f0235","line":169,"in_reply_to":"7f515b1d_670d3334","updated":"2017-10-06 22:52:55.000000000","message":"Done","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"643c789d6048c0b1c59767d0dda47032738ff702","unresolved":false,"context_lines":[{"line_number":180,"context_line":"Documentation Impact"},{"line_number":181,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"Documentation should be created for the new endpoints."},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"References"},{"line_number":186,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_673bf3c7","line":183,"updated":"2017-10-06 21:58:12.000000000","message":"Both API reference and Operator Maintenance guide:\nhttps://docs.openstack.org/octavia/latest/admin/guides/operator-maintenance.html","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"68fbbda814a7fb487542fceb44a35edeca485fdd","unresolved":false,"context_lines":[{"line_number":180,"context_line":"Documentation Impact"},{"line_number":181,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"Documentation should be created for the new endpoints."},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"References"},{"line_number":186,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_5d9d6a55","line":183,"in_reply_to":"7f515b1d_673bf3c7","updated":"2017-10-07 00:11:37.000000000","message":"Done","commit_id":"a9d59b8a62f206f54066d7b3b174ad2ce34f69d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a304fa7a45b6edd39984b4209bd44f4a8202b4e2","unresolved":false,"context_lines":[{"line_number":164,"context_line":"Developer impact"},{"line_number":165,"context_line":"----------------"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"None."},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"Implementation"},{"line_number":170,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_e194418d","line":167,"updated":"2017-10-09 17:44:22.000000000","message":"What I meant here is we need to talk about how the new \"maintenance\" bit will be used in flows. We should discuss how \"update\" and \"delete\" flows behave when an amphora that is part of a load balancer is in maintenance.","commit_id":"041b15c485780329ee2c2b2a9f7bb970c4447371"}]}
