)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":22998,"name":"XueFengLiu","email":"liu.xuefeng1@zte.com.cn","username":"sgfeng"},"change_message_id":"f748ec9af1258f44158dd23ba548ff59bd0a6ec3","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Bypass project ID restriction in LBaaS driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Calling get_details on a node object requires querying for profile based"},{"line_number":10,"context_line":"on project ID. However the context returned from get_current does not"},{"line_number":11,"context_line":"have a project ID set so fails the lookup. Bypass by calling with"},{"line_number":12,"context_line":"project_safe\u003dFalse."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I9865e7393f9e539cdb87b6c9ddfa483f5405287b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bfb3d3c7_e98d80d3","line":12,"range":{"start_line":9,"start_character":0,"end_line":12,"end_character":19},"updated":"2019-05-22 13:50:28.000000000","message":"Closes-Bug: #1826545","commit_id":"4e6ff47d4e737913c9c9af0c262debeae6da8204"},{"author":{"_account_id":25138,"name":"pheartheceal","email":"pheartheceal@gmail.com","username":"pheartheceal"},"change_message_id":"674b09d5f8b5d60ba69ca9e353c8c8bc06064c32","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Bypass project ID restriction in LBaaS driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Calling get_details on a node object requires querying for profile based"},{"line_number":10,"context_line":"on project ID. However the context returned from get_current does not"},{"line_number":11,"context_line":"have a project ID set so fails the lookup. Bypass by calling with"},{"line_number":12,"context_line":"project_safe\u003dFalse."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I9865e7393f9e539cdb87b6c9ddfa483f5405287b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bfb3d3c7_73065589","line":12,"range":{"start_line":9,"start_character":0,"end_line":12,"end_character":19},"in_reply_to":"bfb3d3c7_e98d80d3","updated":"2019-05-22 17:18:41.000000000","message":"Done","commit_id":"4e6ff47d4e737913c9c9af0c262debeae6da8204"}],"senlin/drivers/os/lbaas.py":[{"author":{"_account_id":28691,"name":"Bo Tran","email":"ministry.96.nd@gmail.com","username":"ministry"},"change_message_id":"664aa14bba03bae3813b3ebdc799457aaaa882d7","unresolved":false,"context_lines":[{"line_number":283,"context_line":""},{"line_number":284,"context_line":"        ctx \u003d oslo_context.get_current()"},{"line_number":285,"context_line":"        node_obj \u003d nodem.Node.load(ctx, db_node\u003dnode)"},{"line_number":286,"context_line":"        prof \u003d pb.Profile.load(ctx,"},{"line_number":287,"context_line":"                               profile_id\u003dnode_obj.profile_id,"},{"line_number":288,"context_line":"                               project_safe\u003dFalse)"},{"line_number":289,"context_line":"        node_detail \u003d prof.do_get_details(node_obj)"},{"line_number":290,"context_line":"        addresses \u003d node_detail.get(\u0027addresses\u0027)"},{"line_number":291,"context_line":"        if net_name not in addresses:"},{"line_number":292,"context_line":"            LOG.error(\u0027Node is not in subnet %(subnet)s\u0027, {\u0027subnet\u0027: subnet})"}],"source_content_type":"text/x-python","patch_set":1,"id":"dfbec78f_3289df74","line":289,"range":{"start_line":286,"start_character":0,"end_line":289,"end_character":51},"updated":"2019-05-07 03:53:33.000000000","message":"hi,\nCan you explain for me about why you edit code in here with import a library profile base.\ni so was try resolved this problem but i edited profiles/base.py with code:\n        if ctx.is_admin is True:\n            project_safe \u003d False\nin load() function. What do you think about my way?\nTks.","commit_id":"4e6ff47d4e737913c9c9af0c262debeae6da8204"},{"author":{"_account_id":27224,"name":"Duc Truong","email":"duc.openstack@gmail.com","username":"dtruong2"},"change_message_id":"61670ee4cbe3a5b4d2f4ad9e0a67d88b2ac9d05a","unresolved":false,"context_lines":[{"line_number":282,"context_line":"        net_name \u003d net.name"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"        ctx \u003d oslo_context.get_current()"},{"line_number":285,"context_line":"        node_obj \u003d nodem.Node.load(ctx, db_node\u003dnode)"},{"line_number":286,"context_line":"        prof \u003d pb.Profile.load(ctx,"},{"line_number":287,"context_line":"                               profile_id\u003dnode_obj.profile_id,"},{"line_number":288,"context_line":"                               project_safe\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bfb3d3c7_2082be50","line":285,"range":{"start_line":285,"start_character":8,"end_line":285,"end_character":53},"updated":"2019-05-22 22:26:49.000000000","message":"I think you can remove this line and use node variable directly.","commit_id":"c25dc3d407269ab1734dcc9beb4c5765681ea485"},{"author":{"_account_id":25138,"name":"pheartheceal","email":"pheartheceal@gmail.com","username":"pheartheceal"},"change_message_id":"1d422114fb7cb3ef21e9146ed0e30a70f8e5fee2","unresolved":false,"context_lines":[{"line_number":282,"context_line":"        net_name \u003d net.name"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"        ctx \u003d oslo_context.get_current()"},{"line_number":285,"context_line":"        node_obj \u003d nodem.Node.load(ctx, db_node\u003dnode)"},{"line_number":286,"context_line":"        prof \u003d pb.Profile.load(ctx,"},{"line_number":287,"context_line":"                               profile_id\u003dnode_obj.profile_id,"},{"line_number":288,"context_line":"                               project_safe\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bfb3d3c7_c0a3a29d","line":285,"range":{"start_line":285,"start_character":8,"end_line":285,"end_character":53},"in_reply_to":"bfb3d3c7_2082be50","updated":"2019-05-22 22:54:42.000000000","message":"Done","commit_id":"c25dc3d407269ab1734dcc9beb4c5765681ea485"},{"author":{"_account_id":27224,"name":"Duc Truong","email":"duc.openstack@gmail.com","username":"dtruong2"},"change_message_id":"61670ee4cbe3a5b4d2f4ad9e0a67d88b2ac9d05a","unresolved":false,"context_lines":[{"line_number":284,"context_line":"        ctx \u003d oslo_context.get_current()"},{"line_number":285,"context_line":"        node_obj \u003d nodem.Node.load(ctx, db_node\u003dnode)"},{"line_number":286,"context_line":"        prof \u003d pb.Profile.load(ctx,"},{"line_number":287,"context_line":"                               profile_id\u003dnode_obj.profile_id,"},{"line_number":288,"context_line":"                               project_safe\u003dFalse)"},{"line_number":289,"context_line":"        node_detail \u003d prof.do_get_details(node_obj)"},{"line_number":290,"context_line":"        addresses \u003d node_detail.get(\u0027addresses\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bfb3d3c7_80928a9d","line":287,"range":{"start_line":287,"start_character":42,"end_line":287,"end_character":50},"updated":"2019-05-22 22:26:49.000000000","message":"Use node","commit_id":"c25dc3d407269ab1734dcc9beb4c5765681ea485"},{"author":{"_account_id":27224,"name":"Duc Truong","email":"duc.openstack@gmail.com","username":"dtruong2"},"change_message_id":"61670ee4cbe3a5b4d2f4ad9e0a67d88b2ac9d05a","unresolved":false,"context_lines":[{"line_number":286,"context_line":"        prof \u003d pb.Profile.load(ctx,"},{"line_number":287,"context_line":"                               profile_id\u003dnode_obj.profile_id,"},{"line_number":288,"context_line":"                               project_safe\u003dFalse)"},{"line_number":289,"context_line":"        node_detail \u003d prof.do_get_details(node_obj)"},{"line_number":290,"context_line":"        addresses \u003d node_detail.get(\u0027addresses\u0027)"},{"line_number":291,"context_line":"        if net_name not in addresses:"},{"line_number":292,"context_line":"            LOG.error(\u0027Node is not in subnet %(subnet)s\u0027, {\u0027subnet\u0027: subnet})"}],"source_content_type":"text/x-python","patch_set":3,"id":"bfb3d3c7_a08d4e7c","line":289,"range":{"start_line":289,"start_character":42,"end_line":289,"end_character":50},"updated":"2019-05-22 22:26:49.000000000","message":"Use node","commit_id":"c25dc3d407269ab1734dcc9beb4c5765681ea485"},{"author":{"_account_id":22998,"name":"XueFengLiu","email":"liu.xuefeng1@zte.com.cn","username":"sgfeng"},"change_message_id":"d16a57a954f872ef2af449af354b85cfc1dfe617","unresolved":false,"context_lines":[{"line_number":283,"context_line":"        ctx \u003d oslo_context.get_current()"},{"line_number":284,"context_line":"        prof \u003d pb.Profile.load(ctx,"},{"line_number":285,"context_line":"                               profile_id\u003dnode.profile_id,"},{"line_number":286,"context_line":"                               project_safe\u003dFalse)"},{"line_number":287,"context_line":"        node_detail \u003d prof.do_get_details(node)"},{"line_number":288,"context_line":"        addresses \u003d node_detail.get(\u0027addresses\u0027)"},{"line_number":289,"context_line":"        if net_name not in addresses:"}],"source_content_type":"text/x-python","patch_set":5,"id":"bfb3d3c7_1266de52","line":286,"range":{"start_line":286,"start_character":31,"end_line":286,"end_character":49},"updated":"2019-05-23 15:53:48.000000000","message":"Worried about setting project_safe false.","commit_id":"83234c0c47b5aa6678fd4cb175b4e24e1e158cd6"},{"author":{"_account_id":27224,"name":"Duc Truong","email":"duc.openstack@gmail.com","username":"dtruong2"},"change_message_id":"d7ac399114996f2880a717b47b78708a0afb8a9a","unresolved":false,"context_lines":[{"line_number":283,"context_line":"        ctx \u003d oslo_context.get_current()"},{"line_number":284,"context_line":"        prof \u003d pb.Profile.load(ctx,"},{"line_number":285,"context_line":"                               profile_id\u003dnode.profile_id,"},{"line_number":286,"context_line":"                               project_safe\u003dFalse)"},{"line_number":287,"context_line":"        node_detail \u003d prof.do_get_details(node)"},{"line_number":288,"context_line":"        addresses \u003d node_detail.get(\u0027addresses\u0027)"},{"line_number":289,"context_line":"        if net_name not in addresses:"}],"source_content_type":"text/x-python","patch_set":5,"id":"bfb3d3c7_ed280f87","line":286,"range":{"start_line":286,"start_character":31,"end_line":286,"end_character":49},"in_reply_to":"bfb3d3c7_1266de52","updated":"2019-05-23 16:07:35.000000000","message":"That is needed because the node recovery action does not have a context with project ID.  This should be ok because we are only loading the profile to get the IP address of the server and not making changes to the profile or server.","commit_id":"83234c0c47b5aa6678fd4cb175b4e24e1e158cd6"},{"author":{"_account_id":22998,"name":"XueFengLiu","email":"liu.xuefeng1@zte.com.cn","username":"sgfeng"},"change_message_id":"f9e2ff2c46864419b57338fc4d9b6d25849bde85","unresolved":false,"context_lines":[{"line_number":283,"context_line":"        ctx \u003d oslo_context.get_current()"},{"line_number":284,"context_line":"        prof \u003d pb.Profile.load(ctx,"},{"line_number":285,"context_line":"                               profile_id\u003dnode.profile_id,"},{"line_number":286,"context_line":"                               project_safe\u003dFalse)"},{"line_number":287,"context_line":"        node_detail \u003d prof.do_get_details(node)"},{"line_number":288,"context_line":"        addresses \u003d node_detail.get(\u0027addresses\u0027)"},{"line_number":289,"context_line":"        if net_name not in addresses:"}],"source_content_type":"text/x-python","patch_set":5,"id":"bfb3d3c7_948393cc","line":286,"range":{"start_line":286,"start_character":31,"end_line":286,"end_character":49},"in_reply_to":"bfb3d3c7_ed280f87","updated":"2019-05-24 00:49:52.000000000","message":"ok.","commit_id":"83234c0c47b5aa6678fd4cb175b4e24e1e158cd6"}]}
