)]}'
{"tacker/db/vm/vm_db.py":[{"author":{"_account_id":10487,"name":"Kanagaraj Manickam","email":"mkr1481@gmail.com","username":"kanagarajm"},"change_message_id":"689680f552680149d1facc88303816ee165a7341","unresolved":false,"context_lines":[{"line_number":335,"context_line":"        tenant_id \u003d self._get_tenant_id_for_create(context, device)"},{"line_number":336,"context_line":"        template_id \u003d device[\u0027template_id\u0027]"},{"line_number":337,"context_line":"        name \u003d device.get(\u0027name\u0027)"},{"line_number":338,"context_line":"        description \u003d device[\u0027description\u0027]"},{"line_number":339,"context_line":"        device_id \u003d str(uuid.uuid4())"},{"line_number":340,"context_line":"        attributes \u003d device.get(\u0027attributes\u0027, {})"},{"line_number":341,"context_line":"        vim_id \u003d device.get(\u0027vim_id\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a9d85d2_24ce7fb4","line":338,"updated":"2016-06-21 07:35:59.000000000","message":"is it not right to set this description only when description is given for a device while device is created, otherwise use it from the template description it self. reason is, description is optional property of device.","commit_id":"196ec461ca95c52e5b6984674b60d3591de2e550"},{"author":{"_account_id":10487,"name":"Kanagaraj Manickam","email":"mkr1481@gmail.com","username":"kanagarajm"},"change_message_id":"a72fb047489d8f76f44e442217bb370021d13102","unresolved":false,"context_lines":[{"line_number":335,"context_line":"        tenant_id \u003d self._get_tenant_id_for_create(context, device)"},{"line_number":336,"context_line":"        template_id \u003d device[\u0027template_id\u0027]"},{"line_number":337,"context_line":"        name \u003d device.get(\u0027name\u0027)"},{"line_number":338,"context_line":"        description \u003d device[\u0027description\u0027]"},{"line_number":339,"context_line":"        device_id \u003d str(uuid.uuid4())"},{"line_number":340,"context_line":"        attributes \u003d device.get(\u0027attributes\u0027, {})"},{"line_number":341,"context_line":"        vim_id \u003d device.get(\u0027vim_id\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_8901f508","line":338,"in_reply_to":"3aaa91ec_6b576826","updated":"2016-06-24 04:22:17.000000000","message":"yes, this should be captured. in addition.","commit_id":"196ec461ca95c52e5b6984674b60d3591de2e550"},{"author":{"_account_id":13485,"name":"Sripriya Seetharam","email":"sseetha@brocade.com","username":"Sripriya"},"change_message_id":"ad1e12c5b4ff902b291d08825fe74832e006f812","unresolved":false,"context_lines":[{"line_number":335,"context_line":"        tenant_id \u003d self._get_tenant_id_for_create(context, device)"},{"line_number":336,"context_line":"        template_id \u003d device[\u0027template_id\u0027]"},{"line_number":337,"context_line":"        name \u003d device.get(\u0027name\u0027)"},{"line_number":338,"context_line":"        description \u003d device[\u0027description\u0027]"},{"line_number":339,"context_line":"        device_id \u003d str(uuid.uuid4())"},{"line_number":340,"context_line":"        attributes \u003d device.get(\u0027attributes\u0027, {})"},{"line_number":341,"context_line":"        vim_id \u003d device.get(\u0027vim_id\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_6b576826","line":338,"in_reply_to":"3aaa91ec_8d486f5d","updated":"2016-06-23 22:40:52.000000000","message":"heat template during vnf instantiation picks the description from vnfd template and not from vnf description. not sure if that needs to be updated as well with vnf description or just retain as is [1]\n\n[1] https://github.com/openstack/tacker/blob/master/tacker/vm/infra_drivers/heat/heat.py#L327","commit_id":"196ec461ca95c52e5b6984674b60d3591de2e550"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"7cf92540a4e726d5725090202d5472d5f10c8de3","unresolved":false,"context_lines":[{"line_number":335,"context_line":"        tenant_id \u003d self._get_tenant_id_for_create(context, device)"},{"line_number":336,"context_line":"        template_id \u003d device[\u0027template_id\u0027]"},{"line_number":337,"context_line":"        name \u003d device.get(\u0027name\u0027)"},{"line_number":338,"context_line":"        description \u003d device[\u0027description\u0027]"},{"line_number":339,"context_line":"        device_id \u003d str(uuid.uuid4())"},{"line_number":340,"context_line":"        attributes \u003d device.get(\u0027attributes\u0027, {})"},{"line_number":341,"context_line":"        vim_id \u003d device.get(\u0027vim_id\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a9d85d2_f6fee869","line":338,"in_reply_to":"5a9d85d2_24ce7fb4","updated":"2016-06-21 09:47:47.000000000","message":"IMO, we finally want to move away from such things.. the reason being, the description picked by VNFD template developer might look like,\n\n\"Acme Virtual Firewall Template, v1.2, with monitoring \u0026 scaling\",\n\nthe description for VNF instantiated from that VNFD could be like,\n\n\"Acme vFW - west-coast, customer-foo\"\n\nSo, I\u0027d vote to leave this patchset as is.","commit_id":"196ec461ca95c52e5b6984674b60d3591de2e550"},{"author":{"_account_id":20986,"name":"Manikantha Srinivas Tadi","email":"manikantha.tadi@gmail.com","username":"mtadi"},"change_message_id":"636b3e23f4696328b67b71c828491e89ad8a92b0","unresolved":false,"context_lines":[{"line_number":335,"context_line":"        tenant_id \u003d self._get_tenant_id_for_create(context, device)"},{"line_number":336,"context_line":"        template_id \u003d device[\u0027template_id\u0027]"},{"line_number":337,"context_line":"        name \u003d device.get(\u0027name\u0027)"},{"line_number":338,"context_line":"        description \u003d device[\u0027description\u0027]"},{"line_number":339,"context_line":"        device_id \u003d str(uuid.uuid4())"},{"line_number":340,"context_line":"        attributes \u003d device.get(\u0027attributes\u0027, {})"},{"line_number":341,"context_line":"        vim_id \u003d device.get(\u0027vim_id\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_8d486f5d","line":338,"in_reply_to":"5a9d85d2_f6fee869","updated":"2016-06-21 22:28:55.000000000","message":"+1","commit_id":"196ec461ca95c52e5b6984674b60d3591de2e550"},{"author":{"_account_id":10487,"name":"Kanagaraj Manickam","email":"mkr1481@gmail.com","username":"kanagarajm"},"change_message_id":"41e47b7438b45b4f1e26970e87b73e3f51ef8845","unresolved":false,"context_lines":[{"line_number":335,"context_line":"        tenant_id \u003d self._get_tenant_id_for_create(context, device)"},{"line_number":336,"context_line":"        template_id \u003d device[\u0027template_id\u0027]"},{"line_number":337,"context_line":"        name \u003d device.get(\u0027name\u0027)"},{"line_number":338,"context_line":"        description \u003d device[\u0027description\u0027]"},{"line_number":339,"context_line":"        device_id \u003d str(uuid.uuid4())"},{"line_number":340,"context_line":"        attributes \u003d device.get(\u0027attributes\u0027, {})"},{"line_number":341,"context_line":"        vim_id \u003d device.get(\u0027vim_id\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_743c5cc8","line":338,"in_reply_to":"5a9d85d2_f6fee869","updated":"2016-06-24 04:23:44.000000000","message":"ok sure. thanks. let us only depends on the device description.","commit_id":"196ec461ca95c52e5b6984674b60d3591de2e550"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"bf5748f8bd53395d1f1f2f0a750f46f1f3fc926c","unresolved":false,"context_lines":[{"line_number":344,"context_line":"            device_db \u003d Device(id\u003ddevice_id,"},{"line_number":345,"context_line":"                               tenant_id\u003dtenant_id,"},{"line_number":346,"context_line":"                               name\u003dname,"},{"line_number":347,"context_line":"                               description\u003ddescription,"},{"line_number":348,"context_line":"                               instance_id\u003dNone,"},{"line_number":349,"context_line":"                               template_id\u003dtemplate_id,"},{"line_number":350,"context_line":"                               vim_id\u003dvim_id,"}],"source_content_type":"text/x-python","patch_set":7,"id":"3ac371cc_f456a828","line":347,"range":{"start_line":347,"start_character":43,"end_line":347,"end_character":54},"updated":"2016-08-16 23:14:58.000000000","message":"Can we default to picking the description from the VNFD template if this is empty?","commit_id":"075de870e86a9eaceace7f7bc24820b9e635e86e"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"4725d4a68907a915505d3ec3ee8ed68705921938","unresolved":false,"context_lines":[{"line_number":385,"context_line":"            template_db \u003d self._get_resource(context, VNFD,"},{"line_number":386,"context_line":"                                             template_id)"},{"line_number":387,"context_line":"            if device[\u0027description\u0027]:"},{"line_number":388,"context_line":"                description \u003d str(device[\u0027description\u0027])"},{"line_number":389,"context_line":"            else:"},{"line_number":390,"context_line":"                description \u003d template_db.description"},{"line_number":391,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"1ac06dbe_91f7c458","line":388,"range":{"start_line":388,"start_character":30,"end_line":388,"end_character":33},"updated":"2016-08-25 08:09:47.000000000","message":"I think no need to add str()","commit_id":"fd7cb8644e84ed99cc2730e749319af516a3ae06"},{"author":{"_account_id":18955,"name":"dharmendra","email":"dharmendra.kushwaha@gmail.com","username":"dharmendra"},"change_message_id":"a3fabb65b0651f6151e60e44c52d0fbbc8cc560d","unresolved":false,"context_lines":[{"line_number":377,"context_line":"        with context.session.begin(subtransactions\u003dTrue):"},{"line_number":378,"context_line":"            vnfd_db \u003d self._get_resource(context, VNFD,"},{"line_number":379,"context_line":"                                         vnfd_id)"},{"line_number":380,"context_line":"            if vnf[\u0027description\u0027]:"},{"line_number":381,"context_line":"                description \u003d vnf[\u0027description\u0027]"},{"line_number":382,"context_line":"            else:"},{"line_number":383,"context_line":"                description \u003d vnfd_db.description"}],"source_content_type":"text/x-python","patch_set":13,"id":"7a8ec9b2_e1d1d9fc","line":380,"range":{"start_line":380,"start_character":0,"end_line":380,"end_character":34},"updated":"2016-09-21 01:31:07.000000000","message":"what if user want empty string in description?","commit_id":"7142dd20ef7b96bd9ce040c71c36b59d15deb751"}],"tacker/db/vnfm/vnfm_db.py":[{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"35a673d995dbb36f93f555a25c86c8d3faf9c6b1","unresolved":false,"context_lines":[{"line_number":374,"context_line":"        with context.session.begin(subtransactions\u003dTrue):"},{"line_number":375,"context_line":"            vnfd_db \u003d self._get_resource(context, VNFD,"},{"line_number":376,"context_line":"                                         vnfd_id)"},{"line_number":377,"context_line":"            if vnf[\u0027description\u0027] is not None:"},{"line_number":378,"context_line":"                description \u003d str(vnf[\u0027description\u0027])"},{"line_number":379,"context_line":"            else:"},{"line_number":380,"context_line":"                description \u003d vnfd_db.description"}],"source_content_type":"text/x-python","patch_set":15,"id":"1a6eadb0_f3d52cb9","line":377,"range":{"start_line":377,"start_character":15,"end_line":377,"end_character":33},"updated":"2016-12-14 10:41:40.000000000","message":"if \u0027description\u0027 in vnf is better.\nTo think about how we can clear the description field if user wants to","commit_id":"ae2a1c696dc03197c54a157d9caab988ccebe9cb"}],"tacker/vm/infra_drivers/heat/heat.py":[{"author":{"_account_id":13485,"name":"Sripriya Seetharam","email":"sseetha@brocade.com","username":"Sripriya"},"change_message_id":"d44da4576ee3cf96d89e0a29c107b16274e71c91","unresolved":false,"context_lines":[{"line_number":319,"context_line":"                template_dict[\u0027outputs\u0027] \u003d outputs_dict"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"                if \u0027get_input\u0027 in vnfd_yaml:"},{"line_number":322,"context_line":"                    self._process_parameterized_input(dev_attrs, vnfd_dict)\\"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"                KEY_LIST \u003d ((\u0027description\u0027, \u0027description\u0027), )"},{"line_number":325,"context_line":"                for (key, vnfd_key) in KEY_LIST:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_9424efc6","line":322,"range":{"start_line":322,"start_character":75,"end_line":322,"end_character":76},"updated":"2016-06-27 20:05:16.000000000","message":"pl remove","commit_id":"47ee8a87c0a4c05a35b1dc377c4d62ca3a1ba473"},{"author":{"_account_id":13485,"name":"Sripriya Seetharam","email":"sseetha@brocade.com","username":"Sripriya"},"change_message_id":"d44da4576ee3cf96d89e0a29c107b16274e71c91","unresolved":false,"context_lines":[{"line_number":324,"context_line":"                KEY_LIST \u003d ((\u0027description\u0027, \u0027description\u0027), )"},{"line_number":325,"context_line":"                for (key, vnfd_key) in KEY_LIST:"},{"line_number":326,"context_line":"                    if vnfd_key in vnfd_dict:"},{"line_number":327,"context_line":"                        template_dict[key] \u003d str(device[\u0027description\u0027])"},{"line_number":328,"context_line":""},{"line_number":329,"context_line":"                for vdu_id, vdu_dict in vnfd_dict.get(\u0027vdus\u0027, {}).items():"},{"line_number":330,"context_line":"                    template_dict.setdefault(\u0027resources\u0027, {})[vdu_id] \u003d {"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_7408632e","line":327,"range":{"start_line":327,"start_character":45,"end_line":327,"end_character":48},"updated":"2016-06-27 20:05:16.000000000","message":"why do we need explicit string conversion here? we already validate description as type string in api layer [1]\n\n[1] https://github.com/openstack/tacker/blob/master/tacker/extensions/vnfm.py#L191","commit_id":"47ee8a87c0a4c05a35b1dc377c4d62ca3a1ba473"},{"author":{"_account_id":10487,"name":"Kanagaraj Manickam","email":"mkr1481@gmail.com","username":"kanagarajm"},"change_message_id":"8fe2149d52265ab36cf49c0e2c2845dabb2d3291","unresolved":false,"context_lines":[{"line_number":324,"context_line":"                KEY_LIST \u003d ((\u0027description\u0027, \u0027description\u0027), )"},{"line_number":325,"context_line":"                for (key, vnfd_key) in KEY_LIST:"},{"line_number":326,"context_line":"                    if vnfd_key in vnfd_dict:"},{"line_number":327,"context_line":"                        template_dict[key] \u003d str(device[\u0027description\u0027])"},{"line_number":328,"context_line":""},{"line_number":329,"context_line":"                for vdu_id, vdu_dict in vnfd_dict.get(\u0027vdus\u0027, {}).items():"},{"line_number":330,"context_line":"                    template_dict.setdefault(\u0027resources\u0027, {})[vdu_id] \u003d {"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_2164cd47","line":327,"range":{"start_line":327,"start_character":45,"end_line":327,"end_character":48},"in_reply_to":"3aaa91ec_7408632e","updated":"2016-06-28 05:11:57.000000000","message":"should we make any changes in this legacy format code, as we are planning to retire this code by this newton release.","commit_id":"47ee8a87c0a4c05a35b1dc377c4d62ca3a1ba473"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"e24525d4ef9887eb98e92379242f2088981eb848","unresolved":false,"context_lines":[{"line_number":337,"context_line":"            KEY_LIST \u003d ((\u0027description\u0027, \u0027description\u0027), )"},{"line_number":338,"context_line":"            for (key, vnfd_key) in KEY_LIST:"},{"line_number":339,"context_line":"                if vnfd_key in vnfd_dict:"},{"line_number":340,"context_line":"                    template_dict[key] \u003d str(device[\u0027description\u0027])"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"            for vdu_id, vdu_dict in vnfd_dict.get(\u0027vdus\u0027, {}).items():"},{"line_number":343,"context_line":"                template_dict.setdefault(\u0027resources\u0027, {})[vdu_id] \u003d {"}],"source_content_type":"text/x-python","patch_set":5,"id":"dada55a8_cddc0749","line":340,"range":{"start_line":340,"start_character":52,"end_line":340,"end_character":65},"updated":"2016-07-23 07:51:51.000000000","message":"qq: Why is this hardcoded?As we add other keys in the KEY_LIST, this will go wrong?","commit_id":"3d26e2456cb3b056d01f1e0bc132254fbf4551f7"},{"author":{"_account_id":20986,"name":"Manikantha Srinivas Tadi","email":"manikantha.tadi@gmail.com","username":"mtadi"},"change_message_id":"21e15f58fe364ac56390fd7ebcb501e3a321bc13","unresolved":false,"context_lines":[{"line_number":337,"context_line":"            KEY_LIST \u003d ((\u0027description\u0027, \u0027description\u0027), )"},{"line_number":338,"context_line":"            for (key, vnfd_key) in KEY_LIST:"},{"line_number":339,"context_line":"                if vnfd_key in vnfd_dict:"},{"line_number":340,"context_line":"                    template_dict[key] \u003d str(device[\u0027description\u0027])"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"            for vdu_id, vdu_dict in vnfd_dict.get(\u0027vdus\u0027, {}).items():"},{"line_number":343,"context_line":"                template_dict.setdefault(\u0027resources\u0027, {})[vdu_id] \u003d {"}],"source_content_type":"text/x-python","patch_set":5,"id":"dada55a8_c1766fa2","line":340,"range":{"start_line":340,"start_character":52,"end_line":340,"end_character":65},"in_reply_to":"dada55a8_cddc0749","updated":"2016-07-25 12:41:42.000000000","message":"Done, Thanks for pointing out.","commit_id":"3d26e2456cb3b056d01f1e0bc132254fbf4551f7"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"d8af4440b1d9241747be57b3029085a2a3f01bcf","unresolved":false,"context_lines":[{"line_number":337,"context_line":"            KEY_LIST \u003d ((\u0027description\u0027, \u0027description\u0027), )"},{"line_number":338,"context_line":"            for (key, vnfd_key) in KEY_LIST:"},{"line_number":339,"context_line":"                if vnfd_key in vnfd_dict:"},{"line_number":340,"context_line":"                    template_dict[key] \u003d str(device[vnfd_key])"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"            for vdu_id, vdu_dict in vnfd_dict.get(\u0027vdus\u0027, {}).items():"},{"line_number":343,"context_line":"                template_dict.setdefault(\u0027resources\u0027, {})[vdu_id] \u003d {"}],"source_content_type":"text/x-python","patch_set":6,"id":"9ad45d7e_b2abeb88","line":340,"range":{"start_line":340,"start_character":45,"end_line":340,"end_character":51},"updated":"2016-08-09 08:18:09.000000000","message":"where is the \u0027device\u0027 is declared?","commit_id":"0fe91c117adc5a96a5b2ac6a6b1204d67abbd292"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"1a722f4de7bfffd5f7ebd2ffeeb8ab613ac9cc7c","unresolved":false,"context_lines":[{"line_number":337,"context_line":"            KEY_LIST \u003d ((\u0027description\u0027, \u0027description\u0027), )"},{"line_number":338,"context_line":"            for (key, vnfd_key) in KEY_LIST:"},{"line_number":339,"context_line":"                if vnfd_key in vnfd_dict:"},{"line_number":340,"context_line":"                    template_dict[key] \u003d str(device[vnfd_key])"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"            for vdu_id, vdu_dict in vnfd_dict.get(\u0027vdus\u0027, {}).items():"},{"line_number":343,"context_line":"                template_dict.setdefault(\u0027resources\u0027, {})[vdu_id] \u003d {"}],"source_content_type":"text/x-python","patch_set":6,"id":"9ad45d7e_5d426e11","line":340,"range":{"start_line":340,"start_character":45,"end_line":340,"end_character":51},"in_reply_to":"9ad45d7e_b2abeb88","updated":"2016-08-09 14:03:43.000000000","message":"It\u0027s a nested function, the outer function is at L253, which has \"device\" argument.","commit_id":"0fe91c117adc5a96a5b2ac6a6b1204d67abbd292"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"4725d4a68907a915505d3ec3ee8ed68705921938","unresolved":false,"context_lines":[{"line_number":466,"context_line":"            KEY_LIST \u003d ((\u0027description\u0027, \u0027description\u0027), )"},{"line_number":467,"context_line":"            for (key, vnfd_key) in KEY_LIST:"},{"line_number":468,"context_line":"                if vnfd_key in vnfd_dict:"},{"line_number":469,"context_line":"                    template_dict[key] \u003d str(device[vnfd_key])"},{"line_number":470,"context_line":""},{"line_number":471,"context_line":"            for vdu_id, vdu_dict in vnfd_dict.get(\u0027vdus\u0027, {}).items():"},{"line_number":472,"context_line":"                template_dict.setdefault(\u0027resources\u0027, {})[vdu_id] \u003d {"}],"source_content_type":"text/x-python","patch_set":11,"id":"1ac06dbe_11159448","line":469,"range":{"start_line":469,"start_character":41,"end_line":469,"end_character":44},"updated":"2016-08-25 08:09:47.000000000","message":"why str()?","commit_id":"fd7cb8644e84ed99cc2730e749319af516a3ae06"}]}
