)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fa3851b48054100e8cfc2490886b1ad8b52a94c5","unresolved":false,"context_lines":[{"line_number":9,"context_line":"If the AZ system is being used and there is also a default boot network"},{"line_number":10,"context_line":"set in the main config, the nova driver would not pick the right"},{"line_number":11,"context_line":"interface when translating the amphora info for amps in custom AZs."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ie4869035a557ebcddea2fce693067c82fbd2d2a9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3fa7e38b_d058a926","line":12,"updated":"2020-01-30 18:23:14.000000000","message":"Please explain the timing issues around why this needs to happen, i.e. this is used to find the initial lb-mgmt-ip on a new amphora.","commit_id":"205db6973c047f1a11f3cffe19b11a6c14e6a5db"}],"octavia/compute/compute_base.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fa3851b48054100e8cfc2490886b1ad8b52a94c5","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        \"\"\""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    @abc.abstractmethod"},{"line_number":72,"context_line":"    def get_amphora(self, compute_id, management_network_id):"},{"line_number":73,"context_line":"        \"\"\"Retrieve an amphora object"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        :param compute_id: the id of the desired amphora"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_706e95cc","line":72,"range":{"start_line":72,"start_character":38,"end_line":72,"end_character":59},"updated":"2020-01-30 18:23:14.000000000","message":"management_network_id\u003dNone","commit_id":"205db6973c047f1a11f3cffe19b11a6c14e6a5db"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fa3851b48054100e8cfc2490886b1ad8b52a94c5","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        \"\"\"Retrieve an amphora object"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        :param compute_id: the id of the desired amphora"},{"line_number":76,"context_line":"        :returns: the amphora object"},{"line_number":77,"context_line":"        :returns: fault message or None"},{"line_number":78,"context_line":"        \"\"\""},{"line_number":79,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_30681dbb","line":76,"updated":"2020-01-30 18:23:14.000000000","message":"Missing doc string","commit_id":"205db6973c047f1a11f3cffe19b11a6c14e6a5db"}],"octavia/compute/drivers/noop_driver/driver.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fa3851b48054100e8cfc2490886b1ad8b52a94c5","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        self.computeconfig[compute_id] \u003d (compute_id, \u0027status\u0027)"},{"line_number":64,"context_line":"        return constants.UP"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    def get_amphora(self, compute_id, management_network_id):"},{"line_number":67,"context_line":"        LOG.debug(\"Compute %s no-op, compute_id %s, management_network_id %s\","},{"line_number":68,"context_line":"                  self.__class__.__name__, compute_id, management_network_id)"},{"line_number":69,"context_line":"        self.computeconfig[(compute_id, management_network_id)] \u003d ("}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_b042cd3b","line":66,"updated":"2020-01-30 18:23:14.000000000","message":"management_network_id\u003dNone","commit_id":"205db6973c047f1a11f3cffe19b11a6c14e6a5db"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fa3851b48054100e8cfc2490886b1ad8b52a94c5","unresolved":false,"context_lines":[{"line_number":144,"context_line":"    def status(self, compute_id):"},{"line_number":145,"context_line":"        return self.driver.status(compute_id)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    def get_amphora(self, compute_id, management_network_id):"},{"line_number":148,"context_line":"        return self.driver.get_amphora(compute_id, management_network_id)"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    def create_server_group(self, name, policy):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_f06125d7","line":147,"updated":"2020-01-30 18:23:14.000000000","message":"management_network_id\u003dNone","commit_id":"205db6973c047f1a11f3cffe19b11a6c14e6a5db"}],"octavia/compute/drivers/nova_driver.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a9410495e46282c3bdca1bbdc2ef56b90501c3d1","unresolved":false,"context_lines":[{"line_number":218,"context_line":"            raise exceptions.ComputeStatusException()"},{"line_number":219,"context_line":"        return constants.DOWN"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"    def get_amphora(self, compute_id, management_network_id\u003dNone):"},{"line_number":222,"context_line":"        \u0027\u0027\u0027Retrieve the information in nova of a virtual machine."},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"        :param amphora_id: virtual machine UUID"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_9528e3ed","line":221,"updated":"2020-01-30 17:57:05.000000000","message":"This doesn\u0027t really make sense. Why should getting the amphora details from nova require this?","commit_id":"205db6973c047f1a11f3cffe19b11a6c14e6a5db"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fa3851b48054100e8cfc2490886b1ad8b52a94c5","unresolved":false,"context_lines":[{"line_number":218,"context_line":"            raise exceptions.ComputeStatusException()"},{"line_number":219,"context_line":"        return constants.DOWN"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"    def get_amphora(self, compute_id, management_network_id\u003dNone):"},{"line_number":222,"context_line":"        \u0027\u0027\u0027Retrieve the information in nova of a virtual machine."},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"        :param amphora_id: virtual machine UUID"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_7093f5b1","line":221,"in_reply_to":"3fa7e38b_9528e3ed","updated":"2020-01-30 18:23:14.000000000","message":"IRC, I understand the issue now.","commit_id":"205db6973c047f1a11f3cffe19b11a6c14e6a5db"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a9410495e46282c3bdca1bbdc2ef56b90501c3d1","unresolved":false,"context_lines":[{"line_number":248,"context_line":"        availability_zone \u003d None"},{"line_number":249,"context_line":"        image_id \u003d None"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"        if management_network_id:"},{"line_number":252,"context_line":"            boot_networks \u003d [management_network_id]"},{"line_number":253,"context_line":"        else:"},{"line_number":254,"context_line":"            boot_networks \u003d CONF.controller_worker.amp_boot_network_list"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_550b4b7b","line":251,"updated":"2020-01-30 17:57:05.000000000","message":"Line 266 below has the AZ, why can\u0027t you look up the AZ information and get the \"boot network\" from that?\n\nI would also maybe check if anything is actually using this lb_network_ip field. It may be unused or pointless and maybe should just be removed from the compute driver?","commit_id":"205db6973c047f1a11f3cffe19b11a6c14e6a5db"}],"octavia/controller/worker/v1/flows/amphora_flows.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"aab0c3a2c55e4319f2ac46d78001b221e90a5e32","unresolved":false,"context_lines":[{"line_number":193,"context_line":"        create_amp_for_lb_subflow.add(compute_tasks.ComputeActiveWait("},{"line_number":194,"context_line":"            name\u003dsf_name + \u0027-\u0027 + constants.COMPUTE_WAIT,"},{"line_number":195,"context_line":"            requires\u003d(constants.COMPUTE_ID, constants.AMPHORA_ID,"},{"line_number":196,"context_line":"                      constants.AVAILABILITY_ZONE),"},{"line_number":197,"context_line":"            provides\u003dconstants.COMPUTE_OBJ))"},{"line_number":198,"context_line":"        create_amp_for_lb_subflow.add(database_tasks.UpdateAmphoraInfo("},{"line_number":199,"context_line":"            name\u003dsf_name + \u0027-\u0027 + constants.UPDATE_AMPHORA_INFO,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_9576a30b","line":196,"updated":"2020-01-30 17:58:40.000000000","message":"Why does compute wait care?","commit_id":"205db6973c047f1a11f3cffe19b11a6c14e6a5db"}],"octavia/controller/worker/v1/tasks/compute_tasks.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"aab0c3a2c55e4319f2ac46d78001b221e90a5e32","unresolved":false,"context_lines":[{"line_number":204,"context_line":"class ComputeActiveWait(BaseComputeTask):"},{"line_number":205,"context_line":"    \"\"\"Wait for the compute driver to mark the amphora active.\"\"\""},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"    def execute(self, compute_id, amphora_id, availability_zone):"},{"line_number":208,"context_line":"        \"\"\"Wait for the compute driver to mark the amphora active"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"        :raises: Generic exception if the amphora is not active"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_55802bbf","line":207,"updated":"2020-01-30 17:58:40.000000000","message":"Why does compute wait care?","commit_id":"205db6973c047f1a11f3cffe19b11a6c14e6a5db"}],"octavia/controller/worker/v2/flows/amphora_flows.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"aab0c3a2c55e4319f2ac46d78001b221e90a5e32","unresolved":false,"context_lines":[{"line_number":200,"context_line":"        create_amp_for_lb_subflow.add(compute_tasks.ComputeActiveWait("},{"line_number":201,"context_line":"            name\u003dsf_name + \u0027-\u0027 + constants.COMPUTE_WAIT,"},{"line_number":202,"context_line":"            requires\u003d(constants.COMPUTE_ID, constants.AMPHORA_ID,"},{"line_number":203,"context_line":"                      constants.AVAILABILITY_ZONE),"},{"line_number":204,"context_line":"            provides\u003dconstants.COMPUTE_OBJ))"},{"line_number":205,"context_line":"        create_amp_for_lb_subflow.add(database_tasks.UpdateAmphoraInfo("},{"line_number":206,"context_line":"            name\u003dsf_name + \u0027-\u0027 + constants.UPDATE_AMPHORA_INFO,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_1562b342","line":203,"updated":"2020-01-30 17:58:40.000000000","message":"Why does compute wait care?","commit_id":"205db6973c047f1a11f3cffe19b11a6c14e6a5db"}],"octavia/controller/worker/v2/tasks/compute_tasks.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"aab0c3a2c55e4319f2ac46d78001b221e90a5e32","unresolved":false,"context_lines":[{"line_number":211,"context_line":"class ComputeActiveWait(BaseComputeTask):"},{"line_number":212,"context_line":"    \"\"\"Wait for the compute driver to mark the amphora active.\"\"\""},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"    def execute(self, compute_id, amphora_id, availability_zone):"},{"line_number":215,"context_line":"        \"\"\"Wait for the compute driver to mark the amphora active"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"        :raises: Generic exception if the amphora is not active"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_b56e3f2b","line":214,"updated":"2020-01-30 17:58:40.000000000","message":"Why does compute wait care?","commit_id":"205db6973c047f1a11f3cffe19b11a6c14e6a5db"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"43873fc7885e989e1b226bf67fab78a91cfbd4ff","unresolved":false,"context_lines":[{"line_number":218,"context_line":"        :returns: An amphora object"},{"line_number":219,"context_line":"        \"\"\""},{"line_number":220,"context_line":"        if availability_zone:"},{"line_number":221,"context_line":"            amp_network \u003d availability_zone.get(constants.MANAGEMENT_NETWORK)"},{"line_number":222,"context_line":"        else:"},{"line_number":223,"context_line":"            amp_network \u003d None"},{"line_number":224,"context_line":"        for i in range(CONF.controller_worker.amp_active_retries):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_59338513","line":221,"updated":"2020-01-30 21:22:43.000000000","message":"Don\u0027t you need to use get_availability_zone_metadata_dict() here and then pull the management network?\nI don\u0027t see management_network in either the DB or datamodel for an availability zone.","commit_id":"b2073debe0dc43c110b292efe761d0d6e432a5e8"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"eb561691055d1495b9eb6e93f2f0ef3b8f381eb4","unresolved":false,"context_lines":[{"line_number":218,"context_line":"        :returns: An amphora object"},{"line_number":219,"context_line":"        \"\"\""},{"line_number":220,"context_line":"        if availability_zone:"},{"line_number":221,"context_line":"            amp_network \u003d availability_zone.get(constants.MANAGEMENT_NETWORK)"},{"line_number":222,"context_line":"        else:"},{"line_number":223,"context_line":"            amp_network \u003d None"},{"line_number":224,"context_line":"        for i in range(CONF.controller_worker.amp_active_retries):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_dc89a370","line":221,"in_reply_to":"3fa7e38b_59338513","updated":"2020-01-30 21:38:06.000000000","message":"Seeing as how I tested this code first in a real environment and it does work -- apparently not. Also, I copied this from another task that uses this same availability_zone object (from a previous step in the flow). I think this already *is* the metadata dict.","commit_id":"b2073debe0dc43c110b292efe761d0d6e432a5e8"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"23e5aceebdbfed4ea760174e6a65349e290dae4d","unresolved":false,"context_lines":[{"line_number":218,"context_line":"        :returns: An amphora object"},{"line_number":219,"context_line":"        \"\"\""},{"line_number":220,"context_line":"        if availability_zone:"},{"line_number":221,"context_line":"            amp_network \u003d availability_zone.get(constants.MANAGEMENT_NETWORK)"},{"line_number":222,"context_line":"        else:"},{"line_number":223,"context_line":"            amp_network \u003d None"},{"line_number":224,"context_line":"        for i in range(CONF.controller_worker.amp_active_retries):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_dcb76322","line":221,"in_reply_to":"3fa7e38b_dc89a370","updated":"2020-01-30 21:44:02.000000000","message":"So, if this isn\u0027t the availability_zone object we have defined, it should be renamed to accurately reflect what it is. At a minimum this needs a docstring that calls out what this.","commit_id":"b2073debe0dc43c110b292efe761d0d6e432a5e8"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"18562c33ccf71db3b3d45000dafffc3d41531e67","unresolved":false,"context_lines":[{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        :param compute_id: virtual machine UUID"},{"line_number":222,"context_line":"        :param amphora_id: id of the amphora object"},{"line_number":223,"context_line":"        :param availability_zone: availability zone metadata dictionary"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"        :raises: Generic exception if the amphora is not active"},{"line_number":226,"context_line":"        :returns: An amphora object"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_13fd9a6c","line":223,"updated":"2020-02-05 21:26:49.000000000","message":"In agreement with Michael\u0027s earlier comment that it would be clear if it would be named availability_zone_metadata but you met his \"at a minimum\" criteria by adding the docstring.","commit_id":"983a80c0d36fe7f5fb5c4a52cf87582e82324334"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f3dca0ac1dfb21bdd1390285d31ca566cb2092ec","unresolved":false,"context_lines":[{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        :param compute_id: virtual machine UUID"},{"line_number":222,"context_line":"        :param amphora_id: id of the amphora object"},{"line_number":223,"context_line":"        :param availability_zone: availability zone metadata dictionary"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"        :raises: Generic exception if the amphora is not active"},{"line_number":226,"context_line":"        :returns: An amphora object"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_2a06171d","line":223,"in_reply_to":"3fa7e38b_13fd9a6c","updated":"2020-02-06 04:47:07.000000000","message":"Yeah, well I need to use the same name as the existing constant from the flows -- this isn\u0027t the first place this is used. :(\nI could change it everywhere I guess?","commit_id":"983a80c0d36fe7f5fb5c4a52cf87582e82324334"}]}
