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

QHub development command to make development/testing easier #885

Closed
wants to merge 167 commits into from

Conversation

costrouc
Copy link
Member

@costrouc costrouc commented Oct 27, 2021

The goal of this PR is to make it such that there is a simple way to develop QHub. Currently the development docs talk about manual steps about spinning up minikube, setting up a load balancer, running the qhub init, deploy commands. This also does not address the fact that we are not building the local dockerfile images for testing.

This PR hopes to address this while also making the command line output much more human friendly.

See this asciinema for the experience https://asciinema.org/a/WQqBdcpXvkrboFRcdILYK2hbi

The qhub develop command does several things:

  • it run QHub with the current state of the qhub repository that you are in
  • It builds the docker images on the minikube cluster
  • It deploys QHub using the docker images in the repository also with any changes to the terraform modules

Other miscellaneous things this PR does:

  • all qhub exceptions are subclasses of QHubError
  • all exceptions are caught in the cli. If it is a subclass of QHubError then the error message is printed and it exits. If it is not a subclass of QHubError then it is treated as a bug
  • further testing on the providers now

If you don't delete the minikube cluster between changes complete deployment is usually around 40 seconds.

@danlester
Copy link
Contributor

I am also trying to fix the old-style minikube tests, as failing in main due to the lack of a keycloak example-user.

In the PR K8s tests - keycloak adduser I have added a qhub keycloak adduser so that the example-user can be easily added for the minikube tests.

Just thought it might help if you want to get main straight. At the moment, tests still failing for odd reasons - not sure if they'd pass anyway!

@danlester
Copy link
Contributor

@costrouc I started to take a look at this PR.

One issue is that pip install -e . doesn't seem to work for this branch. I get ModuleNotFoundError: No module named 'setuptools'. I haven't investigated, but don't see any major change to setup.py from main branch.

Please could you do a rebase to the latest main and then I can take a closer look? Thank you.

@trallard trallard added the needs: review 👀 This PR is complete and ready for reviewing label Dec 17, 2021
@costrouc
Copy link
Member Author

Closing and will create a future PR to address some of the features in this PR.

@costrouc costrouc closed this Feb 12, 2022
@costrouc costrouc deleted the minikube-provider branch February 12, 2022 00:24
@viniciusdc viniciusdc restored the minikube-provider branch July 25, 2022 12:55
@costrouc costrouc deleted the minikube-provider branch August 23, 2022 14:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs: review 👀 This PR is complete and ready for reviewing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants