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

Deprecated unused/unmaintained components #311

Merged
merged 12 commits into from Jul 6, 2023
Merged

Conversation

mishaschwartz
Copy link
Collaborator

Overview

Move unused and unmaintained components to a separate deprecated-components/ subdirectory and remove
them from the DEFAULT_CONF_DIRS list if required.

Changes

Non-breaking changes

Breaking changes

  • The following components are no longer present by default:
    • catalog
    • frontend
    • malleefowl
    • ncops
    • ncwms2
    • project-api
    • solr
    • phoenix

Related Issue / Discussion

Additional Information

@mishaschwartz mishaschwartz requested a review from tlvu April 10, 2023 17:48
@crim-jenkins-bot
Copy link
Collaborator

Can one of the admins verify this patch?

@github-actions github-actions bot added the documentation Improvements or additions to documentation label Apr 10, 2023
@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/1427/
Result : failure

BIRDHOUSE_DEPLOY_BRANCH : deprecate-components
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

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

@mishaschwartz
Copy link
Collaborator Author

I'm going to turn this into one part of a larger PR that moves around all current components

@mishaschwartz mishaschwartz deleted the deprecate-components branch April 12, 2023 22:43
@mishaschwartz mishaschwartz restored the deprecate-components branch May 24, 2023 19:18
@mishaschwartz
Copy link
Collaborator Author

no longer part of a larger PR. reopening...

@mishaschwartz mishaschwartz reopened this May 24, 2023
@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/1558/
Result : failure

BIRDHOUSE_DEPLOY_BRANCH : deprecate-components
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

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/1559/
Result : failure

BIRDHOUSE_DEPLOY_BRANCH : deprecate-components
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

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.

LGTM. I have not tried to deploy this but looks like this is just a big rename, then change any ./config/ path to ./deprecated-components/.

I am a bit surprised you added a few new files or it's git that displayed the renamed files wrong?

Since you have a test server now, have you tried to autodeploy from master branch to this branch then trigger an autodeploy again? This is basically the way to test autodeploy is still working. I can show you how to simulate/trigger autodeploy if you want.

It's weird the pipeline failed.

@@ -1,2 +1,10 @@
# Old paths. Keep these so that old config files remain uncommittable after updates.
postgres-magpie/
catalog/
Copy link
Collaborator

Choose a reason for hiding this comment

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

Thanks for remembering this to not break autodeploy !

@@ -14,7 +14,7 @@ services:
ports:
- "8086:80"
volumes:
- ./config/catalog/catalog.cfg:/home/catalog.cfg
- ./deprecated-components/catalog/catalog.cfg:/home/catalog.cfg
Copy link
Collaborator

Choose a reason for hiding this comment

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

Nice ! These deprecated should still work !

# Only crawl the subset enough to pass canarie-api monitoring
# see config/canarie-api/docker_configuration.py.template
$THIS_DIR/trigger-pavicscrawler target_files=birdhouse/testdata/flyingpigeon/cmip5
if [ -n "$(docker ps --filter name=solr)" ]; then
Copy link
Collaborator

Choose a reason for hiding this comment

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

Oh nice, this also still run !

@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/1563/
Result : failure

BIRDHOUSE_DEPLOY_BRANCH : deprecate-components
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

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/1564/
Result : failure

BIRDHOUSE_DEPLOY_BRANCH : deprecate-components
DACCS_CONFIGS_BRANCH : master
PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master
PAVICS_SDI_BRANCH : master

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

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

@mishaschwartz
Copy link
Collaborator Author

@tlvu

I am a bit surprised you added a few new files or it's git that displayed the renamed files wrong?

There are some changes to paths inside the files (e.g. ./config/frontend -> ./deprecated-components/frontend) so some of the files are "added" instead of "moved" according to git. This is not strictly necessary but means that the deprecated components could (probably) still be used as is now that they've been moved.

Since you have a test server now, have you tried to autodeploy from master branch to this branch then trigger an autodeploy again? This is basically the way to test autodeploy is still working. I can show you how to simulate/trigger autodeploy if you want.

Yes please, if you can point me to instructions that would be very helpful. Thanks

It's weird the pipeline failed.

I agree, it deploys fine on my test instance

@github-actions github-actions bot added ci/deployment Related to deployment utilities and scripts ci/operations Continuous Integration components ci/tests Issues or changes related to tests scripts component/cowbird Related to https://github.com/Ouranosinc/cowbird component/magpie Related to https://github.com/Ouranosinc/Magpie component/THREDDS Features or components related to THREDDS feature/WPS Feature or service related to Web Processing Service labels May 29, 2023
@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/1575/
Result : failure

BIRDHOUSE_DEPLOY_BRANCH : deprecate-components
DACCS_CONFIGS_BRANCH : master
PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master
PAVICS_SDI_BRANCH : master

DESTROY_INFRA_ON_EXIT : true
PAVICS_HOST : https://host-140-69.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/1576/
Result : failure

BIRDHOUSE_DEPLOY_BRANCH : deprecate-components
DACCS_CONFIGS_BRANCH : master
PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master
PAVICS_SDI_BRANCH : master

DESTROY_INFRA_ON_EXIT : true
PAVICS_HOST : https://host-140-20.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/1577/
Result : failure

BIRDHOUSE_DEPLOY_BRANCH : deprecate-components
DACCS_CONFIGS_BRANCH : master
PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master
PAVICS_SDI_BRANCH : master

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

PAVICS-e2e-workflow-tests Pipeline Results

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

NOTEBOOK TEST RESULTS
    
[2023-05-29T19:08:42.086Z] ============================= test session starts ==============================
[2023-05-29T19:08:42.086Z] platform linux -- Python 3.8.16, pytest-7.2.0, pluggy-1.0.0
[2023-05-29T19:08:42.086Z] rootdir: /home/jenkins/agent/workspace/PAVICS-e2e-workflow-tests_master
[2023-05-29T19:08:42.086Z] plugins: anyio-3.6.2, dash-2.7.0, nbval-0.9.6, tornasync-0.6.0.post2
[2023-05-29T19:08:42.086Z] collected 268 items
[2023-05-29T19:08:42.086Z] 
[2023-05-29T19:08:50.689Z] notebooks-auth/test_thredds.ipynb ...........                            [  4%]
[2023-05-29T19:08:59.293Z] pavics-sdi-master/docs/source/notebooks/WCS_example.ipynb .......        [  6%]
[2023-05-29T19:09:08.451Z] pavics-sdi-master/docs/source/notebooks/WFS_example.ipynb ......         [  8%]
[2023-05-29T19:09:16.748Z] pavics-sdi-master/docs/source/notebooks/WMS_example.ipynb ........       [ 11%]
[2023-05-29T19:09:19.429Z] pavics-sdi-master/docs/source/notebooks/WPS_example.ipynb ..........     [ 15%]
[2023-05-29T19:17:20.505Z] pavics-sdi-master/docs/source/notebooks/climex.ipynb ............        [ 20%]
[2023-05-29T19:17:20.771Z] pavics-sdi-master/docs/source/notebooks/eccc-geoapi-climate-stations.ipynb . [ 20%]
[2023-05-29T19:17:26.267Z] ...............                                                          [ 26%]
[2023-05-29T19:17:36.760Z] pavics-sdi-master/docs/source/notebooks/eccc-geoapi-xclim.ipynb .....    [ 27%]
[2023-05-29T19:17:45.172Z] pavics-sdi-master/docs/source/notebooks/esgf-dap.ipynb ......            [ 30%]
[2023-05-29T19:18:04.560Z] pavics-sdi-master/docs/source/notebooks/forecasts.ipynb ......           [ 32%]
[2023-05-29T19:18:05.960Z] pavics-sdi-master/docs/source/notebooks/jupyter_extensions.ipynb .       [ 32%]
[2023-05-29T19:18:13.416Z] pavics-sdi-master/docs/source/notebooks/opendap.ipynb .......            [ 35%]
[2023-05-29T19:18:20.033Z] pavics-sdi-master/docs/source/notebooks/pavics_thredds.ipynb .....       [ 37%]
[2023-05-29T19:23:13.875Z] pavics-sdi-master/docs/source/notebooks/regridding.ipynb ............... [ 42%]
[2023-05-29T19:24:37.141Z] .............                                                            [ 47%]
[2023-05-29T19:24:43.938Z] pavics-sdi-master/docs/source/notebooks/rendering.ipynb ....             [ 49%]
[2023-05-29T19:24:46.969Z] pavics-sdi-master/docs/source/notebooks/subset-user-input.ipynb ........ [ 52%]
[2023-05-29T19:25:27.084Z] .................                                                        [ 58%]
[2023-05-29T19:25:35.123Z] pavics-sdi-master/docs/source/notebooks/subsetting.ipynb .....           [ 60%]
[2023-05-29T19:25:37.038Z] pavics-sdi-master/docs/source/notebook-components/weaver_example.ipynb . [ 60%]
[2023-05-29T19:25:53.946Z] .FFF.....                                                                [ 64%]
[2023-05-29T19:26:08.232Z] finch-master/docs/source/notebooks/dap_subset.ipynb ...........          [ 68%]
[2023-05-29T19:26:19.397Z] finch-master/docs/source/notebooks/finch-usage.ipynb ......              [ 70%]
[2023-05-29T19:27:07.533Z] finch-master/docs/source/notebooks/subset.ipynb ....................ss.  [ 79%]
[2023-05-29T19:27:10.076Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-1DataAccess.ipynb . [ 79%]
[2023-05-29T19:27:22.249Z] ......                                                                   [ 81%]
[2023-05-29T19:30:13.757Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-2Subsetting.ipynb . [ 82%]
[2023-05-29T19:31:51.524Z] .............                                                            [ 86%]
[2023-05-29T19:32:13.505Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-3Climate-Indicators.ipynb . [ 87%]
[2023-05-29T19:38:28.511Z] ....s.                                                                   [ 89%]
[2023-05-29T19:38:37.245Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-4Ensembles.ipynb . [ 89%]
[2023-05-29T19:38:43.748Z] ...                                                                      [ 91%]
[2023-05-29T19:39:01.897Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-5Visualization.ipynb . [ 91%]
[2023-05-29T19:39:28.388Z] ......                                                                   [ 93%]
[2023-05-29T19:39:31.398Z] notebooks/hummingbird.ipynb ............                                 [ 98%]
[2023-05-29T19:43:05.651Z] notebooks/stress-tests.ipynb .....                                       [100%]
[2023-05-29T19:43:05.651Z] 
[2023-05-29T19:43:05.651Z] =================================== FAILURES ===================================
    
  

huard added a commit to Ouranosinc/pavics-sdi that referenced this pull request Jun 1, 2023
This PR (bird-house/birdhouse-deploy#311)
deprecates the catalog and malleefowl components.

These components should therefore be removed from all tests scripts
since they are no longer actively maintained.
@tlvu
Copy link
Collaborator

tlvu commented Jun 1, 2023

@mishaschwartz I've documented Autodeploy testing instuctions: https://github.com/bird-house/birdhouse-deploy/blob/document-autodeploy-testing-procedure/birdhouse/components/README.rst#how-to-test-platform-autodeploy-is-not-broken-by-a-pr

Let me know if unclear or you can even push directly instruction updates there.

@mishaschwartz
Copy link
Collaborator Author

@fmigneault no worries! I hope you had a good vacation!

@tlvu
Copy link
Collaborator

tlvu commented Jul 4, 2023

Missing birdhouse/components/monitoring/config/proxy/conf.extra-service.d/monitoring.conf as "old path" in one of the .gitignore I think.

@tlvu
Copy link
Collaborator

tlvu commented Jul 4, 2023

Document in CHANGES.md --remove-orphans to avoid warning below:

WARNING: Found orphan containers (frontend, solr, malleefowl, catalog, project-api, phoenix, mongodb, ncwms2) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.

@mishaschwartz
Copy link
Collaborator Author

Missing birdhouse/components/monitoring/config/proxy/conf.extra-service.d/monitoring.conf as "old path" in one of the .gitignore I think.

It's not missing here. It's only relevant in #331. My guess is that you were switching between that branch and this one

@tlvu
Copy link
Collaborator

tlvu commented Jul 4, 2023

Missing birdhouse/components/monitoring/config/proxy/conf.extra-service.d/monitoring.conf as "old path" in one of the .gitignore I think.

It's not missing here. It's only relevant in #331. My guess is that you were switching between that branch and this one

Oh right ! I was testing between branches on the same VM.

@tlvu
Copy link
Collaborator

tlvu commented Jul 4, 2023

If I understand correctly, what's left in this PR is to ensure all the deprecated components still work after the move to folder deprecated-components/?

I think it's a useful thing since this will provide a working baseline if ever we need to re-surrect those deprecated components and now is the best time to do it since we know they are working currently.

If quick to do this let's try do it and merge this PR?

If more complicated, how about fixing all the deprecated components in another PR and merge this one?

By the way, this PR deserve a minor bump and not patch bump once merged.

@tlvu
Copy link
Collaborator

tlvu commented Jul 4, 2023

By the way, we do not want to remove portainer? Or at least make it optional instead of deployed by default?

@github-actions github-actions bot added the component/weaver Related to https://github.com/crim-ca/weaver label Jul 5, 2023
@mishaschwartz
Copy link
Collaborator Author

@tlvu

By the way, we do not want to remove portainer?

It wasn't on the list of components to remove with this PR. If you think it should be removed then let's make an issue for it and remove it in a different PR.

Or at least make it optional instead of deployed by default?

I'm happy with that, but again, let's do it in a different PR

@mishaschwartz
Copy link
Collaborator Author

@tlvu

If I understand correctly, what's left in this PR is to ensure all the deprecated components still work after the move to folder deprecated-components/?
If quick to do this let's try do it and merge this PR?

I've tested this locally and run my own checks. If you want to run some of your own tests as well please go ahead and let me know if you find anything else that needs changing.

@fmigneault fmigneault self-requested a review July 5, 2023 15:08
@mishaschwartz mishaschwartz merged commit a8d3612 into master Jul 6, 2023
4 of 5 checks passed
@mishaschwartz mishaschwartz deleted the deprecate-components branch July 6, 2023 16:43
@tlvu
Copy link
Collaborator

tlvu commented Jul 6, 2023

@mishaschwartz you forgot to push the tag :D

Congrats for finally merging this one.

tlvu added a commit that referenced this pull request Jul 12, 2023
…cker

To group related files together.

Solr has been deprecated since PR #311 (commit a8d3612)
tlvu added a commit that referenced this pull request Jul 12, 2023
…cker

To group related files together.

Solr has been deprecated since PR #311 (commit a8d3612)
mishaschwartz added a commit that referenced this pull request Aug 10, 2023
## Overview

Docker compose no longer exposes any container ports outside the default
network except for ports 80 and 443 from the proxy container. This
ensures that ports that are not intended for external access are not
exposed to the wider internet even if firewall rules are not set
correctly.

Note that if the `monitoring` component is used then port 9100 will be
exposed from the `node-exporter` container. This is because this
container must be run on the host machine's network and unfortunately
there is no known workaround that would not require this port to be
exposed on the host machine.

## Changes

**Non-breaking changes**

- Changes all internal URL references to components

**Breaking changes**

- removes the lb_flyingpigeon endpoint because it requires direct access
to an exposed port

## Related Issue / Discussion

- Resolves #222

## Additional Information

Links to other issues or sources.

- This does not make any changes to the components that are deprecated
in #311
tlvu added a commit that referenced this pull request Aug 28, 2023
- Delete unused Dockerfiles, fixes #349 and fixes #352

* birdhouse/docker/geoserver: not used since 3-4 years, replaced by
https://github.com/kartoza/docker-geoserver

* birdhouse/config/geoserver/Dockerfile: was introduced in commit
f3b9896 (PR #233, merge commit
d1ecc63) as a temporary solution only,
not needed with newer kartoza docker images.

- Move birdhouse/docker/solr to
birdhouse/deprecated-components/solr/docker to group related files
together. Solr has been deprecated since PR #311 (merge commit
a8d3612).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci/deployment Related to deployment utilities and scripts ci/operations Continuous Integration components ci/tests Issues or changes related to tests scripts component/cowbird Related to https://github.com/Ouranosinc/cowbird component/magpie Related to https://github.com/Ouranosinc/Magpie component/THREDDS Features or components related to THREDDS component/weaver Related to https://github.com/crim-ca/weaver documentation Improvements or additions to documentation feature/WPS Feature or service related to Web Processing Service
Projects
None yet
5 participants