Skip to content

[CHEF-16732] Pipelines to build the client with habitat and deploy to chef/chef-hab docker repo #14707

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

Merged
merged 9 commits into from
Mar 27, 2025

Conversation

ashiqueps
Copy link
Collaborator

@ashiqueps ashiqueps commented Nov 20, 2024

Description

With Chef Infra Client 19, the omnibus builds are disabled and available through Habitat only. As a result, the pipelines that created the chef/chef docker image were commented out.

In this PR, I've updated the Dockerfile to build the chef-infra-client using the habitat and updated the pipelines to build it and deploy it to a different repo called chef/chef-hab.

The difference between the old chef/chef and chef/chef-hab is that chef/chef contains the omnibus version of the chef-infra-client 18 and the earlier versions where as the chef/chef-hab will contain the habitat version of chef-infra-client and newer versions.

Note:
Currently, the docker images are built for the amd64 arch only. The pipelines for arm64 have been commented out and will be added back once we have support for arm64 in chef habitat.

Related Issue

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Chore (non-breaking change that does not add functionality or fix an issue)

Checklist:

  • I have read the CONTRIBUTING document.
  • I have run the pre-merge tests locally and they pass.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • If Gemfile.lock has changed, I have used --conservative to do it and included the full output in the Description above.
  • All new and existing tests passed.
  • All commits have been signed-off for the Developer Certificate of Origin.

@ashiqueps ashiqueps requested review from a team as code owners November 20, 2024 17:00
@ashiqueps ashiqueps changed the title Updated the pipelines to build the chef-client with habitat and deplo… Pipelines to build the client with habitat and deploy to chef/chef-hab docker repo Nov 21, 2024
@sean-sype-simmons
Copy link
Contributor

Looking through this, I think most of this is valid, but we will need to also update the community and internal developers how this affects things like kitchen, and or habitat. Things to consider updating:

These tests run in Docker containers, so make sure to install Docker on your workstation. Once Docker is installed, all the gems needed to run these tests can be installed with Bundler.

- Full Test Kitchen integration tests that covers common Chef usage on various different Linux Distros. Those integration tests run using the kitchen-dokken plugin and the dokken-images Docker containers, which do their best to replicate a real Linux system. You can see exactly what we test here: https://github.com/chef/chef/blob/main/kitchen-tests/cookbooks/end_to_end/recipes/default.rb

For major new Linux or Windows distribution releases, you'll want to add these to the RubyDistros repository. You can test these builds locally in Docker and then set the builds to run on DockerHub. If you're not a member of the [RubyDistros DockerHub org](https://hub.docker.com/orgs/rubydistros) then ask #releng-support to add you to that. From there you can add a new repository matching the existing repository setups. Make sure you configure the automated builds to point to the correct Dockerfile path with each Ruby version as a tag. See https://hub.docker.com/repository/docker/rubydistros/opensuse-15 for an example of how we set this up.

- [Docker Container Platforms](#docker-container-platforms)

Do we also want to produce a windows docker image based on the same work?

Copy link
Contributor

@sean-sype-simmons sean-sype-simmons left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

taking sometime to verify all this and looking through configurations on expeditor.

@Stromweld
Copy link
Contributor

why are we switching docker hub org to chef-hab? Customers know that chef-ciient 19 is hab built package and having it in the same docker hub org chef/chef should be fine then. Just like any update they know major versions have changes in them like in this case 19 will be hab built version in the container.

@ashiqueps ashiqueps changed the title Pipelines to build the client with habitat and deploy to chef/chef-hab docker repo [CHEF-14239] Pipelines to build the client with habitat and deploy to chef/chef-hab docker repo Nov 22, 2024
@PrajaktaPurohit
Copy link
Contributor

@Stromweld Pushing the hab images in the same repo as chef/chef will break the test-kitchen drivers. They currently set the path based on the repo that the image is being pulled from.

@ashiqueps ashiqueps force-pushed the ashiqueps/chef-hab-docker-image-updates branch from a1063b1 to a0d3878 Compare November 26, 2024 16:36
@jaymzh jaymzh added the Status: Waiting on Contributor A pull request that has unresolved requested actions from the author. label Dec 3, 2024
@jaymzh
Copy link
Collaborator

jaymzh commented Dec 3, 2024

Sean mentioned this is still WIP.

@ashiqueps ashiqueps changed the title [CHEF-14239] Pipelines to build the client with habitat and deploy to chef/chef-hab docker repo [CHEF-16732] Pipelines to build the client with habitat and deploy to chef/chef-hab docker repo Jan 8, 2025
@jaymzh jaymzh marked this pull request as draft March 18, 2025 20:33
@johnmccrae
Copy link
Contributor

@ashiqueps do we still need this? Can I close this?

@rahulgoel1
Copy link
Collaborator

@johnmccrae yes this is needed. @ashiqueps can you pls rebase.?

@ashiqueps ashiqueps force-pushed the ashiqueps/chef-hab-docker-image-updates branch from a0d3878 to 506da97 Compare March 24, 2025 05:18
@ashiqueps ashiqueps marked this pull request as ready for review March 24, 2025 11:22
Copy link
Contributor

@sean-sype-simmons sean-sype-simmons left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm , thanks for handling this.

@tpowell-progress tpowell-progress added Focus: Community PR Review and removed Status: Waiting on Contributor A pull request that has unresolved requested actions from the author. labels Mar 25, 2025
@tpowell-progress tpowell-progress force-pushed the ashiqueps/chef-hab-docker-image-updates branch from 3dfb4af to 48f11ce Compare March 25, 2025 18:17
Copy link
Contributor

@tpowell-progress tpowell-progress left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note the arm64 disabling on the main page, when it should be restored, and the changes to path that has been made.

@rahulgoel1
Copy link
Collaborator

rahulgoel1 commented Mar 26, 2025

@ashiqueps Arm support will be have to added once habitat has support for arm released. Can you pls add that in description for the PR. Arm release for hab should be planned in coming months.

@ashiqueps ashiqueps force-pushed the ashiqueps/chef-hab-docker-image-updates branch from 2769145 to ed76326 Compare March 26, 2025 17:29
@ashiqueps
Copy link
Collaborator Author

@rahulgoel1, @tpowell-progress Updated the PR description and the code comments. Please review.

@tpowell-progress tpowell-progress self-requested a review March 27, 2025 13:11
…y to chef/chef-hab docker repo

Signed-off-by: Ashique Saidalavi <Ashique.saidalavi@progress.com>
Signed-off-by: Ashique Saidalavi <Ashique.saidalavi@progress.com>
Signed-off-by: Ashique Saidalavi <Ashique.saidalavi@progress.com>
Signed-off-by: Ashique Saidalavi <Ashique.saidalavi@progress.com>
Signed-off-by: Ashique Saidalavi <Ashique.saidalavi@progress.com>
…y to chef/chef-hab docker repo

Signed-off-by: Ashique Saidalavi <Ashique.saidalavi@progress.com>
Signed-off-by: Ashique Saidalavi <Ashique.saidalavi@progress.com>
Signed-off-by: Ashique Saidalavi <Ashique.saidalavi@progress.com>
Signed-off-by: Ashique Saidalavi <Ashique.saidalavi@progress.com>
@tpowell-progress tpowell-progress force-pushed the ashiqueps/chef-hab-docker-image-updates branch from ed76326 to bc85759 Compare March 27, 2025 13:11
@tpowell-progress tpowell-progress merged commit 5b7299f into main Mar 27, 2025
57 checks passed
@tpowell-progress tpowell-progress deleted the ashiqueps/chef-hab-docker-image-updates branch March 27, 2025 16:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants