update stac, weaver, magpie, twitcher, cowbird - security fixes for EOL Python and http-related libraires#622
update stac, weaver, magpie, twitcher, cowbird - security fixes for EOL Python and http-related libraires#622fmigneault wants to merge 22 commits intomasterfrom
Conversation
…OL Python and http-related libraires
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/3908/Result 🆘 ABORTEDBIRDHOUSE_DEPLOY_BRANCH : security-updates 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-91.rdext.crim.ca
|
|
run tests |
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/3940/Result 🆘 ABORTEDBIRDHOUSE_DEPLOY_BRANCH : security-updates 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
|
mishaschwartz
left a comment
There was a problem hiding this comment.
There's a change in the way that magpie creates cookies now that means that weaver cannot connect to magpie in the weaver/post-docker-compose script:
On line 150 of that script you currently have:
cookie_jar=$(echo "${cookie_jar}" | grep -v '# ' | grep -v -e '^$' | grep -v '_\.')where that last grep filters out lines with _. in them. This was supposed to deal with the fact that magpie was supplying two identical cookies for the domains:
#HttpOnly_.${BIRDHOUSE_FQDN_PUBLIC}#HttpOnly_${BIRDHOUSE_FQDN_PUBLIC}
Now it seems that magpie is only sending a cookie for the domain with the . (#HttpOnly_.${BIRDHOUSE_FQDN_PUBLIC}) which means that line 150 of weaver/post-docker-compose filters out the only provided cookie and then reports that it cannot connect to Magpie.
I'm not sure what the best solution is but we should either update weaver/post-docker-compose or we should investigate why magpie cookies have changed (was that intentional?)
|
@mishaschwartz I think this is caused by internal library changes (pyramid / urllib3) that behave slightly differently, notably when I guess the fix would be to consider the opposite |
|
@mishaschwartz @tlvu |
That would work. If you want to make it a bit more future-proof though you could just include all cookies from the jar. You'd just have to delimit the cookies with a
All IPs it looks like, not just on a dev server. |
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/3943/Result 🆘 ABORTEDBIRDHOUSE_DEPLOY_BRANCH : security-updates 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
|
mishaschwartz
left a comment
There was a problem hiding this comment.
I've added my suggested fixes for the logging in #634
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/3969/Result ❌ FAILUREBIRDHOUSE_DEPLOY_BRANCH : security-updates 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/607/NOTEBOOK TEST RESULTS |
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/3973/Result 🆘 ABORTEDBIRDHOUSE_DEPLOY_BRANCH : security-updates 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
|
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/3974/Result ❌ FAILUREBIRDHOUSE_DEPLOY_BRANCH : security-updates 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-91.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/611/NOTEBOOK TEST RESULTS |
|
@tlvu @mishaschwartz |
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/4059/Result ❌ FAILUREBIRDHOUSE_DEPLOY_BRANCH : security-updates 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-91.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/672/NOTEBOOK TEST RESULTS |
…to clarify them / make it easier to update
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/4060/Result ❌ FAILUREBIRDHOUSE_DEPLOY_BRANCH : security-updates 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-91.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/673/NOTEBOOK TEST RESULTS |
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/4061/Result ❌ FAILUREBIRDHOUSE_DEPLOY_BRANCH : security-updates DACCS_IAC_BRANCH : master DACCS_CONFIGS_BRANCH : master PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master PAVICS_SDI_BRANCH : master DESTROY_INFRA_ON_EXIT : false 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/674/NOTEBOOK TEST RESULTS |
…fer options to handle larger link header results from weaver
|
New proxy buffer options applied and working here: |
|
@tlvu @mishaschwartz |
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/4063/Result ✅ SUCCESSBIRDHOUSE_DEPLOY_BRANCH : security-updates 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-133.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/676/NOTEBOOK TEST RESULTS |
Overview
Update multiple components with corresponding updates of
urllib,requests, etc.At the same time, bump to Python 3.13 versions as applicable.
Changes
Non-breaking changes
STAC API: Security update, minor OpenAPI version reporting fixes, and
stac-fastapi/starlettecompatibility fix using 2.3.0__version__for OpenAPI response crim-ca/stac-app#69Cowbird: Security update to version 2.6.0
Magpie: Security update to version 4.3.0
Twitcher: Security update to version 0.11.0
Weaver: Security and dependency fix update using version 6.8.3
setuptoolsto resolve itspkg_resourcesdependency still required bypyramidcrim-ca/weaver#877Weaver: Update
post-docker-compose-upscript.This can happen depending on specific internal HTTP libraries versions of the services.
To retain backward/forward compatibility, all cookies returned from Magpie are chained in following
curlcommands.logutility to report operations produced by the script rather than custom "echo level".Weaver: Job Result Proxy Buffers
weavercan return a lot ofLinkheaders. This is done to provide job metadatareferences and provenance traceability details, but also for actual results locations that can vary in quantity
depending on the actual process execution.
Therefore, the Ngnix
proxy_buffer_sizeandproxy_buffersdirectives of theproxyservice must be added withsufficiently large values to avoid HTTP 502 errors when the response headers exceed the default buffer sizes.
The
WEAVER_PROXY_RESPONSE_BUFFER_SIZEandWEAVER_PROXY_RESPONSE_BUFFER_COUNTvariables are added to allowfurther customization as needed by the server. Their defaults are reasonable values to meet minimal requirements
by
weaver's metadataLinkand a few result outputs.Birdhouse: Allow
log <LEVEL> -n ...andlog <LEVEL> -p ...to generate log outputs without newline/prefixes.These options allow writing multiple log entries onto the same line for correct visual rendering of distinct
logcalls separated to allow some intermediate logic. The
logfunction invocations with these options respect thelog levels in order to make the messages consistent with enabled redirections and verbosity.
Breaking changes
CI Operations
birdhouse_daccs_configs_branch: master
birdhouse_skip_ci: false
Warning
To Do / Self Note