)]}'
{"releasenotes/notes/add-domain-param-in-cliclient-a270fcf35c8f09e6.yaml":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"95b9c0b17cfa6cc20f14637cd7b45574f9f6efe8","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    * `user_domain_name`"},{"line_number":7,"context_line":"    * `user_domain_id`"},{"line_number":8,"context_line":"    * `project_domain_name`"},{"line_number":9,"context_line":"    * `project_domain_id`"},{"line_number":10,"context_line":"    for CLIClient class, whose values will be substituted to"},{"line_number":11,"context_line":"    `--os-user-domain-name`, `--os-user-domain-id`,"},{"line_number":12,"context_line":"    `--os-project-domain-name` and --os-project-domain-id`during command"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5f4e5783_1d4b902b","line":9,"range":{"start_line":9,"start_character":24,"end_line":9,"end_character":25},"updated":"2017-10-12 11:16:29.000000000","message":"ok add a blank line here. seems it will fail.","commit_id":"15b7ef38d8eb3745a35ec17234480b1faf76ce51"}],"tempest/lib/cli/base.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"574edfbaba4d4118f8b2260950d203b99b0ebd48","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    \"\"\""},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def __init__(self, username\u003d\u0027\u0027, password\u003d\u0027\u0027, tenant_name\u003d\u0027\u0027, uri\u003d\u0027\u0027,"},{"line_number":99,"context_line":"                 cli_dir\u003d\u0027\u0027, insecure\u003dFalse, prefix\u003d\u0027\u0027, user_domain\u003d\u0027default\u0027,"},{"line_number":100,"context_line":"                 project_domain\u003d\u0027default\u0027, *args, **kwargs):"},{"line_number":101,"context_line":"        \"\"\"Initialize a new CLIClient object.\"\"\""},{"line_number":102,"context_line":"        super(CLIClient, self).__init__()"},{"line_number":103,"context_line":"        self.cli_dir \u003d cli_dir if cli_dir else \u0027/usr/bin\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f515b1d_6eebae12","line":100,"range":{"start_line":99,"start_character":56,"end_line":100,"end_character":41},"updated":"2017-09-27 17:05:30.000000000","message":"These default \u0027default\u0027 is possible to break for the existing users.\nTo avoid affecting to the existing users, how about defining None as the default parameter values?","commit_id":"d9838bd13e1e737a471067dd6edac32c9ee81a5a"},{"author":{"_account_id":11391,"name":"Mikhail Fedosin","email":"mfedosin@redhat.com","username":"fedosinme"},"change_message_id":"241eabe24a961e18007ef21342171a45d327f97b","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    \"\"\""},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def __init__(self, username\u003d\u0027\u0027, password\u003d\u0027\u0027, tenant_name\u003d\u0027\u0027, uri\u003d\u0027\u0027,"},{"line_number":99,"context_line":"                 cli_dir\u003d\u0027\u0027, insecure\u003dFalse, prefix\u003d\u0027\u0027, user_domain\u003d\u0027default\u0027,"},{"line_number":100,"context_line":"                 project_domain\u003d\u0027default\u0027, *args, **kwargs):"},{"line_number":101,"context_line":"        \"\"\"Initialize a new CLIClient object.\"\"\""},{"line_number":102,"context_line":"        super(CLIClient, self).__init__()"},{"line_number":103,"context_line":"        self.cli_dir \u003d cli_dir if cli_dir else \u0027/usr/bin\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f515b1d_4e68d9b7","line":100,"range":{"start_line":99,"start_character":56,"end_line":100,"end_character":41},"in_reply_to":"7f515b1d_6eebae12","updated":"2017-09-28 12:50:39.000000000","message":"Done","commit_id":"d9838bd13e1e737a471067dd6edac32c9ee81a5a"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"574edfbaba4d4118f8b2260950d203b99b0ebd48","unresolved":false,"context_lines":[{"line_number":364,"context_line":"        :type merge_stderr: boolean"},{"line_number":365,"context_line":"        \"\"\""},{"line_number":366,"context_line":"        creds \u003d (\u0027--os-username %s --os-tenant-name %s --os-password %s \u0027"},{"line_number":367,"context_line":"                 \u0027--os-auth-url %s --os-user-domain-name %s \u0027"},{"line_number":368,"context_line":"                 \u0027--os-project-domain-name %s\u0027 %"},{"line_number":369,"context_line":"                 (self.username,"},{"line_number":370,"context_line":"                  self.tenant_name,"},{"line_number":371,"context_line":"                  self.password,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f515b1d_ce72a27b","line":368,"range":{"start_line":367,"start_character":34,"end_line":368,"end_character":45},"updated":"2017-09-27 17:05:30.000000000","message":"Based on the above point, it would be nice to add these parameters like\n\n creds \u003d (\u0027--os-username %s --os-tenant-name %s --os-password %s \u0027\n                 \u0027--os-auth-url %s\u0027 %\n                 (self.username,\n                  self.tenant_name,\n                  self.password,\n                  self.uri))\n + if self.user_domain is not None:\n +     creds +\u003d \u0027 --os-user-domain-name %s\u0027 % self.user_domain\n + if self.project_domain is not None:\n +     creds +\u003d \u0027 --os-project-domain-name %s\u0027 % self.project_domain\n\n?","commit_id":"d9838bd13e1e737a471067dd6edac32c9ee81a5a"},{"author":{"_account_id":11391,"name":"Mikhail Fedosin","email":"mfedosin@redhat.com","username":"fedosinme"},"change_message_id":"241eabe24a961e18007ef21342171a45d327f97b","unresolved":false,"context_lines":[{"line_number":364,"context_line":"        :type merge_stderr: boolean"},{"line_number":365,"context_line":"        \"\"\""},{"line_number":366,"context_line":"        creds \u003d (\u0027--os-username %s --os-tenant-name %s --os-password %s \u0027"},{"line_number":367,"context_line":"                 \u0027--os-auth-url %s --os-user-domain-name %s \u0027"},{"line_number":368,"context_line":"                 \u0027--os-project-domain-name %s\u0027 %"},{"line_number":369,"context_line":"                 (self.username,"},{"line_number":370,"context_line":"                  self.tenant_name,"},{"line_number":371,"context_line":"                  self.password,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f515b1d_0e5e6111","line":368,"range":{"start_line":367,"start_character":34,"end_line":368,"end_character":45},"in_reply_to":"7f515b1d_ce72a27b","updated":"2017-09-28 12:50:39.000000000","message":"Done","commit_id":"d9838bd13e1e737a471067dd6edac32c9ee81a5a"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"6f014bff9137d033869970ded9612337e967502d","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def __init__(self, username\u003d\u0027\u0027, password\u003d\u0027\u0027, tenant_name\u003d\u0027\u0027, uri\u003d\u0027\u0027,"},{"line_number":99,"context_line":"                 cli_dir\u003d\u0027\u0027, insecure\u003dFalse, prefix\u003d\u0027\u0027, user_domain\u003dNone,"},{"line_number":100,"context_line":"                 project_domain\u003dNone, *args, **kwargs):"},{"line_number":101,"context_line":"        \"\"\"Initialize a new CLIClient object.\"\"\""},{"line_number":102,"context_line":"        super(CLIClient, self).__init__()"},{"line_number":103,"context_line":"        self.cli_dir \u003d cli_dir if cli_dir else \u0027/usr/bin\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f4e5783_7b03ba74","line":100,"updated":"2017-10-12 02:06:53.000000000","message":"I think it\u0027s good to add docstrings for user_domain and project_domain.\nAnd user_domain_name and project_domain_name might be better for the parameter names? I think it\u0027s clearer for users who are confused with \"name\" or \"id\".","commit_id":"363dbe955fe14257294f9f90bb8ed4553c5b7cd1"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"efbc3ef97888083622443a3e7e1fdd436ae21ae7","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def __init__(self, username\u003d\u0027\u0027, password\u003d\u0027\u0027, tenant_name\u003d\u0027\u0027, uri\u003d\u0027\u0027,"},{"line_number":99,"context_line":"                 cli_dir\u003d\u0027\u0027, insecure\u003dFalse, prefix\u003d\u0027\u0027, user_domain\u003dNone,"},{"line_number":100,"context_line":"                 project_domain\u003dNone, *args, **kwargs):"},{"line_number":101,"context_line":"        \"\"\"Initialize a new CLIClient object.\"\"\""},{"line_number":102,"context_line":"        super(CLIClient, self).__init__()"},{"line_number":103,"context_line":"        self.cli_dir \u003d cli_dir if cli_dir else \u0027/usr/bin\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f4e5783_2422b953","line":100,"in_reply_to":"5f4e5783_44a815da","updated":"2017-10-12 09:15:48.000000000","message":"Yes, that\u0027s possible, but it means users of the class needs to care what options are available for all CLI clients. I think at least auth info should be defined explicitly. **kwargs makes things complicated.","commit_id":"363dbe955fe14257294f9f90bb8ed4553c5b7cd1"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"f6db3b4415b0c7d3f2d60ab6779dfc3d54fa1232","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def __init__(self, username\u003d\u0027\u0027, password\u003d\u0027\u0027, tenant_name\u003d\u0027\u0027, uri\u003d\u0027\u0027,"},{"line_number":99,"context_line":"                 cli_dir\u003d\u0027\u0027, insecure\u003dFalse, prefix\u003d\u0027\u0027, user_domain\u003dNone,"},{"line_number":100,"context_line":"                 project_domain\u003dNone, *args, **kwargs):"},{"line_number":101,"context_line":"        \"\"\"Initialize a new CLIClient object.\"\"\""},{"line_number":102,"context_line":"        super(CLIClient, self).__init__()"},{"line_number":103,"context_line":"        self.cli_dir \u003d cli_dir if cli_dir else \u0027/usr/bin\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f4e5783_84bf2dcf","line":100,"in_reply_to":"5f4e5783_44a815da","updated":"2017-10-12 09:17:20.000000000","message":"until now we only supported names.\nI think it\u0027s fine to support IDs but that\u0027s a different change from my perspective.\nI would say\n1) add domain support\n2) optional: add ID support (but for everything then (user, project)","commit_id":"363dbe955fe14257294f9f90bb8ed4553c5b7cd1"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"4b4266b5943cc6a36c082c0c3231c6a8388e860a","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def __init__(self, username\u003d\u0027\u0027, password\u003d\u0027\u0027, tenant_name\u003d\u0027\u0027, uri\u003d\u0027\u0027,"},{"line_number":99,"context_line":"                 cli_dir\u003d\u0027\u0027, insecure\u003dFalse, prefix\u003d\u0027\u0027, user_domain\u003dNone,"},{"line_number":100,"context_line":"                 project_domain\u003dNone, *args, **kwargs):"},{"line_number":101,"context_line":"        \"\"\"Initialize a new CLIClient object.\"\"\""},{"line_number":102,"context_line":"        super(CLIClient, self).__init__()"},{"line_number":103,"context_line":"        self.cli_dir \u003d cli_dir if cli_dir else \u0027/usr/bin\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f4e5783_a4a109ac","line":100,"in_reply_to":"5f4e5783_7b03ba74","updated":"2017-10-12 09:17:56.000000000","message":"+1 on user_domain_name and project_domain_name","commit_id":"363dbe955fe14257294f9f90bb8ed4553c5b7cd1"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ff1be74b4528262459631a20a663769f4d7b73b8","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def __init__(self, username\u003d\u0027\u0027, password\u003d\u0027\u0027, tenant_name\u003d\u0027\u0027, uri\u003d\u0027\u0027,"},{"line_number":99,"context_line":"                 cli_dir\u003d\u0027\u0027, insecure\u003dFalse, prefix\u003d\u0027\u0027, user_domain\u003dNone,"},{"line_number":100,"context_line":"                 project_domain\u003dNone, *args, **kwargs):"},{"line_number":101,"context_line":"        \"\"\"Initialize a new CLIClient object.\"\"\""},{"line_number":102,"context_line":"        super(CLIClient, self).__init__()"},{"line_number":103,"context_line":"        self.cli_dir \u003d cli_dir if cli_dir else \u0027/usr/bin\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f4e5783_fb73297f","line":100,"in_reply_to":"5f4e5783_7b03ba74","updated":"2017-10-12 02:42:19.000000000","message":"+1. I think it can accept id also if we want to take id and name both (as keystone accept both separately.). But either way it needs to be documented whether it accept both or just name(then arg can be renamed accordingly)","commit_id":"363dbe955fe14257294f9f90bb8ed4553c5b7cd1"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"66d5e47efa1362ab8ab92dd6f3ff2a023aa093d6","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def __init__(self, username\u003d\u0027\u0027, password\u003d\u0027\u0027, tenant_name\u003d\u0027\u0027, uri\u003d\u0027\u0027,"},{"line_number":99,"context_line":"                 cli_dir\u003d\u0027\u0027, insecure\u003dFalse, prefix\u003d\u0027\u0027, user_domain\u003dNone,"},{"line_number":100,"context_line":"                 project_domain\u003dNone, *args, **kwargs):"},{"line_number":101,"context_line":"        \"\"\"Initialize a new CLIClient object.\"\"\""},{"line_number":102,"context_line":"        super(CLIClient, self).__init__()"},{"line_number":103,"context_line":"        self.cli_dir \u003d cli_dir if cli_dir else \u0027/usr/bin\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f4e5783_44a815da","line":100,"in_reply_to":"5f4e5783_be80ff8c","updated":"2017-10-12 09:11:05.000000000","message":"and other approach can be to use **kwargs as there are penalty of other options also can be passed for auth. as of now it is not used but we can fix that to be considered.","commit_id":"363dbe955fe14257294f9f90bb8ed4553c5b7cd1"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"f5408463febffbdd8375b70423b5638dfa932663","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def __init__(self, username\u003d\u0027\u0027, password\u003d\u0027\u0027, tenant_name\u003d\u0027\u0027, uri\u003d\u0027\u0027,"},{"line_number":99,"context_line":"                 cli_dir\u003d\u0027\u0027, insecure\u003dFalse, prefix\u003d\u0027\u0027, user_domain\u003dNone,"},{"line_number":100,"context_line":"                 project_domain\u003dNone, *args, **kwargs):"},{"line_number":101,"context_line":"        \"\"\"Initialize a new CLIClient object.\"\"\""},{"line_number":102,"context_line":"        super(CLIClient, self).__init__()"},{"line_number":103,"context_line":"        self.cli_dir \u003d cli_dir if cli_dir else \u0027/usr/bin\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f4e5783_be80ff8c","line":100,"in_reply_to":"5f4e5783_fb73297f","updated":"2017-10-12 04:26:52.000000000","message":"I would like to request to support both domain name and domain ID. From the perspective of tempest.lib.cli in neutronclient, we would like to pass project_domain_id and user_domain_id (as clouds.yaml created by devstack configures domain *id* and we extract the auth information from that file).\n\nAt least, user_domain and project_domain are not clear whether \u0027name\u0027 or \u0027id\u0027 is expected, so I think xxx_domain_name needs to be used.","commit_id":"363dbe955fe14257294f9f90bb8ed4553c5b7cd1"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"95b9c0b17cfa6cc20f14637cd7b45574f9f6efe8","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    :param prefix: prefix to insert before commands"},{"line_number":95,"context_line":"    :type prefix: string"},{"line_number":96,"context_line":"    :param user_domain_name: User\u0027s domain name."},{"line_number":97,"context_line":"    :type insecure: string"},{"line_number":98,"context_line":"    :param user_domain_id: User\u0027s domain ID"},{"line_number":99,"context_line":"    :type prefix: string"},{"line_number":100,"context_line":"    :param project_domain_name: Project\u0027s domain name"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f4e5783_5d28e832","line":97,"range":{"start_line":97,"start_character":10,"end_line":97,"end_character":18},"updated":"2017-10-12 11:16:29.000000000","message":"yea these need to fix. below too","commit_id":"15b7ef38d8eb3745a35ec17234480b1faf76ce51"}]}
