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

ODC-7275: Implement invoke serverless functions #12755

Merged
merged 1 commit into from Jun 16, 2023

Conversation

Lucifergene
Copy link
Contributor

@Lucifergene Lucifergene commented Apr 21, 2023

Fixes:
https://issues.redhat.com/browse/ODC-7275

Task List:

  • Updated UI to latest design
  • Attach Backend Proxy
  • Write E2E Tests

Screen shots / Gifs for design review:

Tab-Topology.OKD.11.mp4

E2E test coverage report:

Screenshot from 2023-05-06 02-26-14

Test setup:

  1. Install Serverless Operator and Serving Instance
  2. Create a Serverless Function from the Form in the Add Page
    https://github.com/openshift-dev-console/kn-func-typescript-cloudevents
  3. Click the "Test Serverless Function" option from the Actions Menu on the Right Sidebar that is visible when the Knative Service ( of the Serverless fn) is clicked.
  4. Change the input if needed or click Test in the Modal that will open.
  5. You will see the Response Code with Body.

Browser conformance:

  • Chrome
  • Firefox
  • Safari
  • Edge

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Apr 21, 2023
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Apr 21, 2023

@Lucifergene: This pull request references ODC-7275 which is a valid jira issue.

In response to this:

Fixes:
https://issues.redhat.com/browse/ODC-7275

Task List:

  • Updated UI to latest design
  • Attach Backend Proxy
  • Write E2E Tests

Screen shots / Gifs for design review:

Tab-Topology.OKD.7.mp4

Unit test coverage report:
In Progress

Test setup:

  1. Install Serverless Operator and Serving Instance
  2. Create a Serverless Function from the Form in the Add Page
  3. Open Chrome Dev Tools and go to the Application Tab. Select the Local Storage option under the Storage section. Under Local Storage, select the current domain.
  4. You will find a Key named "KNATIVE_SERVERLESS_FUNCTION_TEST" and the value set to "false".
  5. Change this value to "true"
  6. Refresh the Page
  7. Go back to the Topology Page.
  8. Click the "Test Serverless Function" option from the Actions Menu on the Right Sidebar that is visible when the Knative Service ( of the Serverless fn) is clicked.

Browser conformance:

  • Chrome
  • Firefox
  • Safari
  • Edge

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 openshift-ci bot added component/core Related to console core functionality component/knative Related to knative-plugin component/sdk Related to console-plugin-sdk component/shared Related to console-shared kind/i18n Indicates issue or PR relates to internationalization or has content that needs to be translated labels Apr 21, 2023
@Lucifergene Lucifergene changed the title ODC-7275: Implement invoke serverless functions (WIP) [WIP] ODC-7275: Implement invoke serverless functions Apr 21, 2023
@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Apr 21, 2023
@Lucifergene
Copy link
Contributor Author

/uncc @christianvogt
/cc @vikram-raj
/cc @jerolimov

@openshift-ci openshift-ci bot requested review from jerolimov and vikram-raj and removed request for christianvogt April 21, 2023 17:41
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Apr 24, 2023

@Lucifergene: This pull request references ODC-7275 which is a valid jira issue.

In response to this:

Fixes:
https://issues.redhat.com/browse/ODC-7275

Task List:

  • Updated UI to latest design
  • Attach Backend Proxy
  • Write E2E Tests

Screen shots / Gifs for design review:

Tab-Topology.OKD.8.mp4

Unit test coverage report:
In Progress

Test setup:

  1. Install Serverless Operator and Serving Instance
  2. Create a Serverless Function from the Form in the Add Page
  3. Open Chrome Dev Tools and go to the Application Tab. Select the Local Storage option under the Storage section. Under Local Storage, select the current domain.
  4. You will find a Key named "KNATIVE_SERVERLESS_FUNCTION_TEST" and the value set to "false".
  5. Change this value to "true"
  6. Refresh the Page
  7. Go back to the Topology Page.
  8. Click the "Test Serverless Function" option from the Actions Menu on the Right Sidebar that is visible when the Knative Service ( of the Serverless fn) is clicked.

Browser conformance:

  • Chrome
  • Firefox
  • Safari
  • Edge

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.

@serenamarie125
Copy link
Contributor

@erthalion, I don't remember your design, but do you think the button on the last screen should be Cancel or Close? The user is closing the modal, not canceling an action, so I'd suggest Close, but deferring to you!

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented May 5, 2023

@Lucifergene: This pull request references ODC-7275 which is a valid jira issue.

In response to this:

Fixes:
https://issues.redhat.com/browse/ODC-7275

Task List:

  • Updated UI to latest design
  • Attach Backend Proxy
  • Write E2E Tests

Screen shots / Gifs for design review:

Tab-Topology.OKD.8.mp4

Unit test coverage report:
In Progress

Test setup:

  1. Install Serverless Operator and Serving Instance
  2. Create a Serverless Function from the Form in the Add Page
  3. Open Chrome Dev Tools and go to the Application Tab. Select the Local Storage option under the Storage section. Under Local Storage, select the current domain.
  4. You will find a Key named "KNATIVE_SERVERLESS_FUNCTION_TEST" and the value set to "false".
  5. Change this value to "true"
  6. Refresh the Page
  7. Go back to the Topology Page.
  8. Click the "Test Serverless Function" option from the Actions Menu on the Right Sidebar that is visible when the Knative Service ( of the Serverless fn) is clicked.

Browser conformance:

  • Chrome
  • Firefox
  • Safari
  • Edge

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
Copy link
Contributor

openshift-ci-robot commented May 5, 2023

@Lucifergene: This pull request references ODC-7275 which is a valid jira issue.

In response to this:

Fixes:
https://issues.redhat.com/browse/ODC-7275

Task List:

  • Updated UI to latest design
  • Attach Backend Proxy
  • Write E2E Tests

Screen shots / Gifs for design review:

Tab-Topology.OKD.8.mp4

Unit test coverage report:
In Progress

Test setup:

  1. Install Serverless Operator and Serving Instance
  2. Create a Serverless Function from the Form in the Add Page
  3. Open Chrome Dev Tools and go to the Application Tab. Select the Local Storage option under the Storage section. Under Local Storage, select the current domain.
  4. You will find a Key named "KNATIVE_SERVERLESS_FUNCTION_TEST" and the value set to "false".
  5. Change this value to "true"
  6. Refresh the Page
  7. Go back to the Topology Page.
  8. Click the "Test Serverless Function" option from the Actions Menu on the Right Sidebar that is visible when the Knative Service ( of the Serverless fn) is clicked.

Browser conformance:

  • Chrome
  • Firefox
  • Safari
  • Edge

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.

@Lucifergene Lucifergene changed the title [WIP] ODC-7275: Implement invoke serverless functions ODC-7275: Implement invoke serverless functions May 5, 2023
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label May 5, 2023
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented May 6, 2023

@Lucifergene: This pull request references ODC-7275 which is a valid jira issue.

In response to this:

Fixes:
https://issues.redhat.com/browse/ODC-7275

Task List:

  • Updated UI to latest design
  • Attach Backend Proxy
  • Write E2E Tests

Screen shots / Gifs for design review:

Tab-Topology.OKD.8.mp4

E2E test coverage report:

Screenshot from 2023-05-06 02-26-14

Test setup:

  1. Install Serverless Operator and Serving Instance
  2. Create a Serverless Function from the Form in the Add Page
    https://github.com/openshift-dev-console/kn-func-typescript-cloudevents
  3. Click the "Test Serverless Function" option from the Actions Menu on the Right Sidebar that is visible when the Knative Service ( of the Serverless fn) is clicked.
  4. Change the input if needed or click Test in the Modal that will open.
  5. You will see the Response Code with Body.

Note: To test this PR, you will need to build the backend from #12789

Browser conformance:

  • Chrome
  • Firefox
  • Safari
  • Edge

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
Copy link
Contributor

openshift-ci-robot commented May 10, 2023

@Lucifergene: This pull request references ODC-7275 which is a valid jira issue.

In response to this:

Fixes:
https://issues.redhat.com/browse/ODC-7275

Task List:

  • Updated UI to latest design
  • Attach Backend Proxy
  • Write E2E Tests

Screen shots / Gifs for design review:

Tab-Topology.OKD.11.mp4

E2E test coverage report:

Screenshot from 2023-05-06 02-26-14

Test setup:

  1. Install Serverless Operator and Serving Instance
  2. Create a Serverless Function from the Form in the Add Page
    https://github.com/openshift-dev-console/kn-func-typescript-cloudevents
  3. Click the "Test Serverless Function" option from the Actions Menu on the Right Sidebar that is visible when the Knative Service ( of the Serverless fn) is clicked.
  4. Change the input if needed or click Test in the Modal that will open.
  5. You will see the Response Code with Body.

Note: To test this PR, you will need to build the backend from #12789

Browser conformance:

  • Chrome
  • Firefox
  • Safari
  • Edge

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.

@vikram-raj
Copy link
Member

@Lucifergene Frontend test is failing due to lint error.

@vikram-raj
Copy link
Member

Can we disable the Test Serverless Function option until the Revision of the Serverless Function is up and running? As Test Serverless Function does nothing on clicking until the revision is up and running and getting a 404 error for the service. wdyt? @jerolimov @Lucifergene

@Lucifergene
Copy link
Contributor Author

/test e2e-gcp-console

@Lucifergene
Copy link
Contributor Author

Lucifergene commented Jun 1, 2023

Getting 403 error for the invoke API call.

InvokeServerlessFunction.mov

Its fixed now :)
Thanks @jerolimov

Tab-Topology.Red.Hat.OpenShift.7.mp4

@jerolimov
Copy link
Member

/retest

Copy link
Member

@jerolimov jerolimov left a comment

Choose a reason for hiding this comment

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

Some smaller change ideas. Please take a look and let me know what you think:

Comment on lines 10 to 11
// eslint-disable-next-line cypress/no-unnecessary-waiting
cy.wait(5000);
Copy link
Member

Choose a reason for hiding this comment

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

Is this wait really needed? The next cypress condition also waits until the test-id is visible, or?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Actually, the time required for the revision to appear seems more than the default timeout set. Therefore, need to explicitly put a wait :)

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Jun 14, 2023

@Lucifergene: This pull request references ODC-7275 which is a valid jira issue.

In response to this:

Fixes:
https://issues.redhat.com/browse/ODC-7275

Task List:

  • Updated UI to latest design
  • Attach Backend Proxy
  • Write E2E Tests

Screen shots / Gifs for design review:

Tab-Topology.OKD.11.mp4

E2E test coverage report:

Screenshot from 2023-05-06 02-26-14

Test setup:

  1. Install Serverless Operator and Serving Instance
  2. Create a Serverless Function from the Form in the Add Page
    https://github.com/openshift-dev-console/kn-func-typescript-cloudevents
  3. Click the "Test Serverless Function" option from the Actions Menu on the Right Sidebar that is visible when the Knative Service ( of the Serverless fn) is clicked.
  4. Change the input if needed or click Test in the Modal that will open.
  5. You will see the Response Code with Body.

Browser conformance:

  • Chrome
  • Firefox
  • Safari
  • Edge

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.

Copy link
Member

@jerolimov jerolimov left a comment

Choose a reason for hiding this comment

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

Tested this on a cluster bot instance with different HTTP and cloudevents kn functions. We can fine-tune the modal and displayed data later if needed.

/lgtm
/approve

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jun 14, 2023
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jun 14, 2023

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jerolimov, Lucifergene

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

The pull request process is described here

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 openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 14, 2023
@vikram-raj
Copy link
Member

Propagate labels from the epic:

/label docs-approved
/label px-approved

@openshift-ci openshift-ci bot added docs-approved Signifies that Docs has signed off on this PR px-approved Signifies that Product Support has signed off on this PR labels Jun 14, 2023
@vikram-raj
Copy link
Member

/retest

4 similar comments
@Lucifergene
Copy link
Contributor Author

/retest

@jerolimov
Copy link
Member

/retest

@Lucifergene
Copy link
Contributor Author

/retest

@Lucifergene
Copy link
Contributor Author

/retest

@jerolimov
Copy link
Member

@sanketpathak Let us know when we should address any e2e or test-related changes here. I'm mostly sure that we will have a follow up PR. Enjoy your pto 🌴

/label qe-approved

@openshift-ci openshift-ci bot added the qe-approved Signifies that QE has signed off on this PR label Jun 15, 2023
@openshift-ci-robot
Copy link
Contributor

/retest-required

Remaining retests: 0 against base HEAD b9185dd and 2 for PR HEAD 58fceee in total

@invincibleJai
Copy link
Member

/retest

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jun 16, 2023

@Lucifergene: all tests passed!

Full PR test history. Your PR dashboard.

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. I understand the commands that are listed here.

@openshift-merge-robot openshift-merge-robot merged commit fa08df4 into openshift:master Jun 16, 2023
6 checks passed
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. component/core Related to console core functionality component/dev-console Related to dev-console component/knative Related to knative-plugin component/sdk Related to console-plugin-sdk component/shared Related to console-shared component/topology Related to topology docs-approved Signifies that Docs has signed off on this PR jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. kind/i18n Indicates issue or PR relates to internationalization or has content that needs to be translated lgtm Indicates that a PR is ready to be merged. px-approved Signifies that Product Support has signed off on this PR qe-approved Signifies that QE has signed off on this PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants