You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by lf...@apache.org on 2020/05/28 08:28:35 UTC

[incubator-dlab] branch DLAB-1835 updated: [DLAB-1835]: added checker if keycloak and nginx are already installed

This is an automated email from the ASF dual-hosted git repository.

lfrolov pushed a commit to branch DLAB-1835
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git


The following commit(s) were added to refs/heads/DLAB-1835 by this push:
     new 70eaf25  [DLAB-1835]: added checker if keycloak and nginx are already installed
70eaf25 is described below

commit 70eaf2539aa1fe90ede54f8a37915a9721865afd
Author: leonidfrolov <fr...@gmail.com>
AuthorDate: Thu May 28 11:27:20 2020 +0300

    [DLAB-1835]: added checker if keycloak and nginx are already installed
---
 .../scripts/deploy_keycloak/deploy_keycloak.py     | 73 +++++++++++++---------
 1 file changed, 42 insertions(+), 31 deletions(-)

diff --git a/infrastructure-provisioning/scripts/deploy_keycloak/deploy_keycloak.py b/infrastructure-provisioning/scripts/deploy_keycloak/deploy_keycloak.py
index 3839309..073cfc8 100644
--- a/infrastructure-provisioning/scripts/deploy_keycloak/deploy_keycloak.py
+++ b/infrastructure-provisioning/scripts/deploy_keycloak/deploy_keycloak.py
@@ -65,33 +65,43 @@ def ensure_jre_jdk(os_user):
             sys.exit(1)
 
 def configure_keycloak():
-    sudo('wget https://downloads.jboss.org/keycloak/' + keycloak_version + '/keycloak-' + keycloak_version + '.tar.gz -O /tmp/keycloak-' + keycloak_version + '.tar.gz')
-    sudo('tar -zxvf /tmp/keycloak-' + keycloak_version + '.tar.gz -C /opt/')
-    sudo('ln -s /opt/keycloak-' + keycloak_version + ' /opt/keycloak')
-    sudo('chown ' + args.os_user + ':' + args.os_user + ' -R /opt/keycloak-' + keycloak_version)
-    sudo('/opt/keycloak/bin/add-user-keycloak.sh -r master -u ' + args.keycloak_user + ' -p ' + args.keycloak_user_password) #create initial admin user in master realm
-    put(templates_dir + 'realm.json', '/tmp/' + args.keycloak_realm_name + '-realm.json')
-    put(templates_dir + 'keycloak.service', '/tmp/keycloak.service')
-    sudo("cp /tmp/keycloak.service /etc/systemd/system/keycloak.service")
-    sudo("sed -i 's|realm-name|" + args.keycloak_realm_name + "|' /tmp/" + args.keycloak_realm_name + "-realm.json")
-    sudo("sed -i 's|OS_USER|" + args.os_user + "|' /etc/systemd/system/keycloak.service")
-    sudo("sed -i 's|private_ip_address|" + private_ip_address + "|' /etc/systemd/system/keycloak.service")
-    sudo("sed -i 's|keycloak_realm_name|" + args.keycloak_realm_name + "|' /etc/systemd/system/keycloak.service")
-    sudo("systemctl daemon-reload")
-    sudo("systemctl enable keycloak")
-    sudo("systemctl start keycloak")
+    if not exists('/home/' + os_user + '/.ensure_dir/keycloak_ensured'):
+        try:
+            sudo('wget https://downloads.jboss.org/keycloak/' + keycloak_version + '/keycloak-' + keycloak_version + '.tar.gz -O /tmp/keycloak-' + keycloak_version + '.tar.gz')
+            sudo('tar -zxvf /tmp/keycloak-' + keycloak_version + '.tar.gz -C /opt/')
+            sudo('ln -s /opt/keycloak-' + keycloak_version + ' /opt/keycloak')
+            sudo('chown ' + args.os_user + ':' + args.os_user + ' -R /opt/keycloak-' + keycloak_version)
+            sudo('/opt/keycloak/bin/add-user-keycloak.sh -r master -u ' + args.keycloak_user + ' -p ' + args.keycloak_user_password) #create initial admin user in master realm
+            put(templates_dir + 'realm.json', '/tmp/' + args.keycloak_realm_name + '-realm.json')
+            put(templates_dir + 'keycloak.service', '/tmp/keycloak.service')
+            sudo("cp /tmp/keycloak.service /etc/systemd/system/keycloak.service")
+            sudo("sed -i 's|realm-name|" + args.keycloak_realm_name + "|' /tmp/" + args.keycloak_realm_name + "-realm.json")
+            sudo("sed -i 's|OS_USER|" + args.os_user + "|' /etc/systemd/system/keycloak.service")
+            sudo("sed -i 's|private_ip_address|" + private_ip_address + "|' /etc/systemd/system/keycloak.service")
+            sudo("sed -i 's|keycloak_realm_name|" + args.keycloak_realm_name + "|' /etc/systemd/system/keycloak.service")
+            sudo("systemctl daemon-reload")
+            sudo("systemctl enable keycloak")
+            sudo("systemctl start keycloak")
+            sudo('touch /home/' + os_user + '/.ensure_dir/keycloak_ensured')
+        except:
+            sys.exit(1)
 
 def configure_nginx():
-    sudo('apt install -y nginx')
-    put(templates_dir + 'nginx.conf', '/tmp/nginx.conf')
-    sudo("cp /tmp/nginx.conf /etc/nginx/conf.d/nginx.conf")
-    sudo("sed -i 's|80|81|' /etc/nginx/sites-enabled/default")
-    sudo("sed -i 's|external_port|" + external_port + "|' /etc/nginx/conf.d/nginx.conf")
-    sudo("sed -i 's|internal_port|" + internal_port + "|' /etc/nginx/conf.d/nginx.conf")
-    sudo("sed -i 's|private_ip_address|" + private_ip_address + "|' /etc/nginx/conf.d/nginx.conf")
-    sudo("systemctl daemon-reload")
-    sudo("systemctl enable nginx")
-    sudo("systemctl restart nginx")
+    if not exists('/home/' + os_user + '/.ensure_dir/nginx_ensured'):
+        try:
+            sudo('apt install -y nginx')
+            put(templates_dir + 'nginx.conf', '/tmp/nginx.conf')
+            sudo("cp /tmp/nginx.conf /etc/nginx/conf.d/nginx.conf")
+            sudo("sed -i 's|80|81|' /etc/nginx/sites-enabled/default")
+            sudo("sed -i 's|external_port|" + external_port + "|' /etc/nginx/conf.d/nginx.conf")
+            sudo("sed -i 's|internal_port|" + internal_port + "|' /etc/nginx/conf.d/nginx.conf")
+            sudo("sed -i 's|private_ip_address|" + private_ip_address + "|' /etc/nginx/conf.d/nginx.conf")
+            sudo("systemctl daemon-reload")
+            sudo("systemctl enable nginx")
+            sudo("systemctl restart nginx")
+            sudo('touch /home/' + os_user + '/.ensure_dir/nginx_ensured')
+        except:
+            sys.exit(1)
 
 if __name__ == "__main__":
     local("sudo mkdir /logs/keycloak -p")
@@ -135,15 +145,16 @@ if __name__ == "__main__":
         sys.exit(1)
 
     try:
-        print("installing Keycloak")
-        configure_keycloak()
+        print("installing nginx")
+        configure_nginx()
     except Exception as err:
-        print("Failed keycloak install: " + str(err))
+        print("Failed nginx install: " + str(err))
         sys.exit(1)
 
     try:
-        print("installing nginx")
-        configure_nginx()
+        print("installing Keycloak")
+        configure_keycloak()
     except Exception as err:
-        print("Failed nginx install: " + str(err))
+        print("Failed keycloak install: " + str(err))
         sys.exit(1)
+


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org