)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"e10ddd8f206afa15f251cf6b8d6a422a314ecee2","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This patch merges Neutron client instantiation code in fullstack tests,"},{"line_number":10,"context_line":"and also moves _from_cloud_config code from v2 API to v3 (because it"},{"line_number":11,"context_line":"doesn\u0027t work with v2)."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ifd059b2f09c4f68d18ed53cd4879e4da2ef41c08"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba5201f7_266032a5","line":12,"updated":"2017-01-04 18:50:50.000000000","message":"I suggest to report bug in launchpad and link this patch to it","commit_id":"276548dfa4756394cd6467d6dd373da3a74e3dd6"}],"dragonflow/tests/fullstack/test_base.py":[{"author":{"_account_id":20336,"name":"heshan","email":"shan.he@huawei.com","username":"shanhe"},"change_message_id":"957148ab0cb5f59be650b002a9e0e72c0954bca1","unresolved":false,"context_lines":[{"line_number":45,"context_line":"def get_neutron_client_from_cloud_config():"},{"line_number":46,"context_line":"    creds \u003d credentials()"},{"line_number":47,"context_line":"    return get_neutron_client("},{"line_number":48,"context_line":"        auth_url\u003dcreds[\u0027auth_url\u0027] + \u0027/v3\u0027,"},{"line_number":49,"context_line":"        username\u003dcreds[\u0027username\u0027],"},{"line_number":50,"context_line":"        password\u003dcreds[\u0027password\u0027],"},{"line_number":51,"context_line":"        project_name\u003dcreds[\u0027project_name\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_19d80bef","line":48,"range":{"start_line":48,"start_character":38,"end_line":48,"end_character":41},"updated":"2017-01-04 07:52:48.000000000","message":"I see you change the keystone API version from v2.0 to v3, so do you need to change the requirements file of devstack together?","commit_id":"d53a6ef6e7e4f9506c1b1c7eeb2586999e291722"},{"author":{"_account_id":20336,"name":"heshan","email":"shan.he@huawei.com","username":"shanhe"},"change_message_id":"f090648da7625416acdcfe62831d83c42651fcad","unresolved":false,"context_lines":[{"line_number":45,"context_line":"def get_neutron_client_from_cloud_config():"},{"line_number":46,"context_line":"    creds \u003d credentials()"},{"line_number":47,"context_line":"    return get_neutron_client("},{"line_number":48,"context_line":"        auth_url\u003dcreds[\u0027auth_url\u0027] + \u0027/v3\u0027,"},{"line_number":49,"context_line":"        username\u003dcreds[\u0027username\u0027],"},{"line_number":50,"context_line":"        password\u003dcreds[\u0027password\u0027],"},{"line_number":51,"context_line":"        project_name\u003dcreds[\u0027project_name\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_8f212eb7","line":48,"range":{"start_line":48,"start_character":16,"end_line":48,"end_character":17},"updated":"2017-01-03 15:02:58.000000000","message":"I think the idiom is to have a space besides \u0027\u003d\u0027","commit_id":"d53a6ef6e7e4f9506c1b1c7eeb2586999e291722"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"1109a7bd2048f1bb38cad47346fa233c872de72f","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"def get_neutron_client_from_cloud_config():"},{"line_number":46,"context_line":"    creds \u003d credentials()"},{"line_number":47,"context_line":"    return get_neutron_client("},{"line_number":48,"context_line":"        auth_url\u003dcreds[\u0027auth_url\u0027] + \u0027/v3\u0027,"},{"line_number":49,"context_line":"        username\u003dcreds[\u0027username\u0027],"},{"line_number":50,"context_line":"        password\u003dcreds[\u0027password\u0027],"},{"line_number":51,"context_line":"        project_name\u003dcreds[\u0027project_name\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_2474c3fb","line":48,"range":{"start_line":47,"start_character":30,"end_line":48,"end_character":43},"updated":"2017-01-04 09:39:08.000000000","message":"I think version change should be a separate patch","commit_id":"d53a6ef6e7e4f9506c1b1c7eeb2586999e291722"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"e2d4cb2b9053a8b19f29c4575a86780343e06ff7","unresolved":false,"context_lines":[{"line_number":45,"context_line":"def get_neutron_client_from_cloud_config():"},{"line_number":46,"context_line":"    creds \u003d credentials()"},{"line_number":47,"context_line":"    return get_neutron_client("},{"line_number":48,"context_line":"        auth_url\u003dcreds[\u0027auth_url\u0027] + \u0027/v3\u0027,"},{"line_number":49,"context_line":"        username\u003dcreds[\u0027username\u0027],"},{"line_number":50,"context_line":"        password\u003dcreds[\u0027password\u0027],"},{"line_number":51,"context_line":"        project_name\u003dcreds[\u0027project_name\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_2e52e4dd","line":48,"range":{"start_line":48,"start_character":38,"end_line":48,"end_character":41},"in_reply_to":"ba5201f7_19d80bef","updated":"2017-01-04 08:39:55.000000000","message":"Both versions are pulled from keystone repo during devstack. \n\nCurrently we don\u0027t declare any version requirements on OpenStack services in devstack deployments so this is not an exception.","commit_id":"d53a6ef6e7e4f9506c1b1c7eeb2586999e291722"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"5ac08bb6dba4da8f6db2ba87ed0700e9b6dc992f","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"def get_neutron_client_from_cloud_config():"},{"line_number":46,"context_line":"    creds \u003d credentials()"},{"line_number":47,"context_line":"    return get_neutron_client("},{"line_number":48,"context_line":"        auth_url\u003dcreds[\u0027auth_url\u0027] + \u0027/v3\u0027,"},{"line_number":49,"context_line":"        username\u003dcreds[\u0027username\u0027],"},{"line_number":50,"context_line":"        password\u003dcreds[\u0027password\u0027],"},{"line_number":51,"context_line":"        project_name\u003dcreds[\u0027project_name\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_2ad1e557","line":48,"range":{"start_line":47,"start_character":30,"end_line":48,"end_character":43},"in_reply_to":"ba5201f7_2474c3fb","updated":"2017-01-04 13:36:42.000000000","message":"@Irena\n\nIt might seem like an unrelated change but indentity.Password doesn\u0027t work with v2 API.\n\nIn order to make this code work with v2 API we need to use [1] instead of identity.Password. I don\u0027t think its justified to add a preceding patch that changes to API v3 in _from_cloud_config() method along with changing all its client creation code, if we want to get rid of it anyway.\n\n[1] http://docs.openstack.org/developer/python-keystoneclient/api/keystoneclient.auth.identity.html#keystoneclient.auth.identity.v2.Password","commit_id":"d53a6ef6e7e4f9506c1b1c7eeb2586999e291722"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"9105b47e129a58ba9164eb341a906e63304066fa","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"def get_neutron_client_from_cloud_config():"},{"line_number":46,"context_line":"    creds \u003d credentials()"},{"line_number":47,"context_line":"    return get_neutron_client("},{"line_number":48,"context_line":"        auth_url\u003dcreds[\u0027auth_url\u0027] + \u0027/v3\u0027,"},{"line_number":49,"context_line":"        username\u003dcreds[\u0027username\u0027],"},{"line_number":50,"context_line":"        password\u003dcreds[\u0027password\u0027],"},{"line_number":51,"context_line":"        project_name\u003dcreds[\u0027project_name\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_ca3bf936","line":48,"range":{"start_line":47,"start_character":30,"end_line":48,"end_character":43},"in_reply_to":"ba5201f7_2ad1e557","updated":"2017-01-04 13:47:50.000000000","message":"I will compromise on making commit message a bit more verbose :-)","commit_id":"d53a6ef6e7e4f9506c1b1c7eeb2586999e291722"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"1339585a0b380fe168fec4a12e1e9034f8666abc","unresolved":false,"context_lines":[{"line_number":45,"context_line":"def get_neutron_client_from_cloud_config():"},{"line_number":46,"context_line":"    creds \u003d credentials()"},{"line_number":47,"context_line":"    return get_neutron_client("},{"line_number":48,"context_line":"        auth_url\u003dcreds[\u0027auth_url\u0027] + \u0027/v3\u0027,"},{"line_number":49,"context_line":"        username\u003dcreds[\u0027username\u0027],"},{"line_number":50,"context_line":"        password\u003dcreds[\u0027password\u0027],"},{"line_number":51,"context_line":"        project_name\u003dcreds[\u0027project_name\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_e13abf97","line":48,"range":{"start_line":48,"start_character":16,"end_line":48,"end_character":17},"in_reply_to":"ba5201f7_8f212eb7","updated":"2017-01-03 22:05:42.000000000","message":"It is true for assignment statements, but in function calls PEP8 states there shouldn\u0027t be spaces in keyword params.\n\nSee E251 in http://pep8.readthedocs.io/en/release-1.7.x/intro.html#error-codes","commit_id":"d53a6ef6e7e4f9506c1b1c7eeb2586999e291722"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"97aaedb2a0772f7d728b6d2995247184fe08986b","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"def get_neutron_client_from_cloud_config():"},{"line_number":46,"context_line":"    creds \u003d credentials()"},{"line_number":47,"context_line":"    return get_neutron_client("},{"line_number":48,"context_line":"        auth_url\u003dcreds[\u0027auth_url\u0027] + \u0027/v3\u0027,"},{"line_number":49,"context_line":"        username\u003dcreds[\u0027username\u0027],"},{"line_number":50,"context_line":"        password\u003dcreds[\u0027password\u0027],"},{"line_number":51,"context_line":"        project_name\u003dcreds[\u0027project_name\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_eb77df37","line":48,"range":{"start_line":47,"start_character":30,"end_line":48,"end_character":43},"in_reply_to":"ba5201f7_ca3bf936","updated":"2017-01-04 15:06:22.000000000","message":"Will do","commit_id":"d53a6ef6e7e4f9506c1b1c7eeb2586999e291722"},{"author":{"_account_id":20336,"name":"heshan","email":"shan.he@huawei.com","username":"shanhe"},"change_message_id":"957148ab0cb5f59be650b002a9e0e72c0954bca1","unresolved":false,"context_lines":[{"line_number":45,"context_line":"def get_neutron_client_from_cloud_config():"},{"line_number":46,"context_line":"    creds \u003d credentials()"},{"line_number":47,"context_line":"    return get_neutron_client("},{"line_number":48,"context_line":"        auth_url\u003dcreds[\u0027auth_url\u0027] + \u0027/v3\u0027,"},{"line_number":49,"context_line":"        username\u003dcreds[\u0027username\u0027],"},{"line_number":50,"context_line":"        password\u003dcreds[\u0027password\u0027],"},{"line_number":51,"context_line":"        project_name\u003dcreds[\u0027project_name\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_f921874e","line":48,"range":{"start_line":48,"start_character":16,"end_line":48,"end_character":17},"in_reply_to":"ba5201f7_e13abf97","updated":"2017-01-04 07:52:48.000000000","message":"ok, thank you.","commit_id":"d53a6ef6e7e4f9506c1b1c7eeb2586999e291722"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"c0187ea62d72eb719811ee9747767cc42acce276","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        username\u003dcreds[\u0027username\u0027],"},{"line_number":50,"context_line":"        password\u003dcreds[\u0027password\u0027],"},{"line_number":51,"context_line":"        project_name\u003dcreds[\u0027project_name\u0027],"},{"line_number":52,"context_line":"        project_domain_name\u003dcreds[\u0027project_domain_id\u0027],"},{"line_number":53,"context_line":"        user_domain_name\u003dcreds[\u0027user_domain_id\u0027],"},{"line_number":54,"context_line":"    )"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_452a9a7f","line":52,"range":{"start_line":52,"start_character":50,"end_line":52,"end_character":52},"updated":"2017-01-04 13:56:21.000000000","message":"Are you sure this is project_domain_id and not project_domain_name?","commit_id":"d53a6ef6e7e4f9506c1b1c7eeb2586999e291722"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"97aaedb2a0772f7d728b6d2995247184fe08986b","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        username\u003dcreds[\u0027username\u0027],"},{"line_number":50,"context_line":"        password\u003dcreds[\u0027password\u0027],"},{"line_number":51,"context_line":"        project_name\u003dcreds[\u0027project_name\u0027],"},{"line_number":52,"context_line":"        project_domain_name\u003dcreds[\u0027project_domain_id\u0027],"},{"line_number":53,"context_line":"        user_domain_name\u003dcreds[\u0027user_domain_id\u0027],"},{"line_number":54,"context_line":"    )"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_0b73434e","line":52,"range":{"start_line":52,"start_character":50,"end_line":52,"end_character":52},"in_reply_to":"ba5201f7_452a9a7f","updated":"2017-01-04 15:06:22.000000000","message":"Good catch!","commit_id":"d53a6ef6e7e4f9506c1b1c7eeb2586999e291722"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"c0187ea62d72eb719811ee9747767cc42acce276","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        password\u003dcreds[\u0027password\u0027],"},{"line_number":51,"context_line":"        project_name\u003dcreds[\u0027project_name\u0027],"},{"line_number":52,"context_line":"        project_domain_name\u003dcreds[\u0027project_domain_id\u0027],"},{"line_number":53,"context_line":"        user_domain_name\u003dcreds[\u0027user_domain_id\u0027],"},{"line_number":54,"context_line":"    )"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_c5368ae6","line":53,"range":{"start_line":53,"start_character":44,"end_line":53,"end_character":46},"updated":"2017-01-04 13:56:21.000000000","message":"Same here (user_domain_id -?\u003e user_domain_name)?","commit_id":"d53a6ef6e7e4f9506c1b1c7eeb2586999e291722"},{"author":{"_account_id":20336,"name":"heshan","email":"shan.he@huawei.com","username":"shanhe"},"change_message_id":"f090648da7625416acdcfe62831d83c42651fcad","unresolved":false,"context_lines":[{"line_number":57,"context_line":"def get_neutron_client_from_env():"},{"line_number":58,"context_line":"    return get_neutron_client("},{"line_number":59,"context_line":"        auth_url\u003dos.environ[\u0027OS_AUTH_URL\u0027],"},{"line_number":60,"context_line":"        username\u003dos.environ[\u0027OS_USERNAME\u0027],"},{"line_number":61,"context_line":"        password\u003dos.environ[\u0027OS_PASSWORD\u0027],"},{"line_number":62,"context_line":"        project_name\u003dos.environ[\u0027OS_PROJECT_NAME\u0027],"},{"line_number":63,"context_line":"        project_domain_name\u003dos.environ[\u0027OS_PROJECT_DOMAIN_NAME\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_522449ae","line":60,"range":{"start_line":60,"start_character":16,"end_line":60,"end_character":17},"updated":"2017-01-03 15:02:58.000000000","message":"ditto","commit_id":"d53a6ef6e7e4f9506c1b1c7eeb2586999e291722"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"1abd3472a890f16d9a6e54608eaf75ffccca4a70","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        username\u003dcreds[\u0027username\u0027],"},{"line_number":50,"context_line":"        password\u003dcreds[\u0027password\u0027],"},{"line_number":51,"context_line":"        project_name\u003dcreds[\u0027project_name\u0027],"},{"line_number":52,"context_line":"        project_domain_id\u003dcreds[\u0027project_domain_id\u0027],"},{"line_number":53,"context_line":"        user_domain_id\u003dcreds[\u0027user_domain_id\u0027],"},{"line_number":54,"context_line":"    )"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5201f7_f8b15748","line":53,"range":{"start_line":52,"start_character":0,"end_line":53,"end_character":47},"updated":"2017-01-05 04:04:47.000000000","message":"I think you are right in version 1, the creds will contains \"project_domain_id\" and \"user_domain_id\". And you change them to \"project_domain_name\" and \"user_domain_name\". So we have a uniform call to get_neutron_client(here and line 58).\n\n\nBut both version don\u0027t cause fullstack to fail. And back check the keystone code, the project_domain and user_domain is not defined in the identity.Password param list. So basically, they are not useful here. You can just remove these parameters.\n\nhttps://github.com/openstack/keystoneauth/blob/f345559a06c0128dcb7fede4b593487540da86ef/keystoneauth1/identity/v2.py#L96-L111","commit_id":"276548dfa4756394cd6467d6dd373da3a74e3dd6"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"e7045a62cff2563ef8683d662ca3f4fac4f034e5","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        username\u003dcreds[\u0027username\u0027],"},{"line_number":50,"context_line":"        password\u003dcreds[\u0027password\u0027],"},{"line_number":51,"context_line":"        project_name\u003dcreds[\u0027project_name\u0027],"},{"line_number":52,"context_line":"        project_domain_id\u003dcreds[\u0027project_domain_id\u0027],"},{"line_number":53,"context_line":"        user_domain_id\u003dcreds[\u0027user_domain_id\u0027],"},{"line_number":54,"context_line":"    )"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5201f7_6eb2da95","line":53,"range":{"start_line":52,"start_character":0,"end_line":53,"end_character":47},"in_reply_to":"ba5201f7_f71dcb62","updated":"2017-01-06 01:18:47.000000000","message":"Yeah, you are right, I mistook them.","commit_id":"276548dfa4756394cd6467d6dd373da3a74e3dd6"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"4cf32497cddc323f40fa8fc42efc839dedb49f85","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        username\u003dcreds[\u0027username\u0027],"},{"line_number":50,"context_line":"        password\u003dcreds[\u0027password\u0027],"},{"line_number":51,"context_line":"        project_name\u003dcreds[\u0027project_name\u0027],"},{"line_number":52,"context_line":"        project_domain_id\u003dcreds[\u0027project_domain_id\u0027],"},{"line_number":53,"context_line":"        user_domain_id\u003dcreds[\u0027user_domain_id\u0027],"},{"line_number":54,"context_line":"    )"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5201f7_f71dcb62","line":53,"range":{"start_line":52,"start_character":0,"end_line":53,"end_character":47},"in_reply_to":"ba5201f7_f8b15748","updated":"2017-01-05 16:55:53.000000000","message":"I think the correct auth plugin we\u0027re seeing is:\n\nhttps://github.com/openstack/keystoneauth/blob/f345559a06c0128dcb7fede4b593487540da86ef/keystoneauth1/identity/generic/password.py#L21\n\nwhich defines user_domain_id and derives from \n\nhttps://github.com/openstack/keystoneauth/blob/f345559a06c0128dcb7fede4b593487540da86ef/keystoneauth1/identity/generic/base.py#L28\n\nwhich defines project_domain_id","commit_id":"276548dfa4756394cd6467d6dd373da3a74e3dd6"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"8b5325b2715da4efc484bb2fe954ad6ab046a285","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        username\u003dcreds[\u0027username\u0027],"},{"line_number":50,"context_line":"        password\u003dcreds[\u0027password\u0027],"},{"line_number":51,"context_line":"        project_name\u003dcreds[\u0027project_name\u0027],"},{"line_number":52,"context_line":"        project_domain_id\u003dcreds[\u0027project_domain_id\u0027],"},{"line_number":53,"context_line":"        user_domain_id\u003dcreds[\u0027user_domain_id\u0027],"},{"line_number":54,"context_line":"    )"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5201f7_72c49b5e","line":53,"range":{"start_line":52,"start_character":0,"end_line":53,"end_character":47},"in_reply_to":"ba5201f7_f8b15748","updated":"2017-01-05 10:00:31.000000000","message":"Since it works, and it looks correct (you don\u0027t set name to id or vice versa), I think either version (with or without the params) is all right.","commit_id":"276548dfa4756394cd6467d6dd373da3a74e3dd6"}]}
