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

feat: add CentOS 8 support #2034

Merged
merged 22 commits into from
Jan 25, 2022
Merged

Conversation

mdelapenya
Copy link
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 jlind23 and a team 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
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 <[email protected]>
Signed-off-by: Adam Stokes <[email protected]>
@adam-stokes
Copy link
Contributor

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

@mdelapenya
Copy link
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 <[email protected]>

* try with auto

Signed-off-by: Adam Stokes <[email protected]>

* remove user_data for now

Signed-off-by: Adam Stokes <[email protected]>

* chore: remove user data file

Co-authored-by: Adam Stokes <[email protected]>
(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 <[email protected]>

* try with auto

Signed-off-by: Adam Stokes <[email protected]>

* remove user_data for now

Signed-off-by: Adam Stokes <[email protected]>

* chore: remove user data file

Co-authored-by: Adam Stokes <[email protected]>
(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 <[email protected]>

* try with auto

Signed-off-by: Adam Stokes <[email protected]>

* remove user_data for now

Signed-off-by: Adam Stokes <[email protected]>

* chore: remove user data file

Co-authored-by: Adam Stokes <[email protected]>
(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 <[email protected]>

* try with auto

Signed-off-by: Adam Stokes <[email protected]>

* remove user_data for now

Signed-off-by: Adam Stokes <[email protected]>

* chore: remove user data file

Co-authored-by: Adam Stokes <[email protected]>
(cherry picked from commit aec2a7a)

Co-authored-by: Manuel de la Peña <[email protected]>
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 <[email protected]>

* try with auto

Signed-off-by: Adam Stokes <[email protected]>

* remove user_data for now

Signed-off-by: Adam Stokes <[email protected]>

* chore: remove user data file

Co-authored-by: Adam Stokes <[email protected]>
(cherry picked from commit aec2a7a)

Co-authored-by: Manuel de la Peña <[email protected]>
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 <[email protected]>

* try with auto

Signed-off-by: Adam Stokes <[email protected]>

* remove user_data for now

Signed-off-by: Adam Stokes <[email protected]>

* chore: remove user data file

Co-authored-by: Adam Stokes <[email protected]>
(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 <[email protected]>
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