Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add root parameter to useradd, shadow and groupadd #50175

Merged
merged 8 commits into from
Nov 29, 2018

Conversation

aplanas
Copy link
Contributor

@aplanas aplanas commented Oct 23, 2018

What does this PR do?

Add root parameter to useradd and shadow execution modules

salt/modules/shadow.py Outdated Show resolved Hide resolved
salt/modules/useradd.py Outdated Show resolved Hide resolved
@aplanas aplanas force-pushed the fix_user branch 7 times, most recently from 0eed9ee to d2a2078 Compare October 25, 2018 12:47
@aplanas aplanas changed the title Add root parameter to useradd and shadow Add root parameter to useradd, shadow and groupadd Oct 25, 2018
@aplanas aplanas force-pushed the fix_user branch 2 times, most recently from f5359ac to dcfaafc Compare October 25, 2018 15:47
@rallytime rallytime requested a review from cachedout October 25, 2018 21:19
@aplanas aplanas force-pushed the fix_user branch 4 times, most recently from c825f7f to 1108eaa Compare October 26, 2018 11:57
@aplanas
Copy link
Contributor Author

aplanas commented Oct 26, 2018

Ready for review.

@aplanas aplanas force-pushed the fix_user branch 9 times, most recently from e204ef2 to 0b56c9c Compare October 31, 2018 09:41
@cachedout
Copy link
Contributor

@aplanas Could you add docstrings for these new parameters, please?

@aplanas
Copy link
Contributor Author

aplanas commented Nov 26, 2018

I am still interested in this PR. Is there anything more that I can do?

Use the root parameter in the rest of the public API.

Refactor the code to remove duplicate code.
Refactor the code to avoid duplications, and use the alternative
spwd functions when a different root is set.
In Python 3 the fields for name and password for the spwd module
are different that in Python 2.

This patch makes sure to explore first the Python 2 name and later
check the Python 3 if is not found.
In some places of the code gpasswd and usermod are used depending
on the plataform.  One use -Q and other use -R to indicate a
different root parameter.

This patch unify this, using --root parameter.

Partially fix saltstack#43131
@aplanas
Copy link
Contributor Author

aplanas commented Nov 27, 2018

  • Rebased the code
  • In the partial call I remove the ugly _fun name and make explicit the call to the correct function name in pwd, spwd and grp. I hope that this clarify why I currying over the real or the fake function (so I do not break the std interface)
  • Refactor a bit _set_attrib to remove some extra returns. Still return early, as I am not able to find a way to avoid two nested indentations. But clarify the situation with a comment.

Copy link
Contributor

@isbm isbm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cachedout I have no more issues with this PR. Unless someone else does, we're fine here.

@cachedout cachedout merged commit 94e3319 into saltstack:develop Nov 29, 2018
@aplanas aplanas deleted the fix_user branch November 30, 2018 08:32
@aplanas
Copy link
Contributor Author

aplanas commented Nov 30, 2018

Thanks for the reviews and the hard work here!

aplanas added a commit to aplanas/salt-1 that referenced this pull request Jan 30, 2019
* blockdev: fix url from comment
saltstack/salt#49668

* Documentation: fix typo in "equivalent"
saltstack/salt#49669

* states_pt3: fix rST link format
saltstack/salt#49670

* parted: fix _validate_partition_boundary
saltstack/salt#49803

* parted: fix the ordering of list command
saltstack/salt#49804

* Fix lowpkg.diff documentation and parameter name
saltstack/salt#50126

* Add root parameter to useradd, shadow and groupadd
saltstack/salt#50175

* cmd: Add root parameter for wait and run states
saltstack/salt#50302

* systemd: add optional root parameter
saltstack/salt#50380

* service: SUSE is not based on sysvinit anymore
saltstack/salt#50396

* Add new chroot module
saltstack/salt#50418

* Add new module freezer
saltstack/salt#50452

* parted: support variable length output for print
saltstack/salt#50473

* btrfs: add all subvolume commands
saltstack/salt#50541

* file: update attributes for lsattr and chattr
saltstack/salt#50607

* btrfs: add new btrfs state
saltstack/salt#50635

* zypper: demote log from error to warning
saltstack/salt#50671

* blkid: add search by token
saltstack/salt#50706

* mount: add fstab_{present,absent} states
saltstack/salt#50725

* btrfs: add option to not set subvolumes as default
saltstack/salt#50801

* Add disk_set and disk_toggle functions, and update valid partition flags
saltstack/salt#50834

* disk: support setting FAT size for format_
saltstack/salt#51074

* cmdmod: add sysfs into the chroot
saltstack/salt#51094

* mount: cache blkid information
saltstack/salt#51135
aplanas added a commit to aplanas/salt-1 that referenced this pull request Feb 4, 2019
* blockdev: fix url from comment
saltstack/salt#49668

* Documentation: fix typo in "equivalent"
saltstack/salt#49669

* states_pt3: fix rST link format
saltstack/salt#49670

* parted: fix _validate_partition_boundary
saltstack/salt#49803

* parted: fix the ordering of list command
saltstack/salt#49804

* Fix lowpkg.diff documentation and parameter name
saltstack/salt#50126

* Add root parameter to useradd, shadow and groupadd
saltstack/salt#50175

* cmd: Add root parameter for wait and run states
saltstack/salt#50302

* systemd: add optional root parameter
saltstack/salt#50380

* service: SUSE is not based on sysvinit anymore
saltstack/salt#50396

* Add new chroot module
saltstack/salt#50418

* Add new module freezer
saltstack/salt#50452

* parted: support variable length output for print
saltstack/salt#50473

* btrfs: add all subvolume commands
saltstack/salt#50541

* file: update attributes for lsattr and chattr
saltstack/salt#50607

* btrfs: add new btrfs state
saltstack/salt#50635

* zypper: demote log from error to warning
saltstack/salt#50671

* blkid: add search by token
saltstack/salt#50706

* mount: add fstab_{present,absent} states
saltstack/salt#50725

* btrfs: add option to not set subvolumes as default
saltstack/salt#50801

* Add disk_set and disk_toggle functions, and update valid partition flags
saltstack/salt#50834

* disk: support setting FAT size for format_
saltstack/salt#51074

* cmdmod: add sysfs into the chroot
saltstack/salt#51094

* mount: cache blkid information
saltstack/salt#51135
aplanas added a commit to aplanas/salt-1 that referenced this pull request Feb 4, 2019
* blockdev: fix url from comment
saltstack/salt#49668

* Documentation: fix typo in "equivalent"
saltstack/salt#49669

* states_pt3: fix rST link format
saltstack/salt#49670

* parted: fix _validate_partition_boundary
saltstack/salt#49803

* parted: fix the ordering of list command
saltstack/salt#49804

* Fix lowpkg.diff documentation and parameter name
saltstack/salt#50126

* Add root parameter to useradd, shadow and groupadd
saltstack/salt#50175

* cmd: Add root parameter for wait and run states
saltstack/salt#50302

* systemd: add optional root parameter
saltstack/salt#50380

* service: SUSE is not based on sysvinit anymore
saltstack/salt#50396

* Add new chroot module
saltstack/salt#50418

* Add new module freezer
saltstack/salt#50452

* parted: support variable length output for print
saltstack/salt#50473

* btrfs: add all subvolume commands
saltstack/salt#50541

* file: update attributes for lsattr and chattr
saltstack/salt#50607

* btrfs: add new btrfs state
saltstack/salt#50635

* zypper: demote log from error to warning
saltstack/salt#50671

* blkid: add search by token
saltstack/salt#50706

* mount: add fstab_{present,absent} states
saltstack/salt#50725

* btrfs: add option to not set subvolumes as default
saltstack/salt#50801

* Add disk_set and disk_toggle functions, and update valid partition flags
saltstack/salt#50834

* disk: support setting FAT size for format_
saltstack/salt#51074

* cmdmod: add sysfs into the chroot
saltstack/salt#51094

* mount: cache blkid information
saltstack/salt#51135
aplanas added a commit to aplanas/salt-1 that referenced this pull request Feb 4, 2019
* blockdev: fix url from comment
saltstack/salt#49668

* Documentation: fix typo in "equivalent"
saltstack/salt#49669

* states_pt3: fix rST link format
saltstack/salt#49670

* parted: fix _validate_partition_boundary
saltstack/salt#49803

* parted: fix the ordering of list command
saltstack/salt#49804

* Fix lowpkg.diff documentation and parameter name
saltstack/salt#50126

* Add root parameter to useradd, shadow and groupadd
saltstack/salt#50175

* cmd: Add root parameter for wait and run states
saltstack/salt#50302

