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: drone activation and otomi version upgrade with cypress #1200

Merged
merged 52 commits into from
Aug 3, 2023

Conversation

ferruhcihan
Copy link
Contributor

@ferruhcihan ferruhcihan commented Jul 24, 2023

Implements:

https://app.zenhub.com/workspaces/dev-5e7e84dddc966f05a627a19b/issues/gh/redkubes/otomi-e2e/30

Description:

This PR adds features for drone activation and otomi version upgrade with cypress. User doesn't need to activate drone manually. Otomi drone activation job does this work for the user.

Is paired with: https://github.com/redkubes/otomi-console/pull/311

Changes Made:

Add drone activation job to activate repository
Add e2e job to upgrade otomi version

Testing:

  • Open Deploy Otomi page

  • Run workflow with feat/e2e branch

  • After the cluster created check drone if it's activated

  • Run workflow with feat/e2e branch and upgrade Otomi installation profile

  • After the cluster created check drone if it's activated

  • After the initial pipelines finished check otomi version if it's setted as main in otomi settings page

Checklist

  • Architecture Design Records have been added as adr/*.md and appended to list in adr/_index.md, if applicable.
  • The values-schema.yaml file and test/** fixtures have been updated to reflect code changes, if applicable.
  • The OpenApi Schema from redkubes/otomi-api project is compatible with definitions from values-schema.yaml file, if applicable.
  • Helm releases are meeting otomi's baseline security policies, if applicable.
  • Helm chart and helmfile changes are tested against upgrade scenario, if applicable.

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.

Was thinking about the very first Otomi install and here are my thoughts.

There are two use cases that we need to cover on very first Otomi install:

  1. activating the values repo
  2. printing welcome message
    Those can happen only once during the very first install.

Since the Otomi job can fail and retry, we do not know if it is the very first install or not. Moreover some users calls helm install many times to deploy any consecutive changes in Otomi (they do not use Drone).

Therefor, I propose to:

  • the applyE2e() is called as part of the otomi apply command (just after commit(true) call.
  • print the welcome message after calling applyE2e()
    P.S.
    I would still provide the otomi e2e command as it proved to be useful

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.

For the e2e upgrade scenario.
I think that developers would like to test their feature branches. In order to enable it we actually need to first deploy the latests official release and then upgrade to feature branch.
It seems that it is not possible now. Could you modify the upgrade scenario so when a user select it:

  1. The otomi is deployed with the latest official release (we can hardcode it for now)
  2. The otomi is upgraded to the feature branch (see screenshot)
image

@j-zimnowoda j-zimnowoda merged commit a2a622a into main Aug 3, 2023
13 checks passed
@j-zimnowoda j-zimnowoda deleted the feat/e2e branch August 3, 2023 12:37
@ferruhcihan ferruhcihan mentioned this pull request Aug 10, 2023
5 tasks
Ani1357 pushed a commit that referenced this pull request Oct 25, 2023
Co-authored-by: Jehoszafat Zimnowoda <[email protected]>
Co-authored-by: Matthew Elderhorst <[email protected]>
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.

3 participants