DAOS-11695 test: Add test users to CI env
Skip-test: true Skip-build: true Doc-only: true Test-tag: test_harness_pre_launch_users
Required-githooks: true
Signed-off-by: Dalton Bohning [email protected]
Before requesting gatekeeper:
- [ ] Two review approvals and any prior change requests have been resolved.
- [ ] Testing is complete and all tests passed or there is a reason documented in the PR why it should be force landed and forced-landing tag is set.
- [ ] Commit messages follows the guidelines outlined here.
- [ ] Any tests skipped by the ticket being addressed have been run and passed in the PR.
Gatekeeper:
- [ ] You are the appropriate gatekeeper to be landing the patch.
- [ ] The PR has 2 reviews by people familiar with the code.
- [ ] Any appropriate watchers have had a chance to review the PR.
- [ ] Review comments are sufficiently resolved, particularly by prior reviewers that requested changes.
- [ ] Githooks were used. If not, there is a sufficient reason to move forward. Check copyrights if githooks were not used.
- [ ] Checkpatch issues are resolved. Pay particular attention to ones that will show up on future PRs.
- [ ] All builds have passed. Check non-required builds to ensure they don't indicate any problem such as a compiler warning on extraneous platforms.
- [ ] No new NLT or valgrind warnings. Check the classic view. This step should only matter if the build requires force landing.
- [ ] Ensure sufficent testing is done. Check feature pragmas and test tags. Check that tests skipped for the ticket are run and now pass with the changes.
- [ ] Quick-build or Quick-functional is not used.
- [ ] Pay attention to PRs that may affect compatibility between versions and ensure it has been addressed.
- [ ] Check the target branch. If it is master branch, should the PR go to a feature branch? If it is a release branch, does it have merge approval in the JIRA ticket.
- [ ] Check the commit message when landing. Check the standard here. Edit it to create a single commit. If necessary, ask submitter for a new summary.
Bug-tracker data: Ticket title is 'dfuse multi-user testing: Add multiple users to CI environment' Status is 'In Review' Job should run at elevated priority (3) https://daosio.atlassian.net/browse/DAOS-11695
@brianjmurrell @phender Before running this on CI nodes, I'd like to sanity check the commands. These are the commands ultimately ran on each test node:
# Create two groups
groupadd daos_test_groupx -r
groupadd daos_test_groupy -r
# Delete users if pre-existing
if $(id -u daos_test_userx1 &> /dev/null); then userdel -f -r daos_test_userx1; fi
if $(id -u daos_test_userx2 &> /dev/null); then userdel -f -r daos_test_userx2; fi
if $(id -u daos_test_usery1 &> /dev/null); then userdel -f -r daos_test_usery1; fi
# Create users
useradd -m -g daos_test_groupx daos_test_userx1
useradd -m -g daos_test_groupx daos_test_userx2
useradd -m -g daos_test_groupy daos_test_usery1
should the user/group data be in main.sh or would it be better in user_setup.py itself or a config file. How does this play with running the tests locally or under ansible.
@ashleypittman I'm not sure. In general, I think our infrastructure is lacking a clear way to handle this.
I like the idea of a config file, but that's a different direction than the current script interface, so probably better to pick one or the other. For running locally, someone could run the script with the same args as main.sh. But obviously that's error prone and annoying to figure out.
Ideally, it would be nice if main.sh, or some version of it, could be ran just about anywhere
Test stage checkpatch completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10521/4/execution/node/138/log
Test stage Functional on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10521/8/execution/node/633/log
Test stage checkpatch completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10521/16/execution/node/144/log
Work is complete, but this PR conflicts with #10621 - waiting for it to land first
Unit tests were skipped since this PR only touches functional tests. Only VM tests were ran because the changes are verified by the new harness test: https://build.hpdd.intel.com/blue/organizations/jenkins/daos-stack%2Fdaos/detail/PR-10521/29/tests
@daos-stack/daos-gatekeeper Please use the following commit message on landing:
DAOS-11695 test: Add test users to CI env
- Add a --user_create option to launch.py to trigger setting up user accounts from the test yaml
- launch.py looks for client_users in the yaml
- Add a harness test to verify this functionality, and verify running commands remotely as the created users