Skip to content

Conversation

@andrewballantyne
Copy link
Contributor

Fixes:

https://issues.redhat.com/browse/ODC-2854

Analysis / Root cause:

Pipeline Builder landed in a really rough shape, this PR should clean up a lot of the issues and serve to enable it again in the UI.

Solution Description:

Lots of cleanup and consolidation happened with this fix.

Screen shots / Gifs for design review:

PipelineBuilderCleanup1

cc @openshift/team-devconsole-ux

Unit test coverage report:

Unit tests still to come (may come in a different PR for ease of reviewing)

Test setup:

Pipeline Operator is needed, but otherwise entering through the "create pipeline" button on the Pipeline list page is all you need to do.

Browser conformance:

  • Chrome
  • Firefox
  • Safari
  • Edge

@openshift-ci-robot openshift-ci-robot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Feb 7, 2020
@openshift-ci-robot openshift-ci-robot added the component/dev-console Related to dev-console label Feb 7, 2020
@andrewballantyne andrewballantyne force-pushed the cleanup-pipeline-builder branch from 75e3e2a to d93857b Compare February 7, 2020 00:34
@openshift-ci-robot openshift-ci-robot added kind/bug Categorizes issue or PR as related to a bug. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. labels Feb 7, 2020
Copy link
Contributor

@serenamarie125 serenamarie125 left a comment

Choose a reason for hiding this comment

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

Still seeing the column headers when there are no pipeline parameters and resources. Unsure if that is part of another fix?

Copy link
Contributor

@serenamarie125 serenamarie125 left a comment

Choose a reason for hiding this comment

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

wow i'm impressed, really nice job with this Andrew! Look forward to looking at it in detail soon

@andrewballantyne
Copy link
Contributor Author

andrewballantyne commented Feb 7, 2020

Still seeing the column headers when there are no pipeline parameters and resources. Unsure if that is part of another fix?

@serenamarie125 Yup, see #4180

@andrewballantyne andrewballantyne force-pushed the cleanup-pipeline-builder branch from d93857b to 5b5f7c6 Compare February 7, 2020 01:05
@andrewballantyne
Copy link
Contributor Author

wow i'm impressed, really nice job with this Andrew! Look forward to looking at it in detail soon

Thanks @serenamarie125 - I've just pushed another commit to try and fix the odd balance of padding around the visualization. Not sure why, but the layout engine has some odd padding on the top and left that it didn't have when I originally did this work pre-ff.

Hopefully we get a good run down tomorrow and shake out the last few things that are a bit odd in the UX department.

@abhinandan13jan
Copy link
Contributor

@andrewballantyne Ran this locally and it works well. Just left comments at two places where variable naming could be more descriptive.

This takes care of the earlier issues. However, I just felt the connectors are a bit confusing.
Suppose I have two parallel tasks and I want to add a single task to run either before both of them(previous stage) or after both of them(next stage). Apart from this one thing, the PR looks good. The connectors displayed confuse me. IMO, connectors might work better if they are stage based. Let me know if this looks ok as of now?

Parallel tasks
Screenshot from 2020-02-11 18-16-41

Adding a task before them
Screenshot from 2020-02-11 18-11-07

Adding a task after them
Screenshot from 2020-02-11 18-20-06

but it should have been
Screenshot from 2020-02-11 18-21-38

@abhinandan13jan
Copy link
Contributor

/test analyze

@andrewballantyne
Copy link
Contributor Author

@abhinandan13jan I discussed this with @serenamarie125 - it will likely be a limitation for the first pass of the Pipeline Builder. We had talked about an "advanced" mode but we decided to keep it to the straight 3 actions (all of which will not connect disconnected paths).

@andrewballantyne
Copy link
Contributor Author

Resource selection issue is related to the fix Rohit is doing in #4266

image

@andrewballantyne andrewballantyne changed the title Cleanup Pipeline Builder Bug 1801857: Cleanup Pipeline Builder Feb 11, 2020
@openshift-ci-robot openshift-ci-robot added the bugzilla/invalid-bug Indicates that a referenced Bugzilla bug is invalid for the branch this PR is targeting. label Feb 11, 2020
@openshift-ci-robot
Copy link
Contributor

@andrewballantyne: This pull request references Bugzilla bug 1801857, which is invalid:

  • expected the bug to target the "4.4.0" release, but it targets "---" instead

Comment /bugzilla refresh to re-evaluate validity if changes to the Bugzilla bug are made, or edit the title of this pull request to link to a different bug.

Details

In response to this:

Bug 1801857: Cleanup Pipeline Builder

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.

@andrewballantyne
Copy link
Contributor Author

/bugzilla refresh

@openshift-ci-robot openshift-ci-robot added the bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. label Feb 11, 2020
@openshift-ci-robot
Copy link
Contributor

@andrewballantyne: This pull request references Bugzilla bug 1801857, which is valid. The bug has been moved to the POST state. The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

/bugzilla 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 bugzilla/invalid-bug Indicates that a referenced Bugzilla bug is invalid for the branch this PR is targeting. label Feb 11, 2020
@abhinandan13jan
Copy link
Contributor

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Feb 12, 2020
@openshift-ci-robot openshift-ci-robot removed the lgtm Indicates that a PR is ready to be merged. label Feb 13, 2020
Copy link
Contributor

Choose a reason for hiding this comment

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

Why don't you use a flex layout and align items center?

Copy link
Contributor

Choose a reason for hiding this comment

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

Why the cast?

Copy link
Contributor Author

@andrewballantyne andrewballantyne Feb 14, 2020

Choose a reason for hiding this comment

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

Hold over from the previous design I was working with... there was a type error I couldn't figure out, so I casted it to get around it.

Removing

Comment on lines 12 to 14
Copy link
Contributor

Choose a reason for hiding this comment

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

Use consistent names / values.

Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
{inputResources && inputResources.map(renderResource('inputs'))}
{inputResources.map(renderResource('inputs'))}

Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
{outputResources && outputResources.map(renderResource('outputs'))}
{outputResources.map(renderResource('outputs'))}

Copy link
Contributor

Choose a reason for hiding this comment

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

Why aren't you using the formik fields we have for this?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I need to do custom save logic and Formik messing with the value directly caused desync issues with the errors + updating of the values. I figured I'd just manage all things Task related and let Formik manage the form items (name, params, resources on the main page).

I suspect I could find a way to make the logic exist in the yup schema... but I have not yet tackled that.

Copy link
Contributor

Choose a reason for hiding this comment

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

why & {} ?
Can it contain any field with any value?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I don't think {} means anything special... it just means an empty object (no key/values). Which in large is useless... I'll remove it.

It was a hold over from when I didn't have PipelineBuilderTaskBase that contained common items. I just never removed it when I was cleaning it up.

@christianvogt
Copy link
Contributor

Tried to edit the pipeline and save it while in the following state:
image

@christianvogt
Copy link
Contributor

During edit, i changed the resource name. The node didn't become an error. The save button was enabled. Saving resulted in an error.
image

@christianvogt
Copy link
Contributor

/lgtm
/approve

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Feb 14, 2020
@openshift-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: abhinandan13jan, andrewballantyne, christianvogt

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

The pull request process is described here

Details 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-robot openshift-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Feb 14, 2020
@andrewballantyne
Copy link
Contributor Author

/retest

@openshift-bot
Copy link
Contributor

/retest

Please review the full test history for this PR and help us cut down flakes.

@openshift-merge-robot openshift-merge-robot merged commit e36c523 into openshift:master Feb 15, 2020
@openshift-ci-robot
Copy link
Contributor

@andrewballantyne: All pull requests linked via external trackers have merged. Bugzilla bug 1801857 has been moved to the MODIFIED state.

Details

In response to this:

Bug 1801857: Cleanup Pipeline Builder

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.

@spadgett spadgett added this to the v4.4 milestone Feb 17, 2020
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. component/dev-console Related to dev-console kind/bug Categorizes issue or PR as related to a bug. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. lgtm Indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants