Skip to content

Infrastructure

christian-bernet edited this page Oct 30, 2019 · 5 revisions

Workflow if importer is broken on test-system of the university

If the importer is broken without a message right..

  1. run ./shell and then list the topics with "list-topics"
  2. deactivate the topic with problems with "set-topic-state false xxx"
  3. delete the hidden folder in /content/ from the topic (hidden folder name is the importer-id) On the test-system it is:
  • plantation-lives => .testenvironment
  • our test topic => .OnlyTest
  • Trailer => .trailer
  1. remove the file checkpoint file for plantation lives run ./lives-in-transit/batch/check_plantation.sh or wait until the importer runs automaticaly

With command "help" you get a list of all possible commands.
and with exit you can exit from the shell console.

Import content on tests system

Import PlantationLives or OurTestTopic

There are some cronjobs running for each folder to import.

If you want to import PlantationLives or  manually, then run

./lives-in-transit/batch/check_plantation.sh 
./lives-in-transit/batch/check_test.sh

Each importer creates a file called `*.checkpoint`. Delete the file for the corresponding topic for the importer to run the full process again the next time the cron schedule triggersThis files are in folder /home/ubuntu

in the importer_plantation.log..... you have the console output of the shell importer.Log files are in path: /var/www/html/log/tail -f /var/www/html/log/importer_test.log => is for OurTestTopic

tail -f /var/www/html/log/importer_plantation.log => is for PlantationLives

Import demo content:

  •  Run shell with: ./shell on the test-system and you can import demo contentUse that only for demo content withdo-import /content/DemoTopic/ demo true
    • content is mapped to /content/

    • '/resources' is mapped to '/resources'

    • '/resources' is also mapped to the frontend container to '/usr/share/nginx/html/resources'

Information about importing content

  • Import PlantationLives or OurTestTopic
    • in folder ****~/lives-in-transit/batch there are the batch scripts
      ****check_plantation.sh
      **check_test.sh

      **

Information about the shell batch

  • We have to update importer which is called from shell manually (if there are any changes from the source at the master branch)!
    This is done with:
    • first you run ./shell in /home/ubuntu which updated the shell container on the environment
      the importers are derived from it
      next you cd to ~/lives-in-transit/batch
      then run docker build -t shell-batch-test . -f DockerfileTest
      and docker build -t shell-batch-plantation . -f DockerfilePlantation
      this builds the new importer containers
  • for each topic a new importer needs to be defined and created
    you can use one of the build files to create a new one for example DockerfilePlantation
  • And also if you want to manually import a content run ./shellcontent is in /content/

Information about the docker configuration

  • docker ps -a
    (gives a list of the running containers)
  • docker exec -it <container id> /bin/bash (or /bin/sh if bash isn't available in the container)

    this logs you in on the container

  • Path of the applications

    for the backend you should be in /usr/local/tomcat + webapps/ROOT is the root of the backend
    tomcat "/usr/local/tomcat/logs"

    log-files of the automatic importer are in folder: /var/www/html/log/

    for the frontend it's /usr/share/nginx/html

    the resources (image etc.) are stored in the webroot /usr/share/nginx/html/resources
    in the end in /usr/share/nginx/html/resources/image and so on

  • Restarting docker:

    • docker-compose down
    • docker-compose up -d
  • configuration files are in folder: lives-in-transitin the ~/lives-in-transit folder you have all the things (application.properties etc.) that are needed to build