* systemd: add optional root parameter
saltstack/salt#50380

* service: SUSE is not based on sysvinit anymore
saltstack/salt#50396

* Add new chroot module
saltstack/salt#50418

* Add new module freezer
saltstack/salt#50452

* parted: support variable length output for print
saltstack/salt#50473

* btrfs: add all subvolume commands
saltstack/salt#50541

* file: update attributes for lsattr and chattr
saltstack/salt#50607

* btrfs: add new btrfs state
saltstack/salt#50635

* zypper: demote log from error to warning
saltstack/salt#50671

* blkid: add search by token
saltstack/salt#50706

* mount: add fstab_{present,absent} states
saltstack/salt#50725

* btrfs: add option to not set subvolumes as default
saltstack/salt#50801

* Add disk_set and disk_toggle functions, and update valid partition flags
saltstack/salt#50834

* disk: support setting FAT size for format_
saltstack/salt#51074

* cmdmod: add sysfs into the chroot
saltstack/salt#51094

* mount: cache blkid information
saltstack/salt#51135
aplanas added a commit to aplanas/salt-1 that referenced this pull request Feb 26, 2019
* blockdev: fix url from comment
saltstack/salt#49668

* Documentation: fix typo in "equivalent"
saltstack/salt#49669

* states_pt3: fix rST link format
saltstack/salt#49670

* parted: fix _validate_partition_boundary
saltstack/salt#49803

* parted: fix the ordering of list command
saltstack/salt#49804

* Fix lowpkg.diff documentation and parameter name
saltstack/salt#50126

* Add root parameter to useradd, shadow and groupadd
saltstack/salt#50175

* cmd: Add root parameter for wait and run states
saltstack/salt#50302

* systemd: add optional root parameter
saltstack/salt#50380

* service: SUSE is not based on sysvinit anymore
saltstack/salt#50396

* Add new chroot module
saltstack/salt#50418

* Add new module freezer
saltstack/salt#50452

* parted: support variable length output for print
saltstack/salt#50473

* btrfs: add all subvolume commands
saltstack/salt#50541

* file: update attributes for lsattr and chattr
saltstack/salt#50607

* btrfs: add new btrfs state
saltstack/salt#50635

* zypper: demote log from error to warning
saltstack/salt#50671

* blkid: add search by token
saltstack/salt#50706

* mount: add fstab_{present,absent} states
saltstack/salt#50725

* btrfs: add option to not set subvolumes as default
saltstack/salt#50801

* Add disk_set and disk_toggle functions, and update valid partition flags
saltstack/salt#50834

* disk: support setting FAT size for format_
saltstack/salt#51074

* cmdmod: add sysfs into the chroot
saltstack/salt#51094

* mount: cache blkid information
saltstack/salt#51135
aplanas added a commit to aplanas/salt-1 that referenced this pull request Mar 6, 2019
* Add root and no_recommends parameters in the public interface for Zypper and RPM (lowpkg)
  saltstack/salt#50125

* Add root parameter to useradd, shadow and groupadd
  saltstack/salt#50175

* cmd: Add root parameter for wait and run states
  saltstack/salt#50302

* systemd: add optional root parameter
  saltstack/salt#50380

* Add new chroot module
  https://github.com/openSUSE/salt/pull/50418

* Add new module freezer
  saltstack/salt#50452

* btrfs: add all subvolume commands
  saltstack/salt#50541

* btrfs: add new btrfs state
  saltstack/salt#50635

* zypper: demote log from error to warning
  saltstack/salt#50671

* blkid: add search by token
  saltstack/salt#50706

* mount: add fstab_{present,absent} states
  saltstack/salt#50725

* btrfs: add option to not set subvolumes as default
  https://github.com/openSUSE/salt/pull/50801

* Add disk_set and disk_toggle functions, and update valid partition flags
  https://github.com/openSUSE/salt/pull/50834

* disk: support setting FAT size for format_
  https://github.com/openSUSE/salt/pull/51074

* parted: fix set_ valid flags comment.
  https://github.com/openSUSE/salt/pull/51704

* grains/core: ignore HOST_NOT_FOUND errno in fqdns()
  https://github.com/openSUSE/salt/pull/51706

* cmdmod: add 'binds' parameter in run_chroot
  https://github.com/openSUSE/salt/pull/51871

