Skip to content

OCM-00000 | ci: Update openshift-ocm to v0.0.462 - #3420

Merged
openshift-merge-bot[bot] merged 1 commit into
masterfrom
konflux/mintmaker/master/openshift-ocm
Jul 27, 2026
Merged

OCM-00000 | ci: Update openshift-ocm to v0.0.462#3420
openshift-merge-bot[bot] merged 1 commit into
masterfrom
konflux/mintmaker/master/openshift-ocm

Conversation

@red-hat-konflux-kflux-prd-rh02

@red-hat-konflux-kflux-prd-rh02 red-hat-konflux-kflux-prd-rh02 Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
github.com/openshift-online/ocm-api-model/clientapi v0.0.461v0.0.462 age confidence

Release Notes

openshift-online/ocm-api-model (github.com/openshift-online/ocm-api-model/clientapi)

v0.0.462: Release 0.0.462

Compare Source

  • ROSAENG-61032 | task: ocm-api/sdk changes to support SpotMarketOptions for ROSA HCP

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

To execute skipped test pipelines write comment /ok-to-test.


Documentation

Find out how to configure dependency updates in MintMaker documentation or see all available configuration options in Renovate documentation.

Signed-off-by: red-hat-konflux-kflux-prd-rh02 <190377777+red-hat-konflux-kflux-prd-rh02[bot]@users.noreply.github.com>
@red-hat-konflux-kflux-prd-rh02 red-hat-konflux-kflux-prd-rh02 Bot added the ok-to-test Indicates a non-member PR verified by an org member that is safe to test. label Jul 24, 2026
@openshift-ci

openshift-ci Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Hi @red-hat-konflux-kflux-prd-rh02[bot]. Thanks for your PR.

I'm waiting for a openshift member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work.

Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@openshift-ci

openshift-ci Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

@red-hat-konflux-kflux-prd-rh02: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/govulncheck 470761b link false /test govulncheck
ci/prow/security 470761b link false /test security

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@amandahla

amandahla commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

@coderabbitai check if there is anything that we should change in the cli (or it could be improved) due
"ROSAENG-61032 | task: ocm-api/sdk changes to support SpotMarketOptions for ROSA HCP"
Check release notes.

@coderabbitai

coderabbitai Bot commented Jul 27, 2026

Copy link
Copy Markdown

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '=== PR diff and dependency references ==='
git diff -- go.mod go.sum || true
rg -n -i -C 3 'SpotMarketOptions|spot.market|spot[-_ ]instance|spot[-_ ]market|machine.?pool|MachinePool' \
  -g '*.go' -g 'go.mod' -g 'go.sum' .

echo
echo '=== Likely CLI structure ==='
fd -t f -e go . | rg -i '(machine.?pool|cluster|hcp|node.?pool|create|edit)' | head -250

echo
echo '=== v0.0.462 module cache references, if available ==='
moddir="$(go env GOPATH 2>/dev/null)/pkg/mod/github.com/openshift-online/ocm-api-model/clientapi@v0.0.462"
if [ -d "$moddir" ]; then
  rg -n -i -C 3 'SpotMarketOptions|spot.market|spot[-_ ]instance' "$moddir"
else
  echo "Module cache directory unavailable: $moddir"
fi

Length of output: 165463


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '=== Dependency update in this PR ==='
git diff --unified=80 "$(git merge-base HEAD origin/master 2>/dev/null || git merge-base HEAD master 2>/dev/null || true)" -- go.mod go.sum 2>/dev/null || \
git diff --unified=80 -- go.mod go.sum

echo
echo '=== Relevant implementation outlines ==='
ast-grep outline pkg/machinepool/machinepool.go --items all
ast-grep outline pkg/ocm/nodepools.go --items all
ast-grep outline pkg/options/machinepool/create.go --items all

echo
echo '=== HCP and classic request construction / spot option consumption ==='
rg -n -i -C 12 \
  'UseSpotInstances|SpotMaxPrice|SpotMarketOptions|AWSSpotMarketOptions|AWSNodePool|NewNodePool|CreateNodePool|CreateMachinePool' \
  pkg/machinepool pkg/ocm cmd/create/machinepool pkg/options/machinepool \
  -g '*.go'

echo
echo '=== Focused unit-test coverage ==='
rg -n -i -C 8 \
  'UseSpotInstances|SpotMaxPrice|SpotMarketOptions|AWSNodePool|NewNodePool|CreateNodePool' \
  pkg/machinepool cmd/create/machinepool pkg/options/machinepool \
  -g '*_test.go'

echo
echo '=== Upstream release metadata and source comparison ==='
gh api 'repos/openshift-online/ocm-api-model/compare/v0.0.461...v0.0.462' \
  --jq '.files[] | select(.filename|test("clusters_mgmt|node_pool|aws"; "i")) | {filename,status,patch}' \
  2>/dev/null || true

gh api 'repos/openshift-online/ocm-api-model/releases/tags/v0.0.462' \
  --jq '{tag_name,name,body}' 2>/dev/null || true

Length of output: 201986


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '=== HCP AWS node-pool builder and its caller ==='
rg -n -C 35 \
  'func createAwsNodePoolBuilder|createAwsNodePoolBuilder\(|func \(.*\) CreateNodePools|func \(.*\) CreateMachinePool|SpotMarketOptions' \
  pkg/machinepool/helper.go pkg/machinepool/machinepool.go

echo
echo '=== Classic spot request builder for semantic parity ==='
rg -n -C 30 \
  'UseSpotInstances|SpotMaxPrice|AWSSpotMarketOptions|SpotMarketOptions' \
  pkg/machinepool/helper.go pkg/machinepool/machinepool.go

echo
echo '=== HCP POST-body assertions and nearby successful-create setup ==='
sed -n '1715,1860p' pkg/machinepool/machinepool_test.go

echo
echo '=== Termination-handler / SQS queue support in current CLI ==='
rg -n -i -C 6 \
  'termination.?handler|termination_handler|queue.?url|queue_url|node.?termination|SQS' \
  -g '*.go' -g '*.md' -g '*.adoc' .

echo
echo '=== Direct dependency version lines ==='
rg -n -C 2 'openshift-online/ocm-api-model/clientapi|openshift-online/ocm-sdk-go' go.mod go.sum

Length of output: 42514


@amandahla Yes — this SDK update exposes a CLI gap that should be addressed.

v0.0.462 adds HCP support for:

aws_node_pool.spot_market_options.max_price

The CLI already accepts rosa create machinepool --use-spot-instances and --spot-max-price, but those values are currently only mapped for ROSA Classic machine pools. In pkg/machinepool/machinepool.go, classic creation uses AWSMachinePool.SpotMarketOptions(...); the HCP path builds an AWSNodePool at Line 994 without setting the new SpotMarketOptions field.

Recommended CLI change

Update the HCP node-pool creation path to:

  • Set AWSNodePool.SpotMarketOptions(cmv1.NewAwsNodePoolSpotMarketOptions()) when --use-spot-instances is enabled.
  • Set .MaxPrice(args.SpotMaxPrice) when the value is not on-demand.
  • Reuse the existing flag validation and interactive prompts so Classic and HCP retain the same CLI behavior.
  • Add a request-body test asserting:
    • aws_node_pool.spot_market_options is sent for HCP spot node pools.
    • aws_node_pool.spot_market_options.max_price is sent when explicitly specified.
    • max_price is omitted for the default on-demand price.

The helper in pkg/machinepool/helper.go Lines 182-205 is a natural place to add the new builder configuration or parameter.

The release also introduces AWS.termination_handler_queue_url for graceful Spot interruption handling. I would not add a CLI flag for that in this dependency-update PR: it is a cluster-level setting requiring a same-region, externally provisioned SQS queue, and there is no existing CLI option or product contract for it. That can be evaluated as a separate enhancement if HCP Spot interruption handling needs user-configurable queue support.

@amandahla

amandahla commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

/approve
/lgtm
@olucasfreitas fyi relates to ROSAENG-8272

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jul 27, 2026
@openshift-ci

openshift-ci Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: amandahla, red-hat-konflux-kflux-prd-rh02[bot]

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 27, 2026
@openshift-merge-bot
openshift-merge-bot Bot merged commit ed04b09 into master Jul 27, 2026
10 of 12 checks passed
@red-hat-konflux-kflux-prd-rh02
red-hat-konflux-kflux-prd-rh02 Bot deleted the konflux/mintmaker/master/openshift-ocm branch July 27, 2026 16:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. dco-signoff: yes lgtm Indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant