Skip to content

MGMT-21025: installing Two Node OpenShift with Arbiter (TNA)#3170

Merged
openshift-merge-bot[bot] merged 2 commits intoopenshift-assisted:masterfrom
jgyselov:cim_tna
Oct 8, 2025
Merged

MGMT-21025: installing Two Node OpenShift with Arbiter (TNA)#3170
openshift-merge-bot[bot] merged 2 commits intoopenshift-assisted:masterfrom
jgyselov:cim_tna

Conversation

@jgyselov
Copy link
Contributor

@jgyselov jgyselov commented Sep 17, 2025

https://issues.redhat.com/browse/MGMT-21025

Console PR: stolostron/console#5012

  • Removed unused code for disk encryption in CIM
  • Added TNA option on the cluster details page (conditions from here)
  • Added "arbiter" option in the host table role column
image image

Summary by CodeRabbit

  • New Features

    • Added “2 (Two‑Nodes Arbiter)” control plane option with contextual disclaimer.
    • Arbiter host role is now always available.
    • Option availability gated by platform/version (bare metal with supported OpenShift versions).
  • Refactor

    • Removed disk‑encryption settings from Cluster Details.
    • Default platform now initializes to Bare Metal for new clusters.
  • Chores

    • Updated translations: added TNA entry and removed obsolete encryption-related strings.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Sep 17, 2025
@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Sep 17, 2025
@openshift-ci-robot
Copy link

openshift-ci-robot commented Sep 17, 2025

@jgyselov: This pull request references MGMT-21025 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set.

Details

In response to this:

https://issues.redhat.com/browse/MGMT-21025

  • Removed unused code for disk encryption in CIM
  • Added TNA option on the cluster details page (conditions from here)
  • Added "arbiter" option in the host table role column
image image

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci
Copy link

openshift-ci bot commented Sep 17, 2025

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Sep 17, 2025
@coderabbitai
Copy link

coderabbitai bot commented Sep 17, 2025

Walkthrough

Adds Two-Nodes Arbiter (TNA) option and plumbing across UI, types, and constants; gates TNA by platform (baremetal) and OpenShift >= 4.19; removes disk-encryption UI blocks; adjusts translations and import paths; defaults undefined platform.type to 'baremetal'.

Changes

Cohort / File(s) Summary of edits
Control plane sizing and TNA UI
libs/ui-lib/lib/common/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx, libs/ui-lib/lib/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx, libs/ui-lib/lib/common/components/clusterConfiguration/OcmTNADisclaimer.tsx
Added allowTNA?: boolean prop, added option "2 (Two-Nodes Arbiter)", introduced isItemEnabled(value, allowHighlyAvailable, allowTNA) enablement logic, reset effect when HA toggles, tooltip/enablement refactor, render TNA disclaimer when selected, and updated import paths.
Cluster details form and version gating
libs/ui-lib/lib/cim/components/ClusterDeployment/ClusterDetailsFormFields.tsx
Removed disk-encryption UI blocks; compute allowTNA from platform === baremetal && OpenShift version >= 4.19; pass allowTNA into ControlPlaneNodesDropdown; integrate OpenShiftVersionDropdown/Modal and layout adjustments.
Types and constants for Arbiter
libs/ui-lib/lib/cim/types/k8s/agent-cluster-install.ts, libs/ui-lib/lib/common/config/constants.ts
Added optional provisionRequirements.arbiterAgents?: number; always include arbiter entry in returned hostRoles() (removed runtime conditional).
Defaults and validation
libs/ui-lib/lib/common/components/clusterWizard/clusterDetailsValidation.ts
Defaulted undefined platform.type to 'baremetal' in initial cluster details values.
Translations
libs/locales/lib/en/translation.json
Added translation key for "2 (Two-Nodes Arbiter)"; removed two Tang/TPMv2 related strings; minor renaming/cleanup of storage-size key.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor User
  participant Form as ClusterDetailsFormFields
  participant Ver as OpenShiftVersionDropdown/Modal
  participant CP as ControlPlaneNodesDropdown
  participant Const as hostRoles()

  User->>Ver: choose OpenShift version
  Ver-->>Form: onChange(version)
  Form->>Form: allowTNA = (platform === 'baremetal') && version >= 4.19
  Form->>CP: render CP with allowTNA
  User->>CP: open dropdown / select option
  CP->>CP: isItemEnabled(value, allowHA, allowTNA)
  alt value == 2
    CP-->>User: show TNA option (enabled/disabled by allowTNA)
    CP->>CP: render OcmTNADisclaimer when selected
  else other selections
    CP-->>User: standard enablement behavior
  end
  Form->>Const: request hostRoles()
  Const-->>Form: roles (includes arbiter)
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested labels

lgtm

Suggested reviewers

  • celdrake
  • ammont82
  • ElayAharoni

Poem

A tidy hop, a feature new,
Two nodes and one arbiter crew.
Baremetal calls and versions align,
Dropdown sings at four-one-nine.
I thump my paw — the change is fine. 🐇

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title "MGMT-21025: installing Two Node OpenShift with Arbiter (TNA)" succinctly and accurately summarizes the primary change—adding Two‑Node Arbiter (TNA) support—and includes the Jira reference for traceability, matching the changeset that adds the TNA option and arbiter role. It is concise and specific enough for a reviewer scanning PR history to understand the main intent.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci openshift-ci bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Sep 17, 2025
@jgyselov jgyselov added this to the v2.16-cim milestone Sep 17, 2025
@openshift-ci-robot
Copy link

openshift-ci-robot commented Sep 17, 2025

@jgyselov: This pull request references MGMT-21025 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set.

Details

In response to this:

https://issues.redhat.com/browse/MGMT-21025

Console PR: stolostron/console#5012

  • Removed unused code for disk encryption in CIM
  • Added TNA option on the cluster details page (conditions from here)
  • Added "arbiter" option in the host table role column
image image

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Sep 21, 2025
@jgyselov jgyselov marked this pull request as ready for review September 24, 2025 13:20
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Sep 24, 2025
@openshift-ci-robot
Copy link

openshift-ci-robot commented Sep 24, 2025

@jgyselov: This pull request references MGMT-21025 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set.

Details

In response to this:

https://issues.redhat.com/browse/MGMT-21025

Console PR: stolostron/console#5012

  • Removed unused code for disk encryption in CIM
  • Added TNA option on the cluster details page (conditions from here)
  • Added "arbiter" option in the host table role column
image image

Summary by CodeRabbit

  • New Features

  • Added “2 (Two‑Nodes Arbiter)” control plane option with contextual disclaimer.

  • Arbiter host role is now always available.

  • Option availability gated by platform/version (enabled on bare metal with supported OpenShift versions).

  • Updated translations to support the new option.

  • Refactor

  • Removed disk‑encryption settings from Cluster Details.

  • Default platform now initializes to Bare Metal for new clusters.

  • Chores

  • Cleaned up obsolete encryption-related localization entries.

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Sep 24, 2025
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
libs/ui-lib/lib/common/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx (1)

64-81: Bug: Disabled state never applied (using function instead of boolean)

isAriaDisabled and isDisabled negate the function reference, so items are never disabled.

Apply:

-    const isEnabled = isItemEnabled(value, allowHighlyAvailable, allowTNA);
+    const isEnabled = isItemEnabled(value, allowHighlyAvailable, allowTNA);

 ...
-        isAriaDisabled={!isItemEnabled}
-        isDisabled={!isItemEnabled}
+        isAriaDisabled={!isEnabled}
+        isDisabled={!isEnabled}
🧹 Nitpick comments (1)
libs/ui-lib/lib/common/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx (1)

92-115: UX: Show option label in toggle instead of raw number

Displaying the translated label is clearer.

Apply:

-                {selectedValue ? selectedValue : '3'}
+                {options.find((opt) => opt.value === selectedValue)?.label ||
+                  t('ai:3 (highly available cluster)')}
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1cb260d and db37469.

📒 Files selected for processing (8)
  • libs/locales/lib/en/translation.json (1 hunks)
  • libs/ui-lib/lib/cim/components/ClusterDeployment/ClusterDetailsFormFields.tsx (3 hunks)
  • libs/ui-lib/lib/cim/types/k8s/agent-cluster-install.ts (1 hunks)
  • libs/ui-lib/lib/common/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx (6 hunks)
  • libs/ui-lib/lib/common/components/clusterConfiguration/OcmTNADisclaimer.tsx (1 hunks)
  • libs/ui-lib/lib/common/components/clusterWizard/clusterDetailsValidation.ts (1 hunks)
  • libs/ui-lib/lib/common/config/constants.ts (1 hunks)
  • libs/ui-lib/lib/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx (1 hunks)
🧰 Additional context used
🧬 Code graph analysis (2)
libs/ui-lib/lib/common/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx (1)
libs/ui-lib/lib/common/components/ui/StaticTextField.tsx (1)
  • StaticField (23-57)
libs/ui-lib/lib/cim/components/ClusterDeployment/ClusterDetailsFormFields.tsx (1)
libs/ui-lib/lib/common/utils.ts (1)
  • isMajorMinorVersionEqualOrGreater (138-143)
🔇 Additional comments (12)
libs/ui-lib/lib/common/components/clusterWizard/clusterDetailsValidation.ts (1)

78-79: Platform default changed to 'baremetal' — verify cross‑flow impact

Defaulting to baremetal will enable TNA gating downstream; ensure this does not unintentionally unlock baremetal‑specific UI/validations in non‑baremetal/OCM flows where cluster.platform.type was previously undefined.

libs/ui-lib/lib/cim/types/k8s/agent-cluster-install.ts (1)

45-46: Add arbiterAgents to provisionRequirements: LGTM

Type‑safe and backward compatible. Confirm consumers treat arbiterAgents as optional and default to 0 if omitted.

libs/locales/lib/en/translation.json (1)

37-37: New TNA label added: LGTM

Key aligns with usage in dropdowns.

libs/ui-lib/lib/common/config/constants.ts (1)

36-40: Arbiter role now always visible — confirm gating elsewhere

Exposing the Arbiter role unconditionally may allow selection in unsupported contexts. Verify host‑role UI disables/guards assignment when TNA is not supported.

libs/ui-lib/lib/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx (1)

20-20: Import path update: LGTM

Refactor to shared OcmTNADisclaimer path looks correct.

libs/ui-lib/lib/common/components/clusterConfiguration/OcmTNADisclaimer.tsx (1)

3-3: Import path adjustment: LGTM

No behavior change.

libs/ui-lib/lib/cim/components/ClusterDeployment/ClusterDetailsFormFields.tsx (1)

107-114: TNA gating: LGTM — version + baremetal

The check >= 4.19 && platform === 'baremetal' is clear and memoized; passing allowTNA to the dropdown aligns with expectations.

Also applies to: 175-176

libs/ui-lib/lib/common/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx (5)

15-16: OcmTNADisclaimer import: LGTM


17-29: Enablement helper reads well: LGTM

Compact and explicit mapping of counts to flags.


52-52: TNA option label via i18n: LGTM


58-62: Auto‑reset invalid HA selections: LGTM

Prevents 4/5 when HA not allowed.


131-132: TNA disclaimer rendering: LGTM

Conditional display on value 2 matches expectations.

@openshift-ci-robot
Copy link

openshift-ci-robot commented Sep 24, 2025

@jgyselov: This pull request references MGMT-21025 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set.

Details

In response to this:

https://issues.redhat.com/browse/MGMT-21025

Console PR: stolostron/console#5012

  • Removed unused code for disk encryption in CIM
  • Added TNA option on the cluster details page (conditions from here)
  • Added "arbiter" option in the host table role column
image image

Summary by CodeRabbit

  • New Features

  • Added “2 (Two‑Nodes Arbiter)” control plane option with contextual disclaimer.

  • Arbiter host role is now always available.

  • Option availability gated by platform/version (bare metal with supported OpenShift versions).

  • Refactor

  • Removed disk‑encryption settings from Cluster Details.

  • Default platform now initializes to Bare Metal for new clusters.

  • Chores

  • Updated translations: added TNA entry and removed obsolete encryption-related strings.

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 openshift-eng/jira-lifecycle-plugin repository.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
libs/ui-lib/lib/common/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx (1)

72-73: Fix incorrect property references in dropdown item.

The isAriaDisabled and isDisabled properties are incorrectly passing the function reference isItemEnabled instead of calling it with parameters to get the boolean result.

-        isAriaDisabled={!isItemEnabled}
-        isDisabled={!isItemEnabled}
+        isAriaDisabled={!isEnabled}
+        isDisabled={!isEnabled}
libs/locales/lib/en/translation.json (1)

940-940: Fix inconsistent pluralization pattern.

The plural form for "Arbiter" doesn't follow the established pattern. Other entries use _plural suffix for plurals, but this uses Arbiter_plural as a single key.

-  "ai:Arbiter_plural": "Arbiter"
+  "ai:Arbiter_plural": "Arbiters"
🧹 Nitpick comments (2)
libs/ui-lib/lib/common/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx (2)

17-29: Consider extracting option values as constants.

The isItemEnabled function uses magic numbers. These values should be constants for better maintainability and code clarity.

+const ControlPlaneNodeOptions = {
+  SNO: 1,
+  TWO_NODES_ARBITER: 2,
+  HIGHLY_AVAILABLE_BASE: 3,
+  HIGHLY_AVAILABLE_PLUS: 4,
+  HIGHLY_AVAILABLE_PLUS_PLUS: 5,
+} as const;
+
 const isItemEnabled = (value: number, allowHighlyAvailable?: boolean, allowTNA?: boolean) => {
   switch (value) {
-    case 1:
-    case 3:
+    case ControlPlaneNodeOptions.SNO:
+    case ControlPlaneNodeOptions.HIGHLY_AVAILABLE_BASE:
       return true;
-    case 2:
+    case ControlPlaneNodeOptions.TWO_NODES_ARBITER:
       return !!allowTNA;
-    case 4:
-    case 5:
+    case ControlPlaneNodeOptions.HIGHLY_AVAILABLE_PLUS:
+    case ControlPlaneNodeOptions.HIGHLY_AVAILABLE_PLUS_PLUS:
       return !!allowHighlyAvailable;
   }
   return false;
 };

113-113: Consider localizing the default fallback value.

The hardcoded '3' default value shown in the toggle should ideally come from a localized label rather than a raw number for better user understanding.

-                {selectedValue ? selectedValue : '3'}
+                {selectedValue ? selectedValue : t('ai:3 (default)')}
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between db37469 and e55c690.

📒 Files selected for processing (8)
  • libs/locales/lib/en/translation.json (1 hunks)
  • libs/ui-lib/lib/cim/components/ClusterDeployment/ClusterDetailsFormFields.tsx (3 hunks)
  • libs/ui-lib/lib/cim/types/k8s/agent-cluster-install.ts (1 hunks)
  • libs/ui-lib/lib/common/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx (6 hunks)
  • libs/ui-lib/lib/common/components/clusterConfiguration/OcmTNADisclaimer.tsx (1 hunks)
  • libs/ui-lib/lib/common/components/clusterWizard/clusterDetailsValidation.ts (1 hunks)
  • libs/ui-lib/lib/common/config/constants.ts (1 hunks)
  • libs/ui-lib/lib/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • libs/ui-lib/lib/common/components/clusterConfiguration/OcmTNADisclaimer.tsx
🚧 Files skipped from review as they are similar to previous changes (5)
  • libs/ui-lib/lib/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx
  • libs/ui-lib/lib/cim/types/k8s/agent-cluster-install.ts
  • libs/ui-lib/lib/cim/components/ClusterDeployment/ClusterDetailsFormFields.tsx
  • libs/ui-lib/lib/common/config/constants.ts
  • libs/ui-lib/lib/common/components/clusterWizard/clusterDetailsValidation.ts
🧰 Additional context used
🧬 Code graph analysis (1)
libs/ui-lib/lib/common/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx (1)
libs/ui-lib/lib/common/components/ui/StaticTextField.tsx (1)
  • StaticField (22-57)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: tests
🔇 Additional comments (5)
libs/ui-lib/lib/common/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx (2)

92-133: LGTM! Well-structured component refactor.

The refactor to use fragments and conditional rendering improves the component's structure. The addition of the TNA disclaimer when selectedValue === 2 is properly implemented.


58-62: Reset selection when TNA (value 2) becomes unavailable

Extend the effect in libs/ui-lib/lib/common/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx (lines 58–62) to also setValue(3) when the TNA availability flag (e.g., allowTNA) flips false and selectedValue === 2, and include that flag in the effect dependency array.

libs/locales/lib/en/translation.json (3)

37-37: LGTM! Translation key added correctly.

The translation for "2 (Two-Nodes Arbiter)" is properly added and follows the existing pattern.


714-714: Resolved — translation keys present and TNA disclaimer renders for two-node control plane.

Translation keys exist in libs/locales/lib/en/translation.json (lines ~714 and ~871); OcmTNADisclaimer uses them (libs/ui-lib/lib/common/components/clusterConfiguration/OcmTNADisclaimer.tsx) and is conditionally rendered from ControlPlaneNodesDropdown when two control-plane nodes are selected (libs/ui-lib/lib/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx and libs/ui-lib/lib/common/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx).


104-104: Add missing plural translation or confirm usage

libs/locales/lib/en/translation.json defines "ai:Arbiter" (≈ line 104) but there is no "ai:Arbiter_plural" — add e.g. "ai:Arbiter_plural": "Arbiters" or ensure components use the singular key when not pluralized. Search for in-code usage was inconclusive (ripgrep skipped files); verify whether the UI expects the plural key and update translations accordingly.

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Oct 8, 2025
@openshift-ci
Copy link

openshift-ci bot commented Oct 8, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jgyselov, rawagner

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-merge-bot openshift-merge-bot bot merged commit 799180a into openshift-assisted:master Oct 8, 2025
11 checks passed
@jgyselov jgyselov removed this from the v2.16-cim milestone Oct 21, 2025
openshift-merge-bot bot pushed a commit that referenced this pull request Dec 18, 2025
* Remove preview badge from bundles card (#3169)

* Migration to PF6 (#3168)

* pf6 deps and codemods updates

Signed-off-by: gitdallas <5322142+gitdallas@users.noreply.github.com>

get emptystate pf6 issues building

Signed-off-by: gitdallas <5322142+gitdallas@users.noreply.github.com>

fix chip/label changes

Signed-off-by: gitdallas <5322142+gitdallas@users.noreply.github.com>

fix icon type

Signed-off-by: gitdallas <5322142+gitdallas@users.noreply.github.com>

fix a prop type that codemods missed

Signed-off-by: gitdallas <5322142+gitdallas@users.noreply.github.com>

update pf5 classnames

Signed-off-by: gitdallas <5322142+gitdallas@users.noreply.github.com>

fix tokens, some cleanup

Signed-off-by: gitdallas <5322142+gitdallas@users.noreply.github.com>

fix tests and remaining v5->v6

Signed-off-by: gitdallas <5322142+gitdallas@users.noreply.github.com>

yarn lock

Signed-off-by: gitdallas <5322142+gitdallas@users.noreply.github.com>

work on some cy tests

Signed-off-by: gitdallas <5322142+gitdallas@users.noreply.github.com>

fix tests for pf6 changes

Signed-off-by: gitdallas <5322142+gitdallas@users.noreply.github.com>

fix some tests

Signed-off-by: gitdallas <5322142+gitdallas@users.noreply.github.com>

fix build error

Signed-off-by: gitdallas <5322142+gitdallas@users.noreply.github.com>

* Change version of package.json to 2.0.0 for testing

* MGMT-20974: Rremove unnecessary hyphens in helper text operators

* MGMT-20968: align 'learn more about openshift releases' link in the first page of the cluster creation wizard

* MGMT-20965: Put the same min-width in the dropdowns of the first page of the cluster creation wizard

* MGMT-20966: improving the readibility of text on Troubleshooter Modal

* MGMT-20972: Cluster summary section is not collapsable

* MGMT-20964: Detached Warning Message for TMPv2 selection

* Changes in PrismCode to use the correct color

* MGMT-20969: hostname column header is truncated and unredeable

* MGMT-20967: errors beneath text boxes dissapears but icon remains in place

* fix (20975): make bundle selected operators show in count

Signed-off-by: gitdallas <5322142+gitdallas@users.noreply.github.com>

* MGMT-21103: change size of Provisioning type droodown in Add hosts modal

* MGMT-21105: Networking page-machine network dropdown truncate values

* add layout with gutter around cluster progress/buttons

Signed-off-by: gitdallas <5322142+gitdallas@users.noreply.github.com>

* MGMT-21147: R&C page - missing vertical spacing between kubeconfig warning and buttons

* MGMT-21151: inconsistend icon and text alignment in preflight checks in R&C page

* Add data-test-id to MenuToggle components

* Add data-testid to HelperTextItem components

* Add data-testid to BreadCrumb component

* Add data-testid to Spinner component

* Add data-testid to Wizard components

* Add data-testid to Host's network configuration group

* Add data-testid to Use bond option

* Add data-testid to Add hosts modal

* Add more data-testids for tests

* Solving problem with operators count

* Remove duplicated scrollbars

* Solving errors in Networking page

* Add data-testid to close button in Events modal

* Migration of TextContent component

* Solving problems with some old components

* Solving lint issues

* Solving problems with unit tests

* Solving format issues

* Remove unnecessary test

* Solving problems with tests

---------

Signed-off-by: gitdallas <5322142+gitdallas@users.noreply.github.com>
Co-authored-by: gitdallas <5322142+gitdallas@users.noreply.github.com>

* Use masthead (#3173)

* Button text (#3174)

* OCPBUGS-61953: Update dependency sourcing to remote (#3155)

* Bump axios from 1.6.8 to 1.12.2 (#3180)

Bumps [axios](https://github.com/axios/axios) from 1.6.8 to 1.12.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](axios/axios@v1.6.8...v1.12.2)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.12.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Updating assisted-installer-ui-container image to be consistent with ART for 4.21 (#3179)

Reconciling with https://github.com/openshift/ocp-build-data/tree/4fbe3fab45239dc4be6f5d9d98a0bf36e0274ec9/images/agent-installer-ui.yml

Co-authored-by: AOS Automation Release Team <noreply@redhat.com>

* OCPBUGS-61787: Change NMstate operator docs link (#3182)

* MGMT-21862: Add message about vSphere limitations (#3181)

* OCPBUGS-62680: Include assisted disconnected UI image in release payload (#3188)

* Fixing errors when creating cluster from Assisted Migration (#3191)

* MGMT-21025: installing Two Node OpenShift with Arbiter (TNA) (#3170)

* Clean up ClusterDetailsFormFields

* Allow TNA arbiter in CIM

* Remove unused component (#3193)

* Add unique data-testid to dualstack subnet dropdowns (#3199)

* Tweak spacing between advanced network fields (#3198)

* Tweak host status spacing (#3200)

* Improve alert spacing (#3201)

* MGMT-21825: Textarea field should show both error and helper text (#3202)

* Improve alert spacing

* Show both error and helper text under textarea fields

* Add border to table headers (#3197)

* Remove border from rich input field (#3208)

* Bump happy-dom from 15.10.2 to 20.0.0 (#3211)

Bumps [happy-dom](https://github.com/capricorn86/happy-dom) from 15.10.2 to 20.0.0.
- [Release notes](https://github.com/capricorn86/happy-dom/releases)
- [Commits](capricorn86/happy-dom@v15.10.2...v20.0.0)

---
updated-dependencies:
- dependency-name: happy-dom
  dependency-version: 20.0.0
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Remove nested 'Content' components (#3196)

* Upgrade the PF modal component in /common and /ocm (#3213)

* Bump happy-dom from 20.0.0 to 20.0.2 (#3218)

Bumps [happy-dom](https://github.com/capricorn86/happy-dom) from 20.0.0 to 20.0.2.
- [Release notes](https://github.com/capricorn86/happy-dom/releases)
- [Commits](capricorn86/happy-dom@v20.0.0...v20.0.2)

---
updated-dependencies:
- dependency-name: happy-dom
  dependency-version: 20.0.2
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Consistent ISO Download behavior (#3221)

* Add 'noopener noreferrer' to ISO download button (#3222)

* Fix preflight check collapsed styling (#3215)

* Remove unnecessary custom manifest field (#3217)

* Bump vite from 5.4.20 to 5.4.21 (#3223)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.20 to 5.4.21.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.21/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.21/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 5.4.21
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* MGMT-21625: Add Dual-Stack with Primary IPv6 Support (#3190)

This PR adds support for IPv6-primary dual-stack clusters, enabling users to create dual-stack clusters where IPv6 is the primary IP stack (version-aware for OpenShift 4.12+)

* sort OCP versions in create infra (#3171)

Signed-off-by: Lior Soffer <liorsoffer1@gmail.com>

* Update types/parsing for latest lightspeed API (#3226)

* Update release job to use trusted-publishers flow (#3228)

* Update setup-node config (#3232)

* - MGMT-22057:Primary IPv6 should be Tech Preview (#3231)

- MGMT-22045: Change style of Dualstack - IPv4 / IPv6 section headers in subnet dropdown
- When we change the primary machine network IP to ipv6 we have to select the seconday machine network IP to ipv4

* MGMT-22080: Allow users to install Openshift AI as standalone operator in SNO clusters (#3234)

* Release job: Configure Yarn for npm registry (#3235)

* configure yarn before publish (#3239)

* Pass OIDC token to yarn config (#3241)

* MGMT-22047: Add apiVIP and ingressVIP for dual-stack ipv4 and ipv6 (#3246)

* Add apiVIP and ingressVIP for dual-stack ipv4 and ipv6

* Add validations to ensure that users add primary and secondary apiVips and ingressVips when using dual-stack

* Updating tests to dual-stack changes

* Prevent InfraEnv creation on ABI to support OVE Late-Binding workflow (#3244)

Signed-off-by: Elay Aharoni <elayaha@gmail.com>

* MGMT-22116: Add info about apiVIPs and ingressVIPs for dual-stack in Review and Create page (#3250)

* Add info about apiVIPs and ingressVIPs for dual-stack in Review and Create page

* Fixing review comments

* MGMT-22119: Solving errors with SNO dual-stack (#3249)

* Solving errors with SNO dual-stack

* Solving errors when change between dual-stack and single-stack

* MGMT-22165: Remove what's new link until the info appear in the chatbot (#3253)

* Update logic to extract the tool response (#3255)

* MGMT-17220: dual-stack with second machine network not populates (#3256)

* MGMT-17220: dual-stack with second machine network not populates

* Improving the code

* Make the parsing compatible with new & old API (#3260)

* MGMT-22047: solving errors with dual-stack (#3263)

* MGMT-22047: solving errors with dual-stack
1. Changes in AvailableSubnetsControl.tsx so our corrective setFieldValue calls don’t validate immediately. This avoids heavy, repeated validations the moment you pick the first IPv6 option and should stop the freeze when secondary VIPs are IPv6 and empty.
Specifically, set the third arg to false for:
- Auto-select initialization of machineNetworks
- Duplicate-primary fix that updates machineNetworks.1.cidr
2. Changes in AdvancesNetworkFields.tsx:
-I found the infinite loop in AdvancedNetworkFields.tsx: when the primary machine network flips to IPv6, the effect was swapping clusterNetworks/serviceNetworks even when both entries had the same IP family, causing continuous reorders and a freeze.
-I added guards so we only swap when both entries exist and have opposite families, and the first one mismatches the primary machine family. Lint is clean.

* Solving issues in code

* MGMT-21837: in YAML view in Static Network Configuration we add the radio buttons to change the form to another view (#3268)

* late binding hosts to cluster in ABI (#3259)

Signed-off-by: Elay Aharoni <elayaha@gmail.com>

* AGENT-1373: Rename feature gate to NoRegistryClusterInstall (#3267)

Update the feature gate name from NoRegistryClusterOperations to
NoRegistryClusterInstall.

* AGENT-1352: Handle cluster reset with late binding (#3270)

* late binding hosts to cluster in ABI

Signed-off-by: Elay Aharoni <elayaha@gmail.com>

* Handle cluster reset on ABI

Signed-off-by: Elay Aharoni <elayaha@gmail.com>

---------

Signed-off-by: Elay Aharoni <elayaha@gmail.com>

* MGMT-22281: Dual stack seconday vips fields not mandatory (#3275)

* Show TechPreview badge only in Primary Machine network when user chooses ipV6 IP (#3276)

* add new fields to above sea level ABI (#3274)

Signed-off-by: Elay Aharoni <elayaha@gmail.com>

* Revert "Handle cluster reset on ABI" (#3281)

This reverts commit d35b70a.

* add loki and logging operators (#3285)

Signed-off-by: Elay Aharoni <elayaha@gmail.com>

* OCPBUGS-65657: Display OpenShift AI GPU validation message from API (#3279)

Fix UI to show the friendly label and detailed message from the API
instead of displaying the technical validation ID when OpenShift AI
operator is selected without GPU support.

* Bug fix: OVE Agent Installer UI: Red Hat OCP logo not displaying correctly (#3289)

Signed-off-by: Elay Aharoni <elayaha@gmail.com>

* Adding TechPreview Budge for Assisted installer and agent (#3293)

Signed-off-by: Elay Aharoni <elayaha@gmail.com>

* MGMT-20138 : Show 'Add hosts' tab for all cases (#3297)

* Edit OWNERS file (#3172)

* Bump js-yaml from 4.1.0 to 4.1.1 (#3264)

Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.0 to 4.1.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](nodeca/js-yaml@4.1.0...4.1.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump zx from 7.2.3 to 8.8.5 (#3273)

Bumps [zx](https://github.com/google/zx) from 7.2.3 to 8.8.5.
- [Release notes](https://github.com/google/zx/releases)
- [Commits](google/zx@7.2.3...8.8.5)

---
updated-dependencies:
- dependency-name: zx
  dependency-version: 8.8.5
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump mdast-util-to-hast from 13.2.0 to 13.2.1 (#3287)

Bumps [mdast-util-to-hast](https://github.com/syntax-tree/mdast-util-to-hast) from 13.2.0 to 13.2.1.
- [Release notes](https://github.com/syntax-tree/mdast-util-to-hast/releases)
- [Commits](syntax-tree/mdast-util-to-hast@13.2.0...13.2.1)

---
updated-dependencies:
- dependency-name: mdast-util-to-hast
  dependency-version: 13.2.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* provides parameters for the GET /v2/operators/bundles route (#3306)

Signed-off-by: Elay Aharoni <elayaha@gmail.com>

* Bump js-yaml from 4.1.0 to 4.1.1 (#3310)

Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.0 to 4.1.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](nodeca/js-yaml@4.1.0...4.1.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix Cluster summary styling (#3216)

* remove external platforms field from below sea level UI (#3316)

Signed-off-by: Elay Aharoni <elayaha@gmail.com>

* Openshift AI Bundle on SNO enables ODF and LVM which are uncompatible (#3320)

Signed-off-by: Elay Aharoni <elayaha@gmail.com>

* change ABI above sea level iso size (#3322)

Signed-off-by: Elay Aharoni <elayaha@gmail.com>

* MGMT-22465: Merge the contents of releases/v2.17-cim into master (#3319)

* Fix patches when there were 0 nodes in hypershift nodepool (#3177)

* Make OVN the default network type if the version is invalid (#3183)

* MGMT-20076: Support external platform in Assisted-installer Kube API (#3151)

* Add External platforms field

* Restructure files related to CIM cluster deployment wizard

* Create SelectFieldWithSearch component

* Update '@openshift-console/dynamic-plugin-sdk'

* CIM custom manifest step

* CIM custom manifests review

* Make 'Baremetal' the default external platform

* Translations for 2.16-cim (#3225)

* MGMT-21025: installing Two Node OpenShift with Arbiter (TNA)  (#3224)

* Clean up ClusterDetailsFormFields

* Allow TNA arbiter in CIM

* Set 'userManagedNetworking' as true with 'external' platform (#3245)

* Tweak TNA-related strings in CIM (#3248)

* Restrict platform options for SNO clusters (#3262)

Signed-off-by: Lior Soffer <liorsoffer1@gmail.com>

* Fix: Undefined OpenShift version producing an incorrect documentation link (#3271)

Signed-off-by: Lior Soffer <liorsoffer1@gmail.com>

* Fix bug - the option to remove host from the cluster disabled while the host is installing (#3219)

Signed-off-by: Elay Aharoni <elayaha@gmail.com>

* Implement user interface for the multiple SSH keys (#3292)

Signed-off-by: Lior Soffer <liorsoffer1@gmail.com>

* Edit OWNERS file (#3303)

Co-authored-by: jgyselov <jgyselov@redhat.com>

* Fix arbiter translation (#3304)

Co-authored-by: jgyselov <jgyselov@redhat.com>

* [releases/v2.17-cim] MGMT-22264: Add 'Labels' and 'GPU' columns to infra env host table (#3307)

* Add GPUs column to infra agent table

* Add labels column and filtering to infra agent table

---------

Co-authored-by: jgyselov <jgyselov@redhat.com>

* Prevent mass approve crash when hosts are still discovering (#3305)

Co-authored-by: jgyselov <jgyselov@redhat.com>

* Fix 'Required' translations (#3308)

Co-authored-by: jgyselov <jgyselov@redhat.com>

* Do not exclude hosts with SpecSyncError status from host selection during binding (#3309)

Co-authored-by: jgyselov <jgyselov@redhat.com>

* MGMT-22438: Handle empty labels in infra env host table (#3314)

* Handle empty labels in infra env host table

Signed-off-by: Lior Soffer <liorsoffer1@gmail.com>

* format fix

Signed-off-by: Lior Soffer <liorsoffer1@gmail.com>

---------

Signed-off-by: Lior Soffer <liorsoffer1@gmail.com>

* MGMT-19743: Icon from agent status available is confusing (#3220)

* Fix bug - the option to remove host from the cluster disabled while the host is installing

Signed-off-by: Elay Aharoni <elayaha@gmail.com>

* icon from agent status Available is confusing

Signed-off-by: Elay Aharoni <elayaha@gmail.com>

---------

Signed-off-by: Elay Aharoni <elayaha@gmail.com>
Co-authored-by: Julie Gyselova <jgyselov@redhat.com>

---------

Signed-off-by: Lior Soffer <liorsoffer1@gmail.com>
Signed-off-by: Elay Aharoni <elayaha@gmail.com>
Co-authored-by: Lior Soffer <liorsoffer1@gmail.com>
Co-authored-by: Elay Aharoni <elayaha@gmail.com>
Co-authored-by: OpenShift Cherrypick Robot <openshift-cherrypick-robot@redhat.com>

---------

Signed-off-by: gitdallas <5322142+gitdallas@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Lior Soffer <liorsoffer1@gmail.com>
Signed-off-by: Elay Aharoni <elayaha@gmail.com>
Co-authored-by: Montse Ortega Gallart <ammont82@users.noreply.github.com>
Co-authored-by: gitdallas <5322142+gitdallas@users.noreply.github.com>
Co-authored-by: Pawan Pinjarkar <ppinjark@redhat.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: OpenShift Bot <openshift-bot@redhat.com>
Co-authored-by: AOS Automation Release Team <noreply@redhat.com>
Co-authored-by: Linoy Hadad <Linoyaslan@gmail.com>
Co-authored-by: Lior Soffer <liorsoffer1@gmail.com>
Co-authored-by: Rastislav Wagner <rawagner@redhat.com>
Co-authored-by: Elay Aharoni <elayaha@gmail.com>
Co-authored-by: Richard Su <rwsu@redhat.com>
Co-authored-by: Yoav Schwammenthal <33420608+yoavsc0302@users.noreply.github.com>
Co-authored-by: OpenShift Cherrypick Robot <openshift-cherrypick-robot@redhat.com>
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. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants