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

optional-component secure-data-proxy + related configs in cowbird/magpie/weaver #283

Merged
merged 19 commits into from
Feb 10, 2023

Conversation

fmigneault
Copy link
Collaborator

@fmigneault fmigneault commented Jan 31, 2023

Multiple updates to support secured WPS outputs.

Changes

Non-breaking changes

  • secure-data-proxy: add new secure-data-proxy optional component.

    When enabled, this component will enforce authentication and authorization to be resolved against the /wpsoutputs
    endpoint prior to accessing the results produced by WPS executions. A Magpie service named secure-data-proxy is
    created to define the resource and permission hierarchy of directories and files the users and groups can access.
    When disabled, the original behavior to provide open access to /wpsoutputs is employed.

    A variable named SECURE_DATA_PROXY_AUTH_INCLUDE is dynamically assigned based on the activation or not of this
    component. Corresponding validation of optional/mandatory/delayed-eval variables used by this component are also
    applied dynamically, as well as mounting the necessary nginx and docker-compose extended configurations.

  • Weaver: adjust user-context output directory hooks and permissions for secure-data-proxy.

    When a process defined in Weaver (either a WPS provider or a local definition) is executed by a user that was granted
    authorization to run a job, the corresponding user-context directory under /wpsoutputs/users/{user-id} will be used
    for storing the execution outputs and will have the appropriate permissions set for that user to grant them access to
    those outputs.

  • Magpie/Twitcher: update minimum version magpie>=3.31.0 to employ twitcher>=0.8.0 in MapgieAdatepr.

    • Resolve an issue where response.request references were not set in OWS proxy responses when handled by Twitcher.
      This caused MapgieAdatepr response hooks to fail, which in turn caused failing requests for any non-WPS
      service that defined any proxy request hook, such as in the case of weaver component.

    • Adds the Twitcher /ows/verify/{service_name}[/{extra_path} endpoint employed for validating authorized access
      to Magpie service/resources, in the same fashion as the protected proxy endpoint, but without performing the proxied
      request toward the target service. This is mandatory for using the new secure-data-proxy
      optional component, otherwise the proxy endpoint triggers data download twice, once for authorization and another
      for actually accessing the data.

Breaking changes

  • n/a (technically)
    New feature secure-data-proxy with optional component should default to using the original methodology of public access if not enabled.

Related Issue / Discussion

Testing

To test the feature, simply enabled it in the EXTRA_CONF_DIRS, and place some files under ${DATA_PERSIST_ROOT}/wpsoutputs.
There should be a predefined /wpsoutputs/public location where files would be accessible when not logged in. Other locations should return 403. Then, a specific directory/file can be defined in Magpie with the relevant user permission on that resource to validate access to that file when logged in.

To Do

@crim-jenkins-bot
Copy link
Collaborator

E2E Test Results

DACCS-iac Pipeline Results

Build URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac/48/
Result : failure

BIRDHOUSE_DEPLOY_BRANCH : secure-data-proxy
DACCS_CONFIGS_BRANCH : master
PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master
PAVICS_SDI_BRANCH : master

DESTROY_INFRA_ON_EXIT : true
PAVICS_HOST : https://host-140-36.rdext.crim.ca

PAVICS-e2e-workflow-tests Pipeline Results

Tests URL :

NOTEBOOK TEST RESULTS
    
</code>

@crim-jenkins-bot
Copy link
Collaborator

E2E Test Results

DACCS-iac Pipeline Results

Build URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/1153/
Result : failure

BIRDHOUSE_DEPLOY_BRANCH : secure-data-proxy
DACCS_CONFIGS_BRANCH : master
PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master
PAVICS_SDI_BRANCH : master

DESTROY_INFRA_ON_EXIT : true
PAVICS_HOST : https://host-140-36.rdext.crim.ca

PAVICS-e2e-workflow-tests Pipeline Results

Tests URL :

NOTEBOOK TEST RESULTS
    
</code>

@crim-jenkins-bot
Copy link
Collaborator

E2E Test Results

DACCS-iac Pipeline Results

Build URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/1156/
Result : failure

BIRDHOUSE_DEPLOY_BRANCH : secure-data-proxy
DACCS_CONFIGS_BRANCH : master
PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master
PAVICS_SDI_BRANCH : master

DESTROY_INFRA_ON_EXIT : true
PAVICS_HOST : https://host-140-36.rdext.crim.ca

PAVICS-e2e-workflow-tests Pipeline Results

Tests URL :

NOTEBOOK TEST RESULTS
    
</code>

@crim-jenkins-bot
Copy link
Collaborator

E2E Test Results

DACCS-iac Pipeline Results

Build URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac/51/
Result : failure

BIRDHOUSE_DEPLOY_BRANCH : secure-data-proxy
DACCS_CONFIGS_BRANCH : master
PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master
PAVICS_SDI_BRANCH : master

DESTROY_INFRA_ON_EXIT : true
PAVICS_HOST : https://host-140-36.rdext.crim.ca

PAVICS-e2e-workflow-tests Pipeline Results

Tests URL :

NOTEBOOK TEST RESULTS
    
</code>

@crim-jenkins-bot
Copy link
Collaborator

E2E Test Results

DACCS-iac Pipeline Results

Build URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/1192/
Result : failure

BIRDHOUSE_DEPLOY_BRANCH : secure-data-proxy
DACCS_CONFIGS_BRANCH : master
PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master
PAVICS_SDI_BRANCH : master

DESTROY_INFRA_ON_EXIT : true
PAVICS_HOST : https://

PAVICS-e2e-workflow-tests Pipeline Results

Tests URL :

NOTEBOOK TEST RESULTS
    
</code>

@matprov
Copy link
Collaborator

matprov commented Feb 7, 2023

run tests

@crim-jenkins-bot
Copy link
Collaborator

E2E Test Results

DACCS-iac Pipeline Results

Build URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/1202/
Result : failure

BIRDHOUSE_DEPLOY_BRANCH : secure-data-proxy
DACCS_CONFIGS_BRANCH : master
PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master
PAVICS_SDI_BRANCH : master

DESTROY_INFRA_ON_EXIT : true
PAVICS_HOST : https://host-140-118.rdext.crim.ca

PAVICS-e2e-workflow-tests Pipeline Results

Tests URL :

NOTEBOOK TEST RESULTS
    
</code>

@crim-jenkins-bot
Copy link
Collaborator

E2E Test Results

DACCS-iac Pipeline Results

Build URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/1204/
Result : failure

BIRDHOUSE_DEPLOY_BRANCH : secure-data-proxy
DACCS_CONFIGS_BRANCH : master
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 Results

Tests URL :

NOTEBOOK TEST RESULTS
    
</code>

…solution by default when secure-data-proxy component is not enabled
@fmigneault
Copy link
Collaborator Author

fmigneault commented Feb 9, 2023

2 builds are expected after this comment ⬇️ (comments by test suite itself to appear eventually...)
look for the value of DACCS_CONFIGS_BRANCH in the posted comments

@crim-jenkins-bot
Copy link
Collaborator

E2E Test Results

DACCS-iac Pipeline Results

Build URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/1221/
Result : failure

BIRDHOUSE_DEPLOY_BRANCH : secure-data-proxy
DACCS_CONFIGS_BRANCH : master
PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master
PAVICS_SDI_BRANCH : master

DESTROY_INFRA_ON_EXIT : true
PAVICS_HOST : https://host-140-36.rdext.crim.ca

PAVICS-e2e-workflow-tests Pipeline Results

Tests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/952/

NOTEBOOK TEST RESULTS
    
[2023-02-09T04:20:57.612Z] ============================= test session starts ==============================
[2023-02-09T04:20:57.612Z] platform linux -- Python 3.8.15, pytest-7.2.0, pluggy-1.0.0
[2023-02-09T04:20:57.612Z] rootdir: /home/jenkins/agent/workspace/PAVICS-e2e-workflow-tests_master
[2023-02-09T04:20:57.612Z] plugins: anyio-3.6.2, dash-2.7.0, nbval-0.9.6, tornasync-0.6.0.post2
[2023-02-09T04:20:57.612Z] collected 263 items
[2023-02-09T04:20:57.612Z] 
[2023-02-09T04:21:06.035Z] notebooks-auth/test_thredds.ipynb ...........                            [  4%]
[2023-02-09T04:21:15.077Z] pavics-sdi-master/docs/source/notebooks/WCS_example.ipynb .......        [  6%]
[2023-02-09T04:21:24.146Z] pavics-sdi-master/docs/source/notebooks/WFS_example.ipynb ......         [  9%]
[2023-02-09T04:21:34.417Z] pavics-sdi-master/docs/source/notebooks/WMS_example.ipynb ........       [ 12%]
[2023-02-09T04:21:37.859Z] pavics-sdi-master/docs/source/notebooks/WPS_example.ipynb ..........     [ 15%]
[2023-02-09T04:34:40.406Z] pavics-sdi-master/docs/source/notebooks/climex.ipynb F.....F.....        [ 20%]
[2023-02-09T04:34:40.420Z] pavics-sdi-master/docs/source/notebooks/eccc-geoapi-climate-stations.ipynb . [ 20%]
[2023-02-09T04:34:49.429Z] ...............                                                          [ 26%]
[2023-02-09T04:35:02.535Z] pavics-sdi-master/docs/source/notebooks/eccc-geoapi-xclim.ipynb .....    [ 28%]
[2023-02-09T04:35:17.521Z] pavics-sdi-master/docs/source/notebooks/esgf-dap.ipynb F                 [ 28%]
[2023-02-09T04:35:37.670Z] pavics-sdi-master/docs/source/notebooks/forecasts.ipynb ......           [ 31%]
[2023-02-09T04:35:39.056Z] pavics-sdi-master/docs/source/notebooks/jupyter_extensions.ipynb .       [ 31%]
[2023-02-09T04:35:45.911Z] pavics-sdi-master/docs/source/notebooks/opendap.ipynb .......            [ 34%]
[2023-02-09T04:35:52.609Z] pavics-sdi-master/docs/source/notebooks/pavics_thredds.ipynb .....       [ 36%]
[2023-02-09T04:39:24.000Z] pavics-sdi-master/docs/source/notebooks/regridding.ipynb ............... [ 41%]
[2023-02-09T04:40:42.477Z] .............                                                            [ 46%]
[2023-02-09T04:40:45.799Z] pavics-sdi-master/docs/source/notebooks/rendering.ipynb ....             [ 48%]
[2023-02-09T04:40:48.838Z] pavics-sdi-master/docs/source/notebooks/subset-user-input.ipynb ........ [ 51%]
[2023-02-09T04:41:16.241Z] .................                                                        [ 57%]
[2023-02-09T04:41:22.499Z] pavics-sdi-master/docs/source/notebooks/subsetting.ipynb .....           [ 59%]
[2023-02-09T04:41:23.752Z] pavics-sdi-master/docs/source/notebook-components/weaver_example.ipynb . [ 60%]
[2023-02-09T04:41:24.799Z] .FFFFFFFF                                                                [ 63%]
[2023-02-09T04:41:37.411Z] finch-master/docs/source/notebooks/dap_subset.ipynb ...........          [ 67%]
[2023-02-09T04:41:47.804Z] finch-master/docs/source/notebooks/finch-usage.ipynb ......              [ 69%]
[2023-02-09T04:42:18.314Z] finch-master/docs/source/notebooks/subset.ipynb ....................ss.  [ 78%]
[2023-02-09T04:42:20.290Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-1DataAccess.ipynb . [ 79%]
[2023-02-09T04:42:23.869Z] ......                                                                   [ 81%]
[2023-02-09T04:42:45.906Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-2Subsetting.ipynb . [ 81%]
[2023-02-09T04:43:02.984Z] .............                                                            [ 86%]
[2023-02-09T04:43:13.010Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-3Climate-Indicators.ipynb . [ 87%]
[2023-02-09T04:43:47.482Z] ....s.                                                                   [ 89%]
[2023-02-09T04:43:59.716Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-4Ensembles.ipynb . [ 89%]
[2023-02-09T04:44:04.991Z] ...                                                                      [ 90%]
[2023-02-09T04:44:31.800Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-5Visualization.ipynb . [ 91%]
[2023-02-09T04:44:56.671Z] ......                                                                   [ 93%]
[2023-02-09T04:45:00.080Z] notebooks/hummingbird.ipynb ............                                 [ 98%]
[2023-02-09T04:48:25.312Z] notebooks/stress-tests.ipynb .....                                       [100%]
[2023-02-09T04:48:25.312Z] 
[2023-02-09T04:48:25.312Z] =================================== FAILURES ===================================
    
  

@crim-jenkins-bot
Copy link
Collaborator

E2E Test Results

DACCS-iac Pipeline Results

Build URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/1223/
Result : failure

BIRDHOUSE_DEPLOY_BRANCH : secure-data-proxy
DACCS_CONFIGS_BRANCH : secure-data-proxy
PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master
PAVICS_SDI_BRANCH : master

DESTROY_INFRA_ON_EXIT : true
PAVICS_HOST : https://host-140-36.rdext.crim.ca

PAVICS-e2e-workflow-tests Pipeline Results

Tests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/954/

NOTEBOOK TEST RESULTS
    
[2023-02-09T06:26:12.983Z] ============================= test session starts ==============================
[2023-02-09T06:26:12.983Z] platform linux -- Python 3.8.15, pytest-7.2.0, pluggy-1.0.0
[2023-02-09T06:26:12.983Z] rootdir: /home/jenkins/agent/workspace/PAVICS-e2e-workflow-tests_master
[2023-02-09T06:26:12.983Z] plugins: anyio-3.6.2, dash-2.7.0, nbval-0.9.6, tornasync-0.6.0.post2
[2023-02-09T06:26:12.983Z] collected 263 items
[2023-02-09T06:26:12.983Z] 
[2023-02-09T06:26:20.344Z] notebooks-auth/test_thredds.ipynb ...........                            [  4%]
[2023-02-09T06:26:29.530Z] pavics-sdi-master/docs/source/notebooks/WCS_example.ipynb .......        [  6%]
[2023-02-09T06:26:39.527Z] pavics-sdi-master/docs/source/notebooks/WFS_example.ipynb ......         [  9%]
[2023-02-09T06:26:49.581Z] pavics-sdi-master/docs/source/notebooks/WMS_example.ipynb ........       [ 12%]
[2023-02-09T06:26:52.472Z] pavics-sdi-master/docs/source/notebooks/WPS_example.ipynb ..........     [ 15%]
[2023-02-09T06:53:09.710Z] pavics-sdi-master/docs/source/notebooks/climex.ipynb F.....F.....        [ 20%]
[2023-02-09T06:53:21.154Z] pavics-sdi-master/docs/source/notebooks/eccc-geoapi-climate-stations.ipynb . [ 20%]
[2023-02-09T06:53:37.833Z] ...............                                                          [ 26%]
[2023-02-09T06:53:50.716Z] pavics-sdi-master/docs/source/notebooks/eccc-geoapi-xclim.ipynb .....    [ 28%]
[2023-02-09T06:54:05.955Z] pavics-sdi-master/docs/source/notebooks/esgf-dap.ipynb F                 [ 28%]
[2023-02-09T06:54:27.333Z] pavics-sdi-master/docs/source/notebooks/forecasts.ipynb ......           [ 31%]
[2023-02-09T06:54:29.242Z] pavics-sdi-master/docs/source/notebooks/jupyter_extensions.ipynb .       [ 31%]
[2023-02-09T06:54:37.610Z] pavics-sdi-master/docs/source/notebooks/opendap.ipynb .......            [ 34%]
[2023-02-09T06:54:44.310Z] pavics-sdi-master/docs/source/notebooks/pavics_thredds.ipynb .....       [ 36%]
[2023-02-09T06:55:06.188Z] pavics-sdi-master/docs/source/notebooks/regridding.ipynb Cannot contact linux1: java.lang.InterruptedException
[2023-02-09T06:59:04.079Z] ............... [ 41%]
[2023-02-09T07:00:18.737Z] .............                                                            [ 46%]
[2023-02-09T07:00:23.623Z] pavics-sdi-master/docs/source/notebooks/rendering.ipynb ....             [ 48%]
[2023-02-09T07:00:27.209Z] pavics-sdi-master/docs/source/notebooks/subset-user-input.ipynb ........ [ 51%]
[2023-02-09T07:00:52.206Z] .................                                                        [ 57%]
[2023-02-09T07:00:59.965Z] pavics-sdi-master/docs/source/notebooks/subsetting.ipynb .....           [ 59%]
[2023-02-09T07:01:01.876Z] pavics-sdi-master/docs/source/notebook-components/weaver_example.ipynb . [ 60%]
[2023-02-09T07:01:02.940Z] .FFFFFFFF                                                                [ 63%]
[2023-02-09T07:01:16.992Z] finch-master/docs/source/notebooks/dap_subset.ipynb ...........          [ 67%]
[2023-02-09T07:01:27.650Z] finch-master/docs/source/notebooks/finch-usage.ipynb ......              [ 69%]
[2023-02-09T07:02:02.052Z] finch-master/docs/source/notebooks/subset.ipynb ....................ss.  [ 78%]
[2023-02-09T07:02:03.444Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-1DataAccess.ipynb . [ 79%]
[2023-02-09T07:02:07.021Z] ......                                                                   [ 81%]
[2023-02-09T07:02:29.025Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-2Subsetting.ipynb . [ 81%]
[2023-02-09T07:02:45.724Z] .............                                                            [ 86%]
[2023-02-09T07:02:57.960Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-3Climate-Indicators.ipynb . [ 87%]
[2023-02-09T07:03:33.151Z] ....s.                                                                   [ 89%]
[2023-02-09T07:03:45.416Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-4Ensembles.ipynb . [ 89%]
[2023-02-09T07:03:50.935Z] ...                                                                      [ 90%]
[2023-02-09T07:04:17.619Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-5Visualization.ipynb . [ 91%]
[2023-02-09T07:04:46.142Z] ......                                                                   [ 93%]
[2023-02-09T07:04:52.307Z] notebooks/hummingbird.ipynb ............                                 [ 98%]
[2023-02-09T07:08:21.461Z] notebooks/stress-tests.ipynb .....                                       [100%]
[2023-02-09T07:08:21.461Z] 
[2023-02-09T07:08:21.461Z] =================================== FAILURES ===================================
    
  

@fmigneault fmigneault self-assigned this Feb 9, 2023
@fmigneault
Copy link
Collaborator Author

@tlvu
Let me know when you are done testing this on your end. I'm ready to integrate it.
Also, so we can sync versions with other pending PRs.

Copy link
Collaborator

@tlvu tlvu left a comment

Choose a reason for hiding this comment

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

PR looks okay for me since Cowbird and this new secure-data-proxy is not yet activated on Ouranos side, it's not critical that I test everything.

But since you bumped Magpie, I'll have to test DB upgrade. I'll get back to you once done.

birdhouse/default.env Show resolved Hide resolved
birdhouse/components/cowbird/default.env Show resolved Hide resolved
birdhouse/pavics-compose.sh Show resolved Hide resolved
birdhouse/scripts/get-components-json.sh Outdated Show resolved Hide resolved
birdhouse/default.env Show resolved Hide resolved
Copy link
Collaborator

@tlvu tlvu left a comment

Choose a reason for hiding this comment

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

Magpie DB upgrade seems to be fine, only 1 DB upgrade:

[2023-02-10 01:29:43,140] INFO       [MainThread][alembic.runtime.migration] Running upgrade 0c6269f410cd -> 5e5acc33adce, Case Insensitive Email Constraint

However this new Magpie version seems to have a bunch of warnings, anything to be worried about?

/opt/local/src/magpie/magpie/models.py:935: SAWarning: Enum 'length' argument is currently ignored unless native_enum is specified as False, including for DDL that renders VARCHAR in any case.  This may change in a future release.
  operation = sa.Column(sa.Enum(TokenOperation, name=TokenOperation.__name__, length=32), nullable=False)
/opt/local/src/magpie/magpie/db.py:44: SAWarning: relationship 'Group.users_dynamic' will copy column groups.id to column users_groups.group_id, which conflicts with relationship(s): 'Group.users' (copies groups.id to users_groups.group_id), 'User.groups' (copies groups.id to users_groups.group_id). If this
 is not the intention, consider if these relationships should be linked with back_populates, or if viewonly=True should be applied to one or more if they are read-only. For the less common case that foreign key constraints are partially overlapping, the orm.foreign() annotation can be used to isolate the co
lumns that should be written towards.   To silence this warning, add the parameter 'overlaps="groups,users"' to the 'Group.users_dynamic' relationship. (Background on this error at: https://sqlalche.me/e/14/qzyx)
  configure_mappers()
/opt/local/src/magpie/magpie/db.py:44: SAWarning: relationship 'Group.users_dynamic' will copy column users.id to column users_groups.user_id, which conflicts with relationship(s): 'Group.users' (copies users.id to users_groups.user_id), 'User.groups' (copies users.id to users_groups.user_id). If this is no
t the intention, consider if these relationships should be linked with back_populates, or if viewonly=True should be applied to one or more if they are read-only. For the less common case that foreign key constraints are partially overlapping, the orm.foreign() annotation can be used to isolate the columns
that should be written towards.   To silence this warning, add the parameter 'overlaps="groups,users"' to the 'Group.users_dynamic' relationship. (Background on this error at: https://sqlalche.me/e/14/qzyx)
  configure_mappers()
/opt/local/src/magpie/magpie/db.py:44: SAWarning: relationship 'Group.resources_dynamic' will copy column groups.id to column resources.owner_group_id, which conflicts with relationship(s): 'Group.resources' (copies groups.id to resources.owner_group_id), 'Resource.owner_group' (copies groups.id to resource
s.owner_group_id). If this is not the intention, consider if these relationships should be linked with back_populates, or if viewonly=True should be applied to one or more if they are read-only. For the less common case that foreign key constraints are partially overlapping, the orm.foreign() annotation can
 be used to isolate the columns that should be written towards.   To silence this warning, add the parameter 'overlaps="owner_group,resources"' to the 'Group.resources_dynamic' relationship. (Background on this error at: https://sqlalche.me/e/14/qzyx)
  configure_mappers()
/opt/local/src/magpie/magpie/db.py:44: SAWarning: relationship 'Resource.groups' will copy column resources.resource_id to column groups_resources_permissions.resource_id, which conflicts with relationship(s): 'Resource.group_permissions' (copies resources.resource_id to groups_resources_permissions.resourc
e_id). If this is not the intention, consider if these relationships should be linked with back_populates, or if viewonly=True should be applied to one or more if they are read-only. For the less common case that foreign key constraints are partially overlapping, the orm.foreign() annotation can be used to
isolate the columns that should be written towards.   To silence this warning, add the parameter 'overlaps="group_permissions"' to the 'Resource.groups' relationship. (Background on this error at: https://sqlalche.me/e/14/qzyx)
  configure_mappers()
/opt/local/src/magpie/magpie/db.py:44: SAWarning: relationship 'Resource.groups' will copy column groups.id to column groups_resources_permissions.group_id, which conflicts with relationship(s): 'Group.resource_permissions' (copies groups.id to groups_resources_permissions.group_id), 'GroupResourcePermissio
n.groups' (copies groups.id to groups_resources_permissions.group_id). If this is not the intention, consider if these relationships should be linked with back_populates, or if viewonly=True should be applied to one or more if they are read-only. For the less common case that foreign key constraints are par
tially overlapping, the orm.foreign() annotation can be used to isolate the columns that should be written towards.   To silence this warning, add the parameter 'overlaps="groups,resource_permissions"' to the 'Resource.groups' relationship. (Background on this error at: https://sqlalche.me/e/14/qzyx)
  configure_mappers()
/opt/local/src/magpie/magpie/db.py:44: SAWarning: relationship 'Resource.users' will copy column resources.resource_id to column users_resources_permissions.resource_id, which conflicts with relationship(s): 'Resource.user_permissions' (copies resources.resource_id to users_resources_permissions.resource_id
). If this is not the intention, consider if these relationships should be linked with back_populates, or if viewonly=True should be applied to one or more if they are read-only. For the less common case that foreign key constraints are partially overlapping, the orm.foreign() annotation can be used to isol
ate the columns that should be written towards.   To silence this warning, add the parameter 'overlaps="user_permissions"' to the 'Resource.users' relationship. (Background on this error at: https://sqlalche.me/e/14/qzyx)
  configure_mappers()
/opt/local/src/magpie/magpie/db.py:44: SAWarning: relationship 'User.groups_dynamic' will copy column users.id to column users_groups.user_id, which conflicts with relationship(s): 'Group.users' (copies users.id to users_groups.user_id), 'Group.users_dynamic' (copies users.id to users_groups.user_id), 'User
.groups' (copies users.id to users_groups.user_id). If this is not the intention, consider if these relationships should be linked with back_populates, or if viewonly=True should be applied to one or more if they are read-only. For the less common case that foreign key constraints are partially overlapping,
 the orm.foreign() annotation can be used to isolate the columns that should be written towards.   To silence this warning, add the parameter 'overlaps="groups,users,users_dynamic"' to the 'User.groups_dynamic' relationship. (Background on this error at: https://sqlalche.me/e/14/qzyx)
  configure_mappers()
/opt/local/src/magpie/magpie/db.py:44: SAWarning: relationship 'User.groups_dynamic' will copy column groups.id to column users_groups.group_id, which conflicts with relationship(s): 'Group.users' (copies groups.id to users_groups.group_id), 'Group.users_dynamic' (copies groups.id to users_groups.group_id),
 'User.groups' (copies groups.id to users_groups.group_id). If this is not the intention, consider if these relationships should be linked with back_populates, or if viewonly=True should be applied to one or more if they are read-only. For the less common case that foreign key constraints are partially over
lapping, the orm.foreign() annotation can be used to isolate the columns that should be written towards.   To silence this warning, add the parameter 'overlaps="groups,users,users_dynamic"' to the 'User.groups_dynamic' relationship. (Background on this error at: https://sqlalche.me/e/14/qzyx)
  configure_mappers()
/opt/local/src/magpie/magpie/db.py:44: SAWarning: relationship 'User.resource_permissions' will copy column users.id to column users_resources_permissions.user_id, which conflicts with relationship(s): 'Resource.users' (copies users.id to users_resources_permissions.user_id). If this is not the intention, c
onsider if these relationships should be linked with back_populates, or if viewonly=True should be applied to one or more if they are read-only. For the less common case that foreign key constraints are partially overlapping, the orm.foreign() annotation can be used to isolate the columns that should be wri
tten towards.   To silence this warning, add the parameter 'overlaps="users"' to the 'User.resource_permissions' relationship. (Background on this error at: https://sqlalche.me/e/14/qzyx)
  configure_mappers()

@tlvu
Copy link
Collaborator

tlvu commented Feb 10, 2023

Please remove get-components-json.sh from this PR, it should really not be here.

@tlvu
Copy link
Collaborator

tlvu commented Feb 10, 2023

Please remove get-components-json.sh from this PR, it should really not be here.

Ah I see why, in master the file name has include in it !

@fmigneault
Copy link
Collaborator Author

bunch of warnings, anything to be worried about?

Those are produced in preparation of SQLAalchemy 2.0.
I'm waiting on ergo/ziggurat_foundations#74 to resolve the warnings.
In the meantime, sqlalchemy<2 is pinned (https:/Ouranosinc/Magpie/blob/3.31.0/requirements.txt#L48), so no issue.

@crim-jenkins-bot
Copy link
Collaborator

E2E Test Results

DACCS-iac Pipeline Results

Build URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/1229/
Result : failure

BIRDHOUSE_DEPLOY_BRANCH : secure-data-proxy
DACCS_CONFIGS_BRANCH : master
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 Results

Tests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/957/

NOTEBOOK TEST RESULTS
    
[2023-02-10T04:24:37.855Z] ============================= test session starts ==============================
[2023-02-10T04:24:37.855Z] platform linux -- Python 3.8.15, pytest-7.2.0, pluggy-1.0.0
[2023-02-10T04:24:37.855Z] rootdir: /home/jenkins/agent/workspace/PAVICS-e2e-workflow-tests_master
[2023-02-10T04:24:37.855Z] plugins: anyio-3.6.2, dash-2.7.0, nbval-0.9.6, tornasync-0.6.0.post2
[2023-02-10T04:24:37.855Z] collected 263 items
[2023-02-10T04:24:37.855Z] 
[2023-02-10T04:24:44.588Z] notebooks-auth/test_thredds.ipynb ...........                            [  4%]
[2023-02-10T04:25:17.657Z] pavics-sdi-master/docs/source/notebooks/WCS_example.ipynb .......        [  6%]
[2023-02-10T04:25:27.215Z] pavics-sdi-master/docs/source/notebooks/WFS_example.ipynb ......         [  9%]
[2023-02-10T04:25:35.026Z] pavics-sdi-master/docs/source/notebooks/WMS_example.ipynb ........       [ 12%]
[2023-02-10T04:25:37.571Z] pavics-sdi-master/docs/source/notebooks/WPS_example.ipynb ..........     [ 15%]
[2023-02-10T04:40:37.939Z] pavics-sdi-master/docs/source/notebooks/climex.ipynb F.....FCannot contact linux1: java.lang.InterruptedException
[2023-02-10T05:11:39.260Z] Fxxxx        [ 20%]
[2023-02-10T05:11:49.338Z] pavics-sdi-master/docs/source/notebooks/eccc-geoapi-climate-stations.ipynb . [ 20%]
[2023-02-10T05:12:00.850Z] ...............                                                          [ 26%]
[2023-02-10T05:12:14.765Z] pavics-sdi-master/docs/source/notebooks/eccc-geoapi-xclim.ipynb .....    [ 28%]
[2023-02-10T05:12:27.006Z] pavics-sdi-master/docs/source/notebooks/esgf-dap.ipynb F                 [ 28%]
[2023-02-10T05:12:49.029Z] pavics-sdi-master/docs/source/notebooks/forecasts.ipynb ......           [ 31%]
[2023-02-10T05:12:50.959Z] pavics-sdi-master/docs/source/notebooks/jupyter_extensions.ipynb .       [ 31%]
[2023-02-10T05:12:58.473Z] pavics-sdi-master/docs/source/notebooks/opendap.ipynb .......            [ 34%]
[2023-02-10T05:13:05.023Z] pavics-sdi-master/docs/source/notebooks/pavics_thredds.ipynb .....       [ 36%]
[2023-02-10T05:17:35.876Z] pavics-sdi-master/docs/source/notebooks/regridding.ipynb ............... [ 41%]
[2023-02-10T05:18:37.194Z] .............                                                            [ 46%]
[2023-02-10T05:18:42.561Z] pavics-sdi-master/docs/source/notebooks/rendering.ipynb ....             [ 48%]
[2023-02-10T05:18:45.443Z] pavics-sdi-master/docs/source/notebooks/subset-user-input.ipynb ........ [ 51%]
[2023-02-10T05:19:11.773Z] .................                                                        [ 57%]
[2023-02-10T05:19:18.990Z] pavics-sdi-master/docs/source/notebooks/subsetting.ipynb .....           [ 59%]
[2023-02-10T05:19:21.061Z] pavics-sdi-master/docs/source/notebook-components/weaver_example.ipynb . [ 60%]
[2023-02-10T05:19:21.857Z] .FFFFFFFF                                                                [ 63%]
[2023-02-10T05:19:34.006Z] finch-master/docs/source/notebooks/dap_subset.ipynb ...........          [ 67%]
[2023-02-10T05:19:43.413Z] finch-master/docs/source/notebooks/finch-usage.ipynb ......              [ 69%]
[2023-02-10T05:20:13.833Z] finch-master/docs/source/notebooks/subset.ipynb ....................ss.  [ 78%]
[2023-02-10T05:20:15.747Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-1DataAccess.ipynb . [ 79%]
[2023-02-10T05:20:21.882Z] ......                                                                   [ 81%]
[2023-02-10T05:20:48.474Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-2Subsetting.ipynb . [ 81%]
[2023-02-10T05:21:08.118Z] .............                                                            [ 86%]
[2023-02-10T05:21:18.133Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-3Climate-Indicators.ipynb . [ 87%]
[2023-02-10T05:21:57.553Z] ....s.                                                                   [ 89%]
[2023-02-10T05:22:07.566Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-4Ensembles.ipynb . [ 89%]
[2023-02-10T05:22:13.479Z] ...                                                                      [ 90%]
[2023-02-10T05:22:35.476Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-5Visualization.ipynb . [ 91%]
[2023-02-10T05:22:57.729Z] ......                                                                   [ 93%]
[2023-02-10T05:23:01.080Z] notebooks/hummingbird.ipynb ............                                 [ 98%]
[2023-02-10T05:23:44.972Z] Cancelling nested steps due to timeout
[2023-02-10T05:23:45.005Z] notebooks/stress-tests.ipynb ...Sending interrupt signal to process
[2023-02-10T05:23:49.955Z] Terminated
[2023-02-10T05:23:49.970Z] script returned exit code 143
�[8mha:////4ItaOhsIRFfcNciVdA3A5uvEe7JeZm9hBtUZEY4X9BpjAAAApR+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPOIi0SCEqNJabniBiY1xYt0Z2yGpeBFf4w8EIlGxxWpnm3m+YJkiHDlabA11jlLjMPjeTgsHjt3F84Atn7FhSuwNSjNI1qaeUXI2MKcoYSFgZajxnBzZDGvRqruqvCJbnXKcvoOA0ukbPKAQkzmrmL8wRthce52Yfp6/AhhDyFBu95/avQGMKkS1vgAAAA==�[0m[Pipeline] }
�[8mha:////4Aio6UelSH6cmkJHznIJktbtMlo1XW0Qqw/RvIKKjzc1AAAApR+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPOKCQKJBqWgtN7zAJMY4se6C7eBUvIiv8QcsIlGxxWpnm3m9YRk81OwNdpp6S6GxOLjR5IWJfX91nLDjCzZMgZ1GqZPkVp9mlBw1zClKWAhYaWocB0smwlp06qEqp8hU5+jzdxRQ2vYOTyhENkfl4xcmD5vb2Aamn+evAKZhiFDut7l2hw9mQDtDvgAAAA==�[0m[Pipeline] // withCredentials
�[8mha:////4FQEhWYsKsWgvD3Y8RE20WPjUSxuhfFY+TD3rc1qM7IiAAAApR+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPOIiQFQoFa3lhheYxBgn1l2wHZyKF/E1/oBFJCq2WO1sM683LIOHmr3BTlNvKTQWBzeavDCx76+OE3Z8wYYpsNModZLc6tOMkqOGOUUJCwErTY3jYMlEWItOPVTlFJnqHH3+jgJK297hCYXI5qh8/MLkYXMb28D08/wVwDQMEcr9Ntfu8AF5wm4RvgAAAA==�[0m[Pipeline] }
�[8mha:////4KNTodaWsetSNNWqE//y+IOyoGMxsdvVSBLk6WKj+MzbAAAApB+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPOIiBTpEldZKwwtMbIwT687YDknFi/gaf8AiEhVbrHa2mdcb1jHAiYPBXtNgKXYWvRtNXjhxGK6OJ+z5gh1TZKex1VPLSjcLtpw0LClKWAnYaOocR0smwVb08iErJ8lU5xTydxRQWnWHJxQim5MM6QtzgN1tVJHp5/krgNn7BOW+zlUfPkGA/eC+AAAA�[0m[Pipeline] // script
�[8mha:////4KR6tQZJrWFxN0vyZP8vuQmvK2rFt9tOj0oriz2EfOnHAAAApB+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPMKRSImoaC03vMAkh3Fi3Rnbwal4EV/jD1hEomKL1c4283rDOgY4cjBiQBotxc4K7yZTlsgcxqvjLAa+iI4pskOhMCvu8bSg4oSwpKphJWGD1DmOlkyCrRz0QzdOk2nOKZTvIKG2/R2eUMliTjqkL8wBdrepj0w/z18BzN4nqNu21L79AEfGxbW+AAAA�[0m[Pipeline] }
�[8mha:////4F01XPIVLu7JBIaS3rjBN4HkNuOk+B1MGW9P2m5t4llYAAAApB+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPOIiBTpEldZKwwtMbIwT687YDknFi/gaf8AiEhVbrHa2mdcb1jHAiYPBXtNgKXYWvRtNXjhxGK6OJ+z5gh1TZKex1VPLSjcLtpw0LClKWAnYaOocR0smwVb08iErJ8lU5xTydxRQWnWHJxQim5MM6QtzgN1tVJHp5/krgNn7BOX+kKuuP2nGx9++AAAA�[0m[Pipeline] // stage
�[8mha:////4DuQWrwdSKxqd4Ws+o38dPis/OkEWi6lu/G6AZs3CpBnAAAAqB+LCAAAAAAAAP9tjTEOwjAUQ3+LOrAycohUgJhQJ9aoCycITQhJo/9LkpJOnIircQcClZjwYNmWrPd8QRU8NOQ1swp7g6EzbHCjzokl8v3FUWKWzqwjDOQUa1VqSarjXFuKCmYVJSw4LBV2joJBHWHFrbiL2gnU9Sn6vB04lEbe4AEFz+QofPyWycP6OspA+OP8BcA0RCi3m2y7/edZvQEO/65mwgAAAA==�[0m[Pipeline] stage
�[8mha:////4N4We8ek5/h9OvNnQ1lyXKfM0ybgoVYvsT4MDoMzUNyTAAAApx+LCAAAAAAAAP9tjTEOwjAUQ3+LOrAycoh0QLAgpq5RFk4QmhDSRv+Xn5R24kRcjTvQUokJD5ZtyXqvNxSR4UTsRGOx9RhrL7rQuymJgbi9BhpEQxdRE0YKVig7KDK2WqqiZGFRlsNKwtpiHSh6dAk2stEPXQaNrjwnnrajhNybOzwhkxM5aU7fMjJsb72JhD/OXwCMXYJ8t5/tMD+LD02yRsvCAAAA�[0m[Pipeline] { (Declarative: Post Actions)
�[8mha:////4NSN38fl2W391nE1GYw8ukcOn4eLq1zoMVEI1VLYRceiAAAApR+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPOJSIEGBqNJabniBiY1xYt0Z2yGpeBFf4w8EIlGxxWpnm3m+YJkiHDlabA11jlLjMPjeTgsHjt3F84Atn7FhSuwNSjNI1qaeUXI2MKcoYSFgZajxnBzZDGvRqruqvCJbnXKcvoOA0ukbPKAQkzmrmL8wRthce52Yfp6/AhhDhnK7+9Q+vAF9GxrMvgAAAA==�[0m[Pipeline] archiveArtifacts
[2023-02-10T05:23:51.201Z] Archiving artifacts
[2023-02-10T05:23:51.451Z] Recording fingerprints
�[8mha:////4ILGmJge/9XDdI8sXXOB4l4xNVkY2uXECYRIerEjIw8oAAAApR+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPOJSICEkRJXWcsMLTGyME+vO2A5JxYv4Gn8gEImKLVY728zzBcsU4cjRYmuoc5Qah8H3dlo4cOwungds+YwNU2JvUJpBsjb1jJKzgTlFCQsBK0ON5+TIZliLVt1V5RXZ6pTj9B0ElE7f4AGFmMxZxfyFMcLm2uvE9PP8FcAYMpTb3af24Q2yB4JLvgAAAA==�[0m[Pipeline] archiveArtifacts
[2023-02-10T05:23:51.794Z] Archiving artifacts
[2023-02-10T05:23:55.842Z] Recording fingerprints
�[8mha:////4IF5gHMW7IfqA28qOW3Ob2IYZOQWeHvBLJTakZpvnp51AAAApR+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPOJSICEhRJXWcsMLTGyME+vO2A5JxYv4Gn8gEImKLVY728zzBcsU4cjRYmuoc5Qah8H3dlo4cOwungds+YwNU2JvUJpBsjb1jJKzgTlFCQsBK0ON5+TIZliLVt1V5RXZ6pTj9B0ElE7f4AGFmMxZxfyFMcLm2uvE9PP8FcAYMpTb3af24Q3zNplSvgAAAA==�[0m[Pipeline] archiveArtifacts
[2023-02-10T05:23:57.965Z] Archiving artifacts
[2023-02-10T05:23:58.213Z] Recording fingerprints
�[8mha:////4MwiYGSbSZDrDt6rb7AjDZgJrIpoAZj8jdfzkkZu3Y6TAAAApR+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPOKCBKJBqWgtN7zAJMY4se6C7eBUvIiv8QcsIlGxxWpnm3m9YRk81OwNdpp6S6GxOLjR5IWJfX91nLDjCzZMgZ1GqZPkVp9mlBw1zClKWAhYaWocB0smwlp06qEqp8hU5+jzdxRQ2vYOTyhENkfl4xcmD5vb2Aamn+evAKYhQrk75Npvhw8/mxSGvgAAAA==�[0m[Pipeline] archiveArtifacts
[2023-02-10T05:23:58.303Z] Archiving artifacts
[2023-02-10T05:23:58.688Z] Recording fingerprints
�[8mha:////4ChQU0L8b7yzNBK4Qecbahzv6Fki7OHgcCGOzh+FMG2nAAAApR+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPOIiBKJBqWgtN7zAJMY4se6C7eBUvIiv8QcsIlGxxWpnm3m9YRk81OwNdpp6S6GxOLjR5IWJfX91nLDjCzZMgZ1GqZPkVp9mlBw1zClKWAhYaWocB0smwlp06qEqp8hU5+jzdxRQ2vYOTyhENkfl4xcmD5vb2Aamn+evAKYhQrk75Npvhw9+qg+fvgAAAA==�[0m[Pipeline] archiveArtifacts
[2023-02-10T05:23:58.936Z] Archiving artifacts
[2023-02-10T05:24:02.714Z] Recording fingerprints
�[8mha:////4COiEyXTFMQ9+Rm5mJN/AGgyv2+rMMUSUIOmHsB3w2J+AAAApR+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPOIiAaJBqWgtN7zAJMY4se6C7eBUvIiv8QcsIlGxxWpnm3m9YRk81OwNdpp6S6GxOLjR5IWJfX91nLDjCzZMgZ1GqZPkVp9mlBw1zClKWAhYaWocB0smwlp06qEqp8hU5+jzdxRQ2vYOTyhENkfl4xcmD5vb2Aamn+evAKYhQrk75Npvhw+9+SK0vgAAAA==�[0m[Pipeline] archiveArtifacts
[2023-02-10T05:24:04.501Z] Archiving artifacts
[2023-02-10T05:24:04.751Z] Recording fingerprints
�[8mha:////4J3gLKSOu0/gozlxvjLGfIzNL6Pbiuk1VK63hpZd8S9zAAAApR+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPOJSBNEgqrRWGl5gYmOcWHfGdkgqXsTX+AMWkajYYrWzzbzesI4BThwM9poGS7Gz6N1o8sKJw3B1PGHPF+yYIjuNrZ5aVrpZsOWkYUlRwkrARlPnOFoyCbailw9ZOUmmOqeQv6OA0qo7PKEQ2ZxkSF+YA+xuo4pMP89fAcw+QVkfcu1r/wH8yDmtvgAAAA==�[0m[Pipeline] archiveArtifacts
[2023-02-10T05:24:05.119Z] Archiving artifacts
[2023-02-10T05:24:10.469Z] Recording fingerprints
�[8mha:////4G5uIRbkJeaig52MLfD9xv8Nb7kfLaqFinRw+RlJonU2AAAApR+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPMIpiGgQVVorDS8w8WGcWHfGdkgqXsTX+AMWkajYYrWzzbzesI4BThyM6JEGS7GzwrvR5CUmDsPV8SR6voiOKbJD0eLUssZmwZYTwpKihJWEDVLnOFoyCbayVw9VOUWmOqeQv6OE0uo7PKGQ2ZxUSF+YA+xuo45MP89fAcw+Qbk/5Kpr/wE7XnjivgAAAA==�[0m[Pipeline] archiveArtifacts
[2023-02-10T05:24:11.197Z] Archiving artifacts
�[8mha:////4Mvo1BkYPEme5kaGYwfMPGdAn3h6z1MZTQvQAXQpd3AkAAAApR+LCAAAAAAAAP9tjTsOwjAQRDdBFLSUHGJT8GlQKlrLDScwiTFOrN1gOzgVJ+Jq3AGLSFRMMZo3zXu9YRk81OwNdpp6S6GxOLjR5IWJfX91nLDjCzZMgZ1GqZPkVp9mlBw1zClKWAhYaWocB0smwlp06qEqp8hU5+jzdxRQ2vYOTyhENkfl4xcmD5vb2Aamn+evAKYhQrk95Nrthw96b2P7vgAAAA==�[0m[Pipeline] archiveArtifacts
[2023-02-10T05:24:11.277Z] Archiving artifacts
�[8mha:////4BxJcu6Mhf32TKJrQUvGOWd3sHkWoOwAUOJvn78NS6VSAAAApR+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPOJSgNIgqrRWGl5gYmOcWHfGdkgqXsTX+AMWkajYYrWzzbzesI4BThwM9poGS7Gz6N1o8sKJw3B1PGHPF+yYIjuNrZ5aVrpZsOWkYUlRwkrARlPnOFoyCbailw9ZOUmmOqeQv6OA0qo7PKEQ2ZxkSF+YA+xuo4pMP89fAcw+Qbmvcx1q/wG5PE7QvgAAAA==�[0m[Pipeline] emailextrecipients
�[8mha:////4GO1B9xqDMc3Y88TWfU6Yi2kkOsY1jMmzauCbLhAJwyKAAAApR+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPOJSgKBAqWgtN7zAJMY4se6C7eBUvIiv8QcsIlGxxWpnm3m9YRk81OwNdpp6S6GxOLjR5IWJfX91nLDjCzZMgZ1GqZPkVp9mlBw1zClKWAhYaWocB0smwlp06qEqp8hU5+jzdxRQ2vYOTyhENkfl4xcmD5vb2Aamn+evAKYhQrnd59odhg/4DVXJvgAAAA==�[0m[Pipeline] step
�[8mha:////4K/e4sAYiqKrumRzzmB93jtOlOloSkESajWEoX3UB/VDAAAAph+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPOJSgBASSkVrueEFJjHGiXUXbAen4kV8jT9gEYmKLVY728zrDcvgoWZvsNPUWwqNxcGNJi9M7Pur44QdX7BhCuw0Sp0kt/o0o+SoYU5RwkLASlPjOFgyEdaiUw9VOUWmOkefv6OA0rZ3eEIhsjkqH78wedjcxjYw/Tx/BTANQ4Ryd8i13X8AxM3Uc74AAAA=�[0m[Pipeline] }
�[8mha:////4AzBmmLmqMbFLpvVLP1UU2RLUJftnHSC069Yk3jj8YRSAAAApR+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPOJSAAVCqWgtN7zAJMY4se6C7eBUvIiv8QcsIlGxxWpnm3m9YRk81OwNdpp6S6GxOLjR5IWJfX91nLDjCzZMgZ1GqZPkVp9mlBw1zClKWAhYaWocB0smwlp06qEqp8hU5+jzdxRQ2vYOTyhENkfl4xcmD5vb2Aamn+evAKZhiFDuDrm2+w/bT4EhvgAAAA==�[0m[Pipeline] // stage
�[8mha:////4AvF9W4j/pA/ebQHjxPe7HTdGFthjsvkDZiRM5GOt2m8AAAApR+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPOICSFQoFa3lhheYxBgn1l2wHZyKF/E1/oBFJCq2WO1sM683LIOHmr3BTlNvKTQWBzeavDCx76+OE3Z8wYYpsNModZLc6tOMkqOGOUUJCwErTY3jYMlEWItOPVTlFJnqHH3+jgJK297hCYXI5qh8/MLkYXMb28D08/wVwDQMEcrDNtd+9wH/4I++vgAAAA==�[0m[Pipeline] }
�[8mha:////4MzpMk8W2w/P93Hm/GJA4Es7MmdDi22MSkV/ihs7lWiuAAAApR+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPOICSFQoFa3lhheYxBgn1l2wHZyKF/E1/oBFJCq2WO1sM683LIOHmr3BTlNvKTQWBzeavDCx76+OE3Z8wYYpsNModZLc6tOMkqOGOUUJCwErTY3jYMlEWItOPVTlFJnqHH3+jgJK297hCYXI5qh8/MLkYXMb28D08/wVwDQMEcrDLtd++wHMA9QCvgAAAA==�[0m[Pipeline] // timeout
�[8mha:////4Ih6nz5W9vgbWUYWLuW/RG9+4bmrq5RF6hpwZBR2nXVgAAAAph+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPOIikCgQSkVrueEFJjHGiXUXbAen4kV8jT9gEYmKLVY728zrDcvgoWZvsNPUWwqNxcGNJi9M7Pur44QdX7BhCuw0Sp0kt/o0o+SoYU5RwkLASlPjOFgyEdaiUw9VOUWmOkefv6OA0rZ3eEIhsjkqH78wedjcxjYw/Tx/BTANQ4Ryv8u1PXwABZqx1r4AAAA=�[0m[Pipeline] }
�[8mha:////4FOgVNfJdPbyjP6RqV71XEJZtnjSPEENvXeGSZV03WW1AAAAph+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPOIihJCQUCpayw0vMIkxTqy7YDs4FS/ia/wBi0hUbLHa2WZeb1gGDzV7g52m3lJoLA5uNHlhYt9fHSfs+IINU2CnUeokudWnGSVHDXOKEhYCVpoax8GSibAWnXqoyiky1Tn6/B0FlLa9wxMKkc1R+fiFycPmNraB6ef5K4BpGCKU+12u7eEDNnnqar4AAAA=�[0m[Pipeline] // timestamps
�[8mha:////4EspYXJex0enzWEndLdJIfgqj2rZoOhamjfqY3LWCueBAAAAph+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPOIiJBAFSkVrueEFJjHGiXUXbAen4kV8jT9gEYmKLVY728zrDcvgoWZvsNPUWwqNxcGNJi9M7Pur44QdX7BhCuw0Sp0kt/o0o+SoYU5RwkLASlPjOFgyEdaiUw9VOUWmOkefv6OA0rZ3eEIhsjkqH78wedjcxjYw/Tx/BTANQ4Ryv8u1PXwAH1RQ574AAAA=�[0m[Pipeline] }
�[8mha:////4GHh//Pmhsjd6VoC65HkfRorTDh6wgbb1rL7WQP4InrNAAAAqx+LCAAAAAAAAP9b85aBtbiIQSujNKU4P0+vIKc0PTOvWC8xrzgzOT8nv0gvMbkkEyjhCKb88ktSdwVsu2efuqidiYHRh4EDIu2ZUsIg5JOVWJaon5OYl64fXFKUmZduXVHEIAU1ODk/rzg/J1XPGUKDDGKAAEYmBoaKghIGFYvE1GQTS8tk3RQzCwtdk0SLRF3LtEQL3TSjFCNzQyMTYzPTFAD9AnGzrwAAAA==�[0m
�[8mha:////4FZNEbUEVd1LpfOdApjdSjaI5etDWOXrXKb7ZSwC2BU7AAAApR+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPMIRRWgQVVorDS8w8WGcWHfGdkgqXsTX+AMWkajYYrWzzbzesI4BThyM6JEGS7GzwrvR5CUmDsPV8SR6voiOKbJD0eLUssZmwZYTwpKihJWEDVLnOFoyCbayVw9VOUWmOqeQv6OE0uo7PKGQ2ZxUSF+YA+xuo45MP89fAczeJyjrOtf+8AEstwtbvgAAAA==�[0m[Pipeline] // ansiColor
�[8mha:////4EnrtulrYF2MKQp+I89pbKwAaczu+hDXk6c6YhM1BCNfAAAApR+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPMIRRWgQVVorDS8w8WGcWHfGdkgqXsTX+AMWkajYYrWzzbzesI4BThyM6JEGS7GzwrvR5CUmDsPV8SR6voiOKbJD0eLUssZmwZYTwpKihJWEDVLnOFoyCbayVw9VOUWmOqeQv6OE0uo7PKGQ2ZxUSF+YA+xuo45MP89fAczeJyjrQ659/QE4lJZEvgAAAA==�[0m[Pipeline] }
$ docker stop --time=1 f5575567f8d55e815b4ebea6b59ecf83b44edb47bff636df14286fb00e4f5982
$ docker rm -f f5575567f8d55e815b4ebea6b59ecf83b44edb47bff636df14286fb00e4f5982
�[8mha:////4CENQOlS5utvYeFkqqGkiH0tgZNY8tIa+Jr09ZLulYoGAAAAph+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPOIiJBAFSkVrueEFJjHGiXUXbAen4kV8jT9gEYmKLVY728zrDcvgoWZvsNPUWwqNxcGNJi9M7Pur44QdX7BhCuw0Sp0kt/o0o+SoYU5RwkLASlPjOFgyEdaiUw9VOUWmOkefv6OA0rZ3eEIhsjkqH78wedjcxjYw/Tx/BTANQ4Ryf8i13X0AC3fN+L4AAAA=�[0m[Pipeline] // withDockerContainer
�[8mha:////4IptmPzswmP+n9B2n3saJbrMXAq1xNzh8hyzk3T9r0mGAAAAph+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPOKiFEhIiCqtlYYXmNgYJ9adsR2SihfxNf6ARSQqtljtbDOvN6xjgBMHg72mwVLsLHo3mrxw4jBcHU/Y8wU7pshOY6unlpVuFmw5aVhSlLASsNHUOY6WTIKt6OVDVk6Sqc4p5O8ooLTqDk8oRDYnGdIX5gC726gi08/zVwCz9wnK/SFXXX8AUTHxeb4AAAA=�[0m[Pipeline] }
�[8mha:////4NwyJWILl2/At+L2cSeCArxUlGG9+SmpymvO/1XGzdqUAAAApR+LCAAAAAAAAP9tjTEOwjAQBC9BFLSUPOICBQVCqWgtN7zAJMY4se6C7eBUvIiv8QcsIlGxxWpnm3m9YRk81OwNdpp6S6GxOLjR5IWJfX91nLDjCzZMgZ1GqZPkVp9mlBw1zClKWAhYaWocB0smwlp06qEqp8hU5+jzdxRQ2vYOTyhENkfl4xcmD5vb2Aamn+evAKZhiFDuD7l22w9i0qrFvgAAAA==�[0m[Pipeline] // withEnv
�[8mha:////4K49rSQvj05w69Jv0PnZYyAW1K4PY3pH3Dn2s6iIOzFfAAAAox+LCAAAAAAAAP9tjTEOwjAQBDdBFLSUPMKhQDSIitZKwwtMYowT6y7YF5KKF/E1/kBEJCq22plmXm8sU8SRo1ONpdZTqrzqQu+mpwaO7TXwoBq+qIopcbCqtEPJtT3NWLJYzMtyLDRWlqrAyZMTrHVjHqYIhlxxlji5g0bu6zueyPRUFhPlC2PE5tbXienX+RvA2HWCfL8VZLsPPRtAz70AAAA=�[0m[Pipeline] }
�[8mha:////4LUx/vUP0GRghYdgfZIeQIXBqp7sbxsxp5S9yPHpOWqrAAAApB+LCAAAAAAAAP9tjTEOwjAQBDdBFLSUPMIRQqJBVLRWGl5gEmOcWHfBvpBUvIiv8QciIlGx1c4083pjmSKOHJ1qLLWeUuVVF3o3PTVwbK+BB9XwRVVMiYNVpR1Kru1pxpLFYl6WY6GxslQFTp6cYK0b8zBFMOSKs8TJHTRyX9/xRKanspgoXxgjNre+Tky/zt8Axq4T5PutINt9AC6nRGy9AAAA�[0m[Pipeline] // node
�[8mha:////4Cn277vHbUK8KnhNfXiDmUAVX48QZRh94OaewjlA4Nm3AAAAox+LCAAAAAAAAP9tjbEOgjAURS8YB1dHP6IkDC7GybVh8Qsq1Fpo3sP2IUx+kb/mP0gkcfJO95zlvN5Yp4gjR6daS52nVHvVh8HNT40cu2vgUbV8UTVT4mBVZceKG3tasGKxWJblWGlsLNWBkycn2OrWPEwRDLniLHF2B43cN3c8kem5LCbKF6aI3W1oEtOv8zeAqe8F+b4UZOUHaO3jXL0AAAA=�[0m[Pipeline] End of Pipeline
Timeout has been exceeded
Finished: ABORTED
    
  

@fmigneault
Copy link
Collaborator Author

@tlvu Just so we are in sync, I'll bump this to 1.23.0 now and merge.

@github-actions github-actions bot added ci/operations Continuous Integration components documentation Improvements or additions to documentation labels Feb 10, 2023
@fmigneault fmigneault merged commit bcd1d88 into master Feb 10, 2023
@fmigneault fmigneault deleted the secure-data-proxy branch February 10, 2023 16:35
@crim-jenkins-bot
Copy link
Collaborator

E2E Test Results

DACCS-iac Pipeline Results

Build URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/1230/
Result : failure

BIRDHOUSE_DEPLOY_BRANCH : secure-data-proxy
DACCS_CONFIGS_BRANCH : master
PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master
PAVICS_SDI_BRANCH : master

DESTROY_INFRA_ON_EXIT : true
PAVICS_HOST : https://host-140-91.rdext.crim.ca

Infrastructure deployment failed. Instance has not been destroyed. @matprov

@crim-jenkins-bot
Copy link
Collaborator

E2E Test Results

DACCS-iac Pipeline Results

Build URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/1231/
Result : failure

BIRDHOUSE_DEPLOY_BRANCH : secure-data-proxy
DACCS_CONFIGS_BRANCH : master
PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master
PAVICS_SDI_BRANCH : master

DESTROY_INFRA_ON_EXIT : true
PAVICS_HOST : https://host-140-92.rdext.crim.ca

Infrastructure deployment failed. Instance has not been destroyed. @matprov

@crim-jenkins-bot
Copy link
Collaborator

E2E Test Results

DACCS-iac Pipeline Results

Build URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/1235/
Result : failure

BIRDHOUSE_DEPLOY_BRANCH : secure-data-proxy
DACCS_CONFIGS_BRANCH : master
PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master
PAVICS_SDI_BRANCH : master

DESTROY_INFRA_ON_EXIT : true
PAVICS_HOST : https://

Infrastructure deployment failed. Instance has not been destroyed. @matprov

@matprov
Copy link
Collaborator

matprov commented Feb 10, 2023

Sorry for these annoying e2e test results messages. They are due to the fact that the branch is deleted since merged. I'm testing something to avoid posting these useless notifications when branch gets deleted.

fmigneault added a commit that referenced this pull request Apr 20, 2023
## Overview

Please include a summary of the changes and which issues are fixed. 

Please also include relevant motivation and context. 

List any dependencies that are required for this change.

## Breaking changes

- CanarieAPI: update to `0.7.1`.

  - The Docker running `CanarieAPI` is now using Python 3 (since `0.4.x` tags).
    Configurations need to be updated if any specific Python 2 definitions were used.
    See [2to3](https://docs.python.org/3/library/2to3.html) to help migrate configurations automatically if necessary.
  - Update the [CanarieAPI configuration](birdhouse/config/canarie-api/docker_configuration.py.template) to use
    Python 3.x executable code.

## Changes

- CanarieAPI: update to `0.7.1`.

  - The server node now provides a generic ``server`` configuration for the current ``platform`` definition.
  - Added multiple missing docuementation references for all the services included within `CanarieAPI` configurations.
  - With new `CanarieAPI` version, a slightly improved UI with more service details are provided for the active server:

![image](https://user-images.githubusercontent.com/19194484/232822454-e39c0111-54dc-4f9b-adf6-5ea6e59d67e3.png)

- Add optional variables witht defaults to define reference Docker image version tags.

  Following optional variables are defined by default. These are used as reference in the respective Docker compose
  service definition of these components, as well as in their `CanarieAPI` configuration to retrieve the release time
  of the tag, and refer to relevant URL references as needed.

  - `CATALOG_VERSION`
  - `FINCH_VERSION`
  - `FLYINGPIGEON_VERSION`
  - `GEOSERVER_VERSION`
  - `HUMMINGBIRD_VERSION`
  - `MALLEEFOWL_VERSION`
  - `RAVEN_VERSION`

## Fixes:

- CanarieAPI: update to `0.7.1`.

  - Fixes an `AttributeError` raised due to misconfiguration of the Web Application with Flask 2.x definitions
    (relates to [Ouranosinc/CanarieAPI#10](Ouranosinc/CanarieAPI#10)).
  - Skip over `0.4.x`, `0.5.x`, `0.6.x`  versions to avoid issue related to `cron` job monitoring and log parser
    command failures in order to collect configured service statistics and statuses
    (see also [Ouranosinc/CanarieAPI#14](Ouranosinc/CanarieAPI#14)).

- Weaver: update CanarieAPI monitoring definitions
  - Move monitoring of public endpoint under [optional-components/canarie-api-full-monitoring][canarie-monitor].
  - Add monitoring of private endpoint by default when using Weaver component.

- Cowbird: update CanarieAPI monitoring definitions
  - Add monitoring of public endpoint under [optional-components/canarie-api-full-monitoring][canarie-monitor].
  - Add public Magpie permission on Cowbird entrypoint only to allow its monitoring.

## Additional Information

Resolves the following log error.

```
proxy              | [2023-01-31 19:37:01 +0000] [37] [DEBUG] GET /canarie/
proxy              | [2023-01-31 19:37:01,708] [37] [INFO] app_object : Disconnecting from database
proxy              | [2023-01-31 19:37:01,709] [37] [DEBUG] app_object : Using db filename : /opt/local/src/CanarieAPI/stats.db
proxy              | [2023-01-31 19:37:01 +0000] [37] [DEBUG] Closing connection. 
proxy              | [2023-01-31 19:37:02 +0000] [37] [DEBUG] GET /canarie/background.jpg
proxy              | [2023-01-31 19:37:02,176] [37] [INFO] app_object : Disconnecting from database
proxy              | [2023-01-31 19:37:02,176] [37] [DEBUG] app_object : Using db filename : /opt/local/src/CanarieAPI/stats.db
proxy              | [2023-01-31 19:37:02 +0000] [37] [ERROR] Error handling request /canarie/background.jpg
proxy              | Traceback (most recent call last):
proxy              |   File "/usr/local/lib/python2.7/dist-packages/gunicorn/workers/async.py", line 56, in handle
proxy              |     self.handle_request(listener_name, req, client, addr)
proxy              |   File "/usr/local/lib/python2.7/dist-packages/gunicorn/workers/ggevent.py", line 152, in handle_request
proxy              |     super(GeventWorker, self).handle_request(*args)
proxy              |   File "/usr/local/lib/python2.7/dist-packages/gunicorn/workers/async.py", line 107, in handle_request
proxy              |     respiter = self.wsgi(environ, resp.start_response)
proxy              |   File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1997, in __call__
proxy              |     return self.wsgi_app(environ, start_response)
proxy              |   File "/opt/local/src/CanarieAPI/canarieapi/reverse_proxied.py", line 33, in __call__
proxy              |     return self.app(environ, start_response)
proxy              |   File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1985, in wsgi_app
proxy              |     response = self.handle_exception(e)
proxy              |   File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1532, in handle_exception
proxy              |     handler = self._find_error_handler(InternalServerError())
proxy              |   File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1449, in _find_error_handler
proxy              |     .get(code))
proxy              |   File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1440, in find_handler
proxy              |     handler = handler_map.get(cls)
proxy              | AttributeError: 'function' object has no attribute 'get'
```

The above problem lead to unresponsive CanarieAPI, which in turn caused the platform to fail responding with successful monitoring statuses for requests toward the configured services, which in turn, caused the stack to never completely boot. When the stack failed to boot, the *End2End Test Results* (example: #283 (comment)) could not run due to the unresponsive instance, which is the cause of the incomplete output:

`````
Tests URL :

NOTEBOOK TEST RESULTS
   
````
</code>
``
`````

# To Do (in follow-up PRs)

- remove deprecated configs deleted in #287 
- remove deprecated configs deleted in #291 
- remove deprecated configs deleted in #292
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci/operations Continuous Integration components documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants