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

Framework for Nebari deployment via pytest for extensive testing #1867

Merged
merged 26 commits into from
Aug 3, 2023

Conversation

aktech
Copy link
Member

@aktech aktech commented Jul 21, 2023

Part of fixing #1862

This creates a framework to write tests that are designed to test things on Nebari deployed on cloud. At the moment it only deploys on DigitalOcean, which can be easily expanded to all other clouds.

It would be better to merge this small chunk and then work on other cloud providers, rather than a single PR handling all clouds making it difficult to review.

Testing on cloud would be simply adding the decorator @on_cloud("cloud_name"):

@on_cloud("do")
def test_something_on_do_deployment(deploy):
	# create notebook
    # test dask
    # test jupyterhub
    # test conda store

Other Fixes:

  • Fixes fetching Kubernetes Version for DigitalOcean
  • Playwright cleanups

Notes:

What does this implement/fix?

Put a x in the boxes that apply

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds a feature)
  • Breaking change (fix or feature that would cause existing features not to work as expected)
  • Documentation Update
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no API changes)
  • Build related changes
  • Other (please describe):

Testing

  • Did you test the pull request locally?
  • Did you add new tests?

Any other comments?

@iameskild
Copy link
Member

Reminder for @costrouc and @iameskild to test this as soon as possible.

@pavithraes pavithraes added needs: review 👀 This PR is complete and ready for reviewing project: JATIC Work item needed for the JATIC project labels Jul 31, 2023
Copy link
Member

@iameskild iameskild left a comment

Choose a reason for hiding this comment

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

Thanks for the great work @aktech!

Given that this will be used to deploy cloud-based Nebari clusters, will this replace some of the manual setup we do for the integration tests? That's what I recall from our previous conversation with @costrouc.

Lastly, I'm unfortunately unable to test this locally because Digital Ocean just dropped support for kubernetes 1.24...

.github/workflows/integration_test.yaml Outdated Show resolved Hide resolved
src/_nebari/provider/cloud/digital_ocean.py Show resolved Hide resolved
@iameskild
Copy link
Member

@aktech the one other thing that will likely be worthwhile adding is some sort of clean up script so in the event things are fully destroyed, we can still ensure the cloud resources are removed. We have a script for AWS (python and bash) but for the other cloud providers, we can either copy over what we have from the integration tests or write a python script that handles this for us.

@aktech
Copy link
Member Author

aktech commented Aug 3, 2023

@iameskild makes sense about the clean up script. How do you feel about I tackle that in a follow up PR? we're not going to be running the integration tests on each push at the moment.

Copy link
Member

@iameskild iameskild left a comment

Choose a reason for hiding this comment

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

@aktech this looks good to me! As we discussed offline, we can open new PRs for any fixes or updates. Thanks again 🎉

@aktech aktech merged commit 006bbd4 into develop Aug 3, 2023
25 checks passed
@aktech aktech deleted the test-setup branch August 3, 2023 16:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: testing ✅ Testing needs: review 👀 This PR is complete and ready for reviewing project: JATIC Work item needed for the JATIC project
Projects
Development

Successfully merging this pull request may close these issues.

4 participants