Skip to content
This repository was archived by the owner on Sep 17, 2024. It is now read-only.

feat: add CentOS 8 support#2034

Merged
mdelapenya merged 22 commits intoelastic:mainfrom
mdelapenya:expand-os-coverage
Jan 25, 2022
Merged

feat: add CentOS 8 support#2034
mdelapenya merged 22 commits intoelastic:mainfrom
mdelapenya:expand-os-coverage

Conversation

@mdelapenya
Copy link
Copy Markdown
Contributor

  • chore: rename platforms to include OS
  • fix: include sles15 in Beats builds
  • chore: expand coverage for SLES15
  • chore: run k8s-autodiscover on Debian VMs
  • chore: run helm test suite on Debian VMs
  • chore: remove unused platforms
  • feat: add centos8 support, running fleet test suite

What does this PR do?

This PR adds CentOS 8 as a backend to run the tests, using the AMIs provided by the official Centos website: https://www.centos.org/download/aws-images/

We have also refactored the platforms YAML file to identify the platform with the OS name: i.e. fleet_amd64 > Debian_amd64, also removing duplicated entries.

Finally, we are expanding the feature coverage for SLES15, running all fleet test suites on those boxes.

Why is it important?

Expand OS/Arch coverage

Checklist

  • My code follows the style guidelines of this project
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have made corresponding change to the default configuration files
  • I have added tests that prove my fix is effective or that my feature works
  • I have run the Unit tests (make unit-test), and they are passing locally
  • I have run the End-2-End tests for the suite I'm working on, and they are passing locally
  • I have noticed new Go dependencies (run make notice in the proper directory)

Related issues

@mdelapenya mdelapenya added backport-v7.16.0 Automated backport with mergify backport-v7.17.0 Automated backport with mergify backport-v8.0.0 Automated backport with mergify labels Jan 20, 2022
@mdelapenya mdelapenya self-assigned this Jan 20, 2022
@mdelapenya mdelapenya requested review from a team and jlind23 January 20, 2022 10:35
@mdelapenya mdelapenya added area:ci Anything related to the CI Team:Automation Label for the Observability productivity team labels Jan 20, 2022
@elasticmachine
Copy link
Copy Markdown
Contributor

elasticmachine commented Jan 20, 2022

🐛 Flaky test report

❕ There are test failures but not known flaky tests.

Expand to view the summary

Genuine test errors 64

💔 There are test failures but not known flaky tests, most likely a genuine test failure.

  • Name: Initializing / End-To-End Tests / debian_amd64_apm-server / [empty] – TEST-x86_64-helm-e127680e-2022-01-25-15:12:34.xml
  • Name: Initializing / End-To-End Tests / debian_amd64_backend_processes / Deploying the agent – Backend Processes
  • Name: Initializing / End-To-End Tests / debian_amd64_backend_processes / Stopping the agent stops backend processes – Backend Processes
  • Name: Initializing / End-To-End Tests / debian_amd64_backend_processes / Restarting the installed agent – Backend Processes
  • Name: Initializing / End-To-End Tests / debian_amd64_backend_processes / Un-enrolling the agent stops backend processes – Backend Processes
  • Name: Initializing / End-To-End Tests / debian_amd64_backend_processes / Re-enrolling the agent starts the elastic-agent process – Backend Processes
  • Name: Initializing / End-To-End Tests / debian_amd64_backend_processes / Un-installing the installed agent – Backend Processes
  • Name: Initializing / End-To-End Tests / debian_amd64_backend_processes / Un-enrolling Elastic Agent stops Elastic Endpoint – Backend Processes
  • Name: Initializing / End-To-End Tests / debian_amd64_backend_processes / Removing Endpoint from Agent policy stops the connected Endpoint – Backend Processes
  • Name: Initializing / End-To-End Tests / sles15_backend_processes / Deploying the agent – Backend Processes
  • Name: Initializing / End-To-End Tests / sles15_backend_processes / Stopping the agent stops backend processes – Backend Processes
  • Name: Initializing / End-To-End Tests / sles15_backend_processes / Restarting the installed agent – Backend Processes
  • Name: Initializing / End-To-End Tests / sles15_backend_processes / Un-enrolling the agent stops backend processes – Backend Processes
  • Name: Initializing / End-To-End Tests / sles15_backend_processes / Re-enrolling the agent starts the elastic-agent process – Backend Processes
  • Name: Initializing / End-To-End Tests / sles15_backend_processes / Un-installing the installed agent – Backend Processes
  • Name: Initializing / End-To-End Tests / sles15_backend_processes / Un-enrolling Elastic Agent stops Elastic Endpoint – Backend Processes
  • Name: Initializing / End-To-End Tests / sles15_backend_processes / Removing Endpoint from Agent policy stops the connected Endpoint – Backend Processes
  • Name: Initializing / End-To-End Tests / debian_arm64_backend_processes / Deploying the agent – Backend Processes
  • Name: Initializing / End-To-End Tests / debian_arm64_backend_processes / Stopping the agent stops backend processes – Backend Processes
  • Name: Initializing / End-To-End Tests / debian_arm64_backend_processes / Restarting the installed agent – Backend Processes
  • Name: Initializing / End-To-End Tests / debian_arm64_backend_processes / Un-enrolling the agent stops backend processes – Backend Processes
  • Name: Initializing / End-To-End Tests / debian_arm64_backend_processes / Re-enrolling the agent starts the elastic-agent process – Backend Processes
  • Name: Initializing / End-To-End Tests / debian_arm64_backend_processes / Un-installing the installed agent – Backend Processes
  • Name: Initializing / End-To-End Tests / debian_arm64_backend_processes / Un-enrolling Elastic Agent stops Elastic Endpoint – Backend Processes
  • Name: Initializing / End-To-End Tests / debian_arm64_backend_processes / Removing Endpoint from Agent policy stops the connected Endpoint – Backend Processes
  • Name: Initializing / End-To-End Tests / debian_amd64_fleet_mode_agent / Deploying the agent – Fleet Mode Agent
  • Name: Initializing / End-To-End Tests / debian_amd64_fleet_mode_agent / Restarting the installed agent – Fleet Mode Agent
  • Name: Initializing / End-To-End Tests / debian_amd64_fleet_mode_agent / Un-enrolling the agent deactivates the agent – Fleet Mode Agent
  • Name: Initializing / End-To-End Tests / debian_amd64_fleet_mode_agent / Re-enrolling the agent activates the agent in Fleet – Fleet Mode Agent
  • Name: Initializing / End-To-End Tests / debian_amd64_fleet_mode_agent / Revoking the enrollment token for the agent – Fleet Mode Agent
  • Name: Initializing / End-To-End Tests / debian_amd64_fleet_mode_agent / Un-installing the installed agent – Fleet Mode Agent
  • Name: Initializing / End-To-End Tests / centos8_amd64_fleet_mode_agent / Deploying the agent – Fleet Mode Agent
  • Name: Initializing / End-To-End Tests / centos8_amd64_fleet_mode_agent / Restarting the installed agent – Fleet Mode Agent
  • Name: Initializing / End-To-End Tests / centos8_amd64_fleet_mode_agent / Un-enrolling the agent deactivates the agent – Fleet Mode Agent
  • Name: Initializing / End-To-End Tests / centos8_amd64_fleet_mode_agent / Re-enrolling the agent activates the agent in Fleet – Fleet Mode Agent
  • Name: Initializing / End-To-End Tests / centos8_amd64_fleet_mode_agent / Revoking the enrollment token for the agent – Fleet Mode Agent
  • Name: Initializing / End-To-End Tests / centos8_amd64_fleet_mode_agent / Un-installing the installed agent – Fleet Mode Agent
  • Name: Initializing / End-To-End Tests / sles15_fleet_mode_agent / Deploying the agent – Fleet Mode Agent
  • Name: Initializing / End-To-End Tests / sles15_fleet_mode_agent / Restarting the installed agent – Fleet Mode Agent
  • Name: Initializing / End-To-End Tests / sles15_fleet_mode_agent / Un-enrolling the agent deactivates the agent – Fleet Mode Agent
  • Name: Initializing / End-To-End Tests / sles15_fleet_mode_agent / Re-enrolling the agent activates the agent in Fleet – Fleet Mode Agent
  • Name: Initializing / End-To-End Tests / sles15_fleet_mode_agent / Revoking the enrollment token for the agent – Fleet Mode Agent
  • Name: Initializing / End-To-End Tests / sles15_fleet_mode_agent / Un-installing the installed agent – Fleet Mode Agent
  • Name: Initializing / End-To-End Tests / debian_arm64_fleet_mode_agent / Deploying the agent – Fleet Mode Agent
  • Name: Initializing / End-To-End Tests / debian_arm64_fleet_mode_agent / Restarting the installed agent – Fleet Mode Agent
  • Name: Initializing / End-To-End Tests / debian_arm64_fleet_mode_agent / Un-enrolling the agent deactivates the agent – Fleet Mode Agent
  • Name: Initializing / End-To-End Tests / debian_arm64_fleet_mode_agent / Re-enrolling the agent activates the agent in Fleet – Fleet Mode Agent
  • Name: Initializing / End-To-End Tests / debian_arm64_fleet_mode_agent / Revoking the enrollment token for the agent – Fleet Mode Agent
  • Name: Initializing / End-To-End Tests / debian_arm64_fleet_mode_agent / Un-installing the installed agent – Fleet Mode Agent
  • Name: Initializing / End-To-End Tests / debian_amd64_linux_integration / Adding the Linux Integration to an Agent ... – Linux Integration
  • Name: Initializing / End-To-End Tests / debian_arm64_linux_integration / Adding the Linux Integration to an Agent ... – Linux Integration
  • Name: Initializing / End-To-End Tests / sles15_linux_integration / Adding the Linux Integration to an Agent ... – Linux Integration
  • Name: Initializing / End-To-End Tests / debian_amd64_running_on_beats / Deploying the Elastic-Agent with enroll and then run on top of filebeat #1 – Running on top of Beats
  • Name: Initializing / End-To-End Tests / debian_amd64_running_on_beats / Deploying the Elastic-Agent with enroll and then run on top of metricbeat #1 – Running on top of Beats
  • Name: Initializing / End-To-End Tests / debian_amd64_running_on_beats / Deploying the Elastic-Agent with enroll and then run on top of filebeat #2 – Running on top of Beats
  • Name: Initializing / End-To-End Tests / debian_amd64_running_on_beats / Deploying the Elastic-Agent with enroll and then run on top of metricbeat #2 – Running on top of Beats
  • Name: Initializing / End-To-End Tests / debian_arm64_running_on_beats / Deploying the Elastic-Agent with enroll and then run on top of filebeat #1 – Running on top of Beats
  • Name: Initializing / End-To-End Tests / debian_arm64_running_on_beats / Deploying the Elastic-Agent with enroll and then run on top of metricbeat #1 – Running on top of Beats
  • Name: Initializing / End-To-End Tests / debian_arm64_running_on_beats / Deploying the Elastic-Agent with enroll and then run on top of filebeat #2 – Running on top of Beats
  • Name: Initializing / End-To-End Tests / debian_arm64_running_on_beats / Deploying the Elastic-Agent with enroll and then run on top of metricbeat #2 – Running on top of Beats
  • Name: Initializing / End-To-End Tests / sles15_running_on_beats / Deploying the Elastic-Agent with enroll and then run on top of filebeat #1 – Running on top of Beats
  • Name: Initializing / End-To-End Tests / sles15_running_on_beats / Deploying the Elastic-Agent with enroll and then run on top of metricbeat #1 – Running on top of Beats
  • Name: Initializing / End-To-End Tests / sles15_running_on_beats / Deploying the Elastic-Agent with enroll and then run on top of filebeat #2 – Running on top of Beats
  • Name: Initializing / End-To-End Tests / sles15_running_on_beats / Deploying the Elastic-Agent with enroll and then run on top of metricbeat #2 – Running on top of Beats

🤖 GitHub comments

To re-run your PR in the CI, just comment with:

  • /test : Re-trigger the build.

Signed-off-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>
Signed-off-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>
Signed-off-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>
@adam-stokes
Copy link
Copy Markdown
Contributor

CentOS support is there now, we just need to resolve the artifact version missing

@mdelapenya
Copy link
Copy Markdown
Contributor Author

CentOS support is there now, we just need to resolve the artifact version missing

We can merge and resolve the bump in another PR

@mdelapenya mdelapenya merged commit aec2a7a into elastic:main Jan 25, 2022
mergify bot pushed a commit that referenced this pull request Jan 25, 2022
* chore: rename platforms to include OS

* fix: include sles15 in Beats builds

* chore: expand coverage for SLES15

* chore: run k8s-autodiscover on Debian VMs

* chore: run helm test suite on Debian VMs

* chore: remove unused platforms

* feat: add centos8 support, running fleet test suite

* fix: install python for CentOS

It comes without Python installed

* fix: pass suite to Ansible context

* fix: use ansible os family

* fix: typo

* chore: try with platform

* Revert "chore: try with platform"

This reverts commit c432675.

* chore: set user_data for CentOS

user_data us used to execute arbitrary code after a VM is provisioned on AWS

* fix: use Python interpreter for Ansible in CentOS

* Revert "fix: use Python interpreter for Ansible in CentOS"

This reverts commit 90adcdc.

* Set proper python interpreter based on OS

Signed-off-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>

* try with auto

Signed-off-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>

* remove user_data for now

Signed-off-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>

* chore: remove user data file

Co-authored-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>
(cherry picked from commit aec2a7a)
mergify bot pushed a commit that referenced this pull request Jan 25, 2022
* chore: rename platforms to include OS

* fix: include sles15 in Beats builds

* chore: expand coverage for SLES15

* chore: run k8s-autodiscover on Debian VMs

* chore: run helm test suite on Debian VMs

* chore: remove unused platforms

* feat: add centos8 support, running fleet test suite

* fix: install python for CentOS

It comes without Python installed

* fix: pass suite to Ansible context

* fix: use ansible os family

* fix: typo

* chore: try with platform

* Revert "chore: try with platform"

This reverts commit c432675.

* chore: set user_data for CentOS

user_data us used to execute arbitrary code after a VM is provisioned on AWS

* fix: use Python interpreter for Ansible in CentOS

* Revert "fix: use Python interpreter for Ansible in CentOS"

This reverts commit 90adcdc.

* Set proper python interpreter based on OS

Signed-off-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>

* try with auto

Signed-off-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>

* remove user_data for now

Signed-off-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>

* chore: remove user data file

Co-authored-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>
(cherry picked from commit aec2a7a)
mergify bot pushed a commit that referenced this pull request Jan 25, 2022
* chore: rename platforms to include OS

* fix: include sles15 in Beats builds

* chore: expand coverage for SLES15

* chore: run k8s-autodiscover on Debian VMs

* chore: run helm test suite on Debian VMs

* chore: remove unused platforms

* feat: add centos8 support, running fleet test suite

* fix: install python for CentOS

It comes without Python installed

* fix: pass suite to Ansible context

* fix: use ansible os family

* fix: typo

* chore: try with platform

* Revert "chore: try with platform"

This reverts commit c432675.

* chore: set user_data for CentOS

user_data us used to execute arbitrary code after a VM is provisioned on AWS

* fix: use Python interpreter for Ansible in CentOS

* Revert "fix: use Python interpreter for Ansible in CentOS"

This reverts commit 90adcdc.

* Set proper python interpreter based on OS

Signed-off-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>

* try with auto

Signed-off-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>

* remove user_data for now

Signed-off-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>

* chore: remove user data file

Co-authored-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>
(cherry picked from commit aec2a7a)

# Conflicts:
#	.ci/.e2e-tests-for-elastic-agent.yaml
#	.ci/.e2e-tests.yaml
#	.ci/Jenkinsfile
#	.ci/ansible/playbook.yml
#	.ci/ansible/tasks/setup_test_script.yml
mdelapenya added a commit that referenced this pull request Jan 26, 2022
* chore: rename platforms to include OS

* fix: include sles15 in Beats builds

* chore: expand coverage for SLES15

* chore: run k8s-autodiscover on Debian VMs

* chore: run helm test suite on Debian VMs

* chore: remove unused platforms

* feat: add centos8 support, running fleet test suite

* fix: install python for CentOS

It comes without Python installed

* fix: pass suite to Ansible context

* fix: use ansible os family

* fix: typo

* chore: try with platform

* Revert "chore: try with platform"

This reverts commit c432675.

* chore: set user_data for CentOS

user_data us used to execute arbitrary code after a VM is provisioned on AWS

* fix: use Python interpreter for Ansible in CentOS

* Revert "fix: use Python interpreter for Ansible in CentOS"

This reverts commit 90adcdc.

* Set proper python interpreter based on OS

Signed-off-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>

* try with auto

Signed-off-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>

* remove user_data for now

Signed-off-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>

* chore: remove user data file

Co-authored-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>
(cherry picked from commit aec2a7a)

Co-authored-by: Manuel de la Peña <mdelapenya@gmail.com>
mdelapenya added a commit that referenced this pull request Jan 26, 2022
* chore: rename platforms to include OS

* fix: include sles15 in Beats builds

* chore: expand coverage for SLES15

* chore: run k8s-autodiscover on Debian VMs

* chore: run helm test suite on Debian VMs

* chore: remove unused platforms

* feat: add centos8 support, running fleet test suite

* fix: install python for CentOS

It comes without Python installed

* fix: pass suite to Ansible context

* fix: use ansible os family

* fix: typo

* chore: try with platform

* Revert "chore: try with platform"

This reverts commit c432675.

* chore: set user_data for CentOS

user_data us used to execute arbitrary code after a VM is provisioned on AWS

* fix: use Python interpreter for Ansible in CentOS

* Revert "fix: use Python interpreter for Ansible in CentOS"

This reverts commit 90adcdc.

* Set proper python interpreter based on OS

Signed-off-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>

* try with auto

Signed-off-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>

* remove user_data for now

Signed-off-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>

* chore: remove user data file

Co-authored-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>
(cherry picked from commit aec2a7a)

Co-authored-by: Manuel de la Peña <mdelapenya@gmail.com>
mdelapenya added a commit that referenced this pull request Jan 26, 2022
* feat: add CentOS 8 support (#2034)

* chore: rename platforms to include OS

* fix: include sles15 in Beats builds

* chore: expand coverage for SLES15

* chore: run k8s-autodiscover on Debian VMs

* chore: run helm test suite on Debian VMs

* chore: remove unused platforms

* feat: add centos8 support, running fleet test suite

* fix: install python for CentOS

It comes without Python installed

* fix: pass suite to Ansible context

* fix: use ansible os family

* fix: typo

* chore: try with platform

* Revert "chore: try with platform"

This reverts commit c432675.

* chore: set user_data for CentOS

user_data us used to execute arbitrary code after a VM is provisioned on AWS

* fix: use Python interpreter for Ansible in CentOS

* Revert "fix: use Python interpreter for Ansible in CentOS"

This reverts commit 90adcdc.

* Set proper python interpreter based on OS

Signed-off-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>

* try with auto

Signed-off-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>

* remove user_data for now

Signed-off-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>

* chore: remove user data file

Co-authored-by: Adam Stokes <51892+adam-stokes@users.noreply.github.com>
(cherry picked from commit aec2a7a)

# Conflicts:
#	.ci/.e2e-tests-for-elastic-agent.yaml
#	.ci/.e2e-tests.yaml
#	.ci/Jenkinsfile
#	.ci/ansible/playbook.yml
#	.ci/ansible/tasks/setup_test_script.yml

* fix: resolve conflicts

Co-authored-by: Manuel de la Peña <mdelapenya@gmail.com>
mdelapenya added a commit to mdelapenya/e2e-testing that referenced this pull request Jan 26, 2022
* main: (45 commits)
  feat: add CentOS 8 support (elastic#2034)
  fix: set default region for AWS cli (elastic#2053)
  chore: use Ansible's built-in replace instead of sed (elastic#2048)
  chore: split stack configuration and start into two tasks (elastic#2044)
  feat: enable SSH access to users for debugging cloud instances (elastic#2001)
  fix: use the right branch for 7.17 backports (elastic#2025)
  SLES15 enablement (elastic#2007)
  chore: bump stale agent for main (elastic#2014)
  Update `fetchBeatsBinary` to be reused in elastic-agent-poc (elastic#1984)
  chore: add resiliency when provisioning the stack (elastic#1990)
  chore: bump elastic-package to v0.32.1 (elastic#1959)
  feat: export Fetch&Download methods in the /pkg directory (elastic#1943)
  bump stack version 8.1.0-dbc834fd (elastic#1948)
  bump stack version 8.1.0-76902d39 (elastic#1946)
  chore: retire 7.15 adding 7.17 (elastic#1938)
  ci: use withAPMEnv (elastic#1917)
  Update main branch (elastic#1928)
  bump stack version 8.1.0-befff95a (elastic#1929)
  chore: properly evaluate how tests are skipped on CI when checking modified files (elastic#1924)
  bump stack version 8.1.0-60bffc32 (elastic#1921)
  ...
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area:ci Anything related to the CI backport-v7.16.0 Automated backport with mergify backport-v7.17.0 Automated backport with mergify backport-v8.0.0 Automated backport with mergify Team:Automation Label for the Observability productivity team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add CentOS 8 support

4 participants