/
dlrn-promoter-service.sh.j2
executable file
·48 lines (37 loc) · 1.99 KB
/
dlrn-promoter-service.sh.j2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/bash
# systemd service for calling dlrn-promoter in a loop
# fetch latest config, install, call promoter, sleep
# keep this systemd service minimum
# https://github.com/pypa/pip/issues/6207
export PYTHONWARNINGS=ignore:Please.upgrade::pip._internal.cli.base_command
# Activate virtualenv
source ~/promoter_venv/bin/activate
while true; do
{% if not setup_staging %}
# fetch the latest ci-config
cd ~/ci-config; git reset --hard origin/master && git pull >/dev/null
{% if promoter_type == "upstream" %}
# Ensure the latest promotion config is available via httpd
# TO-DO could use local rsyc, selinux is the root case for using a cp command
cp -Rv ~/ci-config/ci-scripts/dlrnapi_promoter/config_environments/rdo/* ~/web/config/
cp -Rv ~/ci-config/ci-scripts/dlrnapi_promoter/config/CentOS-8/* ~/web/config/CentOS-8/
{% elif promoter_type == "downstream" %}
# fetch the tripleo-environment code
cd ~/tripleo-environments; git reset --hard origin/master && git pull >/dev/null
# Copy the latest downstream config
cp -Rv ~/tripleo-environments/ci-scripts/dlrnapi_promoter/config_environments/* ~/ci-config/ci-scripts/dlrnapi_promoter/config_environments/
cp -Rv ~/tripleo-environments/ci-scripts/dlrnapi_promoter/config/* ~/ci-config/ci-scripts/dlrnapi_promoter/config/
# Ensure the latest promotion config is available via httpd
cp -Rv ~/ci-config/ci-scripts/dlrnapi_promoter/config_environments/rdo/RedHat-8/* ~/web/config/RedHat-8/
cp -Rv ~/ci-config/ci-scripts/dlrnapi_promoter/config/RedHat-8/* ~/web/config/RedHat-8/
{% endif %}
# fetch the latest dlrnapi_client and dependencies
pip install -q -U -r ~/ci-config/ci-scripts/dlrnapi_promoter/requirements.txt
# call dlrn-promoter.sh for multiple releases/distros
/bin/bash -x ~/ci-config/ci-scripts/dlrnapi_promoter/dlrn-promoter.sh
{% else %}
echo /bin/bash ~/ci-config/ci-scripts/dlrnapi_promoter/dlrn-promoter.sh
{% endif %}
# Sleep 10 minutes
sleep 600
done