* mount: fix extra -t parameter
  https://github.com/openSUSE/salt/pull/51905

* lvm: be quiet when a pv, lv or vg is not expected
  https://github.com/openSUSE/salt/pull/51929

* linux_lvm: clean error in pvcreate and pvremove
  https://github.com/openSUSE/salt/pull/51954

* blockdev: hide blkid errors when are expected
  https://github.com/openSUSE/salt/pull/51956

* partially unify public functions signature for pkg and lowpkg
  https://github.com/openSUSE/salt/pull/51973

* extmods: add utils directories in sys.path
  https://github.com/openSUSE/salt/pull/52001
aplanas added a commit to aplanas/salt-1 that referenced this pull request Mar 6, 2019
* Add root and no_recommends parameters in the public interface for Zypper and RPM (lowpkg)
  saltstack/salt#50125

* Add root parameter to useradd, shadow and groupadd
  saltstack/salt#50175

* cmd: Add root parameter for wait and run states
  saltstack/salt#50302

* systemd: add optional root parameter
  saltstack/salt#50380

* Add new chroot module
  https://github.com/openSUSE/salt/pull/50418

* Add new module freezer
  saltstack/salt#50452

* btrfs: add all subvolume commands
  saltstack/salt#50541

* btrfs: add new btrfs state
  saltstack/salt#50635

* zypper: demote log from error to warning
  saltstack/salt#50671

* blkid: add search by token
  saltstack/salt#50706

* mount: add fstab_{present,absent} states
  saltstack/salt#50725

* btrfs: add option to not set subvolumes as default
  saltstack/salt#50801

* Add disk_set and disk_toggle functions, and update valid partition flags
  saltstack/salt#50834

* disk: support setting FAT size for format_
  saltstack/salt#51074

* parted: fix set_ valid flags comment.
  saltstack/salt#51704

* grains/core: ignore HOST_NOT_FOUND errno in fqdns()
  saltstack/salt#51706

* cmdmod: add 'binds' parameter in run_chroot
  saltstack/salt#51871

* mount: fix extra -t parameter
  saltstack/salt#51905

* lvm: be quiet when a pv, lv or vg is not expected
  saltstack/salt#51929

* linux_lvm: clean error in pvcreate and pvremove
  saltstack/salt#51954

* blockdev: hide blkid errors when are expected
  saltstack/salt#51956

* partially unify public functions signature for pkg and lowpkg
  saltstack/salt#51973

* extmods: add utils directories in sys.path
  saltstack/salt#52001
aplanas added a commit to aplanas/salt-1 that referenced this pull request Jun 5, 2019
* Add root and no_recommends parameters in the public interface for Zypper and RPM (lowpkg)
  saltstack/salt#50125

* Add root parameter to useradd, shadow and groupadd
  saltstack/salt#50175

* cmd: Add root parameter for wait and run states
  saltstack/salt#50302

* systemd: add optional root parameter
  saltstack/salt#50380

* Add new chroot module
  https://github.com/openSUSE/salt/pull/50418

* Add new module freezer
  saltstack/salt#50452

* btrfs: add all subvolume commands
  saltstack/salt#50541

* btrfs: add new btrfs state
  saltstack/salt#50635

* zypper: demote log from error to warning
  saltstack/salt#50671

* blkid: add search by token
  saltstack/salt#50706

* mount: add fstab_{present,absent} states
  saltstack/salt#50725

* btrfs: add option to not set subvolumes as default
  saltstack/salt#50801

* Add disk_set and disk_toggle functions, and update valid partition flags
  saltstack/salt#50834

* disk: support setting FAT size for format_
  saltstack/salt#51074

* parted: fix set_ valid flags comment.
  saltstack/salt#51704

* grains/core: ignore HOST_NOT_FOUND errno in fqdns()
  saltstack/salt#51706

* cmdmod: add 'binds' parameter in run_chroot
  saltstack/salt#51871

* mount: fix extra -t parameter
  saltstack/salt#51905

* lvm: be quiet when a pv, lv or vg is not expected
  saltstack/salt#51929

* linux_lvm: clean error in pvcreate and pvremove
  saltstack/salt#51954

* blockdev: hide blkid errors when are expected
  saltstack/salt#51956

* partially unify public functions signature for pkg and lowpkg
  saltstack/salt#51973

* extmods: add utils directories in sys.path
  saltstack/salt#52001
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants