)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"183c40e2bb42821e30796a0add2de72624214584","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"945725c7_810c2ee7","updated":"2021-11-10 17:49:36.000000000","message":"I think there was one flow log message missed when the others were removed.\nOtherwise I think this is ok.","commit_id":"5df7be8713f937e3405da42b43cf80ace11a7db4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"37af8441b6a987b2aca5efe05ec6d3a04c6a844b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"e301cd83_fd298aee","updated":"2021-11-10 17:30:23.000000000","message":"recheck\nlogs expired","commit_id":"5df7be8713f937e3405da42b43cf80ace11a7db4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"027bb56caa1e0fb745cb8f100a3692bebf5dc02d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"bc9a6828_99707efc","updated":"2021-11-11 16:54:40.000000000","message":"LGTM","commit_id":"57fe1e109c71ece8c747039a6544f97caa165e94"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"c5a5d5882ced1c38c7a67e725853bb26b0a964cf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"52c97fc3_c9083706","updated":"2021-11-15 08:27:24.000000000","message":"recheck","commit_id":"5e19e3457e450d042864f4b30b17d787a4844fb9"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"bdfc4841c83c3fd11ca03d3ee6bc3a81bfe1d31a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"6cc8e2f6_b0189edc","updated":"2021-11-16 04:39:40.000000000","message":"recheck","commit_id":"5e19e3457e450d042864f4b30b17d787a4844fb9"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"846f35d0d10fc140602274628e15afb32c9986bd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"a3dee141_e072ce35","updated":"2021-11-12 16:14:32.000000000","message":"recheck","commit_id":"5e19e3457e450d042864f4b30b17d787a4844fb9"}],"octavia/api/drivers/driver_agent/driver_listener.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"49cf45164aa388a6daafa59480b7b55eee2b07ef","unresolved":true,"context_lines":[{"line_number":153,"context_line":"def get_listener(exit_event):"},{"line_number":154,"context_line":"    _cleanup_socket_file(CONF.driver_agent.get_socket_path)"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"    LOG.debug(\"Driver agent socket path %s\", CONF.driver_agent.get_socket_path)"},{"line_number":157,"context_line":"    server \u003d ForkingUDSServer(CONF.driver_agent.get_socket_path,"},{"line_number":158,"context_line":"                              GetRequestHandler)"},{"line_number":159,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"35de01cb_c3eaffb3","line":156,"updated":"2021-05-21 21:07:09.000000000","message":"Instead of doing this, I see the driver agent is not dumping the configuration file on startup like the other services. Maybe it should be enhanced to log the full configuration on startup.\nI have found that helpful in the past.","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"}],"octavia/controller/worker/amphora_rate_limit.py":[{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63c4e9e713cae8a5e965762d846c322e840f296","unresolved":true,"context_lines":[{"line_number":39,"context_line":"            db_apis.get_session(),"},{"line_number":40,"context_line":"            amphora_id\u003damphora_id,"},{"line_number":41,"context_line":"            priority\u003dbuild_priority)"},{"line_number":42,"context_line":"        LOG.info(\"Added build request for amphora %s to the queue\", amphora_id)"},{"line_number":43,"context_line":"        self.wait_for_build_slot(amphora_id)"},{"line_number":44,"context_line":"        LOG.info(\"Build slot for amphora %s is ready\", amphora_id)"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba20ae67_68069e95","line":42,"range":{"start_line":42,"start_character":12,"end_line":42,"end_character":16},"updated":"2021-06-09 08:10:23.000000000","message":"this is more of debug message.","commit_id":"02d7f4bbb45bd481b38a8d62e7aa8bf6572ccd05"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"b8ac5b98903bc3dc0f341541771cfecc48ede118","unresolved":true,"context_lines":[{"line_number":39,"context_line":"            db_apis.get_session(),"},{"line_number":40,"context_line":"            amphora_id\u003damphora_id,"},{"line_number":41,"context_line":"            priority\u003dbuild_priority)"},{"line_number":42,"context_line":"        LOG.info(\"Added build request for amphora %s to the queue\", amphora_id)"},{"line_number":43,"context_line":"        self.wait_for_build_slot(amphora_id)"},{"line_number":44,"context_line":"        LOG.info(\"Build slot for amphora %s is ready\", amphora_id)"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"2eafd3aa_0e13fce7","line":42,"range":{"start_line":42,"start_character":12,"end_line":42,"end_character":16},"in_reply_to":"ba20ae67_68069e95","updated":"2021-06-09 11:32:50.000000000","message":"fixed","commit_id":"02d7f4bbb45bd481b38a8d62e7aa8bf6572ccd05"}],"octavia/controller/worker/v1/controller_worker.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":339,"context_line":"            topology\u003dtopology, listeners\u003dlb.listeners)"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"        create_lb_tf \u003d self.taskflow_load(create_lb_flow, store\u003dstore)"},{"line_number":342,"context_line":"        LOG.info(\"Controller worker collected all required data (topology, \""},{"line_number":343,"context_line":"                 \"listeners, load balancer id, build type priority, flavor, \""},{"line_number":344,"context_line":"                 \"availability zone, server group id) to create load balancer \""},{"line_number":345,"context_line":"                 \"%s\", load_balancer_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"612fccdd_9a1fe548","line":342,"updated":"2021-07-12 21:15:39.000000000","message":"This is basically duplicate to https://github.com/openstack/octavia/blob/master/octavia/controller/queue/v1/endpoints.py#L44","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":339,"context_line":"            topology\u003dtopology, listeners\u003dlb.listeners)"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"        create_lb_tf \u003d self.taskflow_load(create_lb_flow, store\u003dstore)"},{"line_number":342,"context_line":"        LOG.info(\"Controller worker collected all required data (topology, \""},{"line_number":343,"context_line":"                 \"listeners, load balancer id, build type priority, flavor, \""},{"line_number":344,"context_line":"                 \"availability zone, server group id) to create load balancer \""},{"line_number":345,"context_line":"                 \"%s\", load_balancer_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"d85e0301_1a819e08","line":342,"in_reply_to":"612fccdd_9a1fe548","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"}],"octavia/controller/worker/v1/flows/load_balancer_flows.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"49cf45164aa388a6daafa59480b7b55eee2b07ef","unresolved":true,"context_lines":[{"line_number":91,"context_line":"        if listeners:"},{"line_number":92,"context_line":"            lb_create_flow.add(*self._create_listeners_flow())"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        LOG.info(\"Created load balancer flow %s\", f_name)"},{"line_number":95,"context_line":"        return lb_create_flow"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def _create_single_topology(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"d46eb4dc_3d7c62ae","line":94,"updated":"2021-05-21 21:07:09.000000000","message":"Since these are not where the actual flow is run, what is the value of this log message?\nWithout the taskflow logger on debug, I would not expect these flow names to be visible in an INFO level log.","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"79aec6d6edd96a481eca56d4a0fcc8973b06dc9b","unresolved":true,"context_lines":[{"line_number":91,"context_line":"        if listeners:"},{"line_number":92,"context_line":"            lb_create_flow.add(*self._create_listeners_flow())"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        LOG.info(\"Created load balancer flow %s\", f_name)"},{"line_number":95,"context_line":"        return lb_create_flow"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def _create_single_topology(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bb79f29d_121cffa0","line":94,"in_reply_to":"d46eb4dc_3d7c62ae","updated":"2021-05-24 13:30:48.000000000","message":"The point of this log message is to inform operator that all work for LB flow creation is done.\nI assume that LB flow creation is unit of work that may be useful to log.","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"49cf45164aa388a6daafa59480b7b55eee2b07ef","unresolved":true,"context_lines":[{"line_number":103,"context_line":"            role\u003dconstants.ROLE_STANDALONE)"},{"line_number":104,"context_line":"        amp_for_lb_net_flow.add(amp_for_lb_flow)"},{"line_number":105,"context_line":"        amp_for_lb_net_flow.add(*self._get_amp_net_subflow(sf_name))"},{"line_number":106,"context_line":"        LOG.info(\"Created single topology %s\", sf_name)"},{"line_number":107,"context_line":"        return amp_for_lb_net_flow"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    def _create_active_standby_topology("}],"source_content_type":"text/x-python","patch_set":1,"id":"90aa2b11_284594de","line":106,"updated":"2021-05-21 21:07:09.000000000","message":"Same question here, this is at flow build time, not execution.","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"79aec6d6edd96a481eca56d4a0fcc8973b06dc9b","unresolved":true,"context_lines":[{"line_number":103,"context_line":"            role\u003dconstants.ROLE_STANDALONE)"},{"line_number":104,"context_line":"        amp_for_lb_net_flow.add(amp_for_lb_flow)"},{"line_number":105,"context_line":"        amp_for_lb_net_flow.add(*self._get_amp_net_subflow(sf_name))"},{"line_number":106,"context_line":"        LOG.info(\"Created single topology %s\", sf_name)"},{"line_number":107,"context_line":"        return amp_for_lb_net_flow"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    def _create_active_standby_topology("}],"source_content_type":"text/x-python","patch_set":1,"id":"7cf45ded_7e9032b3","line":106,"in_reply_to":"90aa2b11_284594de","updated":"2021-05-24 13:30:48.000000000","message":"I suppose that LB flow creation should be logged since its problems don\u0027t give a chance for LB to be created","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"49cf45164aa388a6daafa59480b7b55eee2b07ef","unresolved":true,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        amps_flow.add(master_amp_sf, backup_amp_sf)"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        LOG.info(\"Created single standby topology for %s\", lf_name)"},{"line_number":154,"context_line":"        return flows + [amps_flow]"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"    def _get_amp_net_subflow(self, sf_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9c504c0c_12c1f2f4","line":153,"updated":"2021-05-21 21:07:09.000000000","message":"Same here.","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"49cf45164aa388a6daafa59480b7b55eee2b07ef","unresolved":true,"context_lines":[{"line_number":186,"context_line":"                    constants.AMPHORA_NETWORK_CONFIG},"},{"line_number":187,"context_line":"            requires\u003d(constants.LOADBALANCER,"},{"line_number":188,"context_line":"                      constants.AMPHORAE_NETWORK_CONFIG)))"},{"line_number":189,"context_line":"        LOG.info(\"Created listeners flow\")"},{"line_number":190,"context_line":"        return flows"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    def _create_listeners_flow(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"8cf829e1_ef1bddc2","line":189,"updated":"2021-05-21 21:07:09.000000000","message":"Same, what value does this bring?","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"49cf45164aa388a6daafa59480b7b55eee2b07ef","unresolved":true,"context_lines":[{"line_number":254,"context_line":"            post_create_LB_flow.add(database_tasks.MarkLBActiveInDB("},{"line_number":255,"context_line":"                name\u003dsf_name + \u0027-\u0027 + constants.MARK_LB_ACTIVE_INDB,"},{"line_number":256,"context_line":"                requires\u003dconstants.LOADBALANCER))"},{"line_number":257,"context_line":"        LOG.info(\"%s: reloaded the load balancer and created networking \""},{"line_number":258,"context_line":"                 \"flows for amphorae\", sf_name)"},{"line_number":259,"context_line":"        return post_create_LB_flow"},{"line_number":260,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7362f5c5_0723b0dd","line":257,"updated":"2021-05-21 21:07:09.000000000","message":"This is flow compilation time, not runtime, so no load balancers were reloaded here.","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"602c24a6f91b1a8272d2066e75b698aff2ae1bcc","unresolved":true,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        amps_flow.add(master_amp_sf, backup_amp_sf)"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        LOG.info(\"Created single standby topology for %s\", lf_name)"},{"line_number":154,"context_line":"        return flows + [amps_flow]"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"    def _get_amp_net_subflow(self, sf_name):"}],"source_content_type":"text/x-python","patch_set":2,"id":"b0d12269_44eeab24","line":153,"range":{"start_line":153,"start_character":26,"end_line":153,"end_character":32},"updated":"2021-06-08 12:15:04.000000000","message":"Active?","commit_id":"9909e192ba30b0e79a58fa2a7efb1a5828a7eb88"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"6438f521c1748f6022f3cd2499d86c8d1f28abee","unresolved":true,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        amps_flow.add(master_amp_sf, backup_amp_sf)"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        LOG.info(\"Created single standby topology for %s\", lf_name)"},{"line_number":154,"context_line":"        return flows + [amps_flow]"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"    def _get_amp_net_subflow(self, sf_name):"}],"source_content_type":"text/x-python","patch_set":2,"id":"c6f2b98f_f6211151","line":153,"range":{"start_line":153,"start_character":26,"end_line":153,"end_character":32},"in_reply_to":"b0d12269_44eeab24","updated":"2021-06-08 18:20:58.000000000","message":"fixed","commit_id":"9909e192ba30b0e79a58fa2a7efb1a5828a7eb88"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"602c24a6f91b1a8272d2066e75b698aff2ae1bcc","unresolved":true,"context_lines":[{"line_number":186,"context_line":"                    constants.AMPHORA_NETWORK_CONFIG},"},{"line_number":187,"context_line":"            requires\u003d(constants.LOADBALANCER,"},{"line_number":188,"context_line":"                      constants.AMPHORAE_NETWORK_CONFIG)))"},{"line_number":189,"context_line":"        LOG.info(\"Created listeners flow\")"},{"line_number":190,"context_line":"        return flows"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    def _create_listeners_flow(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f483451_b7c11dd8","line":189,"range":{"start_line":189,"start_character":18,"end_line":189,"end_character":41},"updated":"2021-06-08 12:15:04.000000000","message":"This part is related to network configuration for amphorae","commit_id":"9909e192ba30b0e79a58fa2a7efb1a5828a7eb88"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"6438f521c1748f6022f3cd2499d86c8d1f28abee","unresolved":true,"context_lines":[{"line_number":186,"context_line":"                    constants.AMPHORA_NETWORK_CONFIG},"},{"line_number":187,"context_line":"            requires\u003d(constants.LOADBALANCER,"},{"line_number":188,"context_line":"                      constants.AMPHORAE_NETWORK_CONFIG)))"},{"line_number":189,"context_line":"        LOG.info(\"Created listeners flow\")"},{"line_number":190,"context_line":"        return flows"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    def _create_listeners_flow(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"acb00b3e_5fad58bf","line":189,"range":{"start_line":189,"start_character":18,"end_line":189,"end_character":41},"in_reply_to":"9f483451_b7c11dd8","updated":"2021-06-08 18:20:58.000000000","message":"fixed","commit_id":"9909e192ba30b0e79a58fa2a7efb1a5828a7eb88"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":91,"context_line":"        if listeners:"},{"line_number":92,"context_line":"            lb_create_flow.add(*self._create_listeners_flow())"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        LOG.info(\"Created load balancer flow %s\", f_name)"},{"line_number":95,"context_line":"        return lb_create_flow"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def _create_single_topology(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"cad613ff_05b742f3","line":94,"updated":"2021-07-12 21:15:39.000000000","message":"What is the value in this message?\nThis is during flow build time, not during the actual execution of the flow.","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        if listeners:"},{"line_number":92,"context_line":"            lb_create_flow.add(*self._create_listeners_flow())"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        LOG.info(\"Created load balancer flow %s\", f_name)"},{"line_number":95,"context_line":"        return lb_create_flow"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def _create_single_topology(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"a5ab1cda_10f5c5d9","line":94,"in_reply_to":"cad613ff_05b742f3","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":103,"context_line":"            role\u003dconstants.ROLE_STANDALONE)"},{"line_number":104,"context_line":"        amp_for_lb_net_flow.add(amp_for_lb_flow)"},{"line_number":105,"context_line":"        amp_for_lb_net_flow.add(*self._get_amp_net_subflow(sf_name))"},{"line_number":106,"context_line":"        LOG.info(\"Created single topology %s\", sf_name)"},{"line_number":107,"context_line":"        return amp_for_lb_net_flow"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    def _create_active_standby_topology("}],"source_content_type":"text/x-python","patch_set":5,"id":"950ba814_6c1d3eb0","line":106,"updated":"2021-07-12 21:15:39.000000000","message":"What is the value in this message?\nThis is during the sub-flow build time, not during the actual execution of the flow.","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            role\u003dconstants.ROLE_STANDALONE)"},{"line_number":104,"context_line":"        amp_for_lb_net_flow.add(amp_for_lb_flow)"},{"line_number":105,"context_line":"        amp_for_lb_net_flow.add(*self._get_amp_net_subflow(sf_name))"},{"line_number":106,"context_line":"        LOG.info(\"Created single topology %s\", sf_name)"},{"line_number":107,"context_line":"        return amp_for_lb_net_flow"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    def _create_active_standby_topology("}],"source_content_type":"text/x-python","patch_set":5,"id":"ec754003_8339f656","line":106,"in_reply_to":"950ba814_6c1d3eb0","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        amps_flow.add(master_amp_sf, backup_amp_sf)"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        LOG.info(\"Created active standby topology for %s\", lf_name)"},{"line_number":154,"context_line":"        return flows + [amps_flow]"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"    def _get_amp_net_subflow(self, sf_name):"}],"source_content_type":"text/x-python","patch_set":5,"id":"d3122bd4_8766e0c1","line":153,"updated":"2021-07-12 21:15:39.000000000","message":"What is the value in this message?\nThis is during the sub-flow build time, not during the actual execution of the flow.","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        amps_flow.add(master_amp_sf, backup_amp_sf)"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        LOG.info(\"Created active standby topology for %s\", lf_name)"},{"line_number":154,"context_line":"        return flows + [amps_flow]"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"    def _get_amp_net_subflow(self, sf_name):"}],"source_content_type":"text/x-python","patch_set":5,"id":"7af80a9a_a1a6b153","line":153,"in_reply_to":"d3122bd4_8766e0c1","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":186,"context_line":"                    constants.AMPHORA_NETWORK_CONFIG},"},{"line_number":187,"context_line":"            requires\u003d(constants.LOADBALANCER,"},{"line_number":188,"context_line":"                      constants.AMPHORAE_NETWORK_CONFIG)))"},{"line_number":189,"context_line":"        LOG.info(\"Created net subflow %s\", sf_name)"},{"line_number":190,"context_line":"        return flows"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    def _create_listeners_flow(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"911ff47a_0d26d60a","line":189,"updated":"2021-07-12 21:15:39.000000000","message":"What is the value in this message?\nThis is during the sub-flow build time, not during the actual execution of the flow.","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":186,"context_line":"                    constants.AMPHORA_NETWORK_CONFIG},"},{"line_number":187,"context_line":"            requires\u003d(constants.LOADBALANCER,"},{"line_number":188,"context_line":"                      constants.AMPHORAE_NETWORK_CONFIG)))"},{"line_number":189,"context_line":"        LOG.info(\"Created net subflow %s\", sf_name)"},{"line_number":190,"context_line":"        return flows"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    def _create_listeners_flow(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5fa4f2b2_b5169863","line":189,"in_reply_to":"911ff47a_0d26d60a","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"}],"octavia/controller/worker/v1/tasks/compute_tasks.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"49cf45164aa388a6daafa59480b7b55eee2b07ef","unresolved":true,"context_lines":[{"line_number":122,"context_line":"                server_group_id\u003dserver_group_id,"},{"line_number":123,"context_line":"                availability_zone\u003damp_availability_zone)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"            LOG.info(\"Server %s created for amphora %s\", compute_id,"},{"line_number":126,"context_line":"                     amphora_id)"},{"line_number":127,"context_line":"            return compute_id"},{"line_number":128,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bf88f5d1_8231b56a","line":125,"updated":"2021-05-21 21:07:09.000000000","message":"This is slightly uncomfortable in case anyone has log alerts or scraping on the old message, but since the old message was debug level, I think it is ok.","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"602c24a6f91b1a8272d2066e75b698aff2ae1bcc","unresolved":true,"context_lines":[{"line_number":122,"context_line":"                server_group_id\u003dserver_group_id,"},{"line_number":123,"context_line":"                availability_zone\u003damp_availability_zone)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"            LOG.debug(\"Server created with id: %s for amphora id: %s\","},{"line_number":126,"context_line":"                      compute_id, amphora_id)"},{"line_number":127,"context_line":"            return compute_id"},{"line_number":128,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"e8176515_78c3cdce","side":"PARENT","line":125,"range":{"start_line":125,"start_character":23,"end_line":125,"end_character":49},"updated":"2021-06-08 12:15:04.000000000","message":"Why this text message change?","commit_id":"0a5e7ef91a29896793f2b527c5f5d0c6886e3c1b"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"6438f521c1748f6022f3cd2499d86c8d1f28abee","unresolved":true,"context_lines":[{"line_number":122,"context_line":"                server_group_id\u003dserver_group_id,"},{"line_number":123,"context_line":"                availability_zone\u003damp_availability_zone)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"            LOG.debug(\"Server created with id: %s for amphora id: %s\","},{"line_number":126,"context_line":"                      compute_id, amphora_id)"},{"line_number":127,"context_line":"            return compute_id"},{"line_number":128,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"d062454f_b2ea3698","side":"PARENT","line":125,"range":{"start_line":125,"start_character":23,"end_line":125,"end_character":49},"in_reply_to":"e8176515_78c3cdce","updated":"2021-06-08 18:20:58.000000000","message":"reverted back","commit_id":"0a5e7ef91a29896793f2b527c5f5d0c6886e3c1b"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":122,"context_line":"                server_group_id\u003dserver_group_id,"},{"line_number":123,"context_line":"                availability_zone\u003damp_availability_zone)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"            LOG.info(\"Server created with id: %s for amphora id: %s\","},{"line_number":126,"context_line":"                     compute_id, amphora_id)"},{"line_number":127,"context_line":"            return compute_id"},{"line_number":128,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"40c1f19b_e701875c","line":125,"updated":"2021-07-12 21:15:39.000000000","message":"I agree with this one, it should be INFO level.","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                server_group_id\u003dserver_group_id,"},{"line_number":123,"context_line":"                availability_zone\u003damp_availability_zone)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"            LOG.info(\"Server created with id: %s for amphora id: %s\","},{"line_number":126,"context_line":"                     compute_id, amphora_id)"},{"line_number":127,"context_line":"            return compute_id"},{"line_number":128,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"21108c28_33e6c098","line":125,"in_reply_to":"40c1f19b_e701875c","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"}],"octavia/controller/worker/v1/tasks/database_tasks.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"49cf45164aa388a6daafa59480b7b55eee2b07ef","unresolved":true,"context_lines":[{"line_number":391,"context_line":""},{"line_number":392,"context_line":"        lb \u003d self.loadbalancer_repo.get(db_apis.get_session(),"},{"line_number":393,"context_line":"                                        id\u003dloadbalancer_id)"},{"line_number":394,"context_line":"        LOG.info(\"Got load balancer %s from DB\", loadbalancer_id)"},{"line_number":395,"context_line":"        return lb"},{"line_number":396,"context_line":""},{"line_number":397,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1dd6740d_91a4e02d","line":394,"updated":"2021-05-21 21:07:09.000000000","message":"Why is this useful?\nThis task is only used to refresh in-flow stored data with changes that occurred in previous tasks. Think of it as a cache flush.\nThis also goes away in the v2 driver, so will be removed soon.","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"49cf45164aa388a6daafa59480b7b55eee2b07ef","unresolved":true,"context_lines":[{"line_number":892,"context_line":"            fer.decrypt(server_pem))"},{"line_number":893,"context_line":"        self.amphora_repo.update(db_apis.get_session(), amphora_id,"},{"line_number":894,"context_line":"                                 cert_expiration\u003dcert_expiration)"},{"line_number":895,"context_line":"        LOG.info(\"Certificate of amphora %s was updated to %s\","},{"line_number":896,"context_line":"                 amphora_id, cert_expiration)"},{"line_number":897,"context_line":""},{"line_number":898,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"d1a850af_75c691b9","line":895,"range":{"start_line":895,"start_character":18,"end_line":895,"end_character":62},"updated":"2021-05-21 21:07:09.000000000","message":"This is misleading.\nThe certificate was not updated here, this is use updating an expiration column in the database.\nI\u0027m not sure how valuable that is to log. Maybe there is missing logging in the other parts of the certificate rotation workflow?","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":626,"context_line":"        :returns: None"},{"line_number":627,"context_line":"        \"\"\""},{"line_number":628,"context_line":""},{"line_number":629,"context_line":"        LOG.info(\u0027Mark ALLOCATED in DB for amphora %(amp)s with \u0027"},{"line_number":630,"context_line":"                 \u0027compute id %(comp)s for load balancer: %(lb)s\u0027,"},{"line_number":631,"context_line":"                 {"},{"line_number":632,"context_line":"                     \u0027amp\u0027: amphora.id,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ffe18b2d_8ed647ef","line":629,"updated":"2021-07-12 21:15:39.000000000","message":"Why remove the semi-colon here?\nIf anything, for consistency, the semi-colon is missing from \"compute id\".","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":626,"context_line":"        :returns: None"},{"line_number":627,"context_line":"        \"\"\""},{"line_number":628,"context_line":""},{"line_number":629,"context_line":"        LOG.info(\u0027Mark ALLOCATED in DB for amphora %(amp)s with \u0027"},{"line_number":630,"context_line":"                 \u0027compute id %(comp)s for load balancer: %(lb)s\u0027,"},{"line_number":631,"context_line":"                 {"},{"line_number":632,"context_line":"                     \u0027amp\u0027: amphora.id,"}],"source_content_type":"text/x-python","patch_set":5,"id":"2c98fc43_6e74493f","line":629,"in_reply_to":"ffe18b2d_8ed647ef","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"}],"octavia/controller/worker/v1/tasks/network_tasks.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"49cf45164aa388a6daafa59480b7b55eee2b07ef","unresolved":true,"context_lines":[{"line_number":380,"context_line":""},{"line_number":381,"context_line":"        sg \u003d self.network_driver.update_vip_sg(loadbalancer,"},{"line_number":382,"context_line":"                                               loadbalancer.vip)"},{"line_number":383,"context_line":"        LOG.info(\"Set up security group for load balancer %s successfully\","},{"line_number":384,"context_line":"                 loadbalancer_id)"},{"line_number":385,"context_line":"        return sg"},{"line_number":386,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ac43ce02_6b60e79a","line":383,"updated":"2021-05-21 21:07:09.000000000","message":"We have had push back on logging successful activities. It will be interesting to see what comments you get.\nIt\u0027s also seems unnecessary to have both of these log messages.","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"ec205d822c279c425b35db64b21b7fb79f62d9d6","unresolved":true,"context_lines":[{"line_number":380,"context_line":""},{"line_number":381,"context_line":"        sg \u003d self.network_driver.update_vip_sg(loadbalancer,"},{"line_number":382,"context_line":"                                               loadbalancer.vip)"},{"line_number":383,"context_line":"        LOG.info(\"Set up security group for load balancer %s successfully\","},{"line_number":384,"context_line":"                 loadbalancer_id)"},{"line_number":385,"context_line":"        return sg"},{"line_number":386,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"0314f1bc_afca52d4","line":383,"in_reply_to":"ac43ce02_6b60e79a","updated":"2021-05-24 11:21:42.000000000","message":"The main idea of the patch is to enrich logging according with openstack documentation:\nhttps://docs.openstack.org/oslo.log/latest/user/guidelines.html\nI tried to log every completed unit of work.\nINFO logging level serves operators which are mostly interested in completed units of work.\nDebug log level for developers which are interested in \"all\" details especially when unit of work was started and finished.\nSo I suppose both logs are useful ...","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"49cf45164aa388a6daafa59480b7b55eee2b07ef","unresolved":true,"context_lines":[{"line_number":394,"context_line":"        LOG.debug(\"Getting subnet for LB: %s\", loadbalancer.id)"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"        subnet \u003d self.network_driver.get_subnet(loadbalancer.vip.subnet_id)"},{"line_number":397,"context_line":"        LOG.info(\"Got subnet %s for load balancer %s\","},{"line_number":398,"context_line":"                 loadbalancer.vip.subnet_id,"},{"line_number":399,"context_line":"                 loadbalancer.id)"},{"line_number":400,"context_line":"        return subnet"}],"source_content_type":"text/x-python","patch_set":1,"id":"1d16a320_df684472","line":397,"updated":"2021-05-21 21:07:09.000000000","message":"I\u0027m not sure why this is an important event to log at INFO.\nIt is just querying the subnet configuration from neutron for the VIP subnet.","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"ec205d822c279c425b35db64b21b7fb79f62d9d6","unresolved":true,"context_lines":[{"line_number":394,"context_line":"        LOG.debug(\"Getting subnet for LB: %s\", loadbalancer.id)"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"        subnet \u003d self.network_driver.get_subnet(loadbalancer.vip.subnet_id)"},{"line_number":397,"context_line":"        LOG.info(\"Got subnet %s for load balancer %s\","},{"line_number":398,"context_line":"                 loadbalancer.vip.subnet_id,"},{"line_number":399,"context_line":"                 loadbalancer.id)"},{"line_number":400,"context_line":"        return subnet"}],"source_content_type":"text/x-python","patch_set":1,"id":"6dc6be93_62500f5f","line":397,"in_reply_to":"1d16a320_df684472","updated":"2021-05-24 11:21:42.000000000","message":"All these units of work are parts of load balancer creation (and preparation to create LB):\nget_create_load_balancer_flow\noctavia/controller/worker/v2/flows/load_balancer_flows.py\n\nLoad balancer is not \"independent\" device.\nA lot of preparation work is done before its creation..","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"49cf45164aa388a6daafa59480b7b55eee2b07ef","unresolved":true,"context_lines":[{"line_number":458,"context_line":"                  loadbalancer.vip.subnet_id,"},{"line_number":459,"context_line":"                  loadbalancer.vip.ip_address)"},{"line_number":460,"context_line":"        vip \u003d self.network_driver.allocate_vip(loadbalancer)"},{"line_number":461,"context_line":"        LOG.info(\"Allocated vip with port id %s, subnet id %s, ip address %s \""},{"line_number":462,"context_line":"                 \"for load balancer %s\","},{"line_number":463,"context_line":"                 loadbalancer.vip.port_id,"},{"line_number":464,"context_line":"                 loadbalancer.vip.subnet_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"38dcc484_8d026f76","line":461,"updated":"2021-05-21 21:07:09.000000000","message":"This seems duplicate to the other log message. I\u0027m not sure we need both.","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"ec205d822c279c425b35db64b21b7fb79f62d9d6","unresolved":true,"context_lines":[{"line_number":458,"context_line":"                  loadbalancer.vip.subnet_id,"},{"line_number":459,"context_line":"                  loadbalancer.vip.ip_address)"},{"line_number":460,"context_line":"        vip \u003d self.network_driver.allocate_vip(loadbalancer)"},{"line_number":461,"context_line":"        LOG.info(\"Allocated vip with port id %s, subnet id %s, ip address %s \""},{"line_number":462,"context_line":"                 \"for load balancer %s\","},{"line_number":463,"context_line":"                 loadbalancer.vip.port_id,"},{"line_number":464,"context_line":"                 loadbalancer.vip.subnet_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1d098ccb_f3f8a473","line":461,"in_reply_to":"38dcc484_8d026f76","updated":"2021-05-24 11:21:42.000000000","message":"Debug and info levels have different purposes and they are placed in the different parts of function.","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2199116d9c981c44d569c93606d0c2843e1ec832","unresolved":true,"context_lines":[{"line_number":380,"context_line":""},{"line_number":381,"context_line":"        sg \u003d self.network_driver.update_vip_sg(loadbalancer,"},{"line_number":382,"context_line":"                                               loadbalancer.vip)"},{"line_number":383,"context_line":"        LOG.info(\"Set up security group for load balancer %s successfully\","},{"line_number":384,"context_line":"                 loadbalancer_id)"},{"line_number":385,"context_line":"        return sg"},{"line_number":386,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"e776d273_fca34464","line":383,"range":{"start_line":383,"start_character":61,"end_line":383,"end_character":73},"updated":"2021-07-12 19:33:08.000000000","message":"I guess update_vip_sg() would have raised if it failed, but it might have done nothing if the SG extension is not enables, so maybe \"complete\" is a better word here.","commit_id":"48292303792003a8b74cd55c90eca9667336a36c"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2199116d9c981c44d569c93606d0c2843e1ec832","unresolved":true,"context_lines":[{"line_number":380,"context_line":""},{"line_number":381,"context_line":"        sg \u003d self.network_driver.update_vip_sg(loadbalancer,"},{"line_number":382,"context_line":"                                               loadbalancer.vip)"},{"line_number":383,"context_line":"        LOG.info(\"Set up security group for load balancer %s successfully\","},{"line_number":384,"context_line":"                 loadbalancer_id)"},{"line_number":385,"context_line":"        return sg"},{"line_number":386,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"b22ac07e_25ece4b3","line":383,"range":{"start_line":383,"start_character":25,"end_line":383,"end_character":39},"updated":"2021-07-12 19:33:08.000000000","message":"We should be consistent in using SG or security group so it\u0027s easy to match the lines up in the log.","commit_id":"48292303792003a8b74cd55c90eca9667336a36c"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2199116d9c981c44d569c93606d0c2843e1ec832","unresolved":true,"context_lines":[{"line_number":395,"context_line":""},{"line_number":396,"context_line":"        subnet \u003d self.network_driver.get_subnet(loadbalancer.vip.subnet_id)"},{"line_number":397,"context_line":"        LOG.info(\"Got subnet %s for load balancer %s\","},{"line_number":398,"context_line":"                 loadbalancer.vip.subnet_id,"},{"line_number":399,"context_line":"                 loadbalancer.id)"},{"line_number":400,"context_line":"        return subnet"},{"line_number":401,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"b3076dac_a393cb3a","line":398,"range":{"start_line":398,"start_character":17,"end_line":398,"end_character":43},"updated":"2021-07-12 19:33:08.000000000","message":"get_subnet() could have returned None, but this could print the ID, hiding that fact.  So maybe this should reflect that fact?\n\nloadbalancer.vip.subnet_id if subnet else \u0027None\u0027\n\n?","commit_id":"48292303792003a8b74cd55c90eca9667336a36c"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2199116d9c981c44d569c93606d0c2843e1ec832","unresolved":true,"context_lines":[{"line_number":453,"context_line":"    def execute(self, loadbalancer):"},{"line_number":454,"context_line":"        \"\"\"Allocate a vip to the loadbalancer.\"\"\""},{"line_number":455,"context_line":""},{"line_number":456,"context_line":"        LOG.debug(\"Allocating vip port id %s, subnet id %s, ip address %s\","},{"line_number":457,"context_line":"                  loadbalancer.vip.port_id,"},{"line_number":458,"context_line":"                  loadbalancer.vip.subnet_id,"},{"line_number":459,"context_line":"                  loadbalancer.vip.ip_address)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9834339a_d0abe5d7","line":456,"updated":"2021-07-12 19:33:08.000000000","message":"nit: should put load balancer ID here as it is below, might be searched for in logs.","commit_id":"48292303792003a8b74cd55c90eca9667336a36c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":373,"context_line":"        Task is idempotent and safe to retry."},{"line_number":374,"context_line":"        \"\"\""},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"        LOG.debug(\"Setting up SG for load balancer id: %s\", loadbalancer_id)"},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"        loadbalancer \u003d self.lb_repo.get(db_apis.get_session(),"},{"line_number":379,"context_line":"                                        id\u003dloadbalancer_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"401bb1fa_205e4518","line":376,"updated":"2021-07-12 21:15:39.000000000","message":"I wonder if small changes like this are worth breaking scripts for parsing the logs.\n\nAlso, this is now duplicate to the info level log below. I would remove this if the info level message will remain.","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"446f28d490137dcda5a009dd9ae197ef06d98636","unresolved":true,"context_lines":[{"line_number":373,"context_line":"        Task is idempotent and safe to retry."},{"line_number":374,"context_line":"        \"\"\""},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"        LOG.debug(\"Setting up SG for load balancer id: %s\", loadbalancer_id)"},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"        loadbalancer \u003d self.lb_repo.get(db_apis.get_session(),"},{"line_number":379,"context_line":"                                        id\u003dloadbalancer_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"be14e839_1a034b12","line":376,"in_reply_to":"401bb1fa_205e4518","updated":"2021-07-13 09:29:41.000000000","message":"DEBUG and INFO logs cannot be duplicates. They have different goals and are applied in different cases and places.\nDEBUG level is for developers in develop environment. DEBUG logs are not for production log parsing tools.\nOperators basically work in production and log level on INFO level or above.\nDebug log is placed in the start of function to notify that the work unit was started. Info log is placed in the end of function to notify that work unit was complete. It was already discussed many times in the review.\nLogs were fixed according with the openstack log recommendations (link in commit messages)","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":373,"context_line":"        Task is idempotent and safe to retry."},{"line_number":374,"context_line":"        \"\"\""},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"        LOG.debug(\"Setting up SG for load balancer id: %s\", loadbalancer_id)"},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"        loadbalancer \u003d self.lb_repo.get(db_apis.get_session(),"},{"line_number":379,"context_line":"                                        id\u003dloadbalancer_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"fc4df587_be606534","line":376,"in_reply_to":"be14e839_1a034b12","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":380,"context_line":""},{"line_number":381,"context_line":"        sg \u003d self.network_driver.update_vip_sg(loadbalancer,"},{"line_number":382,"context_line":"                                               loadbalancer.vip)"},{"line_number":383,"context_line":"        LOG.info(\"Set up SG for load balancer %s complete\","},{"line_number":384,"context_line":"                 loadbalancer_id)"},{"line_number":385,"context_line":"        return sg"},{"line_number":386,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3802fa53_1145c04f","line":383,"updated":"2021-07-12 21:15:39.000000000","message":"If you are going to log this, why not log the SG ID here as well?\nIt would also be helpful to comment that this is the VIP SG.","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":380,"context_line":""},{"line_number":381,"context_line":"        sg \u003d self.network_driver.update_vip_sg(loadbalancer,"},{"line_number":382,"context_line":"                                               loadbalancer.vip)"},{"line_number":383,"context_line":"        LOG.info(\"Set up SG for load balancer %s complete\","},{"line_number":384,"context_line":"                 loadbalancer_id)"},{"line_number":385,"context_line":"        return sg"},{"line_number":386,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"cd184e09_5be30ff0","line":383,"in_reply_to":"3802fa53_1145c04f","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":391,"context_line":"    def execute(self, loadbalancer):"},{"line_number":392,"context_line":"        \"\"\"Plumb a vip to an amphora.\"\"\""},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"        LOG.debug(\"Getting subnet for LB: %s\", loadbalancer.id)"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"        subnet \u003d self.network_driver.get_subnet(loadbalancer.vip.subnet_id)"},{"line_number":397,"context_line":"        LOG.info(\"Got subnet %s for load balancer %s\","}],"source_content_type":"text/x-python","patch_set":5,"id":"c78d9e78_462abb58","line":394,"updated":"2021-07-12 21:15:39.000000000","message":"This would be duplicate if we leave the info level message below. However, I\u0027m not sure the info level message is necessary.","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":391,"context_line":"    def execute(self, loadbalancer):"},{"line_number":392,"context_line":"        \"\"\"Plumb a vip to an amphora.\"\"\""},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"        LOG.debug(\"Getting subnet for LB: %s\", loadbalancer.id)"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"        subnet \u003d self.network_driver.get_subnet(loadbalancer.vip.subnet_id)"},{"line_number":397,"context_line":"        LOG.info(\"Got subnet %s for load balancer %s\","}],"source_content_type":"text/x-python","patch_set":5,"id":"9848db17_961520e2","line":394,"in_reply_to":"b271064e_1d93e013","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"446f28d490137dcda5a009dd9ae197ef06d98636","unresolved":true,"context_lines":[{"line_number":391,"context_line":"    def execute(self, loadbalancer):"},{"line_number":392,"context_line":"        \"\"\"Plumb a vip to an amphora.\"\"\""},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"        LOG.debug(\"Getting subnet for LB: %s\", loadbalancer.id)"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"        subnet \u003d self.network_driver.get_subnet(loadbalancer.vip.subnet_id)"},{"line_number":397,"context_line":"        LOG.info(\"Got subnet %s for load balancer %s\","}],"source_content_type":"text/x-python","patch_set":5,"id":"b271064e_1d93e013","line":394,"in_reply_to":"c78d9e78_462abb58","updated":"2021-07-13 09:29:41.000000000","message":"DEBUG and INFO logs cannot be duplicates. They have different goals and are applied in different cases and places.\nDEBUG level is for developers in develop environment. DEBUG logs are not for production log parsing tools.\nOperators basically work in production and log level on INFO level or above.\nDebug log is placed in the start of function to notify that the work unit was started. Info log is placed in the end of function to notify that work unit was complete. It was already discussed many times in the review.\nLogs were fixed according with the openstack log recommendations (link in commit messages)","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":394,"context_line":"        LOG.debug(\"Getting subnet for LB: %s\", loadbalancer.id)"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"        subnet \u003d self.network_driver.get_subnet(loadbalancer.vip.subnet_id)"},{"line_number":397,"context_line":"        LOG.info(\"Got subnet %s for load balancer %s\","},{"line_number":398,"context_line":"                 loadbalancer.vip.subnet_id if subnet else \"None\","},{"line_number":399,"context_line":"                 loadbalancer.id)"},{"line_number":400,"context_line":"        return subnet"}],"source_content_type":"text/x-python","patch_set":5,"id":"f04baa4c_9a63eeb3","line":397,"updated":"2021-07-12 21:15:39.000000000","message":"Why is this message helpful at the info level? This patch already adds logging the subnet ID.","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":394,"context_line":"        LOG.debug(\"Getting subnet for LB: %s\", loadbalancer.id)"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"        subnet \u003d self.network_driver.get_subnet(loadbalancer.vip.subnet_id)"},{"line_number":397,"context_line":"        LOG.info(\"Got subnet %s for load balancer %s\","},{"line_number":398,"context_line":"                 loadbalancer.vip.subnet_id if subnet else \"None\","},{"line_number":399,"context_line":"                 loadbalancer.id)"},{"line_number":400,"context_line":"        return subnet"}],"source_content_type":"text/x-python","patch_set":5,"id":"043ec47c_1baa2ba4","line":397,"in_reply_to":"d6713566_8b0b3b9b","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"446f28d490137dcda5a009dd9ae197ef06d98636","unresolved":true,"context_lines":[{"line_number":394,"context_line":"        LOG.debug(\"Getting subnet for LB: %s\", loadbalancer.id)"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"        subnet \u003d self.network_driver.get_subnet(loadbalancer.vip.subnet_id)"},{"line_number":397,"context_line":"        LOG.info(\"Got subnet %s for load balancer %s\","},{"line_number":398,"context_line":"                 loadbalancer.vip.subnet_id if subnet else \"None\","},{"line_number":399,"context_line":"                 loadbalancer.id)"},{"line_number":400,"context_line":"        return subnet"}],"source_content_type":"text/x-python","patch_set":5,"id":"d6713566_8b0b3b9b","line":397,"in_reply_to":"f04baa4c_9a63eeb3","updated":"2021-07-13 09:29:41.000000000","message":"DEBUG and INFO logs cannot be duplicates. They have different goals and are applied in different cases and places.\nDEBUG level is for developers in develop environment. DEBUG logs are not for production log parsing tools.\nOperators basically work in production and log level on INFO level or above.\nDebug log is placed in the start of function to notify that the work unit was started. Info log is placed in the end of function to notify that work unit was complete. It was already discussed many times in the review.\nLogs were fixed according with the openstack log recommendations (link in commit messages)","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":452,"context_line":""},{"line_number":453,"context_line":"    def execute(self, loadbalancer):"},{"line_number":454,"context_line":"        \"\"\"Allocate a vip to the loadbalancer.\"\"\""},{"line_number":455,"context_line":""},{"line_number":456,"context_line":"        LOG.debug(\"Allocating vip port id %s, subnet id %s, ip address %s for \""},{"line_number":457,"context_line":"                  \"load balancer %s\","},{"line_number":458,"context_line":"                  loadbalancer.vip.port_id,"}],"source_content_type":"text/x-python","patch_set":5,"id":"8a4ccdeb_d0661bae","line":455,"updated":"2021-07-12 21:15:39.000000000","message":"This is duplicate to the info message below.","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"446f28d490137dcda5a009dd9ae197ef06d98636","unresolved":true,"context_lines":[{"line_number":452,"context_line":""},{"line_number":453,"context_line":"    def execute(self, loadbalancer):"},{"line_number":454,"context_line":"        \"\"\"Allocate a vip to the loadbalancer.\"\"\""},{"line_number":455,"context_line":""},{"line_number":456,"context_line":"        LOG.debug(\"Allocating vip port id %s, subnet id %s, ip address %s for \""},{"line_number":457,"context_line":"                  \"load balancer %s\","},{"line_number":458,"context_line":"                  loadbalancer.vip.port_id,"}],"source_content_type":"text/x-python","patch_set":5,"id":"a42365cd_3a652e93","line":455,"in_reply_to":"8a4ccdeb_d0661bae","updated":"2021-07-13 09:29:41.000000000","message":"DEBUG and INFO logs cannot be duplicates. They have different goals and are applied in different cases and places.\nDEBUG level is for developers in develop environment. DEBUG logs are not for production log parsing tools.\nOperators basically work in production and log level on INFO level or above.\nDebug log is placed in the start of function to notify that the work unit was started. Info log is placed in the end of function to notify that work unit was complete. It was already discussed many times in the review.\nLogs were fixed according with the openstack log recommendations (link in commit messages)","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":452,"context_line":""},{"line_number":453,"context_line":"    def execute(self, loadbalancer):"},{"line_number":454,"context_line":"        \"\"\"Allocate a vip to the loadbalancer.\"\"\""},{"line_number":455,"context_line":""},{"line_number":456,"context_line":"        LOG.debug(\"Allocating vip port id %s, subnet id %s, ip address %s for \""},{"line_number":457,"context_line":"                  \"load balancer %s\","},{"line_number":458,"context_line":"                  loadbalancer.vip.port_id,"}],"source_content_type":"text/x-python","patch_set":5,"id":"46c4fd56_6629efc9","line":455,"in_reply_to":"a42365cd_3a652e93","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":460,"context_line":"                  loadbalancer.vip.ip_address,"},{"line_number":461,"context_line":"                  loadbalancer.id)"},{"line_number":462,"context_line":"        vip \u003d self.network_driver.allocate_vip(loadbalancer)"},{"line_number":463,"context_line":"        LOG.info(\"Allocated vip with port id %s, subnet id %s, ip address %s \""},{"line_number":464,"context_line":"                 \"for load balancer %s\","},{"line_number":465,"context_line":"                 loadbalancer.vip.port_id,"},{"line_number":466,"context_line":"                 loadbalancer.vip.subnet_id,"}],"source_content_type":"text/x-python","patch_set":5,"id":"d026a07e_46ddf241","line":463,"updated":"2021-07-12 21:15:39.000000000","message":"This message is duplicate to the info log message added to the database task that logs the same information.","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"446f28d490137dcda5a009dd9ae197ef06d98636","unresolved":true,"context_lines":[{"line_number":460,"context_line":"                  loadbalancer.vip.ip_address,"},{"line_number":461,"context_line":"                  loadbalancer.id)"},{"line_number":462,"context_line":"        vip \u003d self.network_driver.allocate_vip(loadbalancer)"},{"line_number":463,"context_line":"        LOG.info(\"Allocated vip with port id %s, subnet id %s, ip address %s \""},{"line_number":464,"context_line":"                 \"for load balancer %s\","},{"line_number":465,"context_line":"                 loadbalancer.vip.port_id,"},{"line_number":466,"context_line":"                 loadbalancer.vip.subnet_id,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff1c67f1_33a8ca5f","line":463,"in_reply_to":"d026a07e_46ddf241","updated":"2021-07-13 09:29:41.000000000","message":"DEBUG and INFO logs cannot be duplicates. They have different goals and are applied in different cases and places.\nDEBUG level is for developers in develop environment. DEBUG logs are not for production log parsing tools.\nOperators basically work in production and log level on INFO level or above.\nDebug log is placed in the start of function to notify that the work unit was started. Info log is placed in the end of function to notify that work unit was complete. It was already discussed many times in the review.\nLogs were fixed according with the openstack log recommendations (link in commit messages)","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":460,"context_line":"                  loadbalancer.vip.ip_address,"},{"line_number":461,"context_line":"                  loadbalancer.id)"},{"line_number":462,"context_line":"        vip \u003d self.network_driver.allocate_vip(loadbalancer)"},{"line_number":463,"context_line":"        LOG.info(\"Allocated vip with port id %s, subnet id %s, ip address %s \""},{"line_number":464,"context_line":"                 \"for load balancer %s\","},{"line_number":465,"context_line":"                 loadbalancer.vip.port_id,"},{"line_number":466,"context_line":"                 loadbalancer.vip.subnet_id,"}],"source_content_type":"text/x-python","patch_set":5,"id":"fbbfb701_3f5d4d3b","line":463,"in_reply_to":"ff1c67f1_33a8ca5f","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"183c40e2bb42821e30796a0add2de72624214584","unresolved":true,"context_lines":[{"line_number":379,"context_line":"        loadbalancer \u003d self.lb_repo.get(db_apis.get_session(),"},{"line_number":380,"context_line":"                                        id\u003dloadbalancer_id)"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"        sg \u003d self.network_driver.update_vip_sg(loadbalancer,"},{"line_number":383,"context_line":"                                               loadbalancer.vip)"},{"line_number":384,"context_line":"        LOG.info(\"Set up VIP SG %s for load balancer %s complete\","},{"line_number":385,"context_line":"                 sg if sg else \"None\", loadbalancer_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"23954cbf_f260cc18","line":382,"range":{"start_line":382,"start_character":8,"end_line":382,"end_character":11},"updated":"2021-11-10 17:49:36.000000000","message":"nit: For clarity in the code, sg_id might be better since this isn\u0027t a whole security group object being returned.","commit_id":"5df7be8713f937e3405da42b43cf80ace11a7db4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f7d1125c347153ea9fa82f25a54fc979d863c463","unresolved":false,"context_lines":[{"line_number":379,"context_line":"        loadbalancer \u003d self.lb_repo.get(db_apis.get_session(),"},{"line_number":380,"context_line":"                                        id\u003dloadbalancer_id)"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"        sg \u003d self.network_driver.update_vip_sg(loadbalancer,"},{"line_number":383,"context_line":"                                               loadbalancer.vip)"},{"line_number":384,"context_line":"        LOG.info(\"Set up VIP SG %s for load balancer %s complete\","},{"line_number":385,"context_line":"                 sg if sg else \"None\", loadbalancer_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3948b848_fb1a99d8","line":382,"range":{"start_line":382,"start_character":8,"end_line":382,"end_character":11},"in_reply_to":"23954cbf_f260cc18","updated":"2021-11-11 16:54:31.000000000","message":"Done","commit_id":"5df7be8713f937e3405da42b43cf80ace11a7db4"}],"octavia/controller/worker/v2/controller_worker.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"49cf45164aa388a6daafa59480b7b55eee2b07ef","unresolved":true,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def run_flow(self, func, *args, **kwargs):"},{"line_number":102,"context_line":"        if CONF.task_flow.jobboard_enabled:"},{"line_number":103,"context_line":"            LOG.info(\"job id %s\","},{"line_number":104,"context_line":"                     self.services_controller.run_poster(func, *args,"},{"line_number":105,"context_line":"                                                         **kwargs))"},{"line_number":106,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"ade093c5_1dbdce5e","line":103,"updated":"2021-05-21 21:07:09.000000000","message":"If this needs to be INFO level, can we make it more descriptive?\nWhich job (taskflow, health update, cert rotation, wash the car)? What is it associated with?","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"602c24a6f91b1a8272d2066e75b698aff2ae1bcc","unresolved":true,"context_lines":[{"line_number":102,"context_line":"        if CONF.task_flow.jobboard_enabled:"},{"line_number":103,"context_line":"            LOG.info(\"job %s got id %s\","},{"line_number":104,"context_line":"                     func.__name__,"},{"line_number":105,"context_line":"                     self.services_controller.run_poster(func, *args,"},{"line_number":106,"context_line":"                                                         **kwargs))"},{"line_number":107,"context_line":"        else:"},{"line_number":108,"context_line":"            tf \u003d self.tf_engine.taskflow_load("},{"line_number":109,"context_line":"                func(*args), **kwargs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"0bda5186_29c0072d","line":106,"range":{"start_line":105,"start_character":21,"end_line":106,"end_character":66},"updated":"2021-06-08 12:15:04.000000000","message":"You move method execution to logging, this does not seem right. Let\u0027s move log message after execution. Is job id essential for INFO level?","commit_id":"9909e192ba30b0e79a58fa2a7efb1a5828a7eb88"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"5ef4ecdb4b56048190dc508a761c79e6617b273f","unresolved":true,"context_lines":[{"line_number":102,"context_line":"        if CONF.task_flow.jobboard_enabled:"},{"line_number":103,"context_line":"            LOG.info(\"job %s got id %s\","},{"line_number":104,"context_line":"                     func.__name__,"},{"line_number":105,"context_line":"                     self.services_controller.run_poster(func, *args,"},{"line_number":106,"context_line":"                                                         **kwargs))"},{"line_number":107,"context_line":"        else:"},{"line_number":108,"context_line":"            tf \u003d self.tf_engine.taskflow_load("},{"line_number":109,"context_line":"                func(*args), **kwargs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ed7c8db0_0b39157f","line":106,"range":{"start_line":105,"start_character":21,"end_line":106,"end_character":66},"in_reply_to":"0bda5186_29c0072d","updated":"2021-06-08 14:02:23.000000000","message":"INFO log level is for operators.\nSometimes load balancer creation job was scheduled, but have never been executed due to workers were busy or stuck or other reasons.\nJob id can be helpful to debug and fix issues.\nAt least operator has a tiny chance to troubleshoot an issue using job id.","commit_id":"9909e192ba30b0e79a58fa2a7efb1a5828a7eb88"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63c4e9e713cae8a5e965762d846c322e840f296","unresolved":true,"context_lines":[{"line_number":102,"context_line":"        if CONF.task_flow.jobboard_enabled:"},{"line_number":103,"context_line":"            LOG.info(\"job %s got id %s\","},{"line_number":104,"context_line":"                     func.__name__,"},{"line_number":105,"context_line":"                     self.services_controller.run_poster(func, *args,"},{"line_number":106,"context_line":"                                                         **kwargs))"},{"line_number":107,"context_line":"        else:"},{"line_number":108,"context_line":"            tf \u003d self.tf_engine.taskflow_load("},{"line_number":109,"context_line":"                func(*args), **kwargs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"b91dfb74_9143c4df","line":106,"range":{"start_line":105,"start_character":21,"end_line":106,"end_character":66},"in_reply_to":"ed7c8db0_0b39157f","updated":"2021-06-09 08:10:23.000000000","message":"\u003eJob id can be helpful to *debug* and fix issues.\nIf you want to debug some issues - you will have to set DEBUG log level anyway. I\u0027m OK with having it as INFO.","commit_id":"9909e192ba30b0e79a58fa2a7efb1a5828a7eb88"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63c4e9e713cae8a5e965762d846c322e840f296","unresolved":true,"context_lines":[{"line_number":102,"context_line":"        if CONF.task_flow.jobboard_enabled:"},{"line_number":103,"context_line":"            job_id \u003d self.services_controller.run_poster(func, *args,"},{"line_number":104,"context_line":"                                                         **kwargs)"},{"line_number":105,"context_line":"            LOG.info(\"job %s got id %s\", func.__name__, job_id)"},{"line_number":106,"context_line":"        else:"},{"line_number":107,"context_line":"            tf \u003d self.tf_engine.taskflow_load("},{"line_number":108,"context_line":"                func(*args), **kwargs)"}],"source_content_type":"text/x-python","patch_set":3,"id":"a2fc1222_ddca7451","line":105,"range":{"start_line":105,"start_character":22,"end_line":105,"end_character":25},"updated":"2021-06-09 08:10:23.000000000","message":"Taskflow job will execute flow %s with id %s","commit_id":"02d7f4bbb45bd481b38a8d62e7aa8bf6572ccd05"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"b8ac5b98903bc3dc0f341541771cfecc48ede118","unresolved":true,"context_lines":[{"line_number":102,"context_line":"        if CONF.task_flow.jobboard_enabled:"},{"line_number":103,"context_line":"            job_id \u003d self.services_controller.run_poster(func, *args,"},{"line_number":104,"context_line":"                                                         **kwargs)"},{"line_number":105,"context_line":"            LOG.info(\"job %s got id %s\", func.__name__, job_id)"},{"line_number":106,"context_line":"        else:"},{"line_number":107,"context_line":"            tf \u003d self.tf_engine.taskflow_load("},{"line_number":108,"context_line":"                func(*args), **kwargs)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3df41e8b_272b87d3","line":105,"range":{"start_line":105,"start_character":22,"end_line":105,"end_character":25},"in_reply_to":"a2fc1222_ddca7451","updated":"2021-06-09 11:32:50.000000000","message":"fixed","commit_id":"02d7f4bbb45bd481b38a8d62e7aa8bf6572ccd05"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":366,"context_line":"        store[constants.UPDATE_DICT] \u003d {"},{"line_number":367,"context_line":"            constants.TOPOLOGY: topology"},{"line_number":368,"context_line":"        }"},{"line_number":369,"context_line":"        LOG.info(\"Controller worker collected all required data (topology, \""},{"line_number":370,"context_line":"                 \"listeners, load balancer id, build type priority, flavor, \""},{"line_number":371,"context_line":"                 \"availability zone, server group id) to create load balancer \""},{"line_number":372,"context_line":"                 \"%s\", loadbalancer[lib_consts.LOADBALANCER_ID])"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aa730a4_e9cc92ba","line":369,"updated":"2021-07-12 21:15:39.000000000","message":"This is basically duplicate to \nhttps://github.com/openstack/octavia/blob/master/octavia/controller/queue/v2/endpoints.py#L41","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":366,"context_line":"        store[constants.UPDATE_DICT] \u003d {"},{"line_number":367,"context_line":"            constants.TOPOLOGY: topology"},{"line_number":368,"context_line":"        }"},{"line_number":369,"context_line":"        LOG.info(\"Controller worker collected all required data (topology, \""},{"line_number":370,"context_line":"                 \"listeners, load balancer id, build type priority, flavor, \""},{"line_number":371,"context_line":"                 \"availability zone, server group id) to create load balancer \""},{"line_number":372,"context_line":"                 \"%s\", loadbalancer[lib_consts.LOADBALANCER_ID])"}],"source_content_type":"text/x-python","patch_set":5,"id":"23771c2e_ccfa497f","line":369,"in_reply_to":"9aa730a4_e9cc92ba","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"}],"octavia/controller/worker/v2/flows/load_balancer_flows.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"49cf45164aa388a6daafa59480b7b55eee2b07ef","unresolved":true,"context_lines":[{"line_number":93,"context_line":"        if listeners:"},{"line_number":94,"context_line":"            lb_create_flow.add(*self._create_listeners_flow())"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        LOG.info(\"Created load balancer flow %s\", f_name)"},{"line_number":97,"context_line":"        return lb_create_flow"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    def _create_single_topology(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f194ca4_939a8bdf","line":96,"updated":"2021-05-21 21:07:09.000000000","message":"Same comment as the v1 driver.","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"49cf45164aa388a6daafa59480b7b55eee2b07ef","unresolved":true,"context_lines":[{"line_number":105,"context_line":"            role\u003dconstants.ROLE_STANDALONE)"},{"line_number":106,"context_line":"        amp_for_lb_net_flow.add(amp_for_lb_flow)"},{"line_number":107,"context_line":"        amp_for_lb_net_flow.add(*self._get_amp_net_subflow(sf_name))"},{"line_number":108,"context_line":"        LOG.info(\"Created single topology %s\", sf_name)"},{"line_number":109,"context_line":"        return amp_for_lb_net_flow"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def _create_active_standby_topology("}],"source_content_type":"text/x-python","patch_set":1,"id":"83678897_b2899a2c","line":108,"updated":"2021-05-21 21:07:09.000000000","message":"Same comment as the v1 driver.","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"49cf45164aa388a6daafa59480b7b55eee2b07ef","unresolved":true,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        amps_flow.add(master_amp_sf, backup_amp_sf)"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        LOG.info(\"Created single standby topology for %s\", lf_name)"},{"line_number":156,"context_line":"        return flows + [amps_flow]"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def _get_amp_net_subflow(self, sf_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"8a810ed4_7b7486f3","line":155,"updated":"2021-05-21 21:07:09.000000000","message":"Same comment as the v1 driver.","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"49cf45164aa388a6daafa59480b7b55eee2b07ef","unresolved":true,"context_lines":[{"line_number":216,"context_line":"                requires\u003dconstants.LOADBALANCER"},{"line_number":217,"context_line":"            )"},{"line_number":218,"context_line":"        )"},{"line_number":219,"context_line":"        LOG.info(\"Created listeners flow\")"},{"line_number":220,"context_line":"        return flows"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    def get_post_lb_amp_association_flow(self, prefix, topology,"}],"source_content_type":"text/x-python","patch_set":1,"id":"f86bc4a1_c8c19a9c","line":219,"updated":"2021-05-21 21:07:09.000000000","message":"Same comment as the v1 driver.","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"49cf45164aa388a6daafa59480b7b55eee2b07ef","unresolved":true,"context_lines":[{"line_number":247,"context_line":"            post_create_LB_flow.add(database_tasks.MarkLBActiveInDB("},{"line_number":248,"context_line":"                name\u003dsf_name + \u0027-\u0027 + constants.MARK_LB_ACTIVE_INDB,"},{"line_number":249,"context_line":"                requires\u003dconstants.LOADBALANCER))"},{"line_number":250,"context_line":"        LOG.info(\"%s: reloaded the load balancer and created networking \""},{"line_number":251,"context_line":"                 \"flows for amphorae\", sf_name)"},{"line_number":252,"context_line":"        return post_create_LB_flow"},{"line_number":253,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1388209c_4f1b1ee8","line":250,"updated":"2021-05-21 21:07:09.000000000","message":"Same comment as the v1 driver.","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"602c24a6f91b1a8272d2066e75b698aff2ae1bcc","unresolved":true,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        amps_flow.add(master_amp_sf, backup_amp_sf)"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        LOG.info(\"Created single standby topology for %s\", lf_name)"},{"line_number":156,"context_line":"        return flows + [amps_flow]"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def _get_amp_net_subflow(self, sf_name):"}],"source_content_type":"text/x-python","patch_set":2,"id":"4fc32c4e_59dd157f","line":155,"updated":"2021-06-08 12:15:04.000000000","message":"same as on v1","commit_id":"9909e192ba30b0e79a58fa2a7efb1a5828a7eb88"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"6438f521c1748f6022f3cd2499d86c8d1f28abee","unresolved":true,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        amps_flow.add(master_amp_sf, backup_amp_sf)"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        LOG.info(\"Created single standby topology for %s\", lf_name)"},{"line_number":156,"context_line":"        return flows + [amps_flow]"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def _get_amp_net_subflow(self, sf_name):"}],"source_content_type":"text/x-python","patch_set":2,"id":"e4090a74_c3ce0c15","line":155,"in_reply_to":"4fc32c4e_59dd157f","updated":"2021-06-08 18:20:58.000000000","message":"fixed","commit_id":"9909e192ba30b0e79a58fa2a7efb1a5828a7eb88"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":93,"context_line":"        if listeners:"},{"line_number":94,"context_line":"            lb_create_flow.add(*self._create_listeners_flow())"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        LOG.info(\"Created load balancer flow %s\", f_name)"},{"line_number":97,"context_line":"        return lb_create_flow"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    def _create_single_topology(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"d8419ea8_2786f847","line":96,"updated":"2021-07-12 21:15:39.000000000","message":"What is the value in this message?\nThis is during flow build time, not during the actual execution of the flow.","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        if listeners:"},{"line_number":94,"context_line":"            lb_create_flow.add(*self._create_listeners_flow())"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        LOG.info(\"Created load balancer flow %s\", f_name)"},{"line_number":97,"context_line":"        return lb_create_flow"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    def _create_single_topology(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3b06c245_06123ae5","line":96,"in_reply_to":"d8419ea8_2786f847","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":105,"context_line":"            role\u003dconstants.ROLE_STANDALONE)"},{"line_number":106,"context_line":"        amp_for_lb_net_flow.add(amp_for_lb_flow)"},{"line_number":107,"context_line":"        amp_for_lb_net_flow.add(*self._get_amp_net_subflow(sf_name))"},{"line_number":108,"context_line":"        LOG.info(\"Created single topology %s\", sf_name)"},{"line_number":109,"context_line":"        return amp_for_lb_net_flow"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def _create_active_standby_topology("}],"source_content_type":"text/x-python","patch_set":5,"id":"41e7283d_c79f502a","line":108,"updated":"2021-07-12 21:15:39.000000000","message":"What is the value in this message?\nThis is during the sub-flow build time, not during the actual execution of the flow.","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":105,"context_line":"            role\u003dconstants.ROLE_STANDALONE)"},{"line_number":106,"context_line":"        amp_for_lb_net_flow.add(amp_for_lb_flow)"},{"line_number":107,"context_line":"        amp_for_lb_net_flow.add(*self._get_amp_net_subflow(sf_name))"},{"line_number":108,"context_line":"        LOG.info(\"Created single topology %s\", sf_name)"},{"line_number":109,"context_line":"        return amp_for_lb_net_flow"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def _create_active_standby_topology("}],"source_content_type":"text/x-python","patch_set":5,"id":"c7645d40_fb399984","line":108,"in_reply_to":"41e7283d_c79f502a","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        amps_flow.add(master_amp_sf, backup_amp_sf)"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        LOG.info(\"Created active standby topology for %s\", lf_name)"},{"line_number":156,"context_line":"        return flows + [amps_flow]"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def _get_amp_net_subflow(self, sf_name):"}],"source_content_type":"text/x-python","patch_set":5,"id":"df581305_a804b4af","line":155,"updated":"2021-07-12 21:15:39.000000000","message":"What is the value in this message?\nThis is during the sub-flow build time, not during the actual execution of the flow.","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        amps_flow.add(master_amp_sf, backup_amp_sf)"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        LOG.info(\"Created active standby topology for %s\", lf_name)"},{"line_number":156,"context_line":"        return flows + [amps_flow]"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def _get_amp_net_subflow(self, sf_name):"}],"source_content_type":"text/x-python","patch_set":5,"id":"76d09044_667faaaf","line":155,"in_reply_to":"df581305_a804b4af","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":180,"context_line":"                    constants.AMPHORA_NETWORK_CONFIG},"},{"line_number":181,"context_line":"            requires\u003d(constants.LOADBALANCER,"},{"line_number":182,"context_line":"                      constants.AMPHORAE_NETWORK_CONFIG)))"},{"line_number":183,"context_line":"        LOG.info(\"Created net subflow %s\", sf_name)"},{"line_number":184,"context_line":"        return flows"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    def _create_listeners_flow(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"413020be_fd54b125","line":183,"updated":"2021-07-12 21:15:39.000000000","message":"What is the value in this message?\nThis is during the sub-flow build time, not during the actual execution of the flow.","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                    constants.AMPHORA_NETWORK_CONFIG},"},{"line_number":181,"context_line":"            requires\u003d(constants.LOADBALANCER,"},{"line_number":182,"context_line":"                      constants.AMPHORAE_NETWORK_CONFIG)))"},{"line_number":183,"context_line":"        LOG.info(\"Created net subflow %s\", sf_name)"},{"line_number":184,"context_line":"        return flows"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    def _create_listeners_flow(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"15c28ff0_4fa50e50","line":183,"in_reply_to":"413020be_fd54b125","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":217,"context_line":"                requires\u003dconstants.LOADBALANCER"},{"line_number":218,"context_line":"            )"},{"line_number":219,"context_line":"        )"},{"line_number":220,"context_line":"        LOG.info(\"Created listeners flow\")"},{"line_number":221,"context_line":"        return flows"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    def get_post_lb_amp_association_flow(self, prefix, topology,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3af52fb5_76965d12","line":220,"updated":"2021-07-12 21:15:39.000000000","message":"What is the value in this message?\nThis is during the flow build time, not during the actual execution of the flow.","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":217,"context_line":"                requires\u003dconstants.LOADBALANCER"},{"line_number":218,"context_line":"            )"},{"line_number":219,"context_line":"        )"},{"line_number":220,"context_line":"        LOG.info(\"Created listeners flow\")"},{"line_number":221,"context_line":"        return flows"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    def get_post_lb_amp_association_flow(self, prefix, topology,"}],"source_content_type":"text/x-python","patch_set":5,"id":"d415eef7_40a72635","line":220,"in_reply_to":"3af52fb5_76965d12","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"183c40e2bb42821e30796a0add2de72624214584","unresolved":true,"context_lines":[{"line_number":213,"context_line":"                requires\u003dconstants.LOADBALANCER"},{"line_number":214,"context_line":"            )"},{"line_number":215,"context_line":"        )"},{"line_number":216,"context_line":"        LOG.info(\"Created listeners flow\")"},{"line_number":217,"context_line":"        return flows"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"    def get_post_lb_amp_association_flow(self, prefix, topology,"}],"source_content_type":"text/x-python","patch_set":7,"id":"f1b29ea1_8cb41e13","line":216,"updated":"2021-11-10 17:49:36.000000000","message":"I am not sure what value this brings to the logs. It\u0027s not running the flow, it\u0027s just building the list of steps for the flow.\nIf you think it should remain, this should be dropped to DEBUG as it\u0027s not an operational step.","commit_id":"5df7be8713f937e3405da42b43cf80ace11a7db4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f7d1125c347153ea9fa82f25a54fc979d863c463","unresolved":false,"context_lines":[{"line_number":213,"context_line":"                requires\u003dconstants.LOADBALANCER"},{"line_number":214,"context_line":"            )"},{"line_number":215,"context_line":"        )"},{"line_number":216,"context_line":"        LOG.info(\"Created listeners flow\")"},{"line_number":217,"context_line":"        return flows"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"    def get_post_lb_amp_association_flow(self, prefix, topology,"}],"source_content_type":"text/x-python","patch_set":7,"id":"79c1be6d_9cc7537a","line":216,"in_reply_to":"f1b29ea1_8cb41e13","updated":"2021-11-11 16:54:31.000000000","message":"Done","commit_id":"5df7be8713f937e3405da42b43cf80ace11a7db4"}],"octavia/controller/worker/v2/tasks/database_tasks.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"49cf45164aa388a6daafa59480b7b55eee2b07ef","unresolved":true,"context_lines":[{"line_number":412,"context_line":"                                     id\u003damphora[constants.ID]).to_dict()"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":""},{"line_number":415,"context_line":"class ReloadLoadBalancer(BaseDatabaseTask):"},{"line_number":416,"context_line":"    \"\"\"Get an load balancer object from the database.\"\"\""},{"line_number":417,"context_line":""},{"line_number":418,"context_line":"    def execute(self, loadbalancer_id, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3623a40f_61afe229","line":415,"updated":"2021-05-21 21:07:09.000000000","message":"Really this task should be removed from the V2 driver. We are not storing sqlalchemy load balancer objects in the flows for v2 (serialization issues), so this should never need to be called in a v2 flow.","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"49cf45164aa388a6daafa59480b7b55eee2b07ef","unresolved":true,"context_lines":[{"line_number":963,"context_line":"            fer.decrypt(server_pem.encode(\"utf-8\")))"},{"line_number":964,"context_line":"        self.amphora_repo.update(db_apis.get_session(), amphora_id,"},{"line_number":965,"context_line":"                                 cert_expiration\u003dcert_expiration)"},{"line_number":966,"context_line":"        LOG.info(\"Certificate of amphora %s was updated to %s\","},{"line_number":967,"context_line":"                 amphora_id, cert_expiration)"},{"line_number":968,"context_line":""},{"line_number":969,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bc841a97_f9d49b36","line":966,"updated":"2021-05-21 21:07:09.000000000","message":"Same comment as the v1 driver. This is misleading.","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":674,"context_line":"        :returns: None"},{"line_number":675,"context_line":"        \"\"\""},{"line_number":676,"context_line":""},{"line_number":677,"context_line":"        LOG.info(\u0027Mark ALLOCATED in DB for amphora %(amp)s with \u0027"},{"line_number":678,"context_line":"                 \u0027compute id %(comp)s for load balancer: %(lb)s\u0027,"},{"line_number":679,"context_line":"                 {"},{"line_number":680,"context_line":"                     \u0027amp\u0027: amphora.get(constants.ID),"}],"source_content_type":"text/x-python","patch_set":5,"id":"4a3b9df9_345c9907","line":677,"updated":"2021-07-12 21:15:39.000000000","message":"Why remove the semi-colon here?\nIf anything, for consistency, the semi-colon is missing from \"compute id\".","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":674,"context_line":"        :returns: None"},{"line_number":675,"context_line":"        \"\"\""},{"line_number":676,"context_line":""},{"line_number":677,"context_line":"        LOG.info(\u0027Mark ALLOCATED in DB for amphora %(amp)s with \u0027"},{"line_number":678,"context_line":"                 \u0027compute id %(comp)s for load balancer: %(lb)s\u0027,"},{"line_number":679,"context_line":"                 {"},{"line_number":680,"context_line":"                     \u0027amp\u0027: amphora.get(constants.ID),"}],"source_content_type":"text/x-python","patch_set":5,"id":"b0a8894c_72338a10","line":677,"in_reply_to":"4a3b9df9_345c9907","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"}],"octavia/controller/worker/v2/tasks/network_tasks.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"49cf45164aa388a6daafa59480b7b55eee2b07ef","unresolved":true,"context_lines":[{"line_number":407,"context_line":"            db_apis.get_session(), id\u003dloadbalancer_id)"},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"        sg \u003d self.network_driver.update_vip_sg(db_lb, db_lb.vip)"},{"line_number":410,"context_line":"        LOG.info(\"Set up security group for load balancer %s successfully\","},{"line_number":411,"context_line":"                 loadbalancer_id)"},{"line_number":412,"context_line":"        return sg"},{"line_number":413,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"62d88f4e_8a85f1f0","line":410,"updated":"2021-05-21 21:07:09.000000000","message":"Same comment as the v1 driver.","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"49cf45164aa388a6daafa59480b7b55eee2b07ef","unresolved":true,"context_lines":[{"line_number":422,"context_line":"                  loadbalancer[constants.LOADBALANCER_ID])"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"        subnet \u003d self.network_driver.get_subnet(loadbalancer[\u0027vip_subnet_id\u0027])"},{"line_number":425,"context_line":"        LOG.info(\"Got subnet for load balancer %s\","},{"line_number":426,"context_line":"                 loadbalancer[constants.LOADBALANCER_ID])"},{"line_number":427,"context_line":"        return subnet.to_dict()"},{"line_number":428,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"cf1f85fe_d52f29c6","line":425,"updated":"2021-05-21 21:07:09.000000000","message":"Same comment as the v1 driver.","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"49cf45164aa388a6daafa59480b7b55eee2b07ef","unresolved":true,"context_lines":[{"line_number":500,"context_line":"        db_lb \u003d self.loadbalancer_repo.get("},{"line_number":501,"context_line":"            db_apis.get_session(), id\u003dloadbalancer[constants.LOADBALANCER_ID])"},{"line_number":502,"context_line":"        vip \u003d self.network_driver.allocate_vip(db_lb)"},{"line_number":503,"context_line":"        LOG.info(\"Allocated vip with port id %s, subnet id %s, ip address %s \""},{"line_number":504,"context_line":"                 \"for load balancer %s\","},{"line_number":505,"context_line":"                 loadbalancer[constants.VIP_PORT_ID],"},{"line_number":506,"context_line":"                 loadbalancer[constants.VIP_SUBNET_ID],"}],"source_content_type":"text/x-python","patch_set":1,"id":"75339dcb_b55266b2","line":503,"updated":"2021-05-21 21:07:09.000000000","message":"I don\u0027t think we need both log messages here. If there is value in upgrading it to INFO, that should replace the old DEBUG message.","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"ec205d822c279c425b35db64b21b7fb79f62d9d6","unresolved":true,"context_lines":[{"line_number":500,"context_line":"        db_lb \u003d self.loadbalancer_repo.get("},{"line_number":501,"context_line":"            db_apis.get_session(), id\u003dloadbalancer[constants.LOADBALANCER_ID])"},{"line_number":502,"context_line":"        vip \u003d self.network_driver.allocate_vip(db_lb)"},{"line_number":503,"context_line":"        LOG.info(\"Allocated vip with port id %s, subnet id %s, ip address %s \""},{"line_number":504,"context_line":"                 \"for load balancer %s\","},{"line_number":505,"context_line":"                 loadbalancer[constants.VIP_PORT_ID],"},{"line_number":506,"context_line":"                 loadbalancer[constants.VIP_SUBNET_ID],"}],"source_content_type":"text/x-python","patch_set":1,"id":"d783d489_83552b13","line":503,"in_reply_to":"75339dcb_b55266b2","updated":"2021-05-24 11:21:42.000000000","message":"the same response for worker v1","commit_id":"7a944d95f1034e6d7f73225094d5c466f7e71e7c"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2199116d9c981c44d569c93606d0c2843e1ec832","unresolved":true,"context_lines":[{"line_number":407,"context_line":"            db_apis.get_session(), id\u003dloadbalancer_id)"},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"        sg \u003d self.network_driver.update_vip_sg(db_lb, db_lb.vip)"},{"line_number":410,"context_line":"        LOG.info(\"Set up security group for load balancer %s successfully\","},{"line_number":411,"context_line":"                 loadbalancer_id)"},{"line_number":412,"context_line":"        return sg"},{"line_number":413,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"f6aed41d_5d781c00","line":410,"updated":"2021-07-12 19:33:08.000000000","message":"Same comment as v1 code","commit_id":"48292303792003a8b74cd55c90eca9667336a36c"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2199116d9c981c44d569c93606d0c2843e1ec832","unresolved":true,"context_lines":[{"line_number":422,"context_line":"                  loadbalancer[constants.LOADBALANCER_ID])"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"        subnet \u003d self.network_driver.get_subnet(loadbalancer[\u0027vip_subnet_id\u0027])"},{"line_number":425,"context_line":"        LOG.info(\"Got subnet for load balancer %s\","},{"line_number":426,"context_line":"                 loadbalancer[constants.LOADBALANCER_ID])"},{"line_number":427,"context_line":"        return subnet.to_dict()"},{"line_number":428,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"f9090383_919059f4","line":425,"updated":"2021-07-12 19:33:08.000000000","message":"Same comment as v1 code","commit_id":"48292303792003a8b74cd55c90eca9667336a36c"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2199116d9c981c44d569c93606d0c2843e1ec832","unresolved":true,"context_lines":[{"line_number":493,"context_line":"        \"\"\"Allocate a vip to the loadbalancer.\"\"\""},{"line_number":494,"context_line":""},{"line_number":495,"context_line":"        LOG.debug(\"Allocating vip with port id %s, subnet id %s, \""},{"line_number":496,"context_line":"                  \"ip address %s\","},{"line_number":497,"context_line":"                  loadbalancer[constants.VIP_PORT_ID],"},{"line_number":498,"context_line":"                  loadbalancer[constants.VIP_SUBNET_ID],"},{"line_number":499,"context_line":"                  loadbalancer[constants.VIP_ADDRESS])"}],"source_content_type":"text/x-python","patch_set":4,"id":"ceb48594_ede4becc","line":496,"updated":"2021-07-12 19:33:08.000000000","message":"Same comment as v1 code","commit_id":"48292303792003a8b74cd55c90eca9667336a36c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":402,"context_line":"    def execute(self, loadbalancer_id):"},{"line_number":403,"context_line":"        \"\"\"Task to setup SG for LB.\"\"\""},{"line_number":404,"context_line":""},{"line_number":405,"context_line":"        LOG.debug(\"Setting up SG for load balancer id: %s\", loadbalancer_id)"},{"line_number":406,"context_line":"        db_lb \u003d self.loadbalancer_repo.get("},{"line_number":407,"context_line":"            db_apis.get_session(), id\u003dloadbalancer_id)"},{"line_number":408,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"dc35f6fc_e8c2e895","line":405,"updated":"2021-07-12 21:15:39.000000000","message":"I wonder if small changes like this are worth breaking scripts for parsing the logs.\n\nAlso, this is now duplicate to the info level log below. I would remove this if the info level message will remain.","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":402,"context_line":"    def execute(self, loadbalancer_id):"},{"line_number":403,"context_line":"        \"\"\"Task to setup SG for LB.\"\"\""},{"line_number":404,"context_line":""},{"line_number":405,"context_line":"        LOG.debug(\"Setting up SG for load balancer id: %s\", loadbalancer_id)"},{"line_number":406,"context_line":"        db_lb \u003d self.loadbalancer_repo.get("},{"line_number":407,"context_line":"            db_apis.get_session(), id\u003dloadbalancer_id)"},{"line_number":408,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"b5081051_7e146bef","line":405,"in_reply_to":"dc35f6fc_e8c2e895","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":407,"context_line":"            db_apis.get_session(), id\u003dloadbalancer_id)"},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"        sg \u003d self.network_driver.update_vip_sg(db_lb, db_lb.vip)"},{"line_number":410,"context_line":"        LOG.info(\"Set up SG for load balancer %s complete\","},{"line_number":411,"context_line":"                 loadbalancer_id)"},{"line_number":412,"context_line":"        return sg"},{"line_number":413,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"b6e2c56d_e0739b95","line":410,"updated":"2021-07-12 21:15:39.000000000","message":"If you are going to log this, why not log the SG ID here as well?\nIt would also be helpful to comment that this is the VIP SG.","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":407,"context_line":"            db_apis.get_session(), id\u003dloadbalancer_id)"},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"        sg \u003d self.network_driver.update_vip_sg(db_lb, db_lb.vip)"},{"line_number":410,"context_line":"        LOG.info(\"Set up SG for load balancer %s complete\","},{"line_number":411,"context_line":"                 loadbalancer_id)"},{"line_number":412,"context_line":"        return sg"},{"line_number":413,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ebb6505d_279f81f6","line":410,"in_reply_to":"b6e2c56d_e0739b95","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":418,"context_line":"    def execute(self, loadbalancer):"},{"line_number":419,"context_line":"        \"\"\"Plumb a vip to an amphora.\"\"\""},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"        LOG.debug(\"Getting subnet for LB: %s\","},{"line_number":422,"context_line":"                  loadbalancer[constants.LOADBALANCER_ID])"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"        subnet \u003d self.network_driver.get_subnet(loadbalancer[\u0027vip_subnet_id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"0e0374e6_dc0c6373","line":421,"updated":"2021-07-12 21:15:39.000000000","message":"This would be duplicate if we leave the info level message below. However, I\u0027m not sure the info level message is necessary.","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"446f28d490137dcda5a009dd9ae197ef06d98636","unresolved":true,"context_lines":[{"line_number":418,"context_line":"    def execute(self, loadbalancer):"},{"line_number":419,"context_line":"        \"\"\"Plumb a vip to an amphora.\"\"\""},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"        LOG.debug(\"Getting subnet for LB: %s\","},{"line_number":422,"context_line":"                  loadbalancer[constants.LOADBALANCER_ID])"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"        subnet \u003d self.network_driver.get_subnet(loadbalancer[\u0027vip_subnet_id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"a97f0fb7_f9d7771f","line":421,"in_reply_to":"0e0374e6_dc0c6373","updated":"2021-07-13 09:29:41.000000000","message":"DEBUG and INFO logs cannot be duplicates. They have different goals and are applied in different cases and places.\nDEBUG level is for developers in develop environment. DEBUG logs are not for production log parsing tools.\nOperators basically work in production and log level on INFO level or above.\nDebug log is placed in the start of function to notify that the work unit was started. Info log is placed in the end of function to notify that work unit was complete. It was already discussed many times in the review.\nLogs were fixed according with the openstack log recommendations (link in commit messages)","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":418,"context_line":"    def execute(self, loadbalancer):"},{"line_number":419,"context_line":"        \"\"\"Plumb a vip to an amphora.\"\"\""},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"        LOG.debug(\"Getting subnet for LB: %s\","},{"line_number":422,"context_line":"                  loadbalancer[constants.LOADBALANCER_ID])"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"        subnet \u003d self.network_driver.get_subnet(loadbalancer[\u0027vip_subnet_id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"a63db32b_bda1d821","line":421,"in_reply_to":"a97f0fb7_f9d7771f","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":422,"context_line":"                  loadbalancer[constants.LOADBALANCER_ID])"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"        subnet \u003d self.network_driver.get_subnet(loadbalancer[\u0027vip_subnet_id\u0027])"},{"line_number":425,"context_line":"        LOG.info(\"Got subnet %s for load balancer %s\","},{"line_number":426,"context_line":"                 loadbalancer[\u0027vip_subnet_id\u0027] if subnet else \"None\","},{"line_number":427,"context_line":"                 loadbalancer[constants.LOADBALANCER_ID])"},{"line_number":428,"context_line":"        return subnet.to_dict()"}],"source_content_type":"text/x-python","patch_set":5,"id":"1eff9525_9bc29b9f","line":425,"updated":"2021-07-12 21:15:39.000000000","message":"Why is this message helpful at the info level? This patch already adds logging the subnet ID.","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":422,"context_line":"                  loadbalancer[constants.LOADBALANCER_ID])"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"        subnet \u003d self.network_driver.get_subnet(loadbalancer[\u0027vip_subnet_id\u0027])"},{"line_number":425,"context_line":"        LOG.info(\"Got subnet %s for load balancer %s\","},{"line_number":426,"context_line":"                 loadbalancer[\u0027vip_subnet_id\u0027] if subnet else \"None\","},{"line_number":427,"context_line":"                 loadbalancer[constants.LOADBALANCER_ID])"},{"line_number":428,"context_line":"        return subnet.to_dict()"}],"source_content_type":"text/x-python","patch_set":5,"id":"b8fbada9_ed95a5fe","line":425,"in_reply_to":"0db3b20e_1686c22f","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"446f28d490137dcda5a009dd9ae197ef06d98636","unresolved":true,"context_lines":[{"line_number":422,"context_line":"                  loadbalancer[constants.LOADBALANCER_ID])"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"        subnet \u003d self.network_driver.get_subnet(loadbalancer[\u0027vip_subnet_id\u0027])"},{"line_number":425,"context_line":"        LOG.info(\"Got subnet %s for load balancer %s\","},{"line_number":426,"context_line":"                 loadbalancer[\u0027vip_subnet_id\u0027] if subnet else \"None\","},{"line_number":427,"context_line":"                 loadbalancer[constants.LOADBALANCER_ID])"},{"line_number":428,"context_line":"        return subnet.to_dict()"}],"source_content_type":"text/x-python","patch_set":5,"id":"0db3b20e_1686c22f","line":425,"in_reply_to":"1eff9525_9bc29b9f","updated":"2021-07-13 09:29:41.000000000","message":"DEBUG and INFO logs cannot be duplicates. They have different goals and are applied in different cases and places.\nDEBUG level is for developers in develop environment. DEBUG logs are not for production log parsing tools.\nOperators basically work in production and log level on INFO level or above.\nDebug log is placed in the start of function to notify that the work unit was started. Info log is placed in the end of function to notify that work unit was complete. It was already discussed many times in the review.\nLogs were fixed according with the openstack log recommendations (link in commit messages)","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":493,"context_line":"    def execute(self, loadbalancer):"},{"line_number":494,"context_line":"        \"\"\"Allocate a vip to the loadbalancer.\"\"\""},{"line_number":495,"context_line":""},{"line_number":496,"context_line":"        LOG.debug(\"Allocating vip with port id %s, subnet id %s, \""},{"line_number":497,"context_line":"                  \"ip address %s for load balancer %s\","},{"line_number":498,"context_line":"                  loadbalancer[constants.VIP_PORT_ID],"},{"line_number":499,"context_line":"                  loadbalancer[constants.VIP_SUBNET_ID],"}],"source_content_type":"text/x-python","patch_set":5,"id":"aa8e2cf5_fbcdc3f2","line":496,"updated":"2021-07-12 21:15:39.000000000","message":"This is duplicate to the info message below.","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":493,"context_line":"    def execute(self, loadbalancer):"},{"line_number":494,"context_line":"        \"\"\"Allocate a vip to the loadbalancer.\"\"\""},{"line_number":495,"context_line":""},{"line_number":496,"context_line":"        LOG.debug(\"Allocating vip with port id %s, subnet id %s, \""},{"line_number":497,"context_line":"                  \"ip address %s for load balancer %s\","},{"line_number":498,"context_line":"                  loadbalancer[constants.VIP_PORT_ID],"},{"line_number":499,"context_line":"                  loadbalancer[constants.VIP_SUBNET_ID],"}],"source_content_type":"text/x-python","patch_set":5,"id":"dd7456f3_5df7fb53","line":496,"in_reply_to":"046c862a_d6de1161","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"446f28d490137dcda5a009dd9ae197ef06d98636","unresolved":true,"context_lines":[{"line_number":493,"context_line":"    def execute(self, loadbalancer):"},{"line_number":494,"context_line":"        \"\"\"Allocate a vip to the loadbalancer.\"\"\""},{"line_number":495,"context_line":""},{"line_number":496,"context_line":"        LOG.debug(\"Allocating vip with port id %s, subnet id %s, \""},{"line_number":497,"context_line":"                  \"ip address %s for load balancer %s\","},{"line_number":498,"context_line":"                  loadbalancer[constants.VIP_PORT_ID],"},{"line_number":499,"context_line":"                  loadbalancer[constants.VIP_SUBNET_ID],"}],"source_content_type":"text/x-python","patch_set":5,"id":"046c862a_d6de1161","line":496,"in_reply_to":"aa8e2cf5_fbcdc3f2","updated":"2021-07-13 09:29:41.000000000","message":"DEBUG and INFO logs cannot be duplicates. They have different goals and are applied in different cases and places.\nDEBUG level is for developers in develop environment. DEBUG logs are not for production log parsing tools.\nOperators basically work in production and log level on INFO level or above.\nDebug log is placed in the start of function to notify that the work unit was started. Info log is placed in the end of function to notify that work unit was complete. It was already discussed many times in the review.\nLogs were fixed according with the openstack log recommendations (link in commit messages)","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ffc402f20b34da48c99c66f9a06cc8aedd2dc94","unresolved":true,"context_lines":[{"line_number":502,"context_line":"        db_lb \u003d self.loadbalancer_repo.get("},{"line_number":503,"context_line":"            db_apis.get_session(), id\u003dloadbalancer[constants.LOADBALANCER_ID])"},{"line_number":504,"context_line":"        vip \u003d self.network_driver.allocate_vip(db_lb)"},{"line_number":505,"context_line":"        LOG.info(\"Allocated vip with port id %s, subnet id %s, ip address %s \""},{"line_number":506,"context_line":"                 \"for load balancer %s\","},{"line_number":507,"context_line":"                 loadbalancer[constants.VIP_PORT_ID],"},{"line_number":508,"context_line":"                 loadbalancer[constants.VIP_SUBNET_ID],"}],"source_content_type":"text/x-python","patch_set":5,"id":"0b0b109e_161ef8e8","line":505,"updated":"2021-07-12 21:15:39.000000000","message":"This message is duplicate to the info log message added to the database task that logs the same information.","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"446f28d490137dcda5a009dd9ae197ef06d98636","unresolved":true,"context_lines":[{"line_number":502,"context_line":"        db_lb \u003d self.loadbalancer_repo.get("},{"line_number":503,"context_line":"            db_apis.get_session(), id\u003dloadbalancer[constants.LOADBALANCER_ID])"},{"line_number":504,"context_line":"        vip \u003d self.network_driver.allocate_vip(db_lb)"},{"line_number":505,"context_line":"        LOG.info(\"Allocated vip with port id %s, subnet id %s, ip address %s \""},{"line_number":506,"context_line":"                 \"for load balancer %s\","},{"line_number":507,"context_line":"                 loadbalancer[constants.VIP_PORT_ID],"},{"line_number":508,"context_line":"                 loadbalancer[constants.VIP_SUBNET_ID],"}],"source_content_type":"text/x-python","patch_set":5,"id":"687e0b66_63312a72","line":505,"in_reply_to":"0b0b109e_161ef8e8","updated":"2021-07-13 09:29:41.000000000","message":"DEBUG and INFO logs cannot be duplicates. They have different goals and are applied in different cases and places.\nDEBUG level is for developers in develop environment. DEBUG logs are not for production log parsing tools.\nOperators basically work in production and log level on INFO level or above.\nDebug log is placed in the start of function to notify that the work unit was started. Info log is placed in the end of function to notify that work unit was complete. It was already discussed many times in the review.\nLogs were fixed according with the openstack log recommendations (link in commit messages)","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3a0c8e68f535dce207c4e5e7488fe607399ea8a2","unresolved":false,"context_lines":[{"line_number":502,"context_line":"        db_lb \u003d self.loadbalancer_repo.get("},{"line_number":503,"context_line":"            db_apis.get_session(), id\u003dloadbalancer[constants.LOADBALANCER_ID])"},{"line_number":504,"context_line":"        vip \u003d self.network_driver.allocate_vip(db_lb)"},{"line_number":505,"context_line":"        LOG.info(\"Allocated vip with port id %s, subnet id %s, ip address %s \""},{"line_number":506,"context_line":"                 \"for load balancer %s\","},{"line_number":507,"context_line":"                 loadbalancer[constants.VIP_PORT_ID],"},{"line_number":508,"context_line":"                 loadbalancer[constants.VIP_SUBNET_ID],"}],"source_content_type":"text/x-python","patch_set":5,"id":"3d4f1693_9ffe56fa","line":505,"in_reply_to":"687e0b66_63312a72","updated":"2021-07-21 08:29:43.000000000","message":"Done","commit_id":"083ea18f4ace80ba671ea661129af72f580ffca5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"183c40e2bb42821e30796a0add2de72624214584","unresolved":true,"context_lines":[{"line_number":407,"context_line":"        db_lb \u003d self.loadbalancer_repo.get("},{"line_number":408,"context_line":"            db_apis.get_session(), id\u003dloadbalancer_id)"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"        sg \u003d self.network_driver.update_vip_sg(db_lb, db_lb.vip)"},{"line_number":411,"context_line":"        LOG.info(\"Set up VIP SG %s for load balancer %s complete\","},{"line_number":412,"context_line":"                 sg if sg else \"None\", loadbalancer_id)"},{"line_number":413,"context_line":"        return sg"}],"source_content_type":"text/x-python","patch_set":7,"id":"f6875b20_727ee86a","line":410,"range":{"start_line":410,"start_character":8,"end_line":410,"end_character":10},"updated":"2021-11-10 17:49:36.000000000","message":"nit: Same comment as the v1 task, sg_id would be better for code readability.","commit_id":"5df7be8713f937e3405da42b43cf80ace11a7db4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f7d1125c347153ea9fa82f25a54fc979d863c463","unresolved":false,"context_lines":[{"line_number":407,"context_line":"        db_lb \u003d self.loadbalancer_repo.get("},{"line_number":408,"context_line":"            db_apis.get_session(), id\u003dloadbalancer_id)"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"        sg \u003d self.network_driver.update_vip_sg(db_lb, db_lb.vip)"},{"line_number":411,"context_line":"        LOG.info(\"Set up VIP SG %s for load balancer %s complete\","},{"line_number":412,"context_line":"                 sg if sg else \"None\", loadbalancer_id)"},{"line_number":413,"context_line":"        return sg"}],"source_content_type":"text/x-python","patch_set":7,"id":"4e9bf51f_e9a66912","line":410,"range":{"start_line":410,"start_character":8,"end_line":410,"end_character":10},"in_reply_to":"f6875b20_727ee86a","updated":"2021-11-11 16:54:31.000000000","message":"Done","commit_id":"5df7be8713f937e3405da42b43cf80ace11a7db4"}]}
