Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OCPBUGS-6634: Enable building tectonic-console-builder on arm64 and fix the Dockerfile.product to work with no cached artifacts #12444

Merged
merged 3 commits into from
Jan 26, 2023

Conversation

aleskandro
Copy link
Member

@aleskandro aleskandro commented Jan 18, 2023

This PR will allow:

  1. building the console-tecotonic-builder (Dockerfile.builder) and the console (Dockerfile) on architectures different than amd64;
  2. building the console using the Dockerfile.product outside the internal build engines.

I disabled the installation of google-chrome in the Dockerfile.builder as it is not shipped for arm64: chromium is available, but I'm not sure it is ok for the purpose it has in the tests.

Still, console-tectonic-builder will only allow building the console on arm64 once nodeJs is bumped to v14.17.0 (see nodejs/help#3202). As the idea is to switch using a unique Dockerfile for both the CI and the shipped product, this PR will not address the version bump, and the builds for arm64 can work from the Dockerfile.product.

After this is merged, openshift/release#35527 can land, and we can start using Dockerfile.product in the CI and for OKD.

The changes to the Dockerfile.product have been tested in prow through a temporary commit. log here.

cc @jeffdyoung @LorbusChris

…rent than x86_64

This commit will allow building the tectonic-console-builder on platforms different than x86_64. The installation of chrome is currently disabled as it is not shipped for arm64.
@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jan 18, 2023
@openshift-ci openshift-ci bot requested review from rhamilto and spadgett January 18, 2023 14:13
@jhadvig
Copy link
Member

jhadvig commented Jan 18, 2023

Thanks for the change @aleskandro 👍 Please let me know once you change the image in the .ci-operator.yaml file

@aleskandro
Copy link
Member Author

Based on the discussion in https://redhat-internal.slack.com/archives/C6A3NV5J9/p1674051149090609, I'm giving a shot to make the Dockerfile.product compatible for both ART and Prow builds.

@aleskandro
Copy link
Member Author

The changes to the Dockerfile.product have been tested in prow through a temporary commit. log here.

They will also be ok to build on arm64 as already done by ART.

Though, I would also check-in the ones in the Dockerfile.builder to make it general enough to work on other architectures

/cc @spadgett

@@ -55,7 +56,8 @@ RUN cd /tmp && \
ln -s /usr/local/yarn/bin/yarn /usr/local/bin/yarn

# Install Chrome for installer gui tests
RUN wget --quiet -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
RUN test "$(go env GOARCH)" = amd64 || exit 0; \
Copy link
Member Author

Choose a reason for hiding this comment

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

Can the test suite use chromium and provide reliable test results? We could install it at least for non-amd64 images.

@spadgett
Copy link
Member

Thanks @aleskandro. I think it would be good to have ART review the Dockerfile.product changes.

/cc @sosiouxme

@openshift-ci openshift-ci bot requested a review from sosiouxme January 19, 2023 13:45
@aleskandro aleskandro changed the title Enable building tectonic-console-builder on arm64 and bump nodejs to v14.17.0 Enable building tectonic-console-builder on arm64 and fix the Dockerfile.product to work with no cached artifacts Jan 20, 2023
@aleskandro
Copy link
Member Author

/unhold

@openshift-ci openshift-ci bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jan 20, 2023
Dockerfile.product considers the build engine providing (a) cachito-backed cache artifacts for the dependencies and (b) a cached yarn. This commit enables builder engines not providing caching artifacts to build the Dockerfile.product image by pulling the packages from other remote sources when the cached files are not available.
@LorbusChris
Copy link
Member

@aleskandro if Dockerfile is going to go away, why not replace it with a symlink to Dockerfile.product here in this PR?

@aleskandro
Copy link
Member Author

aleskandro commented Jan 24, 2023

@aleskandro if Dockerfile is going to go away, why not replace it with a symlink to Dockerfile.product here in this PR?

We could also rename Dockerfile.product to Dockerfile then and change the ref in https://github.com/openshift/ocp-build-data/blob/openshift-4.13/images/openshift-enterprise-console.yml#L3. Can't we?

@LorbusChris
Copy link
Member

LorbusChris commented Jan 24, 2023

Sure, it's just when the two are symlinks the config changes in release and ocp-build-data become optional/merely cleanup.

Copy link
Member

@LorbusChris LorbusChris 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 openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jan 24, 2023
@aleskandro
Copy link
Member Author

/assign @jhadvig

Copy link
Member

@spadgett spadgett left a comment

Choose a reason for hiding this comment

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

/approve

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 24, 2023

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: aleskandro, LorbusChris, spadgett

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

The pull request process is described here

Needs approval from an approver in each of these files:

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

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jan 24, 2023
@aleskandro
Copy link
Member Author

aleskandro commented Jan 24, 2023

The failing tests seem unrelated, can we skip?

@aleskandro aleskandro changed the title Enable building tectonic-console-builder on arm64 and fix the Dockerfile.product to work with no cached artifacts OCPBUGS-6634: Enable building tectonic-console-builder on arm64 and fix the Dockerfile.product to work with no cached artifacts Jan 25, 2023
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jan 25, 2023
@openshift-ci-robot
Copy link
Contributor

@aleskandro: This pull request references Jira Issue OCPBUGS-6634, which is invalid:

  • expected the bug to target the "4.13.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.

In response to this:

This PR will allow:

  1. building the console-tecotonic-builder (Dockerfile.builder) and the console (Dockerfile) on architectures different than amd64;
  2. building the console using the Dockerfile.product outside the internal build engines.

I disabled the installation of google-chrome in the Dockerfile.builder as it is not shipped for arm64: chromium is available, but I'm not sure it is ok for the purpose it has in the tests.

Still, console-tectonic-builder will only allow building the console on arm64 once nodeJs is bumped to v14.17.0 (see nodejs/help#3202). As the idea is to switch using a unique Dockerfile for both the CI and the shipped product, this PR will not address the version bump, and the builds for arm64 can work from the Dockerfile.product.

After this is merged, openshift/release#35527 can land, and we can start using Dockerfile.product in the CI and for OKD.

The changes to the Dockerfile.product have been tested in prow through a temporary commit. log here.

cc @jeffdyoung @LorbusChris

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/test-infra repository.

@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 Jan 25, 2023
@aleskandro
Copy link
Member Author

/jira refresh

@openshift-ci-robot
Copy link
Contributor

@aleskandro: This pull request references Jira Issue OCPBUGS-6634, which is invalid:

  • expected the bug to target the "4.13.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.

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 kubernetes/test-infra repository.

@aleskandro
Copy link
Member Author

/jira refresh

@openshift-ci-robot openshift-ci-robot added jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. labels Jan 25, 2023
@openshift-ci-robot
Copy link
Contributor

@aleskandro: This pull request references Jira Issue OCPBUGS-6634, 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.13.0) matches configured target version for branch (4.13.0)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @yapei

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 kubernetes/test-infra 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 Jan 25, 2023
@openshift-ci openshift-ci bot requested a review from yapei January 25, 2023 08:35
@openshift-ci-robot
Copy link
Contributor

/retest-required

Remaining retests: 0 against base HEAD 8208836 and 2 for PR HEAD d9649c2 in total

@jhadvig
Copy link
Member

jhadvig commented Jan 25, 2023

/test e2e-gcp-console

@jhadvig
Copy link
Member

jhadvig commented Jan 25, 2023

1) Testing uninstall of Business Automation Operator
       "before each" hook for "attempts to uninstall the Operator and delete all Operand Instances, shows 'Error Deleting Operands' alert":
     CypressError: Timed out retrying after 30050ms: `cy.click()` failed because this element:
`<a data-test="nav" class="pf-c-nav__link pf-m-current" href="/k8s/ns/test-omyaf/operators.coreos.com~v1alpha1~ClusterServiceVersion" aria-current="page">Install...</a>`
is being covered by another element:
`<div class="ReactModal__Overlay ReactModal__Overlay--after-open co-overlay">...</div>`

@jhadvig
Copy link
Member

jhadvig commented Jan 25, 2023

/retest

@openshift-ci-robot
Copy link
Contributor

/retest-required

Remaining retests: 0 against base HEAD bc95861 and 1 for PR HEAD d9649c2 in total

@openshift-ci-robot
Copy link
Contributor

/retest-required

Remaining retests: 0 against base HEAD c563862 and 0 for PR HEAD d9649c2 in total

@openshift-merge-robot openshift-merge-robot merged commit f2a7248 into openshift:master Jan 26, 2023
@openshift-ci-robot
Copy link
Contributor

@aleskandro: All pull requests linked via external trackers have merged:

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

In response to this:

This PR will allow:

  1. building the console-tecotonic-builder (Dockerfile.builder) and the console (Dockerfile) on architectures different than amd64;
  2. building the console using the Dockerfile.product outside the internal build engines.

I disabled the installation of google-chrome in the Dockerfile.builder as it is not shipped for arm64: chromium is available, but I'm not sure it is ok for the purpose it has in the tests.

Still, console-tectonic-builder will only allow building the console on arm64 once nodeJs is bumped to v14.17.0 (see nodejs/help#3202). As the idea is to switch using a unique Dockerfile for both the CI and the shipped product, this PR will not address the version bump, and the builds for arm64 can work from the Dockerfile.product.

After this is merged, openshift/release#35527 can land, and we can start using Dockerfile.product in the CI and for OKD.

The changes to the Dockerfile.product have been tested in prow through a temporary commit. log here.

cc @jeffdyoung @LorbusChris

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/test-infra repository.

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. bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. 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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants