Skip to content

OCPBUGS-61953: Update dependency sourcing to remote#3155

Merged
openshift-merge-bot[bot] merged 1 commit intoopenshift-assisted:masterfrom
pawanpinjarkar:update-dockerfile-to-provide-dependencies-from-remote-source
Sep 24, 2025
Merged

OCPBUGS-61953: Update dependency sourcing to remote#3155
openshift-merge-bot[bot] merged 1 commit intoopenshift-assisted:masterfrom
pawanpinjarkar:update-dockerfile-to-provide-dependencies-from-remote-source

Conversation

@pawanpinjarkar
Copy link
Contributor

@pawanpinjarkar pawanpinjarkar commented Sep 3, 2025

Update dockerfile for ART to manage dependencies from REMOTE_SOURCES and CACHED_YARN for the ART builds

Summary by CodeRabbit

  • New Features

    • Bundled proxy component to better support restricted/offline environments.
  • Security

    • Updated base images to newer RHEL 9 builds for improved platform security.
  • Performance

    • Optimized multi-stage build to reduce artifact size and improve startup reliability.
  • Chores

    • Introduced cached remote-sources flow and vendored dependency builds with fallback for more reproducible, offline-capable builds.

@openshift-ci-robot
Copy link

openshift-ci-robot commented Sep 3, 2025

@pawanpinjarkar: This pull request references AGENT-1261 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 sub-task to target the "4.21.0" version, but no target version was set.

Details

In response to this:

Update dockerfile for ART to manage dependencies from REMOTE_SOURCES and CACHED_YARN for the ART builds

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-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Sep 3, 2025
@openshift-ci openshift-ci bot requested review from jgyselov and rawagner September 3, 2025 18:01
@coderabbitai
Copy link

coderabbitai bot commented Sep 3, 2025

Walkthrough

Updates the Containerfile for apps/assisted-disconnected-ui: bumps the Node.js builder base to 4.20, adds a Cachito remote-sources flow with a cached‑Yarn path and local fallback, introduces a vendored Go proxy build stage, and switches the final runtime base while copying UI and proxy artifacts into /app/proxy and exposing port 8080.

Changes

Cohort / File(s) Summary of Changes
Container build refactor & multi-stage updates
apps/assisted-disconnected-ui/Containerfile.ocp
- Update Node.js builder base to 4.20 and set user to root (0)
- Replace broad COPY with scoped /app copy; remove initial ls /app step
- Add Cachito/REMOTE_SOURCES flow: REMOTE_SOURCES, REMOTE_SOURCES_DIR, YARN_VERSION; prefer cached Yarn tarball path and fallback to corepack/bootstrap when absent
- Remove previous npm/corepack/yarn bootstrap lines in favor of conditional cached-Yarn install or corepack fallback
- Add proxy-build stage using ubi9/go-toolset:1.22 and build with vendored deps (GOFLAGS="-mod=vendor") producing proxy binary
- Change final image base to 4.20:base-rhel9; copy UI build assets from ui-build and proxy binary from proxy-build into /app/proxy; set WORKDIR /app/proxy, expose port 8080, CMD unchanged

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant Dev as Dev / CI
  participant NodeBuild as ui-build (rhel 4.20)
  participant Cachito as Cachito / remote-sources
  participant GoBuild as proxy-build (ubi9/go-toolset:1.22)
  participant Final as final image (4.20:base-rhel9)

  Dev->>NodeBuild: Start UI build
  alt REMOTE_SOURCES + cached Yarn available
    NodeBuild->>Cachito: fetch REMOTE_SOURCES & cached Yarn
    Cachito-->>NodeBuild: return artifacts & cached Yarn
    NodeBuild->>NodeBuild: install cached Yarn -> yarn install && yarn build
  else no cached Yarn
    NodeBuild->>NodeBuild: corepack enable -> bootstrap Yarn -> yarn install && yarn build
  end

  Dev->>GoBuild: Build proxy with vendored deps
  GoBuild->>GoBuild: GOFLAGS="-mod=vendor" go build -> produce proxy binary

  Dev->>Final: Assemble runtime image
  Final->>Final: copy UI assets from ui-build, copy proxy binary from proxy-build -> /app/proxy
  Final->>Final: set WORKDIR /app/proxy, expose 8080, set CMD
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested labels

lgtm

Suggested reviewers

  • rawagner
  • jgyselov

Poem

I stacked my stages, hop by hop,
Cached Yarn in paw, I didn’t stop.
A vendored proxy, tidy and neat,
UI bundled snug, ready to fleet.
Port 8080 — hop! we ship and greet. 🐇

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 "OCPBUGS-61953: Update dependency sourcing to remote" concisely references the tracked bug and accurately summarizes the primary change—the Dockerfile/workflow update to source dependencies from remote (REMOTE_SOURCES/CACHED_YARN and vendored Go builds). It is specific, relevant to the changeset, and not overly broad or noisy.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 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
Copy link

openshift-ci bot commented Sep 3, 2025

Hi @pawanpinjarkar. Thanks for your PR.

I'm waiting for a openshift-assisted 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 added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Sep 3, 2025
@openshift-ci openshift-ci bot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Sep 3, 2025
@openshift-ci-robot
Copy link

openshift-ci-robot commented Sep 3, 2025

@pawanpinjarkar: This pull request references AGENT-1261 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 sub-task to target the "4.21.0" version, but no target version was set.

Details

In response to this:

Update dockerfile for ART to manage dependencies from REMOTE_SOURCES and CACHED_YARN for the ART builds

Summary by CodeRabbit

  • New Features

  • Consolidated frontend and proxy into a single container image.

  • Exposes port 8080 and defines a default runtime command for the UI binary.

  • Performance

  • Faster, more reliable installs/builds when cached artifacts are available.

  • Chores

  • Updated base images to OpenShift 4.20 (RHEL9) for build and runtime.

  • Adopted a multi-stage build with vendored dependencies for the proxy.

  • Adjusted container user and environment settings for improved compatibility.

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: 2

Caution

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

⚠️ Outside diff range comments (1)
apps/assisted-disconnected-ui/Containerfile.ocp (1)

45-50: Run the final image as non-root for OCP restricted SCC

Final stage defaults to root. Prefer an arbitrary UID-compatible setup (e.g., 1001) to avoid run-time denials.

 FROM registry.ci.openshift.org/ocp/4.20:base-rhel9
 COPY --from=ui-build /app/apps/assisted-disconnected-ui/build /app/proxy/dist
 COPY --from=proxy-build /app/assisted-disconnected-ui /app/proxy
 WORKDIR /app/proxy
 EXPOSE 8080
+USER 1001
 CMD ./assisted-disconnected-ui

Optional: if the binary or dist paths need write access, add chmod g=u -R /app/proxy to support arbitrary UIDs.

🧹 Nitpick comments (5)
apps/assisted-disconnected-ui/Containerfile.ocp (5)

21-26: CACHED_YARN install path likely incorrect for Yarn 3.x

npm install -g on a tarball won’t install Yarn v3 (Berry). Unless ART publishes a compatible npm package, this branch will fail in offline builds.

  • Confirm the artifact shape (tarball vs npm pkg). If it’s a tarball, switch to extracting the Yarn binary and wiring Corepack shims, or pre-hydrate Corepack’s cache.
  • If using Corepack, provide a pre-fetched corepack cache (no network) and run: corepack prepare yarn@${YARN_VERSION} --activate without hitting the internet.
    Want me to draft the exact commands once ART confirms the artifact layout?

27-35: Ensure offline Yarn install has cache/.yarn content

yarn install --immutable will fail offline unless the .yarn/cache (or an offline mirror) from Cachito is available. You’re only copying .yarnrc.yml and yarn.lock.

Consider also copying the cached artifacts, for example:

-      cp -f $REMOTE_SOURCES_DIR/cachito-gomod-with-deps/app/{.yarnrc.yml,yarn.lock,package.json,apps/assisted-disconnected-ui/package.json} . \
+      cp -f $REMOTE_SOURCES_DIR/cachito-gomod-with-deps/app/{.yarnrc.yml,yarn.lock,package.json,apps/assisted-disconnected-ui/package.json} . \
+      && cp -r $REMOTE_SOURCES_DIR/cachito-gomod-with-deps/app/.yarn . \

If Cachito provides a different node payload (e.g., cachito-yarn-with-deps), update the path accordingly.


16-17: Make COPY target an explicit directory

Safer when REMOTE_SOURCES expands to directories or multiple entries (common in Cachito). Trailing slash avoids ambiguity.

-COPY $REMOTE_SOURCES $REMOTE_SOURCES_DIR
+COPY $REMOTE_SOURCES $REMOTE_SOURCES_DIR/

38-44: Vendoring source for proxy: verify vendor is present or copy from REMOTE_SOURCES

You set -mod=vendor but don’t wire in Cachito gomod payload here. If vendor isn’t committed, the proxy build will fail offline.

If needed, copy vendor from remote sources before building, e.g.:

# if REMOTE_SOURCES provides cachito-gomod-with-deps
COPY $REMOTE_SOURCES_DIR/cachito-gomod-with-deps/app/proxy/vendor /app/vendor

Confirm the actual path in the Cachito payload.


20-36: Add strict shell flags for early failure visibility

Helps catch missing files/typos (e.g., the package.json issue) in the build branch.

-RUN CACHED_YARN=./artifacts/yarn-${YARN_VERSION}.tar.gz; \
+RUN set -euxo pipefail; CACHED_YARN=./artifacts/yarn-${YARN_VERSION}.tar.gz; \
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 861466b and 4984ff1.

📒 Files selected for processing (1)
  • apps/assisted-disconnected-ui/Containerfile.ocp (1 hunks)
🔇 Additional comments (1)
apps/assisted-disconnected-ui/Containerfile.ocp (1)

1-2: Base image bump looks fine; confirm Node version parity

Moving to rhel-9-base-nodejs-openshift-4.20 should be OK, but please confirm Node version matches what the UI expects (Yarn 3.x requires Node ≥16.10).

Copy link
Contributor

@rwsu rwsu left a comment

Choose a reason for hiding this comment

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

I tested the non-cachito flow and looked it ok.

@pawanpinjarkar pawanpinjarkar force-pushed the update-dockerfile-to-provide-dependencies-from-remote-source branch 3 times, most recently from 1738901 to 4520d6b Compare September 18, 2025 20:51
@pawanpinjarkar pawanpinjarkar changed the title AGENT-1261: Update dependency sourcing to remote OCPBUGS-61953: Update dependency sourcing to remote Sep 18, 2025
@openshift-ci-robot openshift-ci-robot added the jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. label Sep 18, 2025
@openshift-ci-robot
Copy link

@pawanpinjarkar: This pull request references Jira Issue OCPBUGS-61953, which is invalid:

  • expected the bug to target the "4.21.0" version, but no target version was set

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

Update dockerfile for ART to manage dependencies from REMOTE_SOURCES and CACHED_YARN for the ART builds

Summary by CodeRabbit

  • New Features

  • Consolidated frontend and proxy into a single container image.

  • Exposes port 8080 and defines a default runtime command for the UI binary.

  • Performance

  • Faster, more reliable installs/builds when cached artifacts are available.

  • Chores

  • Updated base images to OpenShift 4.20 (RHEL9) for build and runtime.

  • Adopted a multi-stage build with vendored dependencies for the proxy.

  • Adjusted container user and environment settings for improved compatibility.

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.

@pawanpinjarkar
Copy link
Contributor Author

/cherrypick release-4.20

@openshift-cherrypick-robot
Copy link
Contributor

@pawanpinjarkar: only openshift-assisted org members may request cherry picks. If you are already part of the org, make sure to change your membership to public. Otherwise you can still do the cherry-pick manually.

Details

In response to this:

/cherrypick release-4.20

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.

@pawanpinjarkar
Copy link
Contributor Author

/jira refresh

@openshift-ci-robot openshift-ci-robot added the jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. label Sep 18, 2025
@openshift-ci-robot
Copy link

@pawanpinjarkar: This pull request references Jira Issue OCPBUGS-61953, which is valid. The bug has been moved to the POST state.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.21.0) matches configured target version for branch (4.21.0)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @mhanss

Details

In response to this:

/jira refresh

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-robot openshift-ci-robot removed the jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. label Sep 18, 2025
@openshift-ci
Copy link

openshift-ci bot commented Sep 18, 2025

@openshift-ci-robot: GitHub didn't allow me to request PR reviews from the following users: mhanss.

Note that only openshift-assisted members and repo collaborators can review this PR, and authors cannot review their own PRs.

Details

In response to this:

@pawanpinjarkar: This pull request references Jira Issue OCPBUGS-61953, which is valid. The bug has been moved to the POST state.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.21.0) matches configured target version for branch (4.21.0)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @mhanss

In response to this:

/jira refresh

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.

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.

Copy link
Contributor

@rwsu rwsu left a comment

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci
Copy link

openshift-ci bot commented Sep 18, 2025

@rwsu: changing LGTM is restricted to collaborators

Details

In response to this:

/lgtm

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.

@pawanpinjarkar pawanpinjarkar force-pushed the update-dockerfile-to-provide-dependencies-from-remote-source branch from 4520d6b to 2470a34 Compare September 18, 2025 23:51
@openshift-ci-robot
Copy link

@pawanpinjarkar: This pull request references Jira Issue OCPBUGS-61953, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.21.0) matches configured target version for branch (4.21.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @mhanss

Details

In response to this:

Update dockerfile for ART to manage dependencies from REMOTE_SOURCES and CACHED_YARN for the ART builds

Summary by CodeRabbit

  • Chores
  • Upgraded base platform to OpenShift 4.20 (RHEL9) for latest security updates.
  • Optimized image layout and runtime setup; exposed port and startup command remain unchanged.
  • Refactor
  • Reworked to a multi-stage, cache-aware build for UI and proxy to improve build reliability and speed, including disconnected environments.
  • Vendorized dependencies for deterministic proxy builds.

No visible UI changes; functionality and usage remain the same.

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 23, 2025

@openshift-ci-robot: GitHub didn't allow me to request PR reviews from the following users: mhanss.

Note that only openshift-assisted members and repo collaborators can review this PR, and authors cannot review their own PRs.

Details

In response to this:

@pawanpinjarkar: This pull request references Jira Issue OCPBUGS-61953, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.21.0) matches configured target version for branch (4.21.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @mhanss

In response to this:

Update dockerfile for ART to manage dependencies from REMOTE_SOURCES and CACHED_YARN for the ART builds

Summary by CodeRabbit

  • Chores
  • Upgraded base platform to OpenShift 4.20 (RHEL9) for latest security updates.
  • Optimized image layout and runtime setup; exposed port and startup command remain unchanged.
  • Refactor
  • Reworked to a multi-stage, cache-aware build for UI and proxy to improve build reliability and speed, including disconnected environments.
  • Vendorized dependencies for deterministic proxy builds.

No visible UI changes; functionality and usage remain the same.

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.

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.

@andfasano
Copy link

/lgtm

@openshift-ci
Copy link

openshift-ci bot commented Sep 23, 2025

@andfasano: changing LGTM is restricted to collaborators

Details

In response to this:

/lgtm

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.

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: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4984ff1 and c1afd50.

📒 Files selected for processing (1)
  • apps/assisted-disconnected-ui/Containerfile.ocp (1 hunks)
🔇 Additional comments (3)
apps/assisted-disconnected-ui/Containerfile.ocp (3)

10-10: Guard the COPY of REMOTE_SOURCES for local builds.

Using variables in COPY without defaults can break local builds if REMOTE_SOURCES/REMOTE_SOURCES_DIR aren’t provided by ART/OSBS.

  • If local builds are supported, consider declaring:
    • ARG REMOTE_SOURCES
    • ARG REMOTE_SOURCES_DIR=/tmp/remote-sources
  • And document that local builds must set REMOTE_SOURCES and REMOTE_SOURCES_DIR (or provide a separate Containerfile.local without this COPY).

38-43: Final stage wiring looks good.

Assuming the proxy binary path fix above, copying UI dist and proxy binary, exposing 8080, and running CMD is correct.

Please confirm that the UI build produces /app/apps/assisted-disconnected-ui/build as expected with Yarn 3.4.1 in both cached and local paths.


31-36: Proxy build produces wrong artifact and likely builds in wrong dir.

  • go build runs in /app but sources are under /app/proxy; no go.mod at /app → build will fail.
  • Even if it built, the binary name wouldn’t match the final COPY path (/app/assisted-disconnected-ui).

Apply this diff:

-FROM registry.access.redhat.com/ubi9/go-toolset:1.22 as proxy-build
-WORKDIR /app
-COPY apps/assisted-disconnected-ui/proxy /app
+FROM registry.access.redhat.com/ubi9/go-toolset:1.22 as proxy-build
+WORKDIR /app/proxy
+COPY apps/assisted-disconnected-ui/proxy/ /app/proxy
 USER 0
 # Build using vendored deps as build system does not have internet access
-RUN export GOFLAGS="-mod=vendor"; go build
+RUN export GOFLAGS="-mod=vendor"; \
+    CGO_ENABLED=0 go build -o /app/assisted-disconnected-ui .

@pawanpinjarkar pawanpinjarkar force-pushed the update-dockerfile-to-provide-dependencies-from-remote-source branch from a58a848 to bf8aef9 Compare September 24, 2025 02:24
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: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c1afd50 and bf8aef9.

📒 Files selected for processing (1)
  • apps/assisted-disconnected-ui/Containerfile.ocp (1 hunks)
🔇 Additional comments (3)
apps/assisted-disconnected-ui/Containerfile.ocp (3)

37-42: Confirm final COPY/CMD after fixing proxy build.

After producing /app/assisted-disconnected-ui, these lines are fine; otherwise COPY will fail or CMD won’t find the binary.


30-35: go build outputs wrong path and ignores Cachito env; final COPY will fail.

Without -o, the binary will be /app/app, but the final stage copies /app/assisted-disconnected-ui. Also source cachito.env (or vendor) to build offline.

Apply this diff:

 FROM registry.access.redhat.com/ubi9/go-toolset:1.22 as proxy-build
 WORKDIR /app
 COPY apps/assisted-disconnected-ui/proxy /app
 USER 0
-# Build using vendored deps as build system does not have internet access
-RUN export GOFLAGS="-mod=vendor"; go build
+# Build using Cachito-provided deps (offline) and emit the expected binary name
+ARG REMOTE_SOURCES
+ARG REMOTE_SOURCES_DIR=/remote-sources
+COPY ${REMOTE_SOURCES} ${REMOTE_SOURCES_DIR}
+RUN set -eux; \
+    if [ -f "${REMOTE_SOURCES_DIR}/cachito-gomod-with-deps/cachito.env" ]; then \
+      . "${REMOTE_SOURCES_DIR}/cachito-gomod-with-deps/cachito.env"; \
+    fi; \
+    CGO_ENABLED=0 go build -o /app/assisted-disconnected-ui .

15-22: Fix cached Yarn path and wire Cachito inputs; current ./artifacts path will miss in ART.

CACHED_YARN must point under $REMOTE_SOURCES_DIR. Also, source cachito.env and copy the workspace files when using remote sources so yarn install works offline/deterministically.

Apply this diff:

-# bootstrap yarn so we can install and run the other tools.
-RUN CACHED_YARN=./artifacts/${YARN_VERSION}.tar.gz; \
+# bootstrap yarn so we can install and run the other tools.
+RUN CACHED_YARN="${REMOTE_SOURCES_DIR}/artifacts/${YARN_VERSION}.tar.gz"; \
     if [ -f ${CACHED_YARN} ]; then \
       # use dependencies provided by Cachito
-      npm install -g ${CACHED_YARN}; \
-      test -d ${REMOTE_SOURCES_DIR}/cachito-gomod-with-deps || exit 1; \
-      && . ${REMOTE_SOURCES_DIR}/cachito-gomod-with-deps/cachito.env \
-      && yarn install --immutable && yarn build:all; \
+      npm install -g "${CACHED_YARN}"; \
+      test -d "${REMOTE_SOURCES_DIR}/cachito-gomod-with-deps" || exit 1; \
+      cp -f "${REMOTE_SOURCES_DIR}/cachito-gomod-with-deps/app/.yarnrc.yml" . \
+      && cp -f "${REMOTE_SOURCES_DIR}/cachito-gomod-with-deps/app/yarn.lock" . \
+      && cp -f "${REMOTE_SOURCES_DIR}/cachito-gomod-with-deps/app/apps/assisted-disconnected-ui/package.json" apps/assisted-disconnected-ui/ \
+      && . "${REMOTE_SOURCES_DIR}/cachito-gomod-with-deps/cachito.env" \
+      && yarn install --immutable \
+      && yarn build:all; \
     else \
       # For local builds
       npm install -g corepack@0.24.1; \
       corepack enable; \
       corepack prepare yarn@${YARN_VERSION} --activate; \
       yarn install --immutable && yarn build:all; \
     fi

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

🧹 Nitpick comments (1)
apps/assisted-disconnected-ui/Containerfile.ocp (1)

39-44: Run as non-root and set permissive perms for OpenShift.

Harden runtime by avoiding root and ensuring arbitrary UID can read/execute.

Apply this diff:

 FROM registry.ci.openshift.org/ocp/4.20:base-rhel9
 COPY --from=ui-build /app/apps/assisted-disconnected-ui/build /app/proxy/dist
 COPY --from=proxy-build /app/assisted-disconnected-ui /app/proxy
 WORKDIR /app/proxy
 EXPOSE 8080
+RUN chgrp -R 0 /app && chmod -R g=u /app
+USER 1001
 CMD ./assisted-disconnected-ui
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between bf8aef9 and 9613ea5.

📒 Files selected for processing (1)
  • apps/assisted-disconnected-ui/Containerfile.ocp (1 hunks)
🔇 Additional comments (3)
apps/assisted-disconnected-ui/Containerfile.ocp (3)

9-12: Good: ARGs declared before COPY for REMOTE_SOURCES.

Improves portability and avoids unresolved-var failures in local builds.

If you expect developers to build locally without REMOTE_SOURCES, consider documenting the required build-arg (or a no-op value) so the COPY doesn’t fail locally.


36-41: Proxy binary path mismatch: go build output doesn’t match COPY target.

Without -o, the binary won’t be /app/assisted-disconnected-ui, so the final COPY will fail. Emit the expected path.

Apply this diff:

-# Build using vendored deps as build system does not have internet access
-RUN export GOFLAGS="-mod=vendor"; go build
+# Build using vendored deps as build system does not have internet access
+RUN export GOFLAGS="-mod=vendor"; \
+    CGO_ENABLED=0 go build -o /app/assisted-disconnected-ui .

17-24: Remote-sources flow is broken: wrong cache path, invalid shell chaining, and missing Cachito-provided Yarn files.

  • CACHED_YARN points to ./artifacts instead of ${REMOTE_SOURCES_DIR}/artifacts.
  • Line 22 starts with “&&” after a command terminator, which is a shell syntax error.
  • The Cachito-provided .yarnrc.yml, yarn.lock, and the app package.json are not copied in; offline build likely won’t use cached deps.

Apply this diff:

-# bootstrap yarn so we can install and run the other tools.
-RUN CACHED_YARN=./artifacts/${YARN_VERSION}.tar.gz; \
+# bootstrap yarn so we can install and run the other tools.
+RUN CACHED_YARN="${REMOTE_SOURCES_DIR}/artifacts/${YARN_VERSION}.tar.gz"; \
     if [ -f ${CACHED_YARN} ]; then \
       # use dependencies provided by Cachito
-      npm install -g ${CACHED_YARN}; \
-      test -d ${REMOTE_SOURCES_DIR}/cachito-gomod-with-deps || exit 1; \
-      && . ${REMOTE_SOURCES_DIR}/cachito-gomod-with-deps/cachito.env \
-      && yarn install --immutable && yarn build:all; \
+      npm install -g "${CACHED_YARN}"; \
+      test -d "${REMOTE_SOURCES_DIR}/cachito-gomod-with-deps/app" || exit 1; \
+      cp -f "${REMOTE_SOURCES_DIR}/cachito-gomod-with-deps/app/.yarnrc.yml" . \
+      && cp -f "${REMOTE_SOURCES_DIR}/cachito-gomod-with-deps/app/yarn.lock" . \
+      && cp -f "${REMOTE_SOURCES_DIR}/cachito-gomod-with-deps/app/apps/assisted-disconnected-ui/package.json" apps/assisted-disconnected-ui/ \
+      && . "${REMOTE_SOURCES_DIR}/cachito-gomod-with-deps/cachito.env" \
+      && yarn install --immutable \
+      && yarn build:all; \
     else \
       # For local builds
       npm install -g corepack@0.24.1; \
       corepack enable; \
       corepack prepare yarn@${YARN_VERSION} --activate; \
       yarn install --immutable && yarn build:all; \
     fi

Also applies to: 25-30

@pawanpinjarkar
Copy link
Contributor Author

/test images

@pawanpinjarkar pawanpinjarkar force-pushed the update-dockerfile-to-provide-dependencies-from-remote-source branch from 9613ea5 to 2a2ca55 Compare September 24, 2025 13:17
@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Sep 24, 2025
@openshift-ci
Copy link

openshift-ci bot commented Sep 24, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: celdrake, pawanpinjarkar, 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

@pawanpinjarkar pawanpinjarkar force-pushed the update-dockerfile-to-provide-dependencies-from-remote-source branch from 2a2ca55 to 717e89b Compare September 24, 2025 14:21
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Sep 24, 2025
@pawanpinjarkar pawanpinjarkar force-pushed the update-dockerfile-to-provide-dependencies-from-remote-source branch from 717e89b to f9f640a Compare September 24, 2025 14:22
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

🧹 Nitpick comments (1)
apps/assisted-disconnected-ui/Containerfile.ocp (1)

10-12: Make REMOTE_SOURCES copy resilient for local builds.

Default REMOTE_SOURCES to “.” so COPY doesn’t fail when not provided.

-ARG REMOTE_SOURCES
+ARG REMOTE_SOURCES=.
 ARG REMOTE_SOURCES_DIR=/remote-sources
-COPY ${REMOTE_SOURCES} ${REMOTE_SOURCES_DIR}
+COPY ${REMOTE_SOURCES} ${REMOTE_SOURCES_DIR}

If local builds shouldn’t copy, document required build-args instead.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2a2ca55 and f9f640a.

📒 Files selected for processing (1)
  • apps/assisted-disconnected-ui/Containerfile.ocp (1 hunks)
🔇 Additional comments (2)
apps/assisted-disconnected-ui/Containerfile.ocp (2)

35-35: Proxy binary not produced at expected path; add -o to go build.

Without -o, the binary won’t be at /app/assisted-disconnected-ui, making the final COPY fail.

-RUN export GOFLAGS="-mod=vendor"; go build
+RUN export GOFLAGS="-mod=vendor"; \
+    CGO_ENABLED=0 go build -o /app/assisted-disconnected-ui .

17-28: Fix Cachito Yarn tarball path and source cachito.env for offline installs.

Using ./artifacts misses the REMOTE_SOURCES_DIR; also source cachito.env so yarn install works in disconnected builds.

-RUN CACHED_YARN=./artifacts/${YARN_VERSION}.tar.gz; \
-    if [ -f ${CACHED_YARN} ]; then \
-      # use dependencies provided by Cachito
-      npm install -g ${CACHED_YARN}; \
-      yarn install --immutable && yarn build:all; \
+RUN CACHED_YARN="${REMOTE_SOURCES_DIR}/artifacts/${YARN_VERSION}.tar.gz"; \
+    if [ -f "${CACHED_YARN}" ]; then \
+      # use dependencies provided by Cachito
+      npm install -g "${CACHED_YARN}"; \
+      CACHITO_ENV="$(find "${REMOTE_SOURCES_DIR}" -type f -name cachito.env -print -quit)"; \
+      if [ -n "${CACHITO_ENV}" ]; then . "${CACHITO_ENV}"; fi; \
+      yarn install --immutable && yarn build:all; \
     else \
       # For local builds
       npm install -g corepack@0.24.1; \
       corepack enable; \
-      corepack prepare yarn@${YARN_VERSION} --activate; \
+      corepack prepare "yarn@${YARN_VERSION}" --activate; \
       yarn install --immutable && yarn build:all; \
     fi

@celdrake
Copy link
Contributor

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Sep 24, 2025
@openshift-merge-bot openshift-merge-bot bot merged commit eadfe17 into openshift-assisted:master Sep 24, 2025
11 checks passed
@openshift-ci-robot
Copy link

@pawanpinjarkar: Jira Issue OCPBUGS-61953: All pull requests linked via external trackers have merged:

Jira Issue OCPBUGS-61953 has been moved to the MODIFIED state.

Details

In response to this:

Update dockerfile for ART to manage dependencies from REMOTE_SOURCES and CACHED_YARN for the ART builds

Summary by CodeRabbit

  • New Features

  • Bundled proxy component to better support restricted/offline environments.

  • Security

  • Updated base images to newer RHEL 9 builds for improved platform security.

  • Performance

  • Optimized multi-stage build to reduce artifact size and improve startup reliability.

  • Chores

  • Introduced cached remote-sources flow and vendored dependency builds with fallback for more reproducible, offline-capable builds.

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-cherrypick-robot
Copy link
Contributor

@rawagner: new pull request created: #3178

Details

In response to this:

/ok-to-test
/cherry-pick release-4.20

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-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-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. 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. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants