@@ -705,6 +705,12 @@ def get_parser(self, prog_name):
705705 metavar = '<project>' ,
706706 help = "Search by project (admin only) (name or ID)" )
707707 identity_common .add_project_domain_option_to_parser (parser )
708+ parser .add_argument (
709+ '--user' ,
710+ metavar = '<user>' ,
711+ help = _ ('Search by user (admin only) (name or ID)' ),
712+ )
713+ identity_common .add_user_domain_option_to_parser (parser )
708714 parser .add_argument (
709715 '--long' ,
710716 action = 'store_true' ,
@@ -716,17 +722,25 @@ def get_parser(self, prog_name):
716722 def take_action (self , parsed_args ):
717723 self .log .debug ('take_action(%s)' , parsed_args )
718724 compute_client = self .app .client_manager .compute
725+ identity_client = self .app .client_manager .identity
719726
720727 project_id = None
721728 if parsed_args .project :
722- identity_client = self .app .client_manager .identity
723729 project_id = identity_common .find_project (
724730 identity_client ,
725731 parsed_args .project ,
726732 parsed_args .project_domain ,
727733 ).id
728734 parsed_args .all_projects = True
729735
736+ user_id = None
737+ if parsed_args .user :
738+ user_id = identity_common .find_project (
739+ identity_client ,
740+ parsed_args .user ,
741+ parsed_args .user_domain ,
742+ ).id
743+
730744 search_opts = {
731745 'reservation_id' : parsed_args .reservation_id ,
732746 'ip' : parsed_args .ip ,
@@ -739,6 +753,7 @@ def take_action(self, parsed_args):
739753 'host' : parsed_args .host ,
740754 'tenant_id' : project_id ,
741755 'all_tenants' : parsed_args .all_projects ,
756+ 'user_id' : user_id ,
742757 }
743758 self .log .debug ('search options: %s' , search_opts )
744759
0 commit comments