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

[server] Use image-builder from workspace cluster #9337

Closed
wants to merge 2 commits into from

Conversation

csweichel
Copy link
Contributor

@csweichel csweichel commented Apr 14, 2022

Description

This PR makes server use the image builder from workspace cluster.

**Note: ** merge and deploy this only once #9335 is merged, deployed and running.

Related Issue(s)

Fixes #9248

How to test

Start a workspace which requires an image-build

Release Notes

Use image-builder from workspace cluster
  • /werft run with-vm=true

@roboquat roboquat added size/XXL and removed size/XL labels Apr 14, 2022
@csweichel csweichel changed the base branch from main to cw/imgbldr-mv-i April 14, 2022 16:23
@roboquat roboquat added size/XL and removed size/XXL labels Apr 14, 2022
@csweichel csweichel force-pushed the cw/imgbldr-mv-i branch 2 times, most recently from 4f5fb05 to b6906d7 Compare April 19, 2022 13:33
Base automatically changed from cw/imgbldr-mv-i to main April 19, 2022 16:17
@roboquat roboquat added size/XXL and removed size/XL labels Apr 19, 2022
@roboquat roboquat added size/XL and removed size/XXL labels Apr 19, 2022
@csweichel
Copy link
Contributor Author

csweichel commented Apr 21, 2022

/werft run with-clean-slate

👍 started the job as gitpod-build-cw-imgbldr-mv-ii.3

@kylos101
Copy link
Contributor

Hi 👋 ,

@csweichel #9335 is deployed. 👍 🙌

@geropl , do we have a governed workspace cluster in staging that is separate from webapp, so we can test similar to prod? If not, we may be able to do with am ephemeral cluster, or workspace-preview.

What scenarios do we have to test?

  1. Test with an explicit image build, similar to gitpod.io/#imagebuild/ (it should image build)
  2. Test a prebuild that needs an image build first (it should image build, before doing prebuild)
  3. Test a fresh repo with a custom dockerfile by starting a regular workspace (it should image build)
  4. Am I missing any other scenarios? 🤔

@aledbf is there anything we need to prepare for, that you can think of, that we should add here?

@geropl
Copy link
Member

geropl commented Apr 25, 2022

do we have a governed workspace cluster in staging that is separate from webapp, so we can test similar to prod?

We don't have separate workspace clusters, for have EU/US as "full" installations, with the ws-manager being dynamically registered. So we should be able to test just like in prod. 👍

Will review here today.

ctx.span?.setTag("workspace.imageBuild.logs.fallback", true);
await this.deprecatedDoWatchWorkspaceImageBuildLogs(ctx, logCtx, workspace);
return;
log.error(logCtx, "cannot watch imagebuild logs for workspaceId: no image build info available");
Copy link
Member

Choose a reason for hiding this comment

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

👍

@geropl
Copy link
Member

geropl commented Apr 26, 2022

BTW: reviewed yesterday, and code looks good! 🙏

Now waiting for a preview to test and play around with.

@geropl
Copy link
Member

geropl commented Apr 26, 2022

/werft run

👍 started the job as gitpod-build-cw-imgbldr-mv-ii.6
(with .werft/ from main)

@geropl
Copy link
Member

geropl commented Apr 27, 2022

@csweichel Can we move forward with this, or is it blocked somehow? 🤔
Also, happy to assign someone from WebApp for rebasing/testing etc. if that helps. 🙏

@csweichel
Copy link
Contributor Author

Taking this back to "ready for review" because the PR is indeed ready for review.
With the ws45 clusters being rolled out tomorrow, webapp could deploy this change to prod (e.g. on Thursday).

/hold

@csweichel csweichel marked this pull request as ready for review May 10, 2022 17:39
@sagor999
Copy link
Contributor

sagor999 commented May 20, 2022

/werft run with-clean-slate-deployment=true

👍 started the job as gitpod-build-cw-imgbldr-mv-ii.17
(with .werft/ from main)

Copy link
Contributor

@sagor999 sagor999 left a comment

Choose a reason for hiding this comment

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

lgtm, except for one minor typo, but approving with hold to address that fix.
/hold

Tested in preview env using @jankeromnes two test repos and everything worked as expected.

@@ -92,14 +92,14 @@ export class WorkspaceManagerClientProvider implements Disposable {
let client = this.connectionCache.get(name);
if (!client) {
const info = await getConnectionInfo();
client = this.createClient(info, grpcOptions);
client = client = this.createConnection(WorkspaceManagerClient, info, grpcOptions);
Copy link
Contributor

Choose a reason for hiding this comment

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

@csweichel this is still not addressed.

@sagor999
Copy link
Contributor

/unhold

@sagor999
Copy link
Contributor

/hold
we are holding this until we deploy XL cluster change. And after that we can try to get this PR reviewed and pushed.

@aledbf
Copy link
Member

aledbf commented Jun 3, 2022

we are holding this until we deploy XL cluster change. And after that we can try to get this PR reviewed and pushed.

We have that now in gen46. What's missing?

@csweichel
Copy link
Contributor Author

We need to investigate if the new image builder log path is being used. I.e. the path where image builder reports the log location and server consumes it the same way we do for prebuilds.

@jankeromnes jankeromnes removed their assignment Jun 8, 2022
@AlexTugarev
Copy link
Member

What's the state of this issue?

We did various improvements and bug fixes around the "Prebuild in Progress" view in #10361, but without a refresh on image build logs mentioned previously, it's overshadowed by the lack of logs. From UX perspective the view remains broken, as no one will know how long to wait for the results if the logs aren't served.

@easyCZ
Copy link
Member

easyCZ commented Jun 27, 2022

I'm moving this into draft as currently it is unclear what remains to do on this PR. Feel free to bring back into review if this is in a reviewable (and mergeable) state.

@geropl
Copy link
Member

geropl commented Jun 30, 2022

I'm moving this into draft as currently it is unclear what remains to do on this PR. Feel free to bring back into review if this is in a reviewable (and mergeable) state.

@easyCZ 👍 for moving into draft.

FYI, @kylos101 and I agreed that the next step is two things:

ℹ️ The logs-PR contains some of the changes from this branch, so I will rebase it once those one hit main.

@geropl
Copy link
Member

geropl commented Jul 4, 2022

To move forward I split up both aspects of this PR and put them behind feature flags. The 2nd PR is here: #11103 .

@stale
Copy link

stale bot commented Jul 30, 2022

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the meta: stale This issue/PR is stale and will be closed soon label Jul 30, 2022
@kylos101 kylos101 added meta: never-stale This issue can never become stale and removed meta: stale This issue/PR is stale and will be closed soon labels Aug 1, 2022
@sagor999
Copy link
Contributor

sagor999 commented Aug 4, 2022

@csweichel @kylos101 what would you like to do with this PR?

@aledbf
Copy link
Member

aledbf commented Mar 29, 2023

Closing. Done.

@aledbf aledbf closed this Mar 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
do-not-merge/hold do-not-merge/work-in-progress meta: never-stale This issue can never become stale release-note size/L team: webapp Issue belongs to the WebApp team team: workspace Issue belongs to the Workspace team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make server talk to image-builder in workspace cluster
9 participants