# Rolling Meeting Agenda ###### tags: `meeting` `qhub` ## YYYY-MM-DD ### Attendees ### Announcements ### Community outreach of the week ### Agenda - --- # Community Person of the Week Bottom of list to be rotated to top every tues call (depending on availability). *Vini* 6 July 2021 Chris Abraham Amit Tyler Person should: - Respond briefly to new unassigned, tag and/or assign to someone else - Check for qhub-auto-test failures on the monday # QHub Meeting ## 2021-06-22 ### Announcements ### Agenda - Release date - works on AWS, GCP - need to test on Azure, Digital ocean - Release at 9:30 CST - Tarun cloud provider access - openteams need testing accounts for cloud providers ### Determine Who has bandwidth for community outreach ### How are we progressing towards long term goals ### Prioritize issues for week # QHub Meeting ## 2021-06-22 ### Announcements ### Agenda - Issues vs discussions for community - Discuss Release - Standup 1x a week - Meeting public/private/terminal labs ### Determine Who has bandwidth for community outreach ### How are we progressing towards long term goals ### Prioritize issues for week - testing - monitoring (adam) https://github.com/Quansight/qhub/issues/39 - Grafana - backups (tyler) - release - ### Action Items - checklist for things on release ## 2021-06-14 Attendees: Chris, Amit, Dan, Vini, Abraham, Adam We have ~22h between everyone (not including amit). ### Determine who has bandwidth for community outreach - Tyler - Two sentences per issue - Add labels and assignee - Create a TLDR (too long didn't read)/ask for more detail as necessary ### How are we progressing towards long term goals Defining what triaging means [document that vini created](https://hackmd.io/Z9Zg83rqQVqvlBYiP2Iy5A). ### Prioritize issues for week - Discuss roadmap around cost analysis ### Action Items - Outline responsibilities for community outreach - Github issues should be included/linked with standup - canned response/marketing that communicates an issue is not a priority PRs are welcome qhub is company funded - zenhub icebox automate when dragged into column - update github labels to reflect - a PR should be linked to an issue --- ## 2021-06-10 ### Attendees - Tyler, Dan, Amit, Vini, Adam, Chris ### Standup - what have you worked on, will be working on, blockers, action items - Tyler - issue assignment work on github - closed several issues - when have time to implmeent backups - got rich signel unstuck - Amit - working on clearml and opened several PRs and is working - todos: adding feature flag, node selector remaining - prefect documentation PR and minimal example - off tomorrow and monday - Dan - testing and integration tests to use gihub-actions for google cloud integration tests, github actions repo - some work on cypress tests - Vini - work on node selectors and waiting for PR to be opened - linter configuration, met with Dan - open conda-store PR needs review **ACTION** - Adam - not much progress since last standup - clearml quite a few limiations at the moment - will setup standup and prosper - blocked by other client commitments (most of tomorrow on QHub) has 10 hours to commit - Abraham - documentation for windows in progress - destroy resources when a build failes - running into issue with service account not having sufficient permissions - ### Issue Grooming - did not get to since discussing new project structure ### Action Items - spec a document on interacting with client requests - adam to implement standup and prosper - how to organize issues - have a message for issues that are someday :: explain how issues are prioritiezed. - using milestones to show issues for a given release (someday issues are ones that are in the icebox) - create a document on how to label github issues and their meaning --- ## 2021-05-13 ### Agenda - Rendering vs not rendering in repo ### Decisions --- ## 2021-03-08 ### Agenda - Reminder going forward we are using [Gitlab Flow](https://docs.gitlab.com/ee/topics/gitlab_flow.html) - QHub is becoming a funded project yay! - ### Decisions --- ## 2021-02-18 ### Agenda - Branch and Release Strategy: GitFlow vs [Gitlab Flow](https://docs.gitlab.com/ee/topics/gitlab_flow.html) - ![](https://docs.gitlab.com/ee/topics/img/gitlab_flow_release_branches.png) - Maintains master branch, PR's will work properly within github - Adam and Vini have deployed qhub-cloud locally on their laptops - Merged PRs: - jupyterhub theming - `costrouc` removed as default user - pinned jupyterlab >= 3 so we are now using jupyterlab - jupyterhub docker image is no longer based on zero to jupyterhub ```yaml theme: jupyterhub: hub_title: QHub - thisisatest hub_subtitle: Autoscaling Compute Environment welcome: | Welcome to jupyter.github-actions.qhub.dev. It is maintained by <a href="http://quansight.com">Quansight staff</a>. The hub's configuration is stored in a github repository based on <a href="https://github.com/Quansight/qhub/">https://github.com/Quansight/qhub/</a>. To provide feedback and report any technical problems, please use the <a href="https://github.com/Quansight/qhub/issues">github issue tracker</a>. logo: /hub/custom/images/jupyter_qhub_logo.svg primary_color: '#4f4173' secondary_color: '#957da6' accent_color: '#32C574' text_color: '#111111' h1_color: '#652e8e' h2_color: '#652e8e' ``` ## 2021-02-23 ### Agenda - Go over team roles - Dharhas: PM/Tech Lead - Chris: Lead Architect - Lais: Community & Docs Lead - Amit, Tyler, Vini, Lais, (Adam?): Dev Team - Tania: Available for PR review, MLOPs, Subject Matter Expert - What is current availability for folks: - Tyler: 16 - Lais: 10 - Vini: 36 (later probably 20) - Chris: 4 - Amit: 16 hrs next wk - Dharhas, Tania: As Available - Project Structure - Desire to bring QHub in line with how other projects are managed at Quansight. Leading principle, minimize meetings and allow folks to get work done with minimal oversight. - Desire to start making the meetings open to the public and invite potential collaborators. - We are bringing in new staff and will probably increase resources - QHub meetings will only focus on the QHub open source project. QHub Client project issues should mainly be discussed in the individual project standups. They can be discussed in this meeting in a more general manner. - Tues 1 hr meeting. - 15 mins prior to meeting, make sure zenhub reflects the correct state of what you are working on. - stay with the 30/30 split. Half the meeting, go through Zenhub board starting with in-progress, backlog, new-issues. The other half should be strategic discussion - Which do people refer doing first? [name=Tania] can the link to Zenhub be added here, please? [Zenhub](https://app.zenhub.com/workspaces/qhub-project-management-5eac475c2bc3d475f41f4483/board?repos=236590492) - Proposal: Remove daily 15 min standup. Based on my conversations with folks, the main reason for the standup is to make sure PR's get reviews. This doesn't scale across Quansight projects. - Folks schedule time in their own schedules to make sure that pr reviews get done - Replace with a dedicated 30 min meeting later in the week. Maybe Thursday or Friday - On the radar: - We need to plan some roadmap ideas and do an order of magnitude estimate of what it will take in terms of resources for each of these ideas. - Meeting with coiled today about what makes sense in terms of integrating coiled with QHub-OnPrem - Attend Pangeo/2i2c monthly meeting on March 8th - Open Questions: - Frequency of public meetings. Holoviz does a weekly issue triage (triage in teams of two) and a biweekly general dev meeting. - Hackmd vs GDoc for agenda, meeting notes etc - Branch and Release Strategy: GitFlow - Tania to explain. - Priotity Discussion Items - Local Testing Status - Docs PR Timeline - Brians Pull Requests - ? ## 2021-02-16 - How is the demo @Chris? - hashicorp - Can we have a look at: - https://github.com/Quansight/qhub-cloud/issues/135 > Brian wants a North - For the next 2 weeks Amit will have time for QHub (twice a week!) - local testing merged - docs review - ### Decisions --- ## 2021-02-09 ### Agenda - Call for help! - How will the workflow for the docs work now that we have local deployment? - How should we pitch the flow to users? - Do you have an existing need and a kubernetes cluster? - yes - local deployment - Do you have available local compute setup? - yes - Do you want something for free? - yes - local deployement - Do you need to scale? - yes, without existing infrastructure - cloud deployment - yes, with existing infrastructure - onprem - assumes you won't need to scale beyond your existing resources > NOTE: although it is possible to deploy QHub OnPrem using a Cloud provider, > we do not recommend it due to possible high costs. - Are you familiar with HPC workflows and need maximum performance e.g. Slurm, MPI? - OnPrem - - Qhub cli usage - `qhub init testing` - user tests out locally - they like it, want to scale on jcloud - now what? - --- ## 2021-02-09 ### Agenda - Meetings - Bi-weekly/monthly Strategy - Discuss strategy of QHub (cloud+onprem) - i.e, decision to not use read-the-docs - Invite Travis 1x/month ![](https://i.imgur.com/MBmX7fA.png) - Weekly grooming/technical - Backlog grooming of issues - Technical discussion - 60 second share - [James Ives] Why our docs triger using his GH token? :eyes: - https://github.com/Quansight/qhub-cloud/blob/main/.github/workflows/pages.yml - Backlog: Go through each ticket seting priority, status and at least one type. - https://github.com/Quansight/qhub-cloud/issues/39 - https://github.com/Quansight/qhub-cloud/issues/37 (news?) - https://github.com/Quansight/qhub-cloud/issues/291 - blocked due to absence of debug docs - - local deployment needs review. - Tech design: select tech-design labels and go from there - priorities: - what are you working on at the moment? - what is the next thing to do? ONE THING. - What do you think you can deliver in one week? Only an estimate. ### Decisions ### Actions - compose step-by-step actions: https://github.com/Quansight/qhub-cloud/issues/224 - --- ## 2021-02-05 ### Agenda - Meeting strategy discussion - Dharhas requested an issue for discussion. - Lais bug qhub cloud - sorted! :) - question about the Prefect hotfix > merge to main? - push it to main! - Bodo demo w/ qhub-onprem - SLURM allocating whole nodes? - can access ipyparallel from notebook interface - Not - ZenHub training on Tue 6pm. - add Chris to training - ZenHub board unifying all client projects: - Datum - QIM - TabBank (is there a repo fir this?) - QHub Cloud - QHub OnPrem - Terraform binary linked to QHub download - tracked on issue #289 ### Decisions --- ## 2021-02-04 ### Agenda - Adam working on Azure stuff - Tyler onprem bodo work - manual - Create a Bodo binary of program - Built in slurm command to execute job in parallel - srun - sbatch - NOT mpiexec (don't believe docs) - Need to use slurm to schedule the resources - Specify nodes/cpu - More nodes better than large for benchmarking (for now) - Use MPI4py+numba and write own MPI program - Could show Bodo is faster - Auth0 for local testing? ## 2021-02-03 ### Agenda - discuss the release strategy (branch naming and commits) - Thank you Chris for the local deployment stuff (hope you're not dead) - Weather checkin - Everyone sunny or partially sunny today :sun_small_cloud: ### Decisions * All PRs merge into `dev` * will try and not break this branch but it will be allowed to break * Checklist of things that should be working before creating a new `release` branch * list of new features / bug fixes on RELEASE.md * stable version will be at `main` * `release` branch to amalgamate changes * setup pyPI * tags * Tyler Dask gateway --- ## 2021-02-02 ### Agenda * Backlog grooming * conda-store: * local deployment is almost ready but it will not be relased until there it will be tested * no need for `jupyter.` on the URL * merge QHub terraform modules, it will not be backwards compatible. * release strategy * reference: https://www.youtube.com/watch?v=aJnFGMclhU8 * ## 2021-02-01 ### Agenda * Team culture * PRs require review * Docs with every PR * Only support a single version of terraform? * Download terraform binary into QHub and integrate into the command lin * Add cluster name to .kube file * `kube ctl logs <dask_gatewy_pod>` * download k9s * have kube ctl context auto added to .kube * Have a general monitoring solution for real time logs * (https://github.com/Quansight/qhub-cloud/issues/243) - aditional feature * Elk stack? ```` We run into a lot of issues with terraform versions. Some of these include the fact that people download the wrong terraform version, deploying with a newer version makes the existing files backwards incompatible, and requiring users to download terraform. ```` ## 2021-01-29 ### Agenda * Local testing is working * Technically can deploy on any kubernetes cluster/namespace * PROD AND DEV SUPPORT * CLI add terraform backend for local/remote (doesn't spin up s3 bucket) * Removes jupyter.* domain issue (low hanging fruit) * "Depends on..." replaces hacky solution. Requires terraform 0.13.x (already pinned to 0.13.4 and 0.13.5) * Remove Helm from nginx ingress * Terraform CDK * Enables python and terraform * Would get rid of the templates directory * ### Decisions * Pin terraform modules * Amit will write prefect docs next week --- # QHub Backlog grooming && tech-design ## 2021-01-28 ### Agenda - post-mortem release - automate with Kim? - write docs - ESIP presentation --- # QHub Backlog grooming && tech-design ## 2021-01-26 ### Agenda - labels and milestones - Do we need a label for client funded or just use priorities? - projects (backlog) - ~~Community: Rich Signell Bug (issue 264)~~ fixed in PR and replied - Client Funded: Morningstar - conda-store - Client Funded: QIM - Panel Deployments #267 - Client Funded: Datum - Prefect (medium priority) - Permissions (quick fix - high priority) - Panel Deployments (quickway to convert a JN into an app Voila like.) - JN proxy: Jupyter server launches 'something' that allows the notebook to be accessed as an app - Backups(?) - ESIP presentation - Marketing to work on Quansight's intro slide - tech-discussion - closes tickets and moved issues forward. - Release strategy: - Dharhas: - too early on project life to have a time-based release - latest release could be kept on a develop branch that can be used - bug fixes: minor patch and release with the bug fix - feature relase: loose target - migration process: - CI will auto install latest version of QHub - Needs to pin the version to the config file and all old infraestructure will work ### Decisions - Release 0.2.0 version of QHub now (ASAP) with bug fix - Release 0.3.0 when local deployment and local testing and Prefect implemented. - Dharhas to send Tyler slides for ESIP presentation [done] - Chris to prioritise conda-store this week. - Add rebase Ubuntu 20.04 for next release > Chris insisted on handling this PR ### Action items - --- # Standup agenda ## 2021-01-25 ## Discussion topics - Update on Actions from Friday - https://github.com/Quansight/qhub-cloud/pull/245 - Release strategy discussion - Weekly release on Monday? - current version's clusters broke CICD (whatever that means :shrug:) - Suggested release strategy for 4-6 weeks on a current basis. - product roadmap draft. ## Action list --- ## 2021-01-22 ### Agenda > No formal agenda since it is FriYAY! :tada: # Topics for discussion - Lais fixed the labels on the repo - now all issues need to have status, type and priority labels. - Tyler and Chris worked on QHub OnPrem (formal QHubHPC) - we have the most badass cutting-edge fast computations on the market :rocket: - around 20h of dev ework work but it is a beauty! - Dharhas requested to prioritise QHub Cloud dev due to client-work that is due. ### Decisions - Chris to email Ashley on QS's Azure account to test QHub integration - Lais to carve out a product road map and discuss a release strategy meeting on Monday 25th - Amit to finish local testing for DigitalOcean. - Adam to implement Azure's support for QHub (and test using a personal trial account) --- ## 2021-01-19 ### Agenda # Team Weekly Meeting ## Dharhas notes Create issues (verify if they exist): - ~~Filesystem Permissions issues in shared folder (asked Brian to make an issue)~~ - Decide on shared folder permissioning #26 - ~~How to launch viola/panel apps (needs disucssion, funded by QIM etc)~~ - Could replace Qadmin #267 - How to do backups? https://github.com/Quansight/qhub/issues/99 - Charge some to client with production systems - Tear down / restore functionality (lower priority) - Depends on backup story - ~~rm Helm and update Dask Gateway (high priority) https://github.com/Quansight/qhub/issues/224~~ > both became milestones. - conda-store story? conda-store jlab plugin (funded project) - Funded. Chris working on this. - conda-store running out of space regularly - Resize PVC in short term [QHub issue](https://github.com/Quansight/qhub-cloud/issues/99) - [Garbage collection - long term](https://github.com/Quansight/conda-store/issues/7) - ~~need a qhub conda metapackage to pin required dependencies, how does this integrate with conda-store~~ #86 - user management when we move to larger numbers of users? - ~~linter for yaml in pr~~ #119 - any of the recent qhub-hpc stuff useful for cloud? - future discussion. - jupyter-ssh (kubessh) / long running scripts) - prefect integrated? - Tyler is currently working on it. #195 # Backlog grooming agenda - Problems: (became milestones) - We want more users but QHub is not stable. - We want a community but QHub is difficult to contribute to. - The readability of the docs is confusing and missing tutorials. ### Decisions # QHub agendas ## 2021-01-18 ### Agenda Monday schedule - Chris will work on conda-store (client project) - Amit does not have bandwidth to work on QHub things this week. - Tyler will take QHubPrefect ticket for this week. - password based login PR in draft mode https://github.com/Quansight/qhub/pull/245/qhub/pull/245 - morningstar is interested on **conda-store** - funding to move it ahead - Docker registry working by the end of the week - Tyler and Lais to work on organise roadmap for Tania'as input. ### Decisions # QHub agendas ## 2021-01-15 ### Agenda - how are you? really? - catch-up on roadmap - new standup duration Let's have fun!! It's FRIYAY! :tada: ### Decisions ## 2021-01-14 ### Agenda - no standup due to All Hands meeting # QHub agendas ## 2021-01-13 ### Agenda - jupyter rtc # QHub agendas * PR reviews ### Decisions ## 2021-01-12 ### Agenda * Backlog grooming | Technical design > every Tuesday. * it is better for us because it saves times and introduces structure * how long for each? * 30 min backlog grooming * 30 min tech design * From Jan 19th Tue meeting starts at 8:30am * frequency (weekly? biweekly?) * weekly meetings for now * platform: GitHub (no more ZenHub) * Standups * 5-15 min * focused on updates * Discussions tracked in a issues * Community interaction * Gitter vs Discussion vs Issues * Discussions: broad _discussions_ about a subjects, e.g. the best way to do something, "Shall I do X or Y?" * Gitter: exists now because we are not good on keeping track of GH issues and discussions. * Issues: Concrete work, i.e., actual questions, bug reporting, problems with docs, etc. * Presentations * Austin Python group (Feb 10th) * Live, Tyler * 25 min w/ QA * Rich's ESIP * Jan 28th * Live, 15 min, Tyler * Webinar, Early Feb * GitHub issue for it: https://github.com/Quansight/qhub/issues/235 > keep notes * Spin up cluster of 5 via Terraform/Ansible * Tyler work on spinning up cluster * Hashicorp * Deadline proposal: Jan 14th * Presentation: Thurs Feb 18th * Chris writing proposal > send draft to Lais (by 13th) * submit by Thursday (14th!!) * Geopython (ask Rich to submit a workshop) * 90 min workshops OR 30 min (25+5) talks * Deadline Talks: Jan 25th * Deadline Workshops: Jan 31st # QHub agendas ### Decisions * ## 2021-01-11 ### Agenda - qhub-hpc and bodo deployment - qhub end to end testing - progress on local deployment - removing need to oauth for authentication using bcrypt + jupyterhub will have PR this week ### Notes - Early Feb Bodo webinar - Use cloud boxes, use qhub-hpc on those boxes ### Decisions ## 2021-01-08 ### Agenda * QHub HPC demo in 4 weeks (issue at #235) * QHub not in the position to demo Bodo ATM; * Use HPC instead for now. * Ideally, multinode for now. "The spirit of Bodo is lost if we don't do multinode". * Jupyterhub 3.0 release integration into QHub (https://github.com/Quansight/qhub/issues/231) * This really depends on how quickly the community adopts 3. Currently I am not aware of new extensions packaged for 3 yet [answered]. * are there docs for Dask gateway usage? #174 [answered] * ZenHub board for QHub is overwhelmling, using it properly? Thoughts? * we agree moving towards github project will work better * Can we talk about [GH's reviews](https://github.com/Quansight/qhub/projects/1) ? [postponed] * Notification's system for channels [postponed] ### Notes * Chris to talk to Darhas about Bodo+QHub (HPC+QHub in fact) demo ### Decisions --- ## 2021-01-07 ### Agenda * Roadmap discussion for next 1-3 months * Discuss notification system [postponed] ### Notes * Roadmap * Testing (next milestone >> local deployment!) * Automated through repo Amit is building * Get local testing working on local k8s cluster * Password based authentication * oauth requires certificates, local doesn't have certificates * Make HTTPS optional * Can't prove we own a local domain * Minikube can be run on docker > allows for testing through CI * existing k8s cluster that can be deployed on it. (local?) * Next steps * Spin up a minikube cluster * Docs * fomatting the existing docs (starting with README.md) * build the `local deployment` docs (LucidChart diagram | demo) * tutorial for 'local deployment'. ### Decisions * Chris work on passwordless auth * Tyler setup meeting with Chris, Brian --- ## 2021-01-06 QHub standup ### Agenda * Docs * will be restructuring the docs: aws, gcp, digital ocean and fix the README.md for QHub's GH page. * Conference talk * Qhub team, would one of you be willing to give a 15 min talk on Qhub at the ESIP Winter Meeting (virtual, Jan 26-29)? * The talk would be in the session I'm co-organizing on Thursday Jan 28 at 4pm ET: * https://2021esipwintermeeting.sched.com/event/g4AC/science-in-the-cloud-demos * tyler volunteered to present * testing status * we have gcp tests https://github.com/Quansight/qhub-integration-test/runs/1652747710?check_suite_focus=true * amit mentioned that it would not take much effort to add DigitalOcean and AWS (Amit ROCKS!) * jupyterhub theming * adding colors https://github.com/quansight/qhub-jupyterhub-theme * https://github.com/Quansight/qhub-jupyterhub-theme/blob/master/test_jupyterhub_config.py#L20-L25 ```python import tornado.web c.JupyterHub.extra_handlers = [ (r'/custom/(.*)', tornado.web.StaticFileHandler, {"path": "custom"}), ] c.JupyterHub.template_paths = [ './templates', ] ``` ### Decisions * Tyler prep for conference on Jan 28th * Example presentation to Lais * Tony work on theming * Amit add other DO and AWS to testing suite * Lais work on docs --- ## 2021-01-05 QHub weekly meeting * Gitter vs GH Discussions * more difficult to integrate * Community interaction * SLA for responses to questions? (Where is the best place to add this info? README.md of the tool) * Expectation to respond on social media? * Who will build notification system for QHub (what does this mean?) * Conference talk * Who is presenting? * Tyler - Austin Python Users Group (APUG) Feb/Mar * Dharhas to check on proposal requirements * ESIP Winter Meeting (virtual, Jan 26-29) * 15 min talk * Rich would be in the session co-organizing on Thursday Jan 28 at 4pm ET * https://2021esipwintermeeting.sched.com/event/g4AC/science-in-the-cloud-demos * Date/time of presentation? * Proposal submittal time? ## Resourcing Chat ### Highlights * Buy in from 2 influential members of GIS * Several excited engineers (Amit, Chris, Tyler, Brian) ### Current challenges * QHub requires several consecutive hours of work to make a significant contribution (why? how can we change this?) * Building a community requires daytime dedicated hours that pull from other projects * Expectation management (roadmap!) ### QHub opportunities * Sales partnering and marketing ### Needs * DevOps person * Kent has access to devops resource * Do we need to find devops pieces to manage * ### Qadmin * Traefik does authentication through jupyterhub