-
Notifications
You must be signed in to change notification settings - Fork 7
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
Jupyter: update to release py311-241111 #475
Conversation
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/2884/Result ❌ FAILURE BIRDHOUSE_DEPLOY_BRANCH : update-jupyter-env DACCS_IAC_BRANCH : master DACCS_CONFIGS_BRANCH : master PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master PAVICS_SDI_BRANCH : master DESTROY_INFRA_ON_EXIT : true PAVICS_HOST : https://host-140-216.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/1742/NOTEBOOK TEST RESULTS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. I think there's just one more notebook that needs to be updated so that the tests pass
@mishaschwartz It's the merge in the PR Ouranosinc/PAVICS-e2e-workflow-tests#137 that will make effective this new Jupyter env as the runtime env for Jenkins. This PR is simply to bump the Jupyter env deployed on PAVICS. Also a head-ups, Jenkins pipeline on CRIM side will be broken with the go-live of this new Jupyter env. This new Jupyter env requires an updated kernel which requires an OS upgrade ! CRIM has already been notified for a while. |
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/2887/Result ❌ FAILURE BIRDHOUSE_DEPLOY_BRANCH : update-jupyter-env DACCS_IAC_BRANCH : master DACCS_CONFIGS_BRANCH : master PAVICS_E2E_WORKFLOW_TESTS_BRANCH : new-docker-build PAVICS_SDI_BRANCH : master DESTROY_INFRA_ON_EXIT : true PAVICS_HOST : https://host-140-216.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/new-docker-build/123/NOTEBOOK TEST RESULTS |
# Overview New full build with latest of everything. ## Changes - New: save output of `conda env export` and environment size directly in the docker image for ease of tracking change between releases. - Updated pull request template for new docker release. - Jupyter env changes: - Unpin `libnetcdf` (Ouranosinc/PAVICS-landing#66 fixed). - Avoid `dask != 2024.11.0` due to bugs with Raven nb. - Relevant changes (alphabetical order): ```diff - - bokeh=3.4.1=pyhd8ed1ab_0 + - bokeh=3.5.2=pyhd8ed1ab_0 - - cartopy=0.23.0=py311h320fe9a_0 + - cartopy=0.24.0=py311h7db5c69_0 - - cf_xarray=0.9.0=pyhd8ed1ab_0 + - cf_xarray=0.10.0=pyhd8ed1ab_0 - - cfgrib=0.9.11.0=pyhd8ed1ab_0 + - cfgrib=0.9.14.1=pyhd8ed1ab_0 - - cftime=1.6.3=py311h1f0f07a_0 + - cftime=1.6.4=py311h9f3472d_1 - - climpred=2.4.0=pyhd8ed1ab_0 + - climpred=2.5.0=pyhd8ed1ab_0 - - clisops=0.13.0=pyhca7485f_0 + - clisops=0.14.1=pyhd8ed1ab_0 - - dask=2024.5.0=pyhd8ed1ab_0 + - dask=2024.10.0=pyhd8ed1ab_0 - - esmf=8.4.0=nompi_hdb2cfa9_4 + - esmf=8.6.1=nompi_h4441c20_3 - - fiona=1.9.1=py311h3f14cef_0 + - fiona=1.9.5=py311hf8e0aa6_2 - - gdal=3.6.2=py311hadb6153_6 + - gdal=3.8.5=py311hf92cf48_11 - - geopandas=0.14.4=pyhd8ed1ab_0 + - geopandas=1.0.1=pyhd8ed1ab_1 - - hvplot=0.9.2=pyhd8ed1ab_0 + - hvplot=0.11.1=pyhd8ed1ab_0 - - libnetcdf=4.8.1=nompi_h261ec11_106 + - libnetcdf=4.9.2=nompi_h135f659_114 - - numba=0.59.1=py311h96b013e_0 + - numba=0.60.0=py311h4bc866e_0 - - numpy=1.24.4=py311h64a7726_0 + - numpy=1.26.4=py311h64a7726_0 - - owslib=0.28.1=pyhd8ed1ab_0 + - owslib=0.32.0=pyhd8ed1ab_0 - - pandas=2.1.4=py311h320fe9a_0 + - pandas=2.2.3=py311h7db5c69_1 - - panel=1.4.2=pyhd8ed1ab_0 + - panel=1.5.3=pyhd8ed1ab_0 - - pydantic=2.7.1=pyhd8ed1ab_0 + - pydantic==2.7.4 - - pyogrio=0.5.1=py311h3f14cef_0 + - pyogrio=0.7.2=py311hf8e0aa6_1 - - python=3.11.6=hab00c5b_0_cpython + - python=3.11.10=hc5c86c4_3_cpython - - rasterio=1.3.6=py311h567e639_0 + - rasterio=1.3.10=py311h239598e_2 - - raven-hydro=0.2.4=py311h64a4d7b_0 + - raven-hydro=0.3.2=py311h81cb690_1 - - ravenpy==0.13.1 + - ravenpy=0.16.0=pyhd8ed1ab_0 - - rioxarray=0.15.5=pyhd8ed1ab_0 + - rioxarray=0.17.0=pyhd8ed1ab_0 - - roocs-utils=0.6.8=pyhd8ed1ab_0 + - roocs-utils=0.6.9=pyhd8ed1ab_0 - - scipy=1.13.0=py311h517d4fd_1 + - scipy=1.14.1=py311he9a78e4_1 - - shapely=2.0.1=py311h0f577a2_0 + - shapely=2.0.4=py311h0bed3d6_1 - - xarray=2023.8.0=pyhd8ed1ab_0 + - xarray=2024.9.0=pyhd8ed1ab_1 - - xclim=0.47.0=py311h38be061_0 + - xclim=0.53.2=pyhd8ed1ab_0 - - xesmf=0.8.5=pyhd8ed1ab_0 + - xesmf=0.8.8=pyhd8ed1ab_0 - - xscen=0.8.2=pyhd8ed1ab_0 + - xscen=0.10.1=pyhd8ed1ab_0 ``` ## Test - Deployed as "beta" image in production for bokeh visualization performance regression testing. - Manual test notebook https://github.com/Ouranosinc/PAVICS-landing/blob/master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-5Visualization.ipynb for bokeh visualization performance and it looks fine. - Jenkins build: - Default notebooks, all passed: https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/blob/f8c1c585a4f1b17c0a3dc67453695deb2c30fb11/docker/saved_buildout/jenkins-buildlogs-default.txt - Raven notebooks, only known `HydroShare_integration.ipynb`: https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/blob/0b3419bba4aa42ee5a1fa9a8de0c8a6b91bf8547/docker/saved_buildout/jenkins-buildlogs-raven.txt ## Related Issue / Discussion - Matching notebook fixes: - Pavics-sdi: Ouranosinc/pavics-sdi#336 - Finch: PR url - PAVICS-landing: Ouranosinc/PAVICS-landing#98 - RavenPy: CSHS-CWRA/RavenPy#395 - (...) - Deployment to PAVICS: bird-house/birdhouse-deploy#475 - Jenkins-config changes for new notebooks: PR url - Other issues found while working on this one - Issue 1 URL - Issue 2 URL - (...) - Previous release: #121 ## Additional Information Full diff conda env export: release-py311-240506-update240508...f8c1c58 Full new conda env export: https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/blob/0b3419bba4aa42ee5a1fa9a8de0c8a6b91bf8547/docker/saved_buildout/conda-env-export.yml DockerHub build log https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/blob/0b3419bba4aa42ee5a1fa9a8de0c8a6b91bf8547/docker/saved_buildout/docker-buildlogs.txt
Ouranosinc/PAVICS-e2e-workflow-tests#137 has been merged and the new Jupyter env is live now. @fmigneault Jenkins host upgrade problem found and fix on Ouranos side can be found here Ouranosinc/jenkins-config#16. |
@tlvu |
Well the actual Jupyter env itself is not breaking for the end-user per say. It's just a Jenkins host that need updated. This changelog is for the end-user. |
Strongly disagree. The PR changes the default |
But that's how all the previous Jupyter env release was done. I am surprised only now you bring this up. Just to be clear, this release breaks on Jenkins but not on PAVICS. For me that change log was for PAVICS only. |
I think @fmigneault's point is that if the default If the image should only be changed for jenkins, then we should have a different mechanism for updating the image that jenkins uses to test the stack. By changing it here, we are making a user-facing change. |
Only now? Any instance that was relying on If PAVICS instance uses another default image, yeah it doesn't break that instance, but that's just Ouranos' instance. Still breaks all the others that don't explicitly override |
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/2890/Result ❌ FAILURE BIRDHOUSE_DEPLOY_BRANCH : update-jupyter-env DACCS_IAC_BRANCH : master DACCS_CONFIGS_BRANCH : pin-jupyter-env PAVICS_E2E_WORKFLOW_TESTS_BRANCH : new-docker-build PAVICS_SDI_BRANCH : master DESTROY_INFRA_ON_EXIT : true PAVICS_HOST : https://host-140-216.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/new-docker-build/125/NOTEBOOK TEST RESULTS |
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/2892/Result ❌ FAILURE BIRDHOUSE_DEPLOY_BRANCH : update-jupyter-env DACCS_IAC_BRANCH : master DACCS_CONFIGS_BRANCH : pin-jupyter-env PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master PAVICS_SDI_BRANCH : master DESTROY_INFRA_ON_EXIT : true PAVICS_HOST : https://host-140-91.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/1747/NOTEBOOK TEST RESULTS |
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/2895/Result ❌ FAILURE BIRDHOUSE_DEPLOY_BRANCH : master DACCS_IAC_BRANCH : master DACCS_CONFIGS_BRANCH : pin-jupyter-env PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master PAVICS_SDI_BRANCH : master DESTROY_INFRA_ON_EXIT : true PAVICS_HOST : https://host-140-91.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/1748/NOTEBOOK TEST RESULTS |
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/2898/Result ❌ FAILURE BIRDHOUSE_DEPLOY_BRANCH : master DACCS_IAC_BRANCH : master DACCS_CONFIGS_BRANCH : pin-jupyter-env PAVICS_E2E_WORKFLOW_TESTS_BRANCH : pin-jupyter-env PAVICS_SDI_BRANCH : master DESTROY_INFRA_ON_EXIT : true PAVICS_HOST : https://host-140-91.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/pin-jupyter-env/2/NOTEBOOK TEST RESULTS |
@tlvu @mishaschwartz
Example of minor diffs that cause the failures:
And, just to reiterate, I do still believe this does deserve more than a PATCH version release and more details in changelogs warning about it. It definitely wasn't just a simple patch to apply. Reference (for myself to find details): https://crim-ca.atlassian.net/browse/DAC-586 |
@fmigneault Thanks for putting the temporary workaround in place |
@mishaschwartz I think we have probably have a different definition of what is the end-user (intended audience) of the semver bump and by extension the changelog. For me, the intended audience is the sysadmin responsible for maintaining the deployment of the stack. I think you also include the scientist that actually will use the stack, the Jupyter server, as your intended audience. For the sysadmin, he wants to know "do I need to do anything manual other than Hence we document backward incompatible changes like manual scanning and updating Magpie DB when the unique email constraint was enforced or editing the For the scientist, those breaking DB constraints or component path change never impacted him. In fact, all the previous minor and even major version bumps never impacted him. So that's why I always thought our intended audience for those version bump and changelog file has always been the sysadmin. @fmigneault when I said "But that's how all the previous Jupyter env release was done. I am surprised only now you bring this up." I meant since the past 4 years, every single Jupyter env release has been trying to update to the latest packages and accompany by patch version bump (because no manual upgrade step for the sysadmin). This is not something new. If your Jupyter users were broken by python version change or xarray or any other packages behavior change, it must have happened already several times in the past and you would already know about this, not just now. Since you never bought this up in the past, but only this time, that's why I was surprised. CRIM has different releases of your NLP and EO Jupyter image as well. You never mentioned any compatibility warnings in the changelog when they change. Given the stack should be generic and this Jupyter image is pretty Ouranos specific, how about we do not activate this by default in the Jupyterhub component and only list it in the birdhouse-deploy/birdhouse/env.local.example Lines 264 to 268 in 1528ba1
The sysadmin activating the Jupyterhub will have to choose the Jupyter image(s) and this won't change unless he decided to. Previously the component Jupyterhub was enabled by default so we needed to have a default Jupyter image enabled so it works "out of the box". But it is not the case anymore, so there is no real reason to enable an Ouranos specific image by default. Thanks for bringing this up. This is a little detail we missed when making the platform fully modular and minimalist. |
@tlvu In a generic CRIM instance (eg: https://hirondelle.crim.ca/), I really don't care about the jupyter instance (I could even disable them entirely), because it isn't really the main use case for that server. However, the As already obvious by my response time to update jenkins, it is really low in my list of to-dos, and sadly, because it affects the CI, this change affects all of us indirectly. Changing the default |
Yes agreed. |
Overview
Update Jupyter env to latest version, see Ouranosinc/PAVICS-e2e-workflow-tests#137 for more info.
Changes
Non-breaking changes
py311-241111
.Breaking changes
Jenkins host upgrade problem found and fix on Ouranos side can be found here Migrate to RockyLinux9 with latest docker engine and compose plugin Ouranosinc/jenkins-config#16.
Related Issue / Discussion
Additional Information
Links to other issues or sources.
CI Operations
birdhouse_daccs_configs_branch: master
birdhouse_skip_ci: false