From ef2c0c8640832a76dda30536d5899eb27cddc8e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Str=C3=B6mb=C3=A4ck?= <filip.stromback@liu.se> Date: Wed, 30 Sep 2020 15:38:16 +0200 Subject: [PATCH] Fixed issues in the git-update script. --- files/opendsa/on_update.sh | 8 ++++++++ files/update_repo.sh | 2 +- manifests/aes_broker.pp | 2 +- manifests/opendsa.pp | 31 +++++++++++++++++-------------- 4 files changed, 27 insertions(+), 16 deletions(-) diff --git a/files/opendsa/on_update.sh b/files/opendsa/on_update.sh index 5cd50b8..a2912aa 100644 --- a/files/opendsa/on_update.sh +++ b/files/opendsa/on_update.sh @@ -8,7 +8,15 @@ update_pip_fn=$(cat <<'EOF' cd python3 -m pip install --user -r OpenDSA/server/requirements.txt + +# Initialize the DB if required. +if [[ ! -f OpenDSA/server/openDSA.db ]] +then + cd OpenDSA/server/ + ./main.py init_db +fi EOF +) # Run PIP as OpenDSA. sudo --user opendsa --group opendsa --set-home -- bash -c "$update_pip_fn" diff --git a/files/update_repo.sh b/files/update_repo.sh index 5efd735..c871f41 100755 --- a/files/update_repo.sh +++ b/files/update_repo.sh @@ -90,7 +90,7 @@ then if [[ ! -z "$REPO_ON_UPDATE" ]] then # Run it if it is there. - $REPO_ON_UPDATE + eval "$REPO_ON_UPDATE" fi exit 0 else diff --git a/manifests/aes_broker.pp b/manifests/aes_broker.pp index 89adf82..8b7ab12 100644 --- a/manifests/aes_broker.pp +++ b/manifests/aes_broker.pp @@ -22,7 +22,7 @@ class aes::aes_broker { user { "${broker_user}" : ensure => present, - home => "${broker_user}", + home => "${broker_home}", comment => 'Message broker for AES', managehome => false, membership => inclusive, diff --git a/manifests/opendsa.pp b/manifests/opendsa.pp index 448eb54..fc2662a 100644 --- a/manifests/opendsa.pp +++ b/manifests/opendsa.pp @@ -27,12 +27,20 @@ class aes::opendsa { ensure => present, owner => root, group => root, - mode => '0600', + mode => '0700', source => "puppet:///modules/${module_name}/opendsa/on_update.sh", } + file { "/etc/systemd/system/${opendsa_service}.service": + ensure => present, + owner => root, + group => root, + mode => '0644', + source => "puppet:///modules/${module_name}/opendsa/opendsa.service", + } + exec { 'update-repo': - command => "/opt/utils/update_repo.sh ${opendsa_home}/OpenDSA https://oauth2:taNPRZid9Hv6jJtdW_T8@gitlab.liu.se:opendsa/OpenDSA.git exam", + command => "/opt/utils/update_repo.sh ${opendsa_home}/OpenDSA https://oauth2:taNPRZid9Hv6jJtdW_T8@gitlab.liu.se/opendsa/OpenDSA.git exam", environment => [ "REPO_USER=${opendsa_user}", "REPO_GROUP=${opendsa_group}", "REPO_ON_UPDATE=${opendsa_home}/on_update.sh" ], # This command will need to run "on_update" as root in order to restart the service. user => root, @@ -48,20 +56,15 @@ class aes::opendsa { source => "puppet:///modules/${module_name}/opendsa/manage.sh", } - exec { "${opendsa_home}/OpenDSA/server/main.py init_db" : - cwd => "${opendsa_home}/OpenDSA/server/", - creates => "${opendsa_home}/OpenDSA/server/openDSA.db", - user => "${opendsa_user}", - group => "${opendsa_group}", + # Temporary! + file { '/opt/utils/update_repo.sh': + ensure => file, + mode => '0755', + owner => root, + group => root, + content => file("${module_name}/update_repo.sh"), } - file { "/etc/systemd/system/${opendsa_service}.service": - ensure => present, - owner => root, - group => root, - mode => '0644', - source => "puppet:///modules/${module_name}/opendsa/opendsa.service", - } # Do we need port 12000 open? NO service { "${opendsa_service}" : -- GitLab