This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
services:paddles [2021/10/05 13:53] djgalloway |
services:paddles [2023/08/21 22:20] (current) zmc [Updating/Fixing Zombie Jobs] |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| paddles is a very simple JSON-based API used to report teuthology test results. See https://github.com/ceph/paddles | paddles is a very simple JSON-based API used to report teuthology test results. See https://github.com/ceph/paddles | ||
| - | The service runs on a baremetal host, [[hardware:infrastructure#pulpitofrontsepiacephcom|pulpito.front.sepia.ceph.com]] from ''/home/ubuntu''. | + | The service runs on a baremetal host, [[hardware:infrastructure#pulpitofrontsepiacephcom|pulpito.front.sepia.ceph.com]], deployed via the ceph-cm-ansible role: https://github.com/ceph/ceph-cm-ansible/tree/main/roles/paddles |
| + | It is operated by ''docker service'': https://docs.docker.com/engine/reference/commandline/service/, utilizing replication, health checks, and automatic rollbacks. | ||
| ===== Backups ===== | ===== Backups ===== | ||
| The 'paddles' db is backed up daily by the [[services:backups#backupsh|backup.sh]] script on gitbuilder-archive. | The 'paddles' db is backed up daily by the [[services:backups#backupsh|backup.sh]] script on gitbuilder-archive. | ||
| Line 11: | Line 12: | ||
| ===== Admin Tasks ===== | ===== Admin Tasks ===== | ||
| - | ==== Starting/Restarting service ==== | + | ==== Stopping/Starting the service ==== |
| <code> | <code> | ||
| - | ssh ubuntu@paddles.front.sepia.ceph.com | + | ssh paddles.front.sepia.ceph.com |
| - | sudo supervisorctl stop|stop|restart paddles | + | # Stopping |
| + | sudo docker service scale paddles=0 | ||
| + | # Starting | ||
| + | sudo docker service scale paddles=10 | ||
| </code> | </code> | ||
| Line 24: | Line 28: | ||
| <code> | <code> | ||
| ssh paddles.front.sepia.ceph.com | ssh paddles.front.sepia.ceph.com | ||
| - | sudo docker exec -it $(docker ps | grep paddles | head -n 1 | awk '{ print $1 }') sh -c "pecan expire_jobs config.py -q 14 -r 30" | + | sudo docker exec -it $(sudo docker ps --filter "health=healthy" --filter "name=paddles" --format "{{.ID}}" | head -n1) sh -c "pecan expire_jobs config.py -q 14 -r 30" |
| </code> | </code> | ||
| Line 44: | Line 48: | ||
| <code> | <code> | ||
| ssh pulpito.front.sepia.ceph.com | ssh pulpito.front.sepia.ceph.com | ||
| - | sudo su - ubuntu | + | sudo docker service update --image quay.io/ceph-infra/paddles:main paddles --force |
| - | sudo supervisorctl stop paddles | + | |
| - | cp -r paddles paddles.$(date -u +%F).backup | + | |
| - | cd paddles | + | |
| - | git pull | + | |
| - | source virtualenv/bin/activate | + | |
| - | python setup.py develop | + | |
| - | deactivate | + | |
| - | sudo supervisorctl start paddles | + | |
| </code> | </code> | ||