-
Notifications
You must be signed in to change notification settings - Fork 58
Implement a Golang cluster installer job that hides the template #288
Implement a Golang cluster installer job that hides the template #288
Conversation
9d58ceb to
9375085
Compare
stevekuznetsov
left a comment
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.
wowza
| 2018/10/08 05:29:15 Building machine-config-operator | ||
| 2018/10/08 05:29:15 Building machine-config-controller | ||
| 2018/10/08 05:31:47 Build machine-config-server succeeded after 2m28s | ||
| 2018/10/08 05:31:47 Tagging machine-config-server into stable |
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.
Why?
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.
We removed this months ago.
| } | ||
|
|
||
| if len(o.secrets) > 0 { | ||
| log.Printf("Populating secrets for test") |
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.
Why?
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.
Not actually useful, was just noise. We already print when we populate a secret.
| step := steps.TemplateExecutionStep(template, params, podClient, templateClient, artifactDir, jobSpec) | ||
| subTests, ok := step.(nestedSubTests) | ||
| if !ok { | ||
| panic(fmt.Sprintf("unexpected %T", step)) |
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.
this sounds fun
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 could make the step return an error. No reason we can't.
| } | ||
|
|
||
| func (s *e2eTestStep) Inputs(ctx context.Context, dry bool) (api.InputDefinition, error) { | ||
| return nil, nil |
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 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.
The e2e test step doesn't load any unique input from the graph that would alter the hash used to guarantee unique namespaces.
| } | ||
|
|
||
| func (s *e2eTestStep) Done() (bool, error) { | ||
| return false, nil |
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 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.
Done isn't used, suggest we remove it.
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 thought we used it to trigger children?
| } | ||
|
|
||
| addArtifactsToTemplate(s.template) | ||
| if len(s.artifactDir) > 0 { |
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.
Should this have failed a test somewhere?
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'll add a test, but it only occurs when you don't ask for artifacts.
|
This doesn't seem finished |
|
What isn't finished? |
9375085 to
12e0403
Compare
|
I'm iterating on this and cleaning up issues related to dependencies. /hold I may create a test ci-operator image and set up test prow jobs running against it to let them soak. |
12e0403 to
36f0e04
Compare
36f0e04 to
1eadbc0
Compare
Print the full graph, with each line being an edge between nodes with a space between them. Works with the `digraph` go utility to let you debug ordering problems between graph nodes instead of inventing our own tools.
38daae2 to
3dbf16e
Compare
|
Ok, removing hold. Have tested in a normal e2e-aws job and an e2e-aws-upgrade job on prow (using slightly different config settings to verify). The most significant issue was not using the parameters map to control access to env var checking - we were actually doing it wrong in one place and that caused other jobs to flake. Added |
|
/hold cancel |
Take the existing cluster-launch-installer-e2e template and hide it inside a e2e step definition. Support an `upgrade` flag that alters the parameters passed to the template such that the installer image from the input (either release tag or an actual payload) is used to install, then launch the upgrade tests from the job definition. This sets the path for moving this functionality into the operator. The user still has to upload the right cluster profile secret, but now we print an error if we don't find it (for stronger typing). Regular users can launch an upgrade from a single command. Remove the previous behavior of not returning parameter links when the env var is set - the logic in defaults.go is sufficient to prune steps that are fully specified. The release command now cannot be overriden by env (it imports when env is specified) and must always be run.
3dbf16e to
ad5a4e3
Compare
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: smarterclayton, stevekuznetsov The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
* Update release periodics to use the new parameters in ci-operator. * Add the upgrade release periodic for use with ci-operator, mark optional * Fix some misplaced roles * Add a promotion periodic for machine-os-content from rhcos/maipo:latest to ocp/4.0 Requires changes to ci-operator-prowgen and openshift/ci-operator#288 first but shows what the jobs will look like.
This came in with ad5a4e3 (Implement a Golang cluster installer job that hides the template, 2019-03-04, openshift#288), but the lack of 'oc adm release new' logs is making it hard to debug broken ImageStream retrieval [1]. I don't understand the bulk of that commit, so hopefully this narrow pivot doesn't break anything... [1]: https://bugzilla.redhat.com/show_bug.cgi?id=1707928#c3
This came in with ad5a4e3 (Implement a Golang cluster installer job that hides the template, 2019-03-04, openshift#288), but the lack of 'oc adm release new' logs is making it hard to debug broken ImageStream retrieval [1]. I don't understand the bulk of that commit, so hopefully this narrow pivot doesn't break anything... [1]: https://bugzilla.redhat.com/show_bug.cgi?id=1707928#c3
Take the existing cluster-launch-installer-e2e template and hide it inside
a e2e step definition. Support an
upgradeflag that alters the parameterspassed to the template such that the installer image from the input (either
release tag or an actual payload) is used to install, then launch the
upgrade tests from the job definition.
This sets the path for moving this functionality into the operator.
The user still has to upload the right cluster profile secret, but now we
print an error if we don't find it (for stronger typing). Regular users can
launch an upgrade from a single command.
Builds off #287