Installation

webwork Docker install hangs at "Check in with MAA site

webwork Docker install hangs at "Check in with MAA site

by Murray Eisenberg -
Number of replies: 1

I'm following instructions at https://github.com/openwebwork/webwork2/wiki/Docker-newbie-instructions to install webwork2 into Docker on maOS.

I reached the step "docker-compose up" which proceeded quickly into the app_1 | webwork,apache2-config section, reaching "The webwork smtp server address is localhost", "The webwork smtp server port is [blank here]", and "The webwork smtp server protocol is 'not ssl'. Now things in Terminal seem to be stalled at "app_1 | Check in with MAA site" for at least 10 minutes.

What should be happening at this stage and what actually seems to be happening?

app_1  | Admin course is created.

app_1  | create modelCourse subdirectory

app_1  | defaultClasslist.lst is being created

app_1  | We will run OPL-update as the tagging-taxonomy.json file is missing in webwork2/htdocs/DATA/.

app_1  | Check if you should be mounting webwork2/htdocs/DATA/ from outside the Docker image!

app_1  | Download a JSON containing information on the latest release

app_1  | curl -s https://api.github.com/repos/heiderich/webwork-open-problem-library/releases/latest > latest_release.json

app_1  | curl -L `jq -r '[.assets | .[] | select(.name == "webwork-open-problem-library-METADATA.tar.gz" ) | .browser_download_url][0]' latest_release.json` -o webwork-open-problem-library-METADATA.tar.gz

app_1  |   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

app_1  |                                  Dload  Upload   Total   Spent    Left  Speed

100   655  100   655    0     0   3521      0 --:--:-- --:--:-- --:--:--  3502

100 1023k  100 1023k    0     0  1894k      0 --:--:-- --:--:-- --:--:-- 1894k

app_1  | tar xfz webwork-open-problem-library-METADATA.tar.gz

app_1  | jq -r '.tag_name' latest_release.json > latest_release.tag

app_1  | fatal: No such remote: heiderich

app_1  | From https://github.com/heiderich/webwork-open-problem-library

app_1  |  * [new branch]            master                -> heiderich/master

app_1  |  * [new tag]               2019-08-19-0787211298 -> 2019-08-19-0787211298

app_1  |  * [new tag]               2019-09-19-206e5c400f -> 2019-09-19-206e5c400f

app_1  |  * [new tag]               2019-09-25-3377b28ab0 -> 2019-09-25-3377b28ab0

app_1  |  * [new tag]               aaa                   -> aaa

app_1  |  * [new tag]               test                  -> test

app_1  |  * [new tag]               zzz                   -> zzz

app_1  | Checking out tag 2019-09-25-3377b28ab0

app_1  | Note: checking out '2019-09-25-3377b28ab0'.

app_1  | 

app_1  | You are in 'detached HEAD' state. You can look around, make experimental

app_1  | changes and commit them, and you can discard any commits you make in this

app_1  | state without impacting any branches by performing another checkout.

app_1  | 

app_1  | If you want to create a new branch to retain commits you create, you may

app_1  | do so (now or later) by using -b with the checkout command again. Example:

app_1  | 

app_1  |   git checkout -b <new-branch-name>

app_1  | 

app_1  | HEAD is now at 3377b28ab0 Merge pull request #602 from jirilebl/fixes2

app_1  | Restoring OPL tables from the TABLE-DUMP/OPL-tables.sql file

app_1  | Waiting for database to become available...

db_1   | 2020-07-22 19:15:00 10 [Warning] Aborted connection 10 to db: 'unconnected' user: 'unauthenticated' host: '172.18.0.4' (This connection closed normally without authentication)

app_1  | OPL path seems to be /opt/webwork/libraries/webwork-open-problem-library/

app_1  | Importing statistics for 2 courses.

app_1  |    1   2

app_1  | 

app_1  | You may want to run load-OPL-global-statistics.pl to update the global statistics data.

app_1  | If this is being run by OPL-update, that will be done automatically.

app_1  | Restoring JSON files from JSON-SAVED directory

app_1  | Fixing ownership and permissions (just in case it is needed)

app_1  | end fixing ownership and permissions

app_1  | webwork.apache2-config:  WeBWorK server is starting

app_1  | webwork.apache2-config:  WeBWorK root directory set to /opt/webwork/webwork2 in webwork2/conf/webwork.apache2-config

app_1  | webwork.apache2-config:  The following locations and urls are set in webwork2/conf/site.conf

app_1  | webwork.apache2-config:  PG root directory set to /opt/webwork/pg

app_1  | webwork.apache2-config:  WeBWorK server userID is www-data

app_1  | webwork.apache2-config:  WeBWorK server groupID is www-data

app_1  | webwork.apache2-config:  The webwork url on this site is http://localhost/webwork2

app_1  | webwork.apache2-config:  The webwork smtp server address is localhost

app_1  | webwork.apache2-config:     The webwork smtp server port is 

app_1  | webwork.apache2-config:     The webwork smtp server protocol is 'not ssl'

app_1  | Check in with MAA site

app_1  | End connectivity check

app_1  | WebworkSOAP::WSDL: webwork_directory set to /opt/webwork/webwork2 via $WeBWorK::Constants::WEBWORK_DIRECTORY set in webwork.apache2-config

app_1  | WebworkSOAP::WSDL: rpc_url set to http://localhost/webwork2_rpc 

app_1  | WebworkWebservice: webwork_directory set to /opt/webwork/webwork2 via $WeBWorK::Constants::WEBWORK_DIRECTORY set in webwork.apache2-config

app_1  | webwork.apache2-config:  WeBWorK server is starting

app_1  | webwork.apache2-config:  WeBWorK root directory set to /opt/webwork/webwork2 in webwork2/conf/webwork.apache2-config

app_1  | webwork.apache2-config:  The following locations and urls are set in webwork2/conf/site.conf

app_1  | webwork.apache2-config:  PG root directory set to /opt/webwork/pg

app_1  | webwork.apache2-config:  WeBWorK server userID is www-data

app_1  | webwork.apache2-config:  WeBWorK server groupID is www-data

app_1  | webwork.apache2-config:  The webwork url on this site is http://localhost/webwork2

app_1  | webwork.apache2-config:  The webwork smtp server address is localhost

app_1  | webwork.apache2-config:     The webwork smtp server port is 

app_1  | webwork.apache2-config:     The webwork smtp server protocol is 'not ssl'

app_1  | Check in with MAA site


In reply to Murray Eisenberg

Re: webwork Docker install hangs at "Check in with MAA site

by Nathan Wallach -
About a year ago the connectivity test was added to conf/webwork.apache2.4-config a modified version of which becomes /etc/apache2/conf-enabled/webwork.conf in the Docker container. 

The only way I know to disable the connectivity test for a Docker setup is to comment out the relevant line in /etc/apache2/conf-enabled/webwork.conf . That needs to done in a manner which will override the fixed version of the file already inside the Docker image (which has the "ping" line).

The best suggestion I have is to make a copy of the file from the Docker image, comment out the "ping" line, and then mount the modified file via docker-compose.yml so that when you run "docker-compose up" the modified version will be used.

Rough process:

  • cd your_webwork2_directory
  • mkdir LOCAL
  • docker-compose up -d
  • docker cp webwork2_app_1:/etc/apache2/conf-enabled/webwork.conf ./LOCAL/webwork.conf
  • docker-compose down
  • vi LOCAL/webwork.conf # or use some other editor
  • # comment out the "ping" line.
  • vi docker-compose.yml   # or use some other editor
  • # Add a line in the volume section for the webwork container with something like
  • #      - "./LOCAL/webwork.conf:/etc/apache2/conf-enabled/webwork.conf"
  • # to mount the modified file to override the existing one.
Note: I saw an explanation on how to create a "dummy container" to access a file via "docker cp" without needing to run the container. See the section on "docker create" at https://stackoverflow.com/questions/22049212/copying-files-from-docker-container-to-host