From c921ca05ebc695e46004f5c0ba6ff3fd729d43e9 Mon Sep 17 00:00:00 2001 From: Tianyu Ma Date: Fri, 1 Apr 2022 00:45:50 -0700 Subject: [PATCH] Support passowrd setting when creating users --- src/isilon_hadoop_tools/_scripts.py | 7 +++++++ src/isilon_hadoop_tools/identities.py | 3 +++ src/isilon_hadoop_tools/onefs.py | 3 ++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/isilon_hadoop_tools/_scripts.py b/src/isilon_hadoop_tools/_scripts.py index fe84076..25bda62 100644 --- a/src/isilon_hadoop_tools/_scripts.py +++ b/src/isilon_hadoop_tools/_scripts.py @@ -72,6 +72,12 @@ def isilon_create_users_cli(parser=None): type=int, default=isilon_hadoop_tools.identities.Creator.default_start_uid, ) + parser.add_argument( + '--user-password', + help='the password for users created', + type=str, + default=None, + ) return parser @@ -112,6 +118,7 @@ def isilon_create_users(argv=None): start_uid=args.start_uid, start_gid=args.start_gid, script_path=os.path.join(os.getcwd(), name + '.sh'), + user_password=args.user_password, ) if args.dry: LOGGER.info(DRY_RUN) diff --git a/src/isilon_hadoop_tools/identities.py b/src/isilon_hadoop_tools/identities.py index 9e2469a..e1cc3b3 100644 --- a/src/isilon_hadoop_tools/identities.py +++ b/src/isilon_hadoop_tools/identities.py @@ -66,12 +66,14 @@ def __init__( # pylint: disable=too-many-arguments start_uid=default_start_uid, start_gid=default_start_gid, script_path=None, + user_password=None, ): self.onefs = onefs self.onefs_zone = onefs_zone self._next_uid = start_uid self._next_gid = start_gid self.script_path = script_path + self.user_password = user_password @property def next_gid(self): @@ -240,6 +242,7 @@ def create_user(self, user_name, primary_group_name): primary_group_name=primary_group_name, zone=self.onefs_zone, enabled=True, + password=self.user_password, ) break except isilon_hadoop_tools.onefs.APIError as exc: diff --git a/src/isilon_hadoop_tools/onefs.py b/src/isilon_hadoop_tools/onefs.py index 6018a86..5c6c9a1 100644 --- a/src/isilon_hadoop_tools/onefs.py +++ b/src/isilon_hadoop_tools/onefs.py @@ -883,7 +883,7 @@ def create_spn(self, spn, realm, user, password): self._sdk.AuthApi(self._api_client).create_providers_krb5_item(providers_krb5_item) @accesses_onefs - def create_user(self, name, primary_group_name, uid=None, zone=None, enabled=None): + def create_user(self, name, primary_group_name, uid=None, zone=None, enabled=None, password=None): """Create a user.""" group_member_cls = ( self._sdk.GroupMember @@ -899,6 +899,7 @@ def create_user(self, name, primary_group_name, uid=None, zone=None, enabled=Non name=primary_group_name, ), uid=uid, + password=password, ), zone=zone or self.default_zone, )