)]}'
{"tackerclient/osc/v1/vnflcm/samples/instantiate_vnf_instance_param_sample.json":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"fdc62ffc22efec23a1ac4f947c20a4b95bd9d424","unresolved":false,"context_lines":[{"line_number":6,"context_line":"         \"id\":\"ext-vl-uuid-VL1\",\r"},{"line_number":7,"context_line":"         \"vimConnectionId\":\"fa0c8156-732e-4a69-be08-f1d5087cacb3\",\r"},{"line_number":8,"context_line":"         \"resourceProviderId\":\"f8c35bd0-4d67-4436-9f11-14b8a84c92aa\",\r"},{"line_number":9,"context_line":"         \"resourceId\":\"991a1e07-e8a2-4e1b-b77d-3937177a5b7f\",\r"},{"line_number":10,"context_line":"         \"extCps\":[\r"},{"line_number":11,"context_line":"            {\r"},{"line_number":12,"context_line":"               \"cpdId\":\"CP2\",\r"}],"source_content_type":"application/json","patch_set":7,"id":"1fa4df85_ec77cd3a","line":9,"range":{"start_line":9,"start_character":22,"end_line":9,"end_character":60},"updated":"2020-03-17 08:34:41.000000000","message":"Since this value changes depending on the environment, it\u0027s better to enter the following value so that it can be understood.\n\"neutron-network-uuid_VL1\"\nOthers are the same.","commit_id":"dfab8204c20cd98f33bf252be2c23d9e8fb74ffd"},{"author":{"_account_id":29236,"name":"Shubham Potale","email":"Shubham.Potale@nttdata.com","username":"shubham.potale"},"change_message_id":"72b94e2ac4a08646c49793c2cb8060ea2f3b185a","unresolved":false,"context_lines":[{"line_number":6,"context_line":"         \"id\":\"ext-vl-uuid-VL1\",\r"},{"line_number":7,"context_line":"         \"vimConnectionId\":\"fa0c8156-732e-4a69-be08-f1d5087cacb3\",\r"},{"line_number":8,"context_line":"         \"resourceProviderId\":\"f8c35bd0-4d67-4436-9f11-14b8a84c92aa\",\r"},{"line_number":9,"context_line":"         \"resourceId\":\"991a1e07-e8a2-4e1b-b77d-3937177a5b7f\",\r"},{"line_number":10,"context_line":"         \"extCps\":[\r"},{"line_number":11,"context_line":"            {\r"},{"line_number":12,"context_line":"               \"cpdId\":\"CP2\",\r"}],"source_content_type":"application/json","patch_set":7,"id":"1fa4df85_3398b873","line":9,"range":{"start_line":9,"start_character":22,"end_line":9,"end_character":60},"in_reply_to":"1fa4df85_ec77cd3a","updated":"2020-03-19 11:18:38.000000000","message":"Done","commit_id":"dfab8204c20cd98f33bf252be2c23d9e8fb74ffd"}],"tackerclient/osc/v1/vnflcm/vnflcm.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"fdc62ffc22efec23a1ac4f947c20a4b95bd9d424","unresolved":false,"context_lines":[{"line_number":88,"context_line":"                   \"json/yaml file.\"))"},{"line_number":89,"context_line":"        return parser"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def args2body(self, parsed_args, file_path\u003dNone):"},{"line_number":92,"context_line":"        body \u003d {}"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        if file_path:"},{"line_number":95,"context_line":"            return instantiate_vnf_args2body(file_path)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_ec9cad5c","line":92,"range":{"start_line":91,"start_character":0,"end_line":92,"end_character":17},"updated":"2020-03-17 08:34:41.000000000","message":"Since file_path is included in parsed_args, I think the following is better.\n\n    def args2body(self, parsed_args):\n        body \u003d {}\n\n        file_path \u003d parsed_args.I","commit_id":"dfab8204c20cd98f33bf252be2c23d9e8fb74ffd"},{"author":{"_account_id":29236,"name":"Shubham Potale","email":"Shubham.Potale@nttdata.com","username":"shubham.potale"},"change_message_id":"72b94e2ac4a08646c49793c2cb8060ea2f3b185a","unresolved":false,"context_lines":[{"line_number":88,"context_line":"                   \"json/yaml file.\"))"},{"line_number":89,"context_line":"        return parser"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def args2body(self, parsed_args, file_path\u003dNone):"},{"line_number":92,"context_line":"        body \u003d {}"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        if file_path:"},{"line_number":95,"context_line":"            return instantiate_vnf_args2body(file_path)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_f3e220d5","line":92,"range":{"start_line":91,"start_character":0,"end_line":92,"end_character":17},"in_reply_to":"1fa4df85_ec9cad5c","updated":"2020-03-19 11:18:38.000000000","message":"this method is getting called from two places line number 109 and 114. \n\nif implemented as per your suggestion create vnf instance will fail when we provide --I argument, because it will return from line number 95 evry time. so code below 95 will be unreachable","commit_id":"dfab8204c20cd98f33bf252be2c23d9e8fb74ffd"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"fdc62ffc22efec23a1ac4f947c20a4b95bd9d424","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        parser.add_argument("},{"line_number":131,"context_line":"            _VNF_INSTANCE,"},{"line_number":132,"context_line":"            metavar\u003d\"\u003cvnf-instance\u003e\","},{"line_number":133,"context_line":"            help\u003d_(\"VNF instance to display (ID)\"))"},{"line_number":134,"context_line":"        return parser"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    def take_action(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_ccb0d18e","line":133,"range":{"start_line":133,"start_character":19,"end_line":133,"end_character":49},"updated":"2020-03-17 08:34:41.000000000","message":"I think the following is better.\n\"VNF instance ID to display\"","commit_id":"dfab8204c20cd98f33bf252be2c23d9e8fb74ffd"},{"author":{"_account_id":29236,"name":"Shubham Potale","email":"Shubham.Potale@nttdata.com","username":"shubham.potale"},"change_message_id":"72b94e2ac4a08646c49793c2cb8060ea2f3b185a","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        parser.add_argument("},{"line_number":131,"context_line":"            _VNF_INSTANCE,"},{"line_number":132,"context_line":"            metavar\u003d\"\u003cvnf-instance\u003e\","},{"line_number":133,"context_line":"            help\u003d_(\"VNF instance to display (ID)\"))"},{"line_number":134,"context_line":"        return parser"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    def take_action(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_533f7424","line":133,"range":{"start_line":133,"start_character":19,"end_line":133,"end_character":49},"in_reply_to":"1fa4df85_ccb0d18e","updated":"2020-03-19 11:18:38.000000000","message":"Done","commit_id":"dfab8204c20cd98f33bf252be2c23d9e8fb74ffd"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"fdc62ffc22efec23a1ac4f947c20a4b95bd9d424","unresolved":false,"context_lines":[{"line_number":150,"context_line":"            param_file \u003d f.read()"},{"line_number":151,"context_line":"        body \u003d yaml.load(param_file, Loader\u003dyaml.SafeLoader)"},{"line_number":152,"context_line":"    except yaml.YAMLError as e:"},{"line_number":153,"context_line":"        LOG.error(\"yaml data is not well formatted: \" + six.text_type(e))"},{"line_number":154,"context_line":"        try:"},{"line_number":155,"context_line":"            with open(file_path) as f:"},{"line_number":156,"context_line":"                body \u003d json.load(f)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_2ce965b6","line":153,"range":{"start_line":153,"start_character":8,"end_line":153,"end_character":73},"updated":"2020-03-17 08:34:41.000000000","message":"If param-file is json format, I think it is not good to always output this error.\nHowever, to solve this, it may be necessary to give the format of the param-file (json or yaml) as an argument.","commit_id":"dfab8204c20cd98f33bf252be2c23d9e8fb74ffd"},{"author":{"_account_id":29236,"name":"Shubham Potale","email":"Shubham.Potale@nttdata.com","username":"shubham.potale"},"change_message_id":"72b94e2ac4a08646c49793c2cb8060ea2f3b185a","unresolved":false,"context_lines":[{"line_number":150,"context_line":"            param_file \u003d f.read()"},{"line_number":151,"context_line":"        body \u003d yaml.load(param_file, Loader\u003dyaml.SafeLoader)"},{"line_number":152,"context_line":"    except yaml.YAMLError as e:"},{"line_number":153,"context_line":"        LOG.error(\"yaml data is not well formatted: \" + six.text_type(e))"},{"line_number":154,"context_line":"        try:"},{"line_number":155,"context_line":"            with open(file_path) as f:"},{"line_number":156,"context_line":"                body \u003d json.load(f)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_d3c7e411","line":153,"range":{"start_line":153,"start_character":8,"end_line":153,"end_character":73},"in_reply_to":"1fa4df85_2ce965b6","updated":"2020-03-19 11:18:38.000000000","message":"addition of such argument will make the code more complicated.\nbecause it will add \u0027if\u0027 conditions. To solve the issue removed this error message.","commit_id":"dfab8204c20cd98f33bf252be2c23d9e8fb74ffd"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"fdc62ffc22efec23a1ac4f947c20a4b95bd9d424","unresolved":false,"context_lines":[{"line_number":175,"context_line":"        parser.add_argument("},{"line_number":176,"context_line":"            _VNF_INSTANCE,"},{"line_number":177,"context_line":"            metavar\u003d\"\u003cvnf-instance\u003e\","},{"line_number":178,"context_line":"            help\u003d_(\"VNF instance to instantiate (ID)\"))"},{"line_number":179,"context_line":"        parser.add_argument("},{"line_number":180,"context_line":"            \u0027instantiation_request_file\u0027,"},{"line_number":181,"context_line":"            metavar\u003d\"\u003cparam-file\u003e\","}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_ac8c75d7","line":178,"range":{"start_line":178,"start_character":19,"end_line":178,"end_character":53},"updated":"2020-03-17 08:34:41.000000000","message":"I think the following is better.\n\"VNF instance ID to instantiate\"","commit_id":"dfab8204c20cd98f33bf252be2c23d9e8fb74ffd"},{"author":{"_account_id":29236,"name":"Shubham Potale","email":"Shubham.Potale@nttdata.com","username":"shubham.potale"},"change_message_id":"72b94e2ac4a08646c49793c2cb8060ea2f3b185a","unresolved":false,"context_lines":[{"line_number":175,"context_line":"        parser.add_argument("},{"line_number":176,"context_line":"            _VNF_INSTANCE,"},{"line_number":177,"context_line":"            metavar\u003d\"\u003cvnf-instance\u003e\","},{"line_number":178,"context_line":"            help\u003d_(\"VNF instance to instantiate (ID)\"))"},{"line_number":179,"context_line":"        parser.add_argument("},{"line_number":180,"context_line":"            \u0027instantiation_request_file\u0027,"},{"line_number":181,"context_line":"            metavar\u003d\"\u003cparam-file\u003e\","}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_13e1fc9b","line":178,"range":{"start_line":178,"start_character":19,"end_line":178,"end_character":53},"in_reply_to":"1fa4df85_ac8c75d7","updated":"2020-03-19 11:18:38.000000000","message":"Done","commit_id":"dfab8204c20cd98f33bf252be2c23d9e8fb74ffd"},{"author":{"_account_id":18955,"name":"dharmendra","email":"dharmendra.kushwaha@gmail.com","username":"dharmendra"},"change_message_id":"2f02d7368c1acabcf50c92c77572dbd401028ebd","unresolved":false,"context_lines":[{"line_number":149,"context_line":"            param_file \u003d f.read()"},{"line_number":150,"context_line":"        body \u003d yaml.load(param_file, Loader\u003dyaml.SafeLoader)"},{"line_number":151,"context_line":"    except yaml.YAMLError as e:"},{"line_number":152,"context_line":"        try:"},{"line_number":153,"context_line":"            with open(file_path) as f:"},{"line_number":154,"context_line":"                body \u003d json.load(f)"},{"line_number":155,"context_line":"        except ValueError as e:"},{"line_number":156,"context_line":"            raise exceptions.InvalidInput(\u0027The parameter file should be in \u0027"},{"line_number":157,"context_line":"                                          \u0027json or yaml format\u0027)"},{"line_number":158,"context_line":"    if not body:"},{"line_number":159,"context_line":"        raise exceptions.InvalidInput(\u0027The parameter file is empty\u0027)"},{"line_number":160,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"df33271e_36fa7774","line":157,"range":{"start_line":152,"start_character":8,"end_line":157,"end_character":64},"updated":"2020-03-28 16:22:51.000000000","message":"Seems not the correct way and this this exception will not give the clear msg.\n\nI suggest to call loader separately  on the basis of file extensions.","commit_id":"edd9beca484f5ed7c155b708a38fcd651da564e0"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"867e3d30a1745a4566a6d2e96fc88b32b4b97df0","unresolved":false,"context_lines":[{"line_number":149,"context_line":"            param_file \u003d f.read()"},{"line_number":150,"context_line":"        body \u003d yaml.load(param_file, Loader\u003dyaml.SafeLoader)"},{"line_number":151,"context_line":"    except yaml.YAMLError as e:"},{"line_number":152,"context_line":"        try:"},{"line_number":153,"context_line":"            with open(file_path) as f:"},{"line_number":154,"context_line":"                body \u003d json.load(f)"},{"line_number":155,"context_line":"        except ValueError as e:"},{"line_number":156,"context_line":"            raise exceptions.InvalidInput(\u0027The parameter file should be in \u0027"},{"line_number":157,"context_line":"                                          \u0027json or yaml format\u0027)"},{"line_number":158,"context_line":"    if not body:"},{"line_number":159,"context_line":"        raise exceptions.InvalidInput(\u0027The parameter file is empty\u0027)"},{"line_number":160,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"df33271e_2b6b251e","line":157,"range":{"start_line":152,"start_character":8,"end_line":157,"end_character":64},"in_reply_to":"df33271e_36fa7774","updated":"2020-03-30 00:22:15.000000000","message":"If it\u0027s confusing, then I would suggest to support one format only since \u003cparam-file\u003e is a positional argument.","commit_id":"edd9beca484f5ed7c155b708a38fcd651da564e0"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"867e3d30a1745a4566a6d2e96fc88b32b4b97df0","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    if not body:"},{"line_number":159,"context_line":"        raise exceptions.InvalidInput(\u0027The parameter file is empty\u0027)"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    if not body.get(\u0027flavourId\u0027):"},{"line_number":162,"context_line":"        exceptions.InvalidInput(\u0027\"flavourId\" is a required key in\u0027"},{"line_number":163,"context_line":"                                \u0027param file\u0027)"},{"line_number":164,"context_line":"    return body"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"df33271e_4b6e692f","line":163,"range":{"start_line":161,"start_character":4,"end_line":163,"end_character":45},"updated":"2020-03-30 00:22:15.000000000","message":"I don\u0027t think there is any need to validate flavourId parameter individually here.\nIf at all it\u0027s needed, there should be handshaking of reading the schema for a specific version from tacker service and making sure the request adheres to schema requirements before actually calling the Rest API.\n\nfor now, I will suggest to remove this check.","commit_id":"edd9beca484f5ed7c155b708a38fcd651da564e0"}],"tackerclient/tests/unit/osc/v1/test_vnflcm.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"fdc62ffc22efec23a1ac4f947c20a4b95bd9d424","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        # command param"},{"line_number":79,"context_line":"        if instantiate:"},{"line_number":80,"context_line":"            base_path \u003d os.path.dirname(os.path.abspath(__file__))"},{"line_number":81,"context_line":"            param_file \u003d os.path.join("},{"line_number":82,"context_line":"                base_path, \"../../../../osc/v1/vnflcm/samples/\""},{"line_number":83,"context_line":"                           \"instantiate_vnf_instance_param_sample.json\")"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"            arglist.extend([\u0027--I\u0027, param_file])"},{"line_number":86,"context_line":"            verifylist.append((\u0027I\u0027, param_file))"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_7778868e","line":83,"range":{"start_line":80,"start_character":12,"end_line":83,"end_character":72},"updated":"2020-03-17 08:34:41.000000000","message":"I think the following is better because the relative path hierarchy is deep.\nparam_file \u003d (\"./tackerclient/osc/v1/vnflcm/samples/\"\n              \"instantiate_vnf_instance_param_sample.json\")","commit_id":"dfab8204c20cd98f33bf252be2c23d9e8fb74ffd"},{"author":{"_account_id":29236,"name":"Shubham Potale","email":"Shubham.Potale@nttdata.com","username":"shubham.potale"},"change_message_id":"72b94e2ac4a08646c49793c2cb8060ea2f3b185a","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        # command param"},{"line_number":79,"context_line":"        if instantiate:"},{"line_number":80,"context_line":"            base_path \u003d os.path.dirname(os.path.abspath(__file__))"},{"line_number":81,"context_line":"            param_file \u003d os.path.join("},{"line_number":82,"context_line":"                base_path, \"../../../../osc/v1/vnflcm/samples/\""},{"line_number":83,"context_line":"                           \"instantiate_vnf_instance_param_sample.json\")"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"            arglist.extend([\u0027--I\u0027, param_file])"},{"line_number":86,"context_line":"            verifylist.append((\u0027I\u0027, param_file))"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_b347c877","line":83,"range":{"start_line":80,"start_character":12,"end_line":83,"end_character":72},"in_reply_to":"1fa4df85_7778868e","updated":"2020-03-19 11:18:38.000000000","message":"Done","commit_id":"dfab8204c20cd98f33bf252be2c23d9e8fb74ffd"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"fdc62ffc22efec23a1ac4f947c20a4b95bd9d424","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    def test_take_action(self):"},{"line_number":153,"context_line":"        vnf_instance \u003d vnflcm_fakes.vnf_instance_response()"},{"line_number":154,"context_line":"        base_path \u003d os.path.dirname(os.path.abspath(__file__))"},{"line_number":155,"context_line":"        sample_param_file \u003d os.path.join("},{"line_number":156,"context_line":"            base_path, \"../../../../osc/v1/vnflcm/samples/\""},{"line_number":157,"context_line":"                       \"instantiate_vnf_instance_param_sample.json\")"},{"line_number":158,"context_line":"        arglist \u003d [vnf_instance[\u0027id\u0027], sample_param_file]"},{"line_number":159,"context_line":"        verifylist \u003d [(\u0027vnf_instance\u0027, vnf_instance[\u0027id\u0027]),"},{"line_number":160,"context_line":"                      (\u0027instantiation_request_file\u0027, sample_param_file)]"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_f76316dc","line":157,"range":{"start_line":154,"start_character":0,"end_line":157,"end_character":68},"updated":"2020-03-17 08:34:41.000000000","message":"sample_param_file \u003d (\"./tackerclient/osc/v1/vnflcm/samples/\"\n                     \"instantiate_vnf_instance_param_sample.json\")","commit_id":"dfab8204c20cd98f33bf252be2c23d9e8fb74ffd"},{"author":{"_account_id":29236,"name":"Shubham Potale","email":"Shubham.Potale@nttdata.com","username":"shubham.potale"},"change_message_id":"72b94e2ac4a08646c49793c2cb8060ea2f3b185a","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    def test_take_action(self):"},{"line_number":153,"context_line":"        vnf_instance \u003d vnflcm_fakes.vnf_instance_response()"},{"line_number":154,"context_line":"        base_path \u003d os.path.dirname(os.path.abspath(__file__))"},{"line_number":155,"context_line":"        sample_param_file \u003d os.path.join("},{"line_number":156,"context_line":"            base_path, \"../../../../osc/v1/vnflcm/samples/\""},{"line_number":157,"context_line":"                       \"instantiate_vnf_instance_param_sample.json\")"},{"line_number":158,"context_line":"        arglist \u003d [vnf_instance[\u0027id\u0027], sample_param_file]"},{"line_number":159,"context_line":"        verifylist \u003d [(\u0027vnf_instance\u0027, vnf_instance[\u0027id\u0027]),"},{"line_number":160,"context_line":"                      (\u0027instantiation_request_file\u0027, sample_param_file)]"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_73015038","line":157,"range":{"start_line":154,"start_character":0,"end_line":157,"end_character":68},"in_reply_to":"1fa4df85_f76316dc","updated":"2020-03-19 11:18:38.000000000","message":"Done","commit_id":"dfab8204c20cd98f33bf252be2c23d9e8fb74ffd"}]}
