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

feat: improve installer job feedback #1755

Open
wants to merge 16 commits into
base: main
Choose a base branch
from
Open

feat: improve installer job feedback #1755

wants to merge 16 commits into from

Conversation

CasLubbers
Copy link
Contributor

@CasLubbers CasLubbers commented Oct 10, 2024

Checklist

  • Test scenario with dns and production grade certificates
  • Added unit tests for newly created code
  • Helm chart and helmfile changes are tested against upgrade scenario, if applicable.

Copy link
Collaborator

@ferruhcihan ferruhcihan left a comment

Choose a reason for hiding this comment

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

Nice work! The code is clean and easy to follow. I tested it with a cluster 👍🏻 and it works.
I have a few comments, especially regarding the tests.

src/cmd/commit.test.ts Outdated Show resolved Hide resolved
src/cmd/commit.test.ts Show resolved Hide resolved
src/cmd/commit.test.ts Outdated Show resolved Hide resolved
src/cmd/commit.test.ts Outdated Show resolved Hide resolved
src/cmd/apply.ts Outdated Show resolved Hide resolved
Copy link
Collaborator

@ferruhcihan ferruhcihan left a comment

Choose a reason for hiding this comment

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

LGTM 👍🏻

Copy link
Contributor

@j-zimnowoda j-zimnowoda left a comment

Choose a reason for hiding this comment

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

While installing
image

First Job Pod has failed due the following errors

2024-10-16T08:41:01.095Z otomi:cmd:bootstrap:bootstrapGit:info Git repo was already bootstrapped, setting identity just in case
2024-10-16T08:41:01.168Z otomi:common:k8s:waitTillGitRepoAvailable:warn fatal: unable to access 'http://gitea-http.gitea.svc.cluster.local:3000/otomi/values.git/': Could not resolve host: gitea-http.gitea.svc.cluster.local
    at /home/app/stack/dist/src/common/k8s.js:190:31
    exit code: 128 (Invalid exit argument)
2024-10-16T08:41:02.328Z otomi:common:k8s:waitTillGitRepoAvailable:warn remote: Not found.
fatal: repository 'http://gitea-http.gitea.svc.cluster.local:3000/otomi/values.git/' not found
    at /home/app/stack/dist/src/common/k8s.js:190:31
    exit code: 128 (Invalid exit argument)


....
2024-10-16T08:41:09.351Z otomi:cmd:commit:pipelineRun:info There is a Tekton PipelineRuns continuing...
2024-10-16T08:41:09.353Z otomi:cmd:commit:isOAuth2ProxyRunning:info Checking if OAuth2Proxy is running, waiting...
2024-10-16T08:41:19.447Z otomi:cmd:commit:isOAuth2ProxyRunning:info Checking if OAuth2Proxy is running, waiting...
2024-10-16T08:41:34.462Z otomi:cmd:commit:isOAuth2ProxyRunning:info Checking if OAuth2Proxy is running, waiting...
2024-10-16T08:41:56.995Z otomi:cmd:commit:isOAuth2ProxyRunning:info Checking if OAuth2Proxy is running, waiting...
2024-10-16T08:42:30.792Z otomi:cmd:commit:isOAuth2ProxyRunning:info Checking if OAuth2Proxy is running, waiting...
2024-10-16T08:43:21.475Z otomi:cmd:commit:isOAuth2ProxyRunning:info Checking if OAuth2Proxy is running, waiting...
2024-10-16T08:44:37.502Z otomi:cmd:commit:isOAuth2ProxyRunning:info Checking if OAuth2Proxy is running, waiting...
2024-10-16T08:46:31.647Z otomi:cmd:commit:isOAuth2ProxyRunning:info Checking if OAuth2Proxy is running, waiting...
2024-10-16T08:49:22.618Z otomi:cmd:commit:isOAuth2ProxyRunning:info Checking if OAuth2Proxy is running, waiting...
2024-10-16T08:53:39.021Z otomi:cmd:commit:isOAuth2ProxyRunning:info Checking if OAuth2Proxy is running, waiting...
2024-10-16T09:00:03.563Z otomi:cmd:commit:isOAuth2ProxyRunning:info Checking if OAuth2Proxy is running, waiting...
2024-10-16T09:00:03.578Z otomi:cmd:commit:isOAuth2ProxyRunning:error Error checking if OAuth2Proxy is ready: HttpError: HTTP request failed
    at Request._callback (/home/app/stack/node_modules/@kubernetes/client-node/dist/gen/api/appsV1Api.js:4142:36)

  body: {
    kind: 'Status',
    apiVersion: 'v1',
    metadata: {},
    status: 'Failure',
    message: 'deployments.apps "oauth2-proxy" not found',
    reason: 'NotFound',
    details: { name: 'oauth2-proxy', group: 'apps', kind: 'deployments' },
    code: 404
  },
  statusCode: 404

then second Job Pod has not printed message with the instruction.

image

I also spotted an undefined variable in logs

2024-10-16T09:00:03.760Z otomi:cmd:apply:apply:info Retrying in undefined ms

@@ -120,7 +126,8 @@ const applyAll = async () => {
{ streams: { stdout: d.stream.log, stderr: d.stream.error } },
)
await cloneOtomiChartsInGitea()
await retryCheckingForPipelinerun()
await retryCheckingForPipelineRun()
await retryIsOAuth2ProxyRunning()
Copy link
Contributor

Choose a reason for hiding this comment

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

Just an idea, would be better to check if well_known url from keycloak is responsive?

https://keycloak.<domainSuffix>/realms/otomi/.well-known/openid-configuration

It seems that checking if Oauth2Proxy Pod is running may not be enough

src/cmd/apply.ts Outdated
@@ -109,7 +115,7 @@ const applyAll = async () => {
await upgrade({ when: 'post' })
if (!(env.isDev && env.DISABLE_SYNC)) {
await commit()
if (intitalInstall) {
if (initialInstall && !argv.tekton) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Could you use !argv.tekton while defining the value of the initialInstall variable?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants