- Notifications
You must be signed in to change notification settings - Fork918
feat(site): warn on provisioner health during builds#15589
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
No logic or api interaction yet. Just checking presentation and enumerating error cases.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
site/src/pages/TemplateVersionEditorPage/TemplateVersionEditor.tsx OutdatedShow resolvedHide resolved
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
bpmct commentedNov 26, 2024 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
SasSwart commentedNov 27, 2024 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
See updated screenshots. We now include tags and use one component for all these alerts to ensure consistency. I used an existing ProvisionerTag component to render the tags in accordance with how we render them elsewhere. TODO before we can release this:
|
Deployment happens automatically on merge, but we have a way to publish "preview" deployments. |
github-actionsbot commentedNov 27, 2024 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Copy LGTM! Just left a few nits, but non-blocking. The messaging is clear, which is most important.
case matchingProvisioners === 0: | ||
title = "Provisioning Cannot Proceed"; | ||
detail = | ||
"There are no provisioners that accept the required tags. Please contact your administrator. Once a compatible provisioner becomes available, provisioning will continue."; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
"There are no provisioners that accept the required tags. Please contact your administrator. Once a compatible provisioner becomes available,provisioning will continue."; | |
"There are no provisioners that accept the required tags. Please contact your administrator. Once a compatible provisioner becomes available,your build will continue."; |
Also, are we able to link to thedocs on external provisioners?
If the user is an admin, it may be nice to remove "Contact your administrator." And also link to theprovisioners page for the given organization.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
OK to do this as a follow-up? I've seen plenty of systems where a "contact your administrator" is shown regardless of your user's capabilities.
case availableProvisioners === 0: | ||
title = "Provisioning Delayed"; | ||
detail = | ||
"Provisioners that accept the required tags are currently anavailable. This may delay your build. Please contact your administrator if your build does not complete."; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Are we able to show a queue length, like we do in the workspaces page? If nontrivial, this copy LGTM!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
I think it might be non-trivial so let's leave it as a follow-up?
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
case availableProvisioners === 0: | ||
title = "Provisioning Delayed"; | ||
detail = | ||
"Provisioners that accept the required tags are currently anavailable. This may delay your build. Please contact your administrator if your build does not complete."; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
I think it might be non-trivial so let's leave it as a follow-up?
case matchingProvisioners === 0: | ||
title = "Provisioning Cannot Proceed"; | ||
detail = | ||
"There are no provisioners that accept the required tags. Please contact your administrator. Once a compatible provisioner becomes available, provisioning will continue."; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
OK to do this as a follow-up? I've seen plenty of systems where a "contact your administrator" is shown regardless of your user's capabilities.
@@ -49,6 +49,73 @@ type Story = StoryObj<typeof TemplateVersionEditor>; | |||
export const Example: Story = {}; | |||
export const UndefinedLogs: Story = { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
👍
56c792a
intomainUh oh!
There was an error while loading.Please reload this page.
Relates to#15048 |
Hmm. I thought it did, but another look at#15048 prompted me to notice that we need to do this for workspace builds as well. So far we only have it for templates and template versions. The frontend for workspace builds should be quick work, given that we have the components for it already. Not sure about the backend side, but I don't anticipate any dragons. I'll wack together a PR and get it in. People are going to start going on weekend soon. If it's as small as I think it's going to be, is there any objection to me hotfixing it into main to get it onto dogfood so we can smoke test over the weekend? I'll exercise the necessary professional judgement and defer for another engineer if it's at all complex. |
@SasSwart let's collaborate on this. |
This PR adds warning alerts to log drawers for templates and templateversions. warning alerts for workspace builds to follow in a subsequentPR. Phrasing to be finalised. Stories added and manually verified. Seescreenshots below.Updating a template version with no provisioners:<img width="1250" alt="Screenshot 2024-11-27 at 11 06 28"src="https://github.com/user-attachments/assets/47aa0940-57a8-44e1-b9a3-25a638fa2c8d">Build Errors for template versions now show tags as well:<img width="1250" alt="Screenshot 2024-11-27 at 11 07 01"src="https://github.com/user-attachments/assets/566e5339-0fe1-4cf7-8eab-9bf4892ed28a">Updating a template version with provisioners that are busy orunresponsive:<img width="1250" alt="Screenshot 2024-11-27 at 11 06 40"src="https://github.com/user-attachments/assets/71977c8c-e4ed-457f-8587-2154850e7567">Creating a new template with provisioners that are busy or unresponsive:<img width="819" alt="Screenshot 2024-11-27 at 11 08 55"src="https://github.com/user-attachments/assets/bda11501-b482-4046-95c5-feabcd1ad7f5">Creating a new template when there are no provisioners to do the build:<img width="819" alt="Screenshot 2024-11-27 at 11 08 45"src="https://github.com/user-attachments/assets/e4279ebb-399e-4c6e-86e2-ead8f3ac7605">(cherry picked from commit56c792a)
Uh oh!
There was an error while loading.Please reload this page.
This PR adds warning alerts to log drawers for templates and template versions. warning alerts for workspace builds to follow in a subsequent PR. Phrasing to be finalised. Stories added and manually verified. See screenshots below.
Updating a template version with no provisioners:





Build Errors for template versions now show tags as well:
Updating a template version with provisioners that are busy or unresponsive:
Creating a new template with provisioners that are busy or unresponsive:
Creating a new template when there are no provisioners to do the build: