Alon Bar-Lev has uploaded a new change for review.

Change subject: packaging: engine-encrypt-passwd.sh as standalone script
......................................................................

packaging: engine-encrypt-passwd.sh as standalone script

As engine-encrypt-passwd.sh runs only from setup, there is no point in
reading the configuration which may not be exist at this point (due to
transactional write).

Change-Id: I7b748fc787d44b2e877412f3107719d607b7a4ae
Signed-off-by: Alon Bar-Lev <alo...@redhat.com>
---
M backend/manager/tools/src/main/shell/engine-encrypt-passwd.sh
M packaging/fedora/setup/basedefs.py
M packaging/fedora/setup/common_utils.py
M packaging/fedora/setup/engine-setup.py
4 files changed, 19 insertions(+), 11 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/31/13031/1

diff --git a/backend/manager/tools/src/main/shell/engine-encrypt-passwd.sh 
b/backend/manager/tools/src/main/shell/engine-encrypt-passwd.sh
old mode 100644
new mode 100755
index 5728b0c..3c1552f
--- a/backend/manager/tools/src/main/shell/engine-encrypt-passwd.sh
+++ b/backend/manager/tools/src/main/shell/engine-encrypt-passwd.sh
@@ -1,8 +1,5 @@
 #!/bin/sh
 
-# Load the prolog:
-. "$(dirname "$(readlink -f "$0")")"/engine-prolog.sh
-
 die () {
     printf >&2 "$@"
     exit 1
@@ -22,7 +19,8 @@
     die "Error: wrong argument number: $#.\n"
 fi
 
-exec "${JAVA_HOME}/bin/java" \
+CLASSPATH="" JAVA_MODULEPATH="${JBOSS_HOME}/modules" \
+  exec "${JAVA_HOME}/bin/java" \
   -jar "${JBOSS_HOME}/jboss-modules.jar" \
   -dependencies org.picketbox \
   -class org.picketbox.datasource.security.SecureIdentityLoginModule \
diff --git a/packaging/fedora/setup/basedefs.py 
b/packaging/fedora/setup/basedefs.py
index 8b111ee..9d9c8cb 100644
--- a/packaging/fedora/setup/basedefs.py
+++ b/packaging/fedora/setup/basedefs.py
@@ -49,6 +49,7 @@
 DIR_VAR_LIB="/var/lib"
 DIR_LOG="%s/ovirt-engine/" % DIR_VAR_LOG
 DIR_CONFIG="%s/ovirt-engine/conf" % DIR_USR_SHARE
+DIR_JBOSS="/usr/share/jboss-as"
 DIR_JBOSS_RESOURCES="%s/ovirt-engine/resources/jboss" % DIR_USR_SHARE
 DIR_KERBEROS="%s/ovirt-engine/kerberos" % DIR_USR_SHARE
 DIR_ENGINE="/usr/share/%s" % (ENGINE_SERVICE_NAME)
diff --git a/packaging/fedora/setup/common_utils.py 
b/packaging/fedora/setup/common_utils.py
index 392e1a6..b283bf6 100755
--- a/packaging/fedora/setup/common_utils.py
+++ b/packaging/fedora/setup/common_utils.py
@@ -1207,7 +1207,7 @@
     logging.debug("Engine has been configured")
     handler.close()
 
-def encryptEngineDBPass(password, maskList):
+def encryptEngineDBPass(password, maskList, javaHome):
     """
     Encryptes the jboss postgres db password
     and store it in conf
@@ -1218,10 +1218,16 @@
             basedefs.EXEC_ENCRYPT_PASS, password,
         ]
 
-        # The encrypt tool needs the jboss home env set
-        # Since we cant use the bash way, we need to set it as environ
-        os.environ["JBOSS_HOME"] = basedefs.DIR_ENGINE
-        output, rc = execCmd(cmdList=cmd, failOnError=True, 
msg=output_messages.ERR_EXP_ENCRYPT_PASS, maskList=maskList)
+        output, rc = execCmd(
+            cmdList=cmd,
+            failOnError=True,
+            msg=output_messages.ERR_EXP_ENCRYPT_PASS,
+            maskList=maskList,
+            envDict=dict(
+                JAVA_HOME=javaHome,
+                JBOSS_HOME=basedefs.DIR_JBOSS,
+            ),
+        )
 
         #parse the encrypted password from the tool
         return parseStrRegex(output, "Encoded password:\s*(.+)", 
output_messages.ERR_EXP_PARSING_ENCRYPT_PASS)
diff --git a/packaging/fedora/setup/engine-setup.py 
b/packaging/fedora/setup/engine-setup.py
index 9238bec..0ecfbc3 100755
--- a/packaging/fedora/setup/engine-setup.py
+++ b/packaging/fedora/setup/engine-setup.py
@@ -1420,8 +1420,11 @@
     and store it in conf
     """
     #run encrypt tool on user given password
-    controller.CONF["ENCRYPTED_DB_PASS"] = 
utils.encryptEngineDBPass(password=controller.CONF["DB_PASS"],
-                                               maskList=masked_value_set)
+    controller.CONF["ENCRYPTED_DB_PASS"] = utils.encryptEngineDBPass(
+        password=controller.CONF["DB_PASS"],
+        maskList=masked_value_set,
+        javaHome=controller.CONF["JAVA_HOME"]
+    )
 
 def _verifyUserPermissions():
     username = pwd.getpwuid(os.getuid())[0]


--
To view, visit http://gerrit.ovirt.org/13031
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7b748fc787d44b2e877412f3107719d607b7a4ae
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Alon Bar-Lev <alo...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to