)]}'
{"doc/source/command-objects/network-rbac.rst":[{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"c7df81e3bf81f7067e0746e589dfaf71b104f004","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    os network rbac create"},{"line_number":20,"context_line":"        --type \u003ctype\u003e"},{"line_number":21,"context_line":"        --action \u003caction\u003e"},{"line_number":22,"context_line":"        --target-project \u003ctarget-project\u003e"},{"line_number":23,"context_line":"        [--project \u003cproject\u003e [--project-domain \u003cproject-domain\u003e]]"},{"line_number":24,"context_line":"        \u003crbac-policy\u003e"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"dada55a8_e3e2449f","line":22,"updated":"2016-07-26 18:55:21.000000000","message":"--target-project-domain is missing here but is in the code.","commit_id":"79806583644c7b7a0942b0dfacdf524b4611d9ab"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"27d163803c265f6c4ccadc9f7b28889e4b37775e","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    os network rbac create"},{"line_number":20,"context_line":"        --type \u003ctype\u003e"},{"line_number":21,"context_line":"        --action \u003caction\u003e"},{"line_number":22,"context_line":"        --target-project \u003ctarget-project\u003e"},{"line_number":23,"context_line":"        [--project \u003cproject\u003e [--project-domain \u003cproject-domain\u003e]]"},{"line_number":24,"context_line":"        \u003crbac-policy\u003e"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"dada55a8_0a983777","line":22,"in_reply_to":"dada55a8_e3e2449f","updated":"2016-07-27 05:47:18.000000000","message":"Done","commit_id":"79806583644c7b7a0942b0dfacdf524b4611d9ab"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"9803d8d5d4854fcf1dcdc6c7c7db3eab6825dd38","unresolved":false,"context_lines":[{"line_number":23,"context_line":"        [--project \u003cproject\u003e [--project-domain \u003cproject-domain\u003e]]"},{"line_number":24,"context_line":"        \u003crbac-policy\u003e"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":".. option:: --type \u003ctype\u003e (required)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    Type of the object that RBAC policy affects"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"dada55a8_262801e2","line":26,"updated":"2016-07-26 12:38:36.000000000","message":"The \u0027(required)\u0027 should not be on the syntax line, but in the description below.\n\nIs type an enumerated field?  If so we should list the possibly values.","commit_id":"79806583644c7b7a0942b0dfacdf524b4611d9ab"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"27d163803c265f6c4ccadc9f7b28889e4b37775e","unresolved":false,"context_lines":[{"line_number":23,"context_line":"        [--project \u003cproject\u003e [--project-domain \u003cproject-domain\u003e]]"},{"line_number":24,"context_line":"        \u003crbac-policy\u003e"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":".. option:: --type \u003ctype\u003e (required)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    Type of the object that RBAC policy affects"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"dada55a8_4a9eaf63","line":26,"in_reply_to":"dada55a8_262801e2","updated":"2016-07-27 05:47:18.000000000","message":"Done","commit_id":"79806583644c7b7a0942b0dfacdf524b4611d9ab"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"9803d8d5d4854fcf1dcdc6c7c7db3eab6825dd38","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    Type of the object that RBAC policy affects"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":".. option:: --action \u003caction\u003e (required)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    Action for the RBAC policy"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"dada55a8_661e79bc","line":30,"updated":"2016-07-26 12:38:36.000000000","message":"The \u0027(required)\u0027 should not be on the syntax line, but in the description below.\n\nIs action an enumerated field?  If so we should list the possibly values.","commit_id":"79806583644c7b7a0942b0dfacdf524b4611d9ab"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"27d163803c265f6c4ccadc9f7b28889e4b37775e","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    Type of the object that RBAC policy affects"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":".. option:: --action \u003caction\u003e (required)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    Action for the RBAC policy"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"dada55a8_8a8a6719","line":30,"in_reply_to":"dada55a8_661e79bc","updated":"2016-07-27 05:47:18.000000000","message":"Done","commit_id":"79806583644c7b7a0942b0dfacdf524b4611d9ab"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"9803d8d5d4854fcf1dcdc6c7c7db3eab6825dd38","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    Action for the RBAC policy"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":".. option:: --target-project \u003ctarget-project\u003e (required)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    The project which the RBAC policy will be enforced to (name or ID)"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"dada55a8_867f2ddf","line":34,"updated":"2016-07-26 12:38:36.000000000","message":"The \u0027(required)\u0027 should not be on the syntax line, but in the description below.","commit_id":"79806583644c7b7a0942b0dfacdf524b4611d9ab"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"27d163803c265f6c4ccadc9f7b28889e4b37775e","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    Action for the RBAC policy"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":".. option:: --target-project \u003ctarget-project\u003e (required)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    The project which the RBAC policy will be enforced to (name or ID)"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"dada55a8_6a8d7330","line":34,"in_reply_to":"dada55a8_867f2ddf","updated":"2016-07-27 05:47:18.000000000","message":"Done","commit_id":"79806583644c7b7a0942b0dfacdf524b4611d9ab"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"9803d8d5d4854fcf1dcdc6c7c7db3eab6825dd38","unresolved":false,"context_lines":[{"line_number":47,"context_line":".. _network_rbac_create-rbac-policy:"},{"line_number":48,"context_line":".. describe:: \u003crbac-policy\u003e"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    The RBAC obejct (ID only)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"network rbac delete"},{"line_number":53,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dada55a8_e69c2910","line":50,"updated":"2016-07-26 12:38:36.000000000","message":"Really?  Another API that lets users create IDs?  There seems to be no shortage of repeated bad ideas in this world...","commit_id":"79806583644c7b7a0942b0dfacdf524b4611d9ab"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"c7df81e3bf81f7067e0746e589dfaf71b104f004","unresolved":false,"context_lines":[{"line_number":47,"context_line":".. _network_rbac_create-rbac-policy:"},{"line_number":48,"context_line":".. describe:: \u003crbac-policy\u003e"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    The RBAC obejct (ID only)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"network rbac delete"},{"line_number":53,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dada55a8_43b230e6","line":50,"range":{"start_line":50,"start_character":13,"end_line":50,"end_character":19},"updated":"2016-07-26 18:55:21.000000000","message":"typo...object\n\nAlso name or ID support can be provided by looking up the RBAC object type.\n\nDean, the user is not able to create ID of the RBAC object.  This is object to which this RBAC policy applies.  I think the description needs to be updated for this argument to clarify this.","commit_id":"79806583644c7b7a0942b0dfacdf524b4611d9ab"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"27d163803c265f6c4ccadc9f7b28889e4b37775e","unresolved":false,"context_lines":[{"line_number":47,"context_line":".. _network_rbac_create-rbac-policy:"},{"line_number":48,"context_line":".. describe:: \u003crbac-policy\u003e"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    The RBAC obejct (ID only)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"network rbac delete"},{"line_number":53,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dada55a8_2aa7fba7","line":50,"range":{"start_line":50,"start_character":13,"end_line":50,"end_character":19},"in_reply_to":"dada55a8_43b230e6","updated":"2016-07-27 05:47:18.000000000","message":"Yes, This is the ID of a object to which this RBAC policy applies, I should have clarified this... I will update this help message to avoid ambiguity","commit_id":"79806583644c7b7a0942b0dfacdf524b4611d9ab"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"c7df81e3bf81f7067e0746e589dfaf71b104f004","unresolved":false,"context_lines":[{"line_number":52,"context_line":"network rbac delete"},{"line_number":53,"context_line":"-------------------"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Delete network rbac policy(s)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":".. program:: network rbac delete"},{"line_number":58,"context_line":".. code:: bash"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dada55a8_a37dec1d","line":55,"range":{"start_line":55,"start_character":15,"end_line":55,"end_character":19},"updated":"2016-07-26 18:55:21.000000000","message":"RBAC","commit_id":"79806583644c7b7a0942b0dfacdf524b4611d9ab"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"27d163803c265f6c4ccadc9f7b28889e4b37775e","unresolved":false,"context_lines":[{"line_number":52,"context_line":"network rbac delete"},{"line_number":53,"context_line":"-------------------"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Delete network rbac policy(s)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":".. program:: network rbac delete"},{"line_number":58,"context_line":".. code:: bash"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dada55a8_8ab8a7c9","line":55,"range":{"start_line":55,"start_character":15,"end_line":55,"end_character":19},"in_reply_to":"dada55a8_a37dec1d","updated":"2016-07-27 05:47:18.000000000","message":"Done","commit_id":"79806583644c7b7a0942b0dfacdf524b4611d9ab"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"50dd34329cf19ee4c4e0eda4a8dd5dc0cc1d2516","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":".. option:: --type \u003ctype\u003e"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    Type of the object that RBAC policy affects (qos_policy or network) (required)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":".. option:: --action \u003caction\u003e"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_5be2f0d5","line":28,"range":{"start_line":28,"start_character":49,"end_line":28,"end_character":59},"updated":"2016-07-27 13:42:55.000000000","message":"we don\u0027t have a standard for this, but you can wrap these words in double backticks:\n\n  ``qos_policy`` or ``network``","commit_id":"e49c7813bdbfd9d992a883a951e349695dc92ad1"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"02f344cdb6095a565df3b5b0532170bc972a002e","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":".. option:: --type \u003ctype\u003e"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    Type of the object that RBAC policy affects (qos_policy or network) (required)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":".. option:: --action \u003caction\u003e"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_c4ceba82","line":28,"range":{"start_line":28,"start_character":49,"end_line":28,"end_character":59},"in_reply_to":"dada55a8_5be2f0d5","updated":"2016-07-28 02:24:53.000000000","message":"Done","commit_id":"e49c7813bdbfd9d992a883a951e349695dc92ad1"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"50dd34329cf19ee4c4e0eda4a8dd5dc0cc1d2516","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":".. option:: --action \u003caction\u003e"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    Action for the RBAC policy (access_as_external or access_as_shared) (required)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":".. option:: --target-project \u003ctarget-project\u003e"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_1bd518e4","line":32,"range":{"start_line":32,"start_character":32,"end_line":32,"end_character":70},"updated":"2016-07-27 13:42:55.000000000","message":"same","commit_id":"e49c7813bdbfd9d992a883a951e349695dc92ad1"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"02f344cdb6095a565df3b5b0532170bc972a002e","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":".. option:: --action \u003caction\u003e"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    Action for the RBAC policy (access_as_external or access_as_shared) (required)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":".. option:: --target-project \u003ctarget-project\u003e"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_a4cbc671","line":32,"range":{"start_line":32,"start_character":32,"end_line":32,"end_character":70},"in_reply_to":"dada55a8_1bd518e4","updated":"2016-07-28 02:24:53.000000000","message":"Done","commit_id":"e49c7813bdbfd9d992a883a951e349695dc92ad1"}],"doc/source/specs/command-objects/example.rst":[{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"2385dbb414466824cb3a5cfa16e8c2ee21306932","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":".. describe:: \u003cexample\u003e"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    Example(s) to delete (name or ID)"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"example list"},{"line_number":44,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_951a8c7b","line":41,"range":{"start_line":41,"start_character":11,"end_line":41,"end_character":14},"updated":"2016-07-27 06:03:35.000000000","message":"I found this issue when I read this doc so I fix it incidentally","commit_id":"e49c7813bdbfd9d992a883a951e349695dc92ad1"}],"functional/tests/network/v2/test_network_rbac.py":[{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"c7df81e3bf81f7067e0746e589dfaf71b104f004","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    @classmethod"},{"line_number":41,"context_line":"    def tearDownClass(cls):"},{"line_number":42,"context_line":"        raw_output \u003d cls.openstack(\u0027network rbac delete \u0027 + cls.ID)"},{"line_number":43,"context_line":"        cls.assertOutput(\u0027\u0027, raw_output)"},{"line_number":44,"context_line":"        raw_output \u003d cls.openstack(\u0027network delete \u0027 + cls.OBJECT_ID)"},{"line_number":45,"context_line":"        cls.assertOutput(\u0027\u0027, raw_output)"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_43119003","line":43,"updated":"2016-07-26 18:55:21.000000000","message":"Please assert the output after the network is deleted.","commit_id":"79806583644c7b7a0942b0dfacdf524b4611d9ab"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"27d163803c265f6c4ccadc9f7b28889e4b37775e","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    @classmethod"},{"line_number":41,"context_line":"    def tearDownClass(cls):"},{"line_number":42,"context_line":"        raw_output \u003d cls.openstack(\u0027network rbac delete \u0027 + cls.ID)"},{"line_number":43,"context_line":"        cls.assertOutput(\u0027\u0027, raw_output)"},{"line_number":44,"context_line":"        raw_output \u003d cls.openstack(\u0027network delete \u0027 + cls.OBJECT_ID)"},{"line_number":45,"context_line":"        cls.assertOutput(\u0027\u0027, raw_output)"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_ea232303","line":43,"in_reply_to":"dada55a8_43119003","updated":"2016-07-27 05:47:18.000000000","message":"I have asserted the output in L45 after the network is deleted. Do you mean this?","commit_id":"79806583644c7b7a0942b0dfacdf524b4611d9ab"}],"openstackclient/network/v2/network_rbac.py":[{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"b2aea3de9da56d2b203260a407fcf52a4bad644a","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        parser.add_argument("},{"line_number":70,"context_line":"            \u0027rbac_object\u0027,"},{"line_number":71,"context_line":"            metavar\u003d\"\u003crbac-object\u003e\","},{"line_number":72,"context_line":"            help\u003d_(\"The RBAC obejct (ID only)\")"},{"line_number":73,"context_line":"        )"},{"line_number":74,"context_line":"        parser.add_argument("},{"line_number":75,"context_line":"            \u0027--type\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_a89360f9","line":72,"range":{"start_line":72,"start_character":36,"end_line":72,"end_character":45},"updated":"2016-07-25 11:53:19.000000000","message":"SDK supports finding network by name but doesn\u0027t support finding a qos policy now. So here is \"ID only\" temporarily. I make a \"TODO\" in L43-L44 for this.","commit_id":"53b6453d9bd07cca7a9049dd2e05b0a9099ad2f9"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"60bce98af1cad11e1c441b9a62bee981db6e3b58","unresolved":false,"context_lines":[{"line_number":86,"context_line":"            help\u003d_(\"Action for the RBAC policy\")"},{"line_number":87,"context_line":"        )"},{"line_number":88,"context_line":"        parser.add_argument("},{"line_number":89,"context_line":"            \u0027--target-project\u0027,"},{"line_number":90,"context_line":"            required\u003dTrue,"},{"line_number":91,"context_line":"            metavar\u003d\"\u003ctarget-project\u003e\","},{"line_number":92,"context_line":"            help\u003d_(\u0027The project which the RBAC policy \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_931208b3","line":89,"range":{"start_line":89,"start_character":15,"end_line":89,"end_character":29},"updated":"2016-07-25 14:51:06.000000000","message":"do you need a ``target-project-domain`` too?","commit_id":"53b6453d9bd07cca7a9049dd2e05b0a9099ad2f9"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"1022c31f1be78341a01c392c9466859d823fc3a5","unresolved":false,"context_lines":[{"line_number":86,"context_line":"            help\u003d_(\"Action for the RBAC policy\")"},{"line_number":87,"context_line":"        )"},{"line_number":88,"context_line":"        parser.add_argument("},{"line_number":89,"context_line":"            \u0027--target-project\u0027,"},{"line_number":90,"context_line":"            required\u003dTrue,"},{"line_number":91,"context_line":"            metavar\u003d\"\u003ctarget-project\u003e\","},{"line_number":92,"context_line":"            help\u003d_(\u0027The project which the RBAC policy \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_9fa14b97","line":89,"range":{"start_line":89,"start_character":15,"end_line":89,"end_character":29},"in_reply_to":"dada55a8_931208b3","updated":"2016-07-26 03:15:25.000000000","message":"Yes! I will do it. Thanks.","commit_id":"53b6453d9bd07cca7a9049dd2e05b0a9099ad2f9"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"c7df81e3bf81f7067e0746e589dfaf71b104f004","unresolved":false,"context_lines":[{"line_number":40,"context_line":"def _get_attrs(client_manager, parsed_args):"},{"line_number":41,"context_line":"    attrs \u003d {}"},{"line_number":42,"context_line":"    attrs[\u0027object_type\u0027] \u003d parsed_args.type"},{"line_number":43,"context_line":"    # TODO(Huanxuan Ao): Support finding a object ID by obejct name"},{"line_number":44,"context_line":"    # after qos policy finding supported in SDK."},{"line_number":45,"context_line":"    attrs[\u0027object_id\u0027] \u003d parsed_args.rbac_object"},{"line_number":46,"context_line":"    attrs[\u0027action\u0027] \u003d parsed_args.action"}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_23bd7c68","line":43,"updated":"2016-07-26 18:55:21.000000000","message":"How about adding QoS support later?  Then the user can provide name or ID for the rbac object.","commit_id":"79806583644c7b7a0942b0dfacdf524b4611d9ab"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"d2a85e211ab30e8bddb4f6522fb37012b8a188c4","unresolved":false,"context_lines":[{"line_number":40,"context_line":"def _get_attrs(client_manager, parsed_args):"},{"line_number":41,"context_line":"    attrs \u003d {}"},{"line_number":42,"context_line":"    attrs[\u0027object_type\u0027] \u003d parsed_args.type"},{"line_number":43,"context_line":"    # TODO(Huanxuan Ao): Support finding a object ID by obejct name"},{"line_number":44,"context_line":"    # after qos policy finding supported in SDK."},{"line_number":45,"context_line":"    attrs[\u0027object_id\u0027] \u003d parsed_args.rbac_object"},{"line_number":46,"context_line":"    attrs[\u0027action\u0027] \u003d parsed_args.action"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_84ab2289","line":43,"in_reply_to":"bacf61ea_1a815b4b","updated":"2016-07-28 02:25:41.000000000","message":"OK! I will do it in the new patch set. Thanks!","commit_id":"79806583644c7b7a0942b0dfacdf524b4611d9ab"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"9f87cd5fd770538108531dee834299aa830905d8","unresolved":false,"context_lines":[{"line_number":40,"context_line":"def _get_attrs(client_manager, parsed_args):"},{"line_number":41,"context_line":"    attrs \u003d {}"},{"line_number":42,"context_line":"    attrs[\u0027object_type\u0027] \u003d parsed_args.type"},{"line_number":43,"context_line":"    # TODO(Huanxuan Ao): Support finding a object ID by obejct name"},{"line_number":44,"context_line":"    # after qos policy finding supported in SDK."},{"line_number":45,"context_line":"    attrs[\u0027object_id\u0027] \u003d parsed_args.rbac_object"},{"line_number":46,"context_line":"    attrs[\u0027action\u0027] \u003d parsed_args.action"}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_f574a8cf","line":43,"in_reply_to":"dada55a8_23bd7c68","updated":"2016-07-27 05:55:58.000000000","message":"Hi, Richard. I think we shouldn\u0027t add QoS support later since it is also a important part of this command. How about supporting name or ID for network object and ID only for QoS object, we can add \"(name or ID for network objects, ID only for QoS policy objects)\" in help message to clarify this.","commit_id":"79806583644c7b7a0942b0dfacdf524b4611d9ab"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"b6ab58f3e3a363768e8e6fd4e9915fad955858e9","unresolved":false,"context_lines":[{"line_number":40,"context_line":"def _get_attrs(client_manager, parsed_args):"},{"line_number":41,"context_line":"    attrs \u003d {}"},{"line_number":42,"context_line":"    attrs[\u0027object_type\u0027] \u003d parsed_args.type"},{"line_number":43,"context_line":"    # TODO(Huanxuan Ao): Support finding a object ID by obejct name"},{"line_number":44,"context_line":"    # after qos policy finding supported in SDK."},{"line_number":45,"context_line":"    attrs[\u0027object_id\u0027] \u003d parsed_args.rbac_object"},{"line_number":46,"context_line":"    attrs[\u0027action\u0027] \u003d parsed_args.action"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_1a815b4b","line":43,"in_reply_to":"dada55a8_f574a8cf","updated":"2016-07-27 18:41:41.000000000","message":"That sounds good to me.","commit_id":"79806583644c7b7a0942b0dfacdf524b4611d9ab"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"c7df81e3bf81f7067e0746e589dfaf71b104f004","unresolved":false,"context_lines":[{"line_number":140,"context_line":"                client.delete_rbac_policy(obj)"},{"line_number":141,"context_line":"            except Exception as e:"},{"line_number":142,"context_line":"                result +\u003d 1"},{"line_number":143,"context_line":"                LOG.error(_(\"Failed to delete rbac policy with \""},{"line_number":144,"context_line":"                            \"ID \u0027%(rbac)s\u0027: %(e)s\"),"},{"line_number":145,"context_line":"                          {\u0027rbac\u0027: rbac, \u0027e\u0027: e})"},{"line_number":146,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_430eb08c","line":143,"range":{"start_line":143,"start_character":46,"end_line":143,"end_character":50},"updated":"2016-07-26 18:55:21.000000000","message":"RBAC","commit_id":"79806583644c7b7a0942b0dfacdf524b4611d9ab"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"27d163803c265f6c4ccadc9f7b28889e4b37775e","unresolved":false,"context_lines":[{"line_number":140,"context_line":"                client.delete_rbac_policy(obj)"},{"line_number":141,"context_line":"            except Exception as e:"},{"line_number":142,"context_line":"                result +\u003d 1"},{"line_number":143,"context_line":"                LOG.error(_(\"Failed to delete rbac policy with \""},{"line_number":144,"context_line":"                            \"ID \u0027%(rbac)s\u0027: %(e)s\"),"},{"line_number":145,"context_line":"                          {\u0027rbac\u0027: rbac, \u0027e\u0027: e})"},{"line_number":146,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_6a7e13e5","line":143,"range":{"start_line":143,"start_character":46,"end_line":143,"end_character":50},"in_reply_to":"dada55a8_430eb08c","updated":"2016-07-27 05:47:18.000000000","message":"Done","commit_id":"79806583644c7b7a0942b0dfacdf524b4611d9ab"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"c7df81e3bf81f7067e0746e589dfaf71b104f004","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"        if result \u003e 0:"},{"line_number":148,"context_line":"            total \u003d len(parsed_args.rbac_policy)"},{"line_number":149,"context_line":"            msg \u003d (_(\"%(result)s of %(total)s rbac policies failed \""},{"line_number":150,"context_line":"                   \"to delete.\") % {\u0027result\u0027: result, \u0027total\u0027: total})"},{"line_number":151,"context_line":"            raise exceptions.CommandError(msg)"},{"line_number":152,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_c31aa0c5","line":149,"range":{"start_line":149,"start_character":46,"end_line":149,"end_character":50},"updated":"2016-07-26 18:55:21.000000000","message":"RBAC","commit_id":"79806583644c7b7a0942b0dfacdf524b4611d9ab"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"27d163803c265f6c4ccadc9f7b28889e4b37775e","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"        if result \u003e 0:"},{"line_number":148,"context_line":"            total \u003d len(parsed_args.rbac_policy)"},{"line_number":149,"context_line":"            msg \u003d (_(\"%(result)s of %(total)s rbac policies failed \""},{"line_number":150,"context_line":"                   \"to delete.\") % {\u0027result\u0027: result, \u0027total\u0027: total})"},{"line_number":151,"context_line":"            raise exceptions.CommandError(msg)"},{"line_number":152,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_ca81ffc4","line":149,"range":{"start_line":149,"start_character":46,"end_line":149,"end_character":50},"in_reply_to":"dada55a8_c31aa0c5","updated":"2016-07-27 05:47:18.000000000","message":"Done","commit_id":"79806583644c7b7a0942b0dfacdf524b4611d9ab"}],"openstackclient/tests/network/v2/test_network_rbac.py":[{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"b2aea3de9da56d2b203260a407fcf52a4bad644a","unresolved":false,"context_lines":[{"line_number":313,"context_line":"        self.assertRaises(tests_utils.ParserException, self.check_parser,"},{"line_number":314,"context_line":"                          self.cmd, arglist, verifylist)"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"    def test_network_rbac_show_all_options(self):"},{"line_number":317,"context_line":"        arglist \u003d ["},{"line_number":318,"context_line":"            self.rbac_policy.id,"},{"line_number":319,"context_line":"        ]"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_a8588057","line":316,"range":{"start_line":316,"start_character":8,"end_line":316,"end_character":42},"updated":"2016-07-25 11:53:19.000000000","message":"There were some issues in this test so this patch also fix them.","commit_id":"53b6453d9bd07cca7a9049dd2e05b0a9099ad2f9"}]}
