Islandora-Devops / isle-dc

ISLE 8 - Dockerized Islandora 8 Deployment orchestrated with docker-compose
MIT License
23 stars 60 forks source link

changed logic so make up won't run make demo if docker-compose up fails #335

Closed joshdentremont closed 1 year ago

joshdentremont commented 1 year ago

Running make up is supposed to run make demo if there is not a docker-compose file already in place, or run docker-compose up otherwise

The existing logic tells it to run make demo if there is no docker-compose.yml OR if docker-compose up fails. This can cause problems if you have installed a site and then made some change that causes some of your containers to be unable to spin up. For example, if you take down your containers to update from version 1.0.10 to 1.0.11, but the pull of the new images fails.

This PR changes the logic so that if there is a docker-compose.yml file, but docker-compose up fails it will not try to install demo.

To test:

  1. clone isle-dc and run make up to install a demo site
  2. run make down
  3. run make up to bring containers back up
  4. run make down
  5. change TAG variable in .env to something that doesn't exist (like 1.0.100)
  6. run make -B docker-compose.yml to update the docker-compose with the non-existent images
  7. run make up to see it fail without trying to install a demo site
aOelschlager commented 1 year ago

This is still being tested by Yamil. It accidentally got committed with this merge: https://github.com/Islandora-Devops/isle-dc/pull/336 That's my bad. Sorry about that everyone.

ysuarez commented 1 year ago

@joshdentremont sorry it took this long, and I know this commit was already merged by accident. I still wanted to test it and I learned a few new things about ILSE in the process, like how the workbench image/container is used.

BTW, my delay was caused because on my macOS M1 system I could not build an ISLE2 system until last night. In this case it turned out that the temporary workbench container could not install ruamel.yaml, but last night a new version of ruamel.yaml was released (0.17.26) and maybe that is what made it work.

I followed the testing steps and I think it worked, since it error our very quickly and did not seem to try to run make demo after docker-compose up failed.

Below is the output I got with the tag value of 1.0.100:

yamil(development)$make up
Creating network "isle-dc_default" with the default driver
Creating network "isle-dc_gateway" with driver "bridge"
Pulling activemq (islandora/activemq:1.0.100)...
ERROR: manifest for islandora/activemq:1.0.100 not found: manifest unknown: manifest unknown
make[1]: Entering directory '/Users/yamil/Documents/isle_git_root/isle-dc'
'Uses Secrets' is set to 'true'.
make[2]: Entering directory '/Users/yamil/Documents/isle_git_root/isle-dc'
Starting build/scripts/check-secrets.sh
 YFGYj1oDhAJwFlXmhYZdsnrt2H2YxFoHuNZ5ROGMewvIqtGJMt6JClS7W5S58rgMx2bLMSxHjQ Updates to the salt are not automatically added to web/sites/default/settings.php file. Please make this change manually and then run the same make down && make up command again.

Check secrets is done.

make[2]: Leaving directory '/Users/yamil/Documents/isle_git_root/isle-dc'
make[2]: Entering directory '/Users/yamil/Documents/isle_git_root/isle-dc'
'Uses Secrets' is set to 'true'.
make[3]: Entering directory '/Users/yamil/Documents/isle_git_root/isle-dc'
Starting build/scripts/check-secrets.sh
 YFGYj1oDhAJwFlXmhYZdsnrt2H2YxFoHuNZ5ROGMewvIqtGJMt6JClS7W5S58rgMx2bLMSxHjQ Updates to the salt are not automatically added to web/sites/default/settings.php file. Please make this change manually and then run the same make down && make up command again.

Check secrets is done.

make[3]: Leaving directory '/Users/yamil/Documents/isle_git_root/isle-dc'
make download-default-certs ENVIRONMENT=local
make[3]: Entering directory '/Users/yamil/Documents/isle_git_root/isle-dc'
make[3]: Leaving directory '/Users/yamil/Documents/isle_git_root/isle-dc'
make -B docker-compose.yml ENVIRONMENT=local
make[3]: Entering directory '/Users/yamil/Documents/isle_git_root/isle-dc'
make[3]: Leaving directory '/Users/yamil/Documents/isle_git_root/isle-dc'
make pull ENVIRONMENT=local
make[3]: Entering directory '/Users/yamil/Documents/isle_git_root/isle-dc'
docker-compose pull
Pulling activemq   ... error
Pulling alpaca     ... error
Pulling blazegraph ... error
Pulling cantaloupe ... error
Pulling fcrepo     ... error
Pulling fits       ... error
Pulling crayfits   ... error
Pulling homarus    ... error
Pulling houdini    ... error
Pulling hypercube  ... error
Pulling mariadb    ... error
Pulling matomo     ... error
Pulling milliner   ... error
Pulling recast     ... error
Pulling solr       ... error
Pulling traefik    ... done
Pulling drupal     ... error

ERROR: for solr  manifest for islandora/solr:1.0.100 not found: manifest unknown: manifest unknown

ERROR: for milliner  manifest for islandora/milliner:1.0.100 not found: manifest unknown: manifest unknown

ERROR: for cantaloupe  manifest for islandora/cantaloupe:1.0.100 not found: manifest unknown: manifest unknown

ERROR: for matomo  manifest for islandora/matomo:1.0.100 not found: manifest unknown: manifest unknown

ERROR: for drupal  manifest for islandora/drupal:1.0.100 not found: manifest unknown: manifest unknown

ERROR: for homarus  manifest for islandora/homarus:1.0.100 not found: manifest unknown: manifest unknown

ERROR: for mariadb  manifest for islandora/mariadb:1.0.100 not found: manifest unknown: manifest unknown

ERROR: for fcrepo  manifest for islandora/fcrepo6:1.0.100 not found: manifest unknown: manifest unknown

ERROR: for blazegraph  manifest for islandora/blazegraph:1.0.100 not found: manifest unknown: manifest unknown

ERROR: for crayfits  manifest for islandora/crayfits:1.0.100 not found: manifest unknown: manifest unknown

ERROR: for houdini  manifest for islandora/houdini:1.0.100 not found: manifest unknown: manifest unknown

ERROR: for activemq  manifest for islandora/activemq:1.0.100 not found: manifest unknown: manifest unknown

ERROR: for hypercube  manifest for islandora/hypercube:1.0.100 not found: manifest unknown: manifest unknown

ERROR: for fits  manifest for islandora/fits:1.0.100 not found: manifest unknown: manifest unknown

ERROR: for recast  manifest for islandora/recast:1.0.100 not found: manifest unknown: manifest unknown

ERROR: for alpaca  manifest for islandora/alpaca:1.0.100 not found: manifest unknown: manifest unknown
ERROR: manifest for islandora/solr:1.0.100 not found: manifest unknown: manifest unknown
manifest for islandora/milliner:1.0.100 not found: manifest unknown: manifest unknown
manifest for islandora/cantaloupe:1.0.100 not found: manifest unknown: manifest unknown
manifest for islandora/matomo:1.0.100 not found: manifest unknown: manifest unknown
manifest for islandora/drupal:1.0.100 not found: manifest unknown: manifest unknown
manifest for islandora/homarus:1.0.100 not found: manifest unknown: manifest unknown
manifest for islandora/mariadb:1.0.100 not found: manifest unknown: manifest unknown
manifest for islandora/fcrepo6:1.0.100 not found: manifest unknown: manifest unknown
manifest for islandora/blazegraph:1.0.100 not found: manifest unknown: manifest unknown
manifest for islandora/crayfits:1.0.100 not found: manifest unknown: manifest unknown
manifest for islandora/houdini:1.0.100 not found: manifest unknown: manifest unknown
manifest for islandora/activemq:1.0.100 not found: manifest unknown: manifest unknown
manifest for islandora/hypercube:1.0.100 not found: manifest unknown: manifest unknown
manifest for islandora/fits:1.0.100 not found: manifest unknown: manifest unknown
manifest for islandora/recast:1.0.100 not found: manifest unknown: manifest unknown
manifest for islandora/alpaca:1.0.100 not found: manifest unknown: manifest unknown
make[3]: *** [Makefile:255: pull] Error 1
make[3]: Leaving directory '/Users/yamil/Documents/isle_git_root/isle-dc'
make[2]: *** [Makefile:144: local] Error 2
make[2]: Leaving directory '/Users/yamil/Documents/isle_git_root/isle-dc'
make[1]: *** [Makefile:132: demo] Error 2
make[1]: Leaving directory '/Users/yamil/Documents/isle_git_root/isle-dc'
make: *** [Makefile:284: up] Error 2