)]}'
{"octavia/controller/worker/v2/flows/amphora_flows.py":[{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"5ec0a4f53755ed4464b15d1f1508a4718a60faf8","unresolved":false,"context_lines":[{"line_number":149,"context_line":"            name\u003dsf_name + \u0027-\u0027 + constants.UPDATE_AMPHORA_INFO,"},{"line_number":150,"context_line":"            requires\u003d(constants.AMPHORA_ID, constants.COMPUTE_OBJ),"},{"line_number":151,"context_line":"            provides\u003dconstants.AMPHORA))"},{"line_number":152,"context_line":"        create_amp_for_lb_subflow.add("},{"line_number":153,"context_line":"            amphora_driver_tasks.AmphoraComputeConnectivityWait("},{"line_number":154,"context_line":"                name\u003dsf_name + \u0027-\u0027 + constants.AMP_COMPUTE_CONNECTIVITY_WAIT,"},{"line_number":155,"context_line":"                requires\u003dconstants.AMPHORA))"},{"line_number":156,"context_line":"        create_amp_for_lb_subflow.add(amphora_driver_tasks.AmphoraFinalize("},{"line_number":157,"context_line":"            name\u003dsf_name + \u0027-\u0027 + constants.AMPHORA_FINALIZE,"},{"line_number":158,"context_line":"            requires\u003dconstants.AMPHORA))"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_40d51f1b","line":155,"range":{"start_line":152,"start_character":8,"end_line":155,"end_character":44},"updated":"2020-08-28 11:24:13.000000000","message":"I find the root cause of the problems - should be:\n\n   retry_subflow \u003d linear_flow.Flow(\n            constants.CREATE_AMPHORA_RETRY_SUBFLOW,\n            retry\u003damphora_driver_tasks.AmpRetry())\n   retry_subflow.add(\n            amphora_driver_tasks.AmphoraComputeConnectivityWait(\n                name\u003dsf_name + \u0027-\u0027 + constants.AMP_COMPUTE_CONNECTIVITY_WAIT,\n                requires\u003dconstants.AMPHORA,\n                inject\u003d{\u0027raise_retry_exception\u0027: True}))\n   create_amp_for_lb_subflow.add(retry_subflow)\n\nWith this change - things working on my devlab without duplication.","commit_id":"f74975cf65b34bc35117095c380d1213df6a6e96"}],"octavia/controller/worker/v2/tasks/amphora_driver_tasks.py":[{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"8e0c903c78e9d1ff2be2997f3dec8ff4cdd2c559","unresolved":false,"context_lines":[{"line_number":415,"context_line":"class AmphoraIndexUpdateVRRPInterface(BaseAmphoraTask):"},{"line_number":416,"context_line":"    \"\"\"Task to get and update the VRRP interface device name from amphora.\"\"\""},{"line_number":417,"context_line":""},{"line_number":418,"context_line":"    def execute(self, amphorae, amphora_index, timeout_dict\u003dNone):"},{"line_number":419,"context_line":"        amphora_id \u003d amphorae[amphora_index][constants.ID]"},{"line_number":420,"context_line":"        try:"},{"line_number":421,"context_line":"            # TODO(johnsom) Optimize this to use the dicts and not need the"}],"source_content_type":"text/x-python","patch_set":13,"id":"9f560f44_178e8731","line":418,"range":{"start_line":418,"start_character":22,"end_line":418,"end_character":45},"updated":"2020-09-02 12:56:07.000000000","message":"nit: consistency: \"amphora_index, amphorae\"","commit_id":"81351cbc4925ec38dd5a048e7ca6de662ade7b70"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"011654c4e0847f82b8bd8556294b4b23a9df0074","unresolved":false,"context_lines":[{"line_number":415,"context_line":"class AmphoraIndexUpdateVRRPInterface(BaseAmphoraTask):"},{"line_number":416,"context_line":"    \"\"\"Task to get and update the VRRP interface device name from amphora.\"\"\""},{"line_number":417,"context_line":""},{"line_number":418,"context_line":"    def execute(self, amphorae, amphora_index, timeout_dict\u003dNone):"},{"line_number":419,"context_line":"        amphora_id \u003d amphorae[amphora_index][constants.ID]"},{"line_number":420,"context_line":"        try:"},{"line_number":421,"context_line":"            # TODO(johnsom) Optimize this to use the dicts and not need the"}],"source_content_type":"text/x-python","patch_set":13,"id":"9f560f44_2e1a4816","line":418,"range":{"start_line":418,"start_character":22,"end_line":418,"end_character":45},"in_reply_to":"9f560f44_178e8731","updated":"2020-09-03 08:01:40.000000000","message":"Done","commit_id":"81351cbc4925ec38dd5a048e7ca6de662ade7b70"}],"octavia/controller/worker/v2/tasks/compute_tasks.py":[{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"11752ca7e5f56ab14bd43a4a1ae1a58c7b1fae03","unresolved":false,"context_lines":[{"line_number":222,"context_line":"        # Let the Taskflow engine know we are working and alive"},{"line_number":223,"context_line":"        # Don\u0027t use get with a default for \u0027attempt_number\u0027, we need to fail"},{"line_number":224,"context_line":"        # if that number is missing."},{"line_number":225,"context_line":"        self.update_progress("},{"line_number":226,"context_line":"            self.execute.retry.statistics[constants.ATTEMPT_NUMBER] /"},{"line_number":227,"context_line":"            self.execute.retry.stop.max_attempt_number)"},{"line_number":228,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_fb20449e","line":225,"range":{"start_line":225,"start_character":8,"end_line":225,"end_character":29},"updated":"2020-07-02 07:24:23.000000000","message":"I see possible issue with that as update_progress updates only internal task notifier [1] so\ntask_reciver[2], which  calls extend_expiry, is never getting called [3], so although taskflow know about progress, jobboard won\u0027t extend claim on job, so this task can be started in parallel. \n[1] - https://github.com/openstack/taskflow/blob/19d0eb89c80655da766b6fc55b3ebf6b5a0d52f8/taskflow/task.py#L71\n[2] - https://github.com/openstack/taskflow/blob/19d0eb89c80655da766b6fc55b3ebf6b5a0d52f8/taskflow/listeners/base.py#L117\n[3] - https://github.com/openstack/octavia/blob/master/octavia/common/base_taskflow.py#L83","commit_id":"2571b47f7f20076289ddd24847df9f873ac1df15"}],"octavia/controller/worker/v2/tasks/database_tasks.py":[{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"8e0c903c78e9d1ff2be2997f3dec8ff4cdd2c559","unresolved":false,"context_lines":[{"line_number":1775,"context_line":""},{"line_number":1776,"context_line":"        :param loadbalancer_id: Load balancer ID for which a VRRP group"},{"line_number":1777,"context_line":"               should be created"},{"line_number":1778,"context_line":"        :returns: Updated load balancer"},{"line_number":1779,"context_line":"        \"\"\""},{"line_number":1780,"context_line":"        try:"},{"line_number":1781,"context_line":"            self.repos.vrrpgroup.create("}],"source_content_type":"text/x-python","patch_set":13,"id":"9f560f44_b704fb7f","line":1778,"range":{"start_line":1778,"start_character":9,"end_line":1778,"end_character":39},"updated":"2020-09-02 12:56:07.000000000","message":"doesn\u0027t return anything","commit_id":"81351cbc4925ec38dd5a048e7ca6de662ade7b70"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"011654c4e0847f82b8bd8556294b4b23a9df0074","unresolved":false,"context_lines":[{"line_number":1775,"context_line":""},{"line_number":1776,"context_line":"        :param loadbalancer_id: Load balancer ID for which a VRRP group"},{"line_number":1777,"context_line":"               should be created"},{"line_number":1778,"context_line":"        :returns: Updated load balancer"},{"line_number":1779,"context_line":"        \"\"\""},{"line_number":1780,"context_line":"        try:"},{"line_number":1781,"context_line":"            self.repos.vrrpgroup.create("}],"source_content_type":"text/x-python","patch_set":13,"id":"9f560f44_eee4d010","line":1778,"range":{"start_line":1778,"start_character":9,"end_line":1778,"end_character":39},"in_reply_to":"9f560f44_b704fb7f","updated":"2020-09-03 08:01:40.000000000","message":"Done","commit_id":"81351cbc4925ec38dd5a048e7ca6de662ade7b70"}],"octavia/controller/worker/v2/tasks/network_tasks.py":[{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"8e0c903c78e9d1ff2be2997f3dec8ff4cdd2c559","unresolved":false,"context_lines":[{"line_number":61,"context_line":"                  amphora.get(constants.ID))"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        if vrrp_port is None:"},{"line_number":64,"context_line":"            vrrp_port \u003d vrrp_port \u003d self.network_driver.get_port("},{"line_number":65,"context_line":"                amphora[constants.VRRP_PORT_ID])"},{"line_number":66,"context_line":"            vrrp_port_network_id \u003d vrrp_port.network_id"},{"line_number":67,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":13,"id":"9f560f44_37f8eb7a","line":64,"range":{"start_line":64,"start_character":12,"end_line":64,"end_character":33},"updated":"2020-09-02 12:56:07.000000000","message":"typo?","commit_id":"81351cbc4925ec38dd5a048e7ca6de662ade7b70"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"011654c4e0847f82b8bd8556294b4b23a9df0074","unresolved":false,"context_lines":[{"line_number":61,"context_line":"                  amphora.get(constants.ID))"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        if vrrp_port is None:"},{"line_number":64,"context_line":"            vrrp_port \u003d vrrp_port \u003d self.network_driver.get_port("},{"line_number":65,"context_line":"                amphora[constants.VRRP_PORT_ID])"},{"line_number":66,"context_line":"            vrrp_port_network_id \u003d vrrp_port.network_id"},{"line_number":67,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":13,"id":"9f560f44_2eefe8e9","line":64,"range":{"start_line":64,"start_character":12,"end_line":64,"end_character":33},"in_reply_to":"9f560f44_37f8eb7a","updated":"2020-09-03 08:01:40.000000000","message":"Done","commit_id":"81351cbc4925ec38dd5a048e7ca6de662ade7b70"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"8e0c903c78e9d1ff2be2997f3dec8ff4cdd2c559","unresolved":false,"context_lines":[{"line_number":574,"context_line":"class GetAmphoraNetworkConfigsByID(BaseNetworkTask):"},{"line_number":575,"context_line":"    \"\"\"Task to retrieve amphora network details.\"\"\""},{"line_number":576,"context_line":""},{"line_number":577,"context_line":"    def execute(self, loadbalancer_id, amphora_id\u003dNone):"},{"line_number":578,"context_line":"        LOG.debug(\"Retrieving vip network details.\")"},{"line_number":579,"context_line":"        loadbalancer \u003d self.loadbalancer_repo.get(db_apis.get_session(),"},{"line_number":580,"context_line":"                                                  id\u003dloadbalancer_id)"}],"source_content_type":"text/x-python","patch_set":13,"id":"9f560f44_f78153c5","line":577,"range":{"start_line":577,"start_character":49,"end_line":577,"end_character":54},"updated":"2020-09-02 12:56:07.000000000","message":"looks like it can\u0027t be None (anyways, it seems to come from v1)","commit_id":"81351cbc4925ec38dd5a048e7ca6de662ade7b70"}]}
