From d54b2053fe7d6ada7d0b3b153c590a05be139e5d Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Wed, 20 Mar 2024 17:40:00 -0400 Subject: [PATCH] Allow current user to join os/osd group during deb/rpm test (#4548) Signed-off-by: Peter Zhu --- .../test.almalinux8.systemd-base.x64.arm64.ppc64le.dockerfile | 2 +- .../test.ubuntu2004.systemd-base.x64.arm64.ppc64le.dockerfile | 2 +- .../legacy/test.rockylinux8.systemd-base.x64.arm64.dockerfile | 2 +- src/test_workflow/integ_test/distribution_deb.py | 4 +++- src/test_workflow/integ_test/distribution_rpm.py | 4 +++- .../test_integ_workflow/integ_test/test_distribution_deb.py | 3 ++- .../test_integ_workflow/integ_test/test_distribution_rpm.py | 3 ++- 7 files changed, 13 insertions(+), 7 deletions(-) diff --git a/docker/ci/dockerfiles/current/test.almalinux8.systemd-base.x64.arm64.ppc64le.dockerfile b/docker/ci/dockerfiles/current/test.almalinux8.systemd-base.x64.arm64.ppc64le.dockerfile index 288535b6d4..72d31cc128 100644 --- a/docker/ci/dockerfiles/current/test.almalinux8.systemd-base.x64.arm64.ppc64le.dockerfile +++ b/docker/ci/dockerfiles/current/test.almalinux8.systemd-base.x64.arm64.ppc64le.dockerfile @@ -111,7 +111,7 @@ RUN dnf install -y sudo && \ usermod -a -G opensearch $CONTAINER_USER && \ usermod -a -G opensearch-dashboards $CONTAINER_USER && \ id && \ - echo "$CONTAINER_USER ALL=(root) NOPASSWD:`which systemctl`, `which env`, `which dnf`, `which yum`, `which rpm`, `which chmod`, `which kill`, `which curl`, /usr/share/opensearch-dashboards/bin/opensearch-dashboards-plugin" >> /etc/sudoers.d/$CONTAINER_USER + echo "$CONTAINER_USER ALL=(root) NOPASSWD:`which systemctl`, `which env`, `which usermod`, `which dnf`, `which yum`, `which rpm`, `which chmod`, `which kill`, `which curl`, /usr/share/opensearch-dashboards/bin/opensearch-dashboards-plugin" >> /etc/sudoers.d/$CONTAINER_USER # Copy from Stage0 COPY --from=linux_stage_0 --chown=$CONTAINER_USER:$CONTAINER_USER $CONTAINER_USER_HOME $CONTAINER_USER_HOME diff --git a/docker/ci/dockerfiles/current/test.ubuntu2004.systemd-base.x64.arm64.ppc64le.dockerfile b/docker/ci/dockerfiles/current/test.ubuntu2004.systemd-base.x64.arm64.ppc64le.dockerfile index 62d67698da..b87925ef71 100644 --- a/docker/ci/dockerfiles/current/test.ubuntu2004.systemd-base.x64.arm64.ppc64le.dockerfile +++ b/docker/ci/dockerfiles/current/test.ubuntu2004.systemd-base.x64.arm64.ppc64le.dockerfile @@ -129,7 +129,7 @@ RUN apt-get install -y sudo && \ usermod -a -G opensearch $CONTAINER_USER && \ usermod -a -G opensearch-dashboards $CONTAINER_USER && \ id && \ - echo "$CONTAINER_USER ALL=(root) NOPASSWD:`which systemctl`, `which env`, `which apt`, `which apt-get`, `which apt-key`, `which dpkg`, `which chmod`, `which kill`, `which curl`, `which tee`, /usr/share/opensearch-dashboards/bin/opensearch-dashboards-plugin" >> /etc/sudoers.d/$CONTAINER_USER + echo "$CONTAINER_USER ALL=(root) NOPASSWD:`which systemctl`, `which env`, `which usermod`, `which apt`, `which apt-get`, `which apt-key`, `which dpkg`, `which chmod`, `which kill`, `which curl`, `which tee`, /usr/share/opensearch-dashboards/bin/opensearch-dashboards-plugin" >> /etc/sudoers.d/$CONTAINER_USER # Copy from Stage0 COPY --from=linux_stage_0 --chown=$CONTAINER_USER:$CONTAINER_USER $CONTAINER_USER_HOME $CONTAINER_USER_HOME diff --git a/docker/ci/dockerfiles/legacy/test.rockylinux8.systemd-base.x64.arm64.dockerfile b/docker/ci/dockerfiles/legacy/test.rockylinux8.systemd-base.x64.arm64.dockerfile index 8160b8acf0..31c3d6aae9 100644 --- a/docker/ci/dockerfiles/legacy/test.rockylinux8.systemd-base.x64.arm64.dockerfile +++ b/docker/ci/dockerfiles/legacy/test.rockylinux8.systemd-base.x64.arm64.dockerfile @@ -111,7 +111,7 @@ RUN dnf install -y sudo && \ usermod -a -G opensearch $CONTAINER_USER && \ usermod -a -G opensearch-dashboards $CONTAINER_USER && \ id && \ - echo "$CONTAINER_USER ALL=(root) NOPASSWD:`which systemctl`, `which env`, `which dnf`, `which yum`, `which rpm`, `which chmod`, `which kill`, `which curl`, /usr/share/opensearch-dashboards/bin/opensearch-dashboards-plugin" >> /etc/sudoers.d/$CONTAINER_USER + echo "$CONTAINER_USER ALL=(root) NOPASSWD:`which systemctl`, `which env`, `which usermod`, `which dnf`, `which yum`, `which rpm`, `which chmod`, `which kill`, `which curl`, /usr/share/opensearch-dashboards/bin/opensearch-dashboards-plugin" >> /etc/sudoers.d/$CONTAINER_USER # Copy from Stage0 COPY --from=linux_stage_0 --chown=$CONTAINER_USER:$CONTAINER_USER $CONTAINER_USER_HOME $CONTAINER_USER_HOME diff --git a/src/test_workflow/integ_test/distribution_deb.py b/src/test_workflow/integ_test/distribution_deb.py index dbaf0dec24..0068eb8bbe 100644 --- a/src/test_workflow/integ_test/distribution_deb.py +++ b/src/test_workflow/integ_test/distribution_deb.py @@ -48,7 +48,9 @@ def install(self, bundle_name: str) -> None: '&&', f'sudo chmod 0666 {self.config_path}', '&&', - f'sudo chmod 0755 {os.path.dirname(self.config_path)} {self.log_dir}' + f'sudo chmod 0755 {os.path.dirname(self.config_path)} {self.log_dir}', + '&&', + f'sudo usermod -a -G {self.filename} `whoami`' ] ) subprocess.check_call(deb_install_cmd, cwd=self.work_dir, shell=True) diff --git a/src/test_workflow/integ_test/distribution_rpm.py b/src/test_workflow/integ_test/distribution_rpm.py index 9b8a6b4bc9..49123451c7 100644 --- a/src/test_workflow/integ_test/distribution_rpm.py +++ b/src/test_workflow/integ_test/distribution_rpm.py @@ -50,7 +50,9 @@ def install(self, bundle_name: str) -> None: '&&', f'sudo chmod 0666 {self.config_path}', '&&', - f'sudo chmod 0755 {os.path.dirname(self.config_path)} {self.log_dir}' + f'sudo chmod 0755 {os.path.dirname(self.config_path)} {self.log_dir}', + '&&', + f'sudo usermod -a -G {self.filename} `whoami`' ] ) subprocess.check_call(rpm_install_cmd, cwd=self.work_dir, shell=True) diff --git a/tests/tests_test_workflow/test_integ_workflow/integ_test/test_distribution_deb.py b/tests/tests_test_workflow/test_integ_workflow/integ_test/test_distribution_deb.py index ffced7adbe..ad59c10cda 100644 --- a/tests/tests_test_workflow/test_integ_workflow/integ_test/test_distribution_deb.py +++ b/tests/tests_test_workflow/test_integ_workflow/integ_test/test_distribution_deb.py @@ -48,7 +48,8 @@ def test_install(self, check_call_mock: Mock) -> None: "sudo env OPENSEARCH_INITIAL_ADMIN_PASSWORD=myStrongPassword123! " "dpkg --install opensearch.deb && " f"sudo chmod 0666 {self.distribution_deb.config_path} && " - f"sudo chmod 0755 {os.path.dirname(self.distribution_deb.config_path)} {self.distribution_deb.log_dir}" + f"sudo chmod 0755 {os.path.dirname(self.distribution_deb.config_path)} {self.distribution_deb.log_dir} && " + f"sudo usermod -a -G opensearch `whoami`" ), args_list[0][0][0], ) diff --git a/tests/tests_test_workflow/test_integ_workflow/integ_test/test_distribution_rpm.py b/tests/tests_test_workflow/test_integ_workflow/integ_test/test_distribution_rpm.py index f60fed1034..d851b3773b 100644 --- a/tests/tests_test_workflow/test_integ_workflow/integ_test/test_distribution_rpm.py +++ b/tests/tests_test_workflow/test_integ_workflow/integ_test/test_distribution_rpm.py @@ -48,7 +48,8 @@ def test_install(self, check_call_mock: Mock) -> None: "sudo env OPENSEARCH_INITIAL_ADMIN_PASSWORD=myStrongPassword123! " "yum install -y opensearch.rpm && " f"sudo chmod 0666 {self.distribution_rpm.config_path} && " - f"sudo chmod 0755 {os.path.dirname(self.distribution_rpm.config_path)} {self.distribution_rpm.log_dir}" + f"sudo chmod 0755 {os.path.dirname(self.distribution_rpm.config_path)} {self.distribution_rpm.log_dir} && " + f"sudo usermod -a -G opensearch `whoami`" ), args_list[0][0][0], )