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

[Bug]: CI docker images for build and test should be maintained per version #4233

Open
gaiksaya opened this issue Nov 22, 2023 · 0 comments
Open
Labels
bug Something isn't working

Comments

@gaiksaya
Copy link
Member

gaiksaya commented Nov 22, 2023

Describe the bug

The CI images used to build and test OpenSearch and OpenSearch-Dashboards are all over the place.

Example:

  1. Build-images: https://github.com/opensearch-project/opensearch-build/blob/main/jenkins/opensearch/distribution-build.jenkinsfile#L24-L26
  2. Test-images: https://github.com/opensearch-project/opensearch-build/blob/main/jenkins/opensearch/integ-test.jenkinsfile#L16-L21

These images are susceptible to changes depending on the the version and new changes coming in. Even though these docker images are source coded and versioned, there is no way to tell today which of those versions were used in a specific release unless someone goes and check the tag of that specific release.

To reproduce

Just look at the configurations in various files.

Expected behavior

These images needs to be a part of the manifest https://github.com/opensearch-project/opensearch-build/blob/main/manifests/2.11.1/opensearch-2.11.1-test.yml#L6-L7 or maintained separately per version.

The manifest schema can be modified for each distribution, something like:

ci:
  image:
    linux:
      tar:
        name: opensearchstaging/ci-runner:ci-runner-centos7-opensearch-build-v3
        args: -e JAVA_HOME=/opt/java/openjdk-17
      rpm:
        name: opensearchstaging/ci-runner:ci-runner-rockylinux8-opensearch-build-v4
        args: -e JAVA_HOME=/usr/bin/java/openjdk-17
      deb:
        name: opensearchstaging/ci-runner:ci-runner-ubuntu2004-opensearch-build-v2
        args: -e JAVA_HOME=/opt/java/openjdk-17
    windows:
      zip: 
        name: <name_nere>
        args: <args_here>
      msi: 
        name: <name_nere>
        args: <args_here>    
    macos:
      pkg:
        name: <name_nere>
        args: <args_here>   

Another solution is to maintain another yml file with all things related to CI images and args and pass that in current manifest as:

---
schema-version: '1.0'
build:
  name: OpenSearch
  version: 2.11.1
ci:
  file: ci_images.yml

Screenshots

If applicable, add screenshots to help explain your problem.

Host / Environment

No response

Additional context

No response

Relevant log output

No response

Acceptance Criteria

  • Use the CI images for build/test from the manifest instead of hardcoding it in the jenkinsfiles. With current setup the same jenkinsfiles are used for building multiple release versions.
  • Having all the CI Images as part of the manifest.
@gaiksaya gaiksaya added bug Something isn't working untriaged Issues that have not yet been triaged labels Nov 22, 2023
@jordarlu jordarlu added enhancement New Enhancement and removed untriaged Issues that have not yet been triaged bug Something isn't working labels Dec 5, 2023
@gaiksaya gaiksaya added bug Something isn't working and removed enhancement New Enhancement labels Jan 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Development

No branches or pull requests

2 participants