Skip to content

Adding knife-vcenter to the knife hab pkg - #198

Open
ashiqueps wants to merge 3 commits into
mainfrom
CHEF-32143-integrate-knife-vcenter
Open

Adding knife-vcenter to the knife hab pkg#198
ashiqueps wants to merge 3 commits into
mainfrom
CHEF-32143-integrate-knife-vcenter

Conversation

@ashiqueps

Copy link
Copy Markdown
Contributor

Description

Adding the knife-vcenter gem to the knife habitat package with tests checking the loadability

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 and jaymzh as code owners August 18, 2026 13:54
Signed-off-by: Ashique Saidalavi <ashique.saidalavi@progress.com>
@ashiqueps
ashiqueps force-pushed the CHEF-32143-integrate-knife-vcenter branch from 69b35d2 to 72aba4d Compare August 18, 2026 13:55
ashiqueps and others added 2 commits August 18, 2026 19:35
The verify pipeline installs the full Gemfile, including the 'habitat'
group (knife-ec2, knife-google, knife-windows, knife-vcenter), before
running 'rake spec'. Those gems are only needed for Habitat packaging,
which is validated by a separate pipeline that never invokes this
script; 'rake spec' does not exercise them.

Installing knife-vcenter pulls in rbvmomi -> nokogiri, and nokogiri's
precompiled native gem requires a newer glibc than Rocky Linux 8 / RHEL
8 (glibc 2.28) provides, causing:

  /lib64/libm.so.6: version `GLIBC_2.29' not found (required by
  .../nokogiri.so)

Excluding the 'habitat' bundler group for spec runs avoids installing
nokogiri altogether, fixing the failure without needing to compile
native extensions from source.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Ashique Saidalavi <ashique.saidalavi@progress.com>
@ashiqueps
ashiqueps requested a review from a team as a code owner August 18, 2026 14:43
@nikhil2611
nikhil2611 requested a lite review from Copilot August 20, 2026 06:51

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR updates Knife’s Habitat packaging inputs to include the knife-vcenter plugin and extends the Habitat package tests to assert the plugin is loadable via the packaged knife executable. It also adjusts the Linux CI test install step to avoid pulling Habitat-only plugin dependencies during rake spec runs.

Changes:

  • Add knife-vcenter to the :habitat Bundler group so it is included in Habitat builds.
  • Extend Habitat test scripts (bash + PowerShell) to verify knife vcenter is available in the built package.
  • Skip installing the :habitat Bundler group in .expeditor/run_linux_tests.sh to avoid nokogiri/glibc issues on Rocky/RHEL 8 CI images.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
habitat/tests/test.sh Adds a vcenter plugin availability check to the Linux Habitat package test.
habitat/tests/test.ps1 Adds a vcenter plugin availability check to the Windows Habitat package test.
Gemfile.lock Locks knife-vcenter and its dependencies for packaging, but needs a version alignment fix for the local knife path gem entry.
Gemfile Adds knife-vcenter to the :habitat group for Habitat packaging.
.expeditor/run_linux_tests.sh Excludes the :habitat group during CI spec/style installs to prevent platform-specific native gem failures.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread Gemfile
gem "knife-ec2", "~> 2.2.0"
gem "knife-google", "~> 5.0.15"
gem "knife-windows", "~> 5.0.7"
gem "knife-vcenter", "~>5.0", ">= 5.1.1"
# Installing them here unnecessarily pulls in knife-vcenter's rbvmomi ->
# nokogiri dependency chain, whose precompiled native gem requires a newer
# glibc than Rocky Linux 8 / RHEL 8 (glibc 2.28) ships, causing:
# GLIBC_2.29' not found (required by .../nokogiri.so)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants