)]}'
{"api-ref/source/v1/vnflcm.inc":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"863ff5860ae5aeb4e2990624447f13ba9ccbe1cc","unresolved":true,"context_lines":[{"line_number":1347,"context_line":""},{"line_number":1348,"context_line":".. rest_parameters:: parameters_vnflcm.yaml"},{"line_number":1349,"context_line":""},{"line_number":1350,"context_line":"  - vnfLcmOpOccId: vnf_lcm_op_occ_id"}],"source_content_type":"text/x-c++src","patch_set":3,"id":"df493caa_2acbe279","line":1350,"updated":"2021-07-08 17:55:17.000000000","message":"Is nothing changed in the two lines?","commit_id":"79ba4f3b3556ceaaf996debbf57117aafcf21845"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"db616a8bc12b5dbb05f2dd95ef2a641ff9121f53","unresolved":true,"context_lines":[{"line_number":1347,"context_line":""},{"line_number":1348,"context_line":".. rest_parameters:: parameters_vnflcm.yaml"},{"line_number":1349,"context_line":""},{"line_number":1350,"context_line":"  - vnfLcmOpOccId: vnf_lcm_op_occ_id"}],"source_content_type":"text/x-c++src","patch_set":3,"id":"dc3a5f61_99abfa3b","line":1350,"in_reply_to":"df493caa_2acbe279","updated":"2021-07-12 02:42:34.000000000","message":"My apologies, a blank line mixed in by accidentally.\nI`ll remove it in patch 4.","commit_id":"79ba4f3b3556ceaaf996debbf57117aafcf21845"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"a8041bd7c00d208630c95809c6593cc085e246ed","unresolved":true,"context_lines":[{"line_number":12,"context_line":"Creates a new VNF instance resource"},{"line_number":13,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":".. rest_method::  PATCH /vnflcm/v1/vnf_instances"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"The PATCH method creates a new VNF instance resource."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"As the result of successfully executing this method, a new Individual VNF"},{"line_number":20,"context_line":"instance resource shall have been created, and the value of the"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"d596ada0_ee9ad102","line":17,"range":{"start_line":15,"start_character":0,"end_line":17,"end_character":53},"updated":"2021-07-13 07:26:00.000000000","message":"You should not change this `POST`. This is new VNF instance resource creation that is operated by `openstack vnflcm create` command.\n\nI think you should change following part in this patch:\nhttps://opendev.org/openstack/tacker/src/branch/master/api-ref/source/v1/vnflcm.inc#L619","commit_id":"fa67cbcc8ba9baa01729d87f07c7a5c54d6765cc"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"2641714f2b9cef4e4c907151b96f52a8d3f3b26b","unresolved":false,"context_lines":[{"line_number":12,"context_line":"Creates a new VNF instance resource"},{"line_number":13,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":".. rest_method::  PATCH /vnflcm/v1/vnf_instances"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"The PATCH method creates a new VNF instance resource."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"As the result of successfully executing this method, a new Individual VNF"},{"line_number":20,"context_line":"instance resource shall have been created, and the value of the"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"9710150b_92e09071","line":17,"range":{"start_line":15,"start_character":0,"end_line":17,"end_character":53},"in_reply_to":"d596ada0_ee9ad102","updated":"2021-07-19 06:21:53.000000000","message":"I\u0027ve confirmed.","commit_id":"fa67cbcc8ba9baa01729d87f07c7a5c54d6765cc"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"a8041bd7c00d208630c95809c6593cc085e246ed","unresolved":true,"context_lines":[{"line_number":616,"context_line":"Modify a VNF instance"},{"line_number":617,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":618,"context_line":""},{"line_number":619,"context_line":".. rest_method::  POST /vnflcm/v1/vnf_instances/{vnfInstanceId}"},{"line_number":620,"context_line":""},{"line_number":621,"context_line":"This method modifies an \"Individual VNF instance\" resource."},{"line_number":622,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":5,"id":"5e685a3d_58364cb4","line":619,"range":{"start_line":619,"start_character":18,"end_line":619,"end_character":22},"updated":"2021-07-13 07:26:00.000000000","message":"Here\u0027s what you need to fix in my comment above.","commit_id":"fa67cbcc8ba9baa01729d87f07c7a5c54d6765cc"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"2641714f2b9cef4e4c907151b96f52a8d3f3b26b","unresolved":false,"context_lines":[{"line_number":616,"context_line":"Modify a VNF instance"},{"line_number":617,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":618,"context_line":""},{"line_number":619,"context_line":".. rest_method::  POST /vnflcm/v1/vnf_instances/{vnfInstanceId}"},{"line_number":620,"context_line":""},{"line_number":621,"context_line":"This method modifies an \"Individual VNF instance\" resource."},{"line_number":622,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":5,"id":"e6c73a2e_0246c990","line":619,"range":{"start_line":619,"start_character":18,"end_line":619,"end_character":22},"in_reply_to":"291ecf4b_ffef4bd0","updated":"2021-07-19 06:21:53.000000000","message":"I\u0027ve confirmed.","commit_id":"fa67cbcc8ba9baa01729d87f07c7a5c54d6765cc"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"5ad120784580cef9793d3a228e3a33a6764216d0","unresolved":true,"context_lines":[{"line_number":616,"context_line":"Modify a VNF instance"},{"line_number":617,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":618,"context_line":""},{"line_number":619,"context_line":".. rest_method::  POST /vnflcm/v1/vnf_instances/{vnfInstanceId}"},{"line_number":620,"context_line":""},{"line_number":621,"context_line":"This method modifies an \"Individual VNF instance\" resource."},{"line_number":622,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":5,"id":"291ecf4b_ffef4bd0","line":619,"range":{"start_line":619,"start_character":18,"end_line":619,"end_character":22},"in_reply_to":"5e685a3d_58364cb4","updated":"2021-07-15 02:44:18.000000000","message":"My mistake, I will correct it in patch 5.","commit_id":"fa67cbcc8ba9baa01729d87f07c7a5c54d6765cc"}],"tacker/conductor/conductor_server.py":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"863ff5860ae5aeb4e2990624447f13ba9ccbe1cc","unresolved":true,"context_lines":[{"line_number":2161,"context_line":"                    vnfd_pkg_data)"},{"line_number":2162,"context_line":"        else:"},{"line_number":2163,"context_line":"            changed_info \u003d objects.vnf_lcm_op_occs.VnfInfoModifications()"},{"line_number":2164,"context_line":"        if body_data.get(\u0027vnf_instance_name\u0027):"},{"line_number":2165,"context_line":"            changed_info.vnf_instance_name \u003d body_data.get(\u0027vnf_instance_name\u0027)"},{"line_number":2166,"context_line":"        if body_data.get(\u0027vnf_instance_description\u0027):"},{"line_number":2167,"context_line":"            changed_info.vnf_instance_description \u003d body_data.get("},{"line_number":2168,"context_line":"                \u0027vnf_instance_description\u0027)"},{"line_number":2169,"context_line":""},{"line_number":2170,"context_line":"        # update vnf_lcm_op_occs"},{"line_number":2171,"context_line":"        now \u003d timeutils.utcnow()"}],"source_content_type":"text/x-python","patch_set":3,"id":"5dc4eb37_9e123805","line":2168,"range":{"start_line":2164,"start_character":0,"end_line":2168,"end_character":43},"updated":"2021-07-08 17:55:17.000000000","message":"Could I confirm what values are `changed_info.vnf_instance_name` and `changed_info.vnf_instance_description` if each of params in `body_data` is None? If the values are None, we don\u0027t need to have the `if` statement.","commit_id":"79ba4f3b3556ceaaf996debbf57117aafcf21845"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"db616a8bc12b5dbb05f2dd95ef2a641ff9121f53","unresolved":true,"context_lines":[{"line_number":2161,"context_line":"                    vnfd_pkg_data)"},{"line_number":2162,"context_line":"        else:"},{"line_number":2163,"context_line":"            changed_info \u003d objects.vnf_lcm_op_occs.VnfInfoModifications()"},{"line_number":2164,"context_line":"        if body_data.get(\u0027vnf_instance_name\u0027):"},{"line_number":2165,"context_line":"            changed_info.vnf_instance_name \u003d body_data.get(\u0027vnf_instance_name\u0027)"},{"line_number":2166,"context_line":"        if body_data.get(\u0027vnf_instance_description\u0027):"},{"line_number":2167,"context_line":"            changed_info.vnf_instance_description \u003d body_data.get("},{"line_number":2168,"context_line":"                \u0027vnf_instance_description\u0027)"},{"line_number":2169,"context_line":""},{"line_number":2170,"context_line":"        # update vnf_lcm_op_occs"},{"line_number":2171,"context_line":"        now \u003d timeutils.utcnow()"}],"source_content_type":"text/x-python","patch_set":3,"id":"fce58f35_fb35b7f7","line":2168,"range":{"start_line":2164,"start_character":0,"end_line":2168,"end_character":43},"in_reply_to":"5dc4eb37_9e123805","updated":"2021-07-12 02:42:34.000000000","message":"Even if their value is None, I think the if statement is also necessary.\nBecause according to SOL003, type VnfInfoModifications, \nthere is the following description for its attribute,\ntake vnf_instance_name as an example:\n\"If present, this attribute signals modifications of the\n\"vnfInstanceName\" attribute in \"VnfInstance\" as defined\nin clause 5.5.2.12.\"\nTherefore, if a attribute is not modified in the request, \nwe should not assign a value to it, even if the value been assigned is None.","commit_id":"79ba4f3b3556ceaaf996debbf57117aafcf21845"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"a8041bd7c00d208630c95809c6593cc085e246ed","unresolved":true,"context_lines":[{"line_number":2161,"context_line":"                    vnfd_pkg_data)"},{"line_number":2162,"context_line":"        else:"},{"line_number":2163,"context_line":"            changed_info \u003d objects.vnf_lcm_op_occs.VnfInfoModifications()"},{"line_number":2164,"context_line":"        if body_data.get(\u0027vnf_instance_name\u0027):"},{"line_number":2165,"context_line":"            changed_info.vnf_instance_name \u003d body_data.get(\u0027vnf_instance_name\u0027)"},{"line_number":2166,"context_line":"        if body_data.get(\u0027vnf_instance_description\u0027):"},{"line_number":2167,"context_line":"            changed_info.vnf_instance_description \u003d body_data.get("}],"source_content_type":"text/x-python","patch_set":5,"id":"ba182d94_d782fae9","line":2164,"range":{"start_line":2164,"start_character":8,"end_line":2164,"end_character":46},"updated":"2021-07-13 07:26:00.000000000","message":"It seems that the condition added by unit test is not covered. Can you add unit test?\n\nhttps://6944f33f3ef66c20bc22-320386062a8fef96051148fe5e7af6b1.ssl.cf5.rackcdn.com/795021/5/check/openstack-tox-cover/c60dc5d/cover/tacker_conductor_conductor_server_py.html#t2164","commit_id":"fa67cbcc8ba9baa01729d87f07c7a5c54d6765cc"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"2641714f2b9cef4e4c907151b96f52a8d3f3b26b","unresolved":false,"context_lines":[{"line_number":2161,"context_line":"                    vnfd_pkg_data)"},{"line_number":2162,"context_line":"        else:"},{"line_number":2163,"context_line":"            changed_info \u003d objects.vnf_lcm_op_occs.VnfInfoModifications()"},{"line_number":2164,"context_line":"        if body_data.get(\u0027vnf_instance_name\u0027):"},{"line_number":2165,"context_line":"            changed_info.vnf_instance_name \u003d body_data.get(\u0027vnf_instance_name\u0027)"},{"line_number":2166,"context_line":"        if body_data.get(\u0027vnf_instance_description\u0027):"},{"line_number":2167,"context_line":"            changed_info.vnf_instance_description \u003d body_data.get("}],"source_content_type":"text/x-python","patch_set":5,"id":"d07fc3c6_3e006451","line":2164,"range":{"start_line":2164,"start_character":8,"end_line":2164,"end_character":46},"in_reply_to":"ba182d94_d782fae9","updated":"2021-07-19 06:21:53.000000000","message":"I\u0027ve confirmed that this branch passed in PatchSet6.","commit_id":"fa67cbcc8ba9baa01729d87f07c7a5c54d6765cc"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"a8041bd7c00d208630c95809c6593cc085e246ed","unresolved":true,"context_lines":[{"line_number":2163,"context_line":"            changed_info \u003d objects.vnf_lcm_op_occs.VnfInfoModifications()"},{"line_number":2164,"context_line":"        if body_data.get(\u0027vnf_instance_name\u0027):"},{"line_number":2165,"context_line":"            changed_info.vnf_instance_name \u003d body_data.get(\u0027vnf_instance_name\u0027)"},{"line_number":2166,"context_line":"        if body_data.get(\u0027vnf_instance_description\u0027):"},{"line_number":2167,"context_line":"            changed_info.vnf_instance_description \u003d body_data.get("},{"line_number":2168,"context_line":"                \u0027vnf_instance_description\u0027)"},{"line_number":2169,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ea1871ba_175a7944","line":2166,"range":{"start_line":2166,"start_character":8,"end_line":2166,"end_character":53},"updated":"2021-07-13 07:26:00.000000000","message":"It seems that the condition added by unit test is not covered. Can you add unit test?\n\nhttps://6944f33f3ef66c20bc22-320386062a8fef96051148fe5e7af6b1.ssl.cf5.rackcdn.com/795021/5/check/openstack-tox-cover/c60dc5d/cover/tacker_conductor_conductor_server_py.html#t2166","commit_id":"fa67cbcc8ba9baa01729d87f07c7a5c54d6765cc"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"2641714f2b9cef4e4c907151b96f52a8d3f3b26b","unresolved":false,"context_lines":[{"line_number":2163,"context_line":"            changed_info \u003d objects.vnf_lcm_op_occs.VnfInfoModifications()"},{"line_number":2164,"context_line":"        if body_data.get(\u0027vnf_instance_name\u0027):"},{"line_number":2165,"context_line":"            changed_info.vnf_instance_name \u003d body_data.get(\u0027vnf_instance_name\u0027)"},{"line_number":2166,"context_line":"        if body_data.get(\u0027vnf_instance_description\u0027):"},{"line_number":2167,"context_line":"            changed_info.vnf_instance_description \u003d body_data.get("},{"line_number":2168,"context_line":"                \u0027vnf_instance_description\u0027)"},{"line_number":2169,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"c3c5c09c_e1af8492","line":2166,"range":{"start_line":2166,"start_character":8,"end_line":2166,"end_character":53},"in_reply_to":"ea1871ba_175a7944","updated":"2021-07-19 06:21:53.000000000","message":"I\u0027ve confirmed that this branch passed in PatchSet6.","commit_id":"fa67cbcc8ba9baa01729d87f07c7a5c54d6765cc"}],"tacker/objects/vnf_lcm_op_occs.py":[{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"ac5e1a284ce0321470c6e857d11e469bf929d42b","unresolved":true,"context_lines":[{"line_number":834,"context_line":"        return obj"},{"line_number":835,"context_line":""},{"line_number":836,"context_line":"    def to_dict(self):"},{"line_number":837,"context_line":"        dct \u003d {}"},{"line_number":838,"context_line":"        for field in self.fields.keys():"},{"line_number":839,"context_line":"            if field in self and self.__getattribute__(field):"},{"line_number":840,"context_line":"                dct[field] \u003d self.__getattribute__(field)"},{"line_number":841,"context_line":"        return dct"},{"line_number":842,"context_line":""},{"line_number":843,"context_line":""},{"line_number":844,"context_line":"@base.TackerObjectRegistry.register"}],"source_content_type":"text/x-python","patch_set":1,"id":"32ca2181_562980e3","line":841,"range":{"start_line":837,"start_character":0,"end_line":841,"end_character":18},"updated":"2021-06-10 09:41:58.000000000","message":"Thank you for patch.\nI suppose applying this modification won\u0027t change the results.\nIs this necessary for the bugfix?\nIf so, I\u0027d like to suggest using `getattr` instead of `__getattribute__`, like Nova https://github.com/openstack/nova/blob/master/nova/objects/request_spec.py#L1102\nIt\u0027s not a big deal but I suppose using a `__getattribute__` may reduce readability. \n\nBTW, I wonder if this method (including the previous code) can convert the field `vim_connection_info`correctly because it\u0027s `ListOfObjectsField`. \nIf not, it might be better to follow the implementation of the other objects like this: https://review.opendev.org/c/openstack/tacker/+/795021/1/tacker/objects/vnf_lcm_op_occs.py#521","commit_id":"dd292cdff8684b92ed70c8e910b42298d0c3ed6e"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"6fe64f81a98a70e63c2085efa6f537501ca295a7","unresolved":true,"context_lines":[{"line_number":834,"context_line":"        return obj"},{"line_number":835,"context_line":""},{"line_number":836,"context_line":"    def to_dict(self):"},{"line_number":837,"context_line":"        dct \u003d {}"},{"line_number":838,"context_line":"        for field in self.fields.keys():"},{"line_number":839,"context_line":"            if field in self and self.__getattribute__(field):"},{"line_number":840,"context_line":"                dct[field] \u003d self.__getattribute__(field)"},{"line_number":841,"context_line":"        return dct"},{"line_number":842,"context_line":""},{"line_number":843,"context_line":""},{"line_number":844,"context_line":"@base.TackerObjectRegistry.register"}],"source_content_type":"text/x-python","patch_set":1,"id":"57e0a8ca_6ddc5d10","line":841,"range":{"start_line":837,"start_character":0,"end_line":841,"end_character":18},"in_reply_to":"32ca2181_562980e3","updated":"2021-06-28 05:06:15.000000000","message":"Thank you for your comment.\nThis modification is to fix the following problem.\n“2. Fix the exception happened when one of its attributes is not existed in method to_dict in Class VnfInfoModifications.”\nFor example, when the attribute \"vnf_instance_description\" in the object VnfInfoModifications is not assigned a value, calling the previous to_dict method will throw the following exception. Therefore, this repair is necessary.\n\"NotImplementedError: Cannot load \u0027vnf_instance_description\u0027 in the base class\".\nHowever, \"getattr\" is indeed better than \"__getattribute__\", so I have changed \"__getattribute__\" to \"getattr\".\n\nIn addition, the `vim_connection_info` field has no problem in the to_dict method call, but here https://review.opendev.org/c/openstack/tacker/+/795021/1/tacker/objects/vnf_lcm_op_occs.py#59\nWhen VnfInfoModifications is converted to a json string, the following exception will be thrown.\n“TypeError: Object of type VimConnectionInfo is not JSON serializable”.\nSo, I also revised this problem. thanks for your reminder.","commit_id":"dd292cdff8684b92ed70c8e910b42298d0c3ed6e"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"345d3f8577427ac6b42d9190a08a3ab37c585d25","unresolved":false,"context_lines":[{"line_number":834,"context_line":"        return obj"},{"line_number":835,"context_line":""},{"line_number":836,"context_line":"    def to_dict(self):"},{"line_number":837,"context_line":"        dct \u003d {}"},{"line_number":838,"context_line":"        for field in self.fields.keys():"},{"line_number":839,"context_line":"            if field in self and self.__getattribute__(field):"},{"line_number":840,"context_line":"                dct[field] \u003d self.__getattribute__(field)"},{"line_number":841,"context_line":"        return dct"},{"line_number":842,"context_line":""},{"line_number":843,"context_line":""},{"line_number":844,"context_line":"@base.TackerObjectRegistry.register"}],"source_content_type":"text/x-python","patch_set":1,"id":"2b7ca885_fd24050e","line":841,"range":{"start_line":837,"start_character":0,"end_line":841,"end_character":18},"in_reply_to":"57e0a8ca_6ddc5d10","updated":"2021-06-30 08:34:36.000000000","message":"Thank you.\nI understood necessity of this change. I could confirm the problem you pointed out can be solved by your patch.\nAlso, thank you for considering my suggestion.  \nI added one more minor comment to your new patch.\nI\u0027d appreciate if you could check it :)","commit_id":"dd292cdff8684b92ed70c8e910b42298d0c3ed6e"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"345d3f8577427ac6b42d9190a08a3ab37c585d25","unresolved":true,"context_lines":[{"line_number":835,"context_line":""},{"line_number":836,"context_line":"    def to_dict(self):"},{"line_number":837,"context_line":"        dct \u003d {}"},{"line_number":838,"context_line":"        for field in self.fields.keys():"},{"line_number":839,"context_line":"            if field in self and getattr(self, field):"},{"line_number":840,"context_line":"                dct[field] \u003d getattr(self, field)"},{"line_number":841,"context_line":"        if \u0027vim_connection_info\u0027 in dct:"}],"source_content_type":"text/x-python","patch_set":2,"id":"2104676c_866232da","line":838,"updated":"2021-06-30 08:34:36.000000000","message":"Please let me give one more suggestion.\nHow about just simply writing `if statement` inside for loop to avoid hardconding \u0027vim_connection_info\u0027 multiple time?\nAs the number of fields is 11, it doesn\u0027t incur huge computational cost.\n\n```\n        for field in self.fields: # I suppose key() is not necessary\n            if field in self and getattr(self, field):\n                value \u003d getattr(self, field)\n                if field \u003d\u003d \"vim_connection_info\":\n                    value \u003d [vim_conn.to_dict() for vim_conn in value]\n                dct[field] \u003d value\n        return dct\n```","commit_id":"e346986ae26727734eafd2d162798cd05603bfb1"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"55018841a1fdfa62bc29f8796708c2b6bbf073d0","unresolved":true,"context_lines":[{"line_number":835,"context_line":""},{"line_number":836,"context_line":"    def to_dict(self):"},{"line_number":837,"context_line":"        dct \u003d {}"},{"line_number":838,"context_line":"        for field in self.fields.keys():"},{"line_number":839,"context_line":"            if field in self and getattr(self, field):"},{"line_number":840,"context_line":"                dct[field] \u003d getattr(self, field)"},{"line_number":841,"context_line":"        if \u0027vim_connection_info\u0027 in dct:"}],"source_content_type":"text/x-python","patch_set":2,"id":"f8d706d6_8c7dd409","line":838,"in_reply_to":"2104676c_866232da","updated":"2021-07-06 03:02:33.000000000","message":"Thank you for your suggestion. I accept it. Your suggestion will be reflected in patch 3.","commit_id":"e346986ae26727734eafd2d162798cd05603bfb1"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"cebff48a5b06fe59eeb0f41acf6cf4dcc3aa1527","unresolved":false,"context_lines":[{"line_number":835,"context_line":""},{"line_number":836,"context_line":"    def to_dict(self):"},{"line_number":837,"context_line":"        dct \u003d {}"},{"line_number":838,"context_line":"        for field in self.fields.keys():"},{"line_number":839,"context_line":"            if field in self and getattr(self, field):"},{"line_number":840,"context_line":"                dct[field] \u003d getattr(self, field)"},{"line_number":841,"context_line":"        if \u0027vim_connection_info\u0027 in dct:"}],"source_content_type":"text/x-python","patch_set":2,"id":"cbb9d7e2_0713888d","line":838,"in_reply_to":"f8d706d6_8c7dd409","updated":"2021-07-07 00:46:38.000000000","message":"Thank you!\nI\u0027ll remove my -1.","commit_id":"e346986ae26727734eafd2d162798cd05603bfb1"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"863ff5860ae5aeb4e2990624447f13ba9ccbe1cc","unresolved":true,"context_lines":[{"line_number":833,"context_line":""},{"line_number":834,"context_line":"        return obj"},{"line_number":835,"context_line":""},{"line_number":836,"context_line":"    def to_dict(self):"},{"line_number":837,"context_line":"        dct \u003d {}"},{"line_number":838,"context_line":"        for field in self.fields:"},{"line_number":839,"context_line":"            if field in self and getattr(self, field):"}],"source_content_type":"text/x-python","patch_set":3,"id":"0c394cf3_1298ea0a","line":836,"updated":"2021-07-08 17:55:17.000000000","message":"It must be tricky between the name of the method and its behavior, especially for two lines from L.841. Why don\u0027t you add a docstring for description?","commit_id":"79ba4f3b3556ceaaf996debbf57117aafcf21845"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"db616a8bc12b5dbb05f2dd95ef2a641ff9121f53","unresolved":true,"context_lines":[{"line_number":833,"context_line":""},{"line_number":834,"context_line":"        return obj"},{"line_number":835,"context_line":""},{"line_number":836,"context_line":"    def to_dict(self):"},{"line_number":837,"context_line":"        dct \u003d {}"},{"line_number":838,"context_line":"        for field in self.fields:"},{"line_number":839,"context_line":"            if field in self and getattr(self, field):"}],"source_content_type":"text/x-python","patch_set":3,"id":"88a03a94_31360431","line":836,"in_reply_to":"0c394cf3_1298ea0a","updated":"2021-07-12 02:42:34.000000000","message":"The following docstring for to_dict method will be added in patch 4.\n\"\"\"For the attributes of this class, if an attribute exists and is not\n\nnull, it means that the attribute has been modified. This method\n\nreturns a dictionary containing the modified attributes.\n\"\"\"\nThe following comment will be added before L841 in patch 4.\n# Since the type of vim_connection_info is ListOfObjectsField,\n# the objects in vim_connection_info also need to be converted\n# into dictionary, otherwise an error will occur\n# when serialized.\n\nThank you.","commit_id":"79ba4f3b3556ceaaf996debbf57117aafcf21845"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"a8041bd7c00d208630c95809c6593cc085e246ed","unresolved":true,"context_lines":[{"line_number":869,"context_line":"                # into dictionary, otherwise an error will occur"},{"line_number":870,"context_line":"                # when serialized."},{"line_number":871,"context_line":"                if field \u003d\u003d \"vim_connection_info\":"},{"line_number":872,"context_line":"                    value \u003d [vim_conn.to_dict() for vim_conn in value]"},{"line_number":873,"context_line":"                dct[field] \u003d value"},{"line_number":874,"context_line":"        return dct"},{"line_number":875,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"2d79de35_31cee50f","line":872,"range":{"start_line":872,"start_character":20,"end_line":872,"end_character":70},"updated":"2021-07-13 07:26:00.000000000","message":"It seems that the condition added by unit test is not covered. Can you add unit test?\n\nhttps://6944f33f3ef66c20bc22-320386062a8fef96051148fe5e7af6b1.ssl.cf5.rackcdn.com/795021/5/check/openstack-tox-cover/c60dc5d/cover/tacker_objects_vnf_lcm_op_occs_py.html#t872","commit_id":"fa67cbcc8ba9baa01729d87f07c7a5c54d6765cc"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"2641714f2b9cef4e4c907151b96f52a8d3f3b26b","unresolved":false,"context_lines":[{"line_number":869,"context_line":"                # into dictionary, otherwise an error will occur"},{"line_number":870,"context_line":"                # when serialized."},{"line_number":871,"context_line":"                if field \u003d\u003d \"vim_connection_info\":"},{"line_number":872,"context_line":"                    value \u003d [vim_conn.to_dict() for vim_conn in value]"},{"line_number":873,"context_line":"                dct[field] \u003d value"},{"line_number":874,"context_line":"        return dct"},{"line_number":875,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"30141285_cc31e783","line":872,"range":{"start_line":872,"start_character":20,"end_line":872,"end_character":70},"in_reply_to":"2d79de35_31cee50f","updated":"2021-07-19 06:21:53.000000000","message":"I\u0027ve confirmed that this branch passed in PatchSet6.","commit_id":"fa67cbcc8ba9baa01729d87f07c7a5c54d6765cc"}]}
