You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ke...@apache.org on 2013/02/21 23:33:10 UTC

git commit: refs/heads/4.1 - CLOUDSTACK-1362: Put a workaround fix to set excutable attribute of injectkys.sh at runtime

Updated Branches:
  refs/heads/4.1 aea5b268b -> e219ef951


CLOUDSTACK-1362: Put a workaround fix to set excutable attribute of injectkys.sh at runtime


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/e219ef95
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/e219ef95
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/e219ef95

Branch: refs/heads/4.1
Commit: e219ef951bee8ce004129e47983e966766b19e74
Parents: aea5b26
Author: Kelven Yang <ke...@gmail.com>
Authored: Thu Feb 21 14:32:47 2013 -0800
Committer: Kelven Yang <ke...@gmail.com>
Committed: Thu Feb 21 14:32:47 2013 -0800

----------------------------------------------------------------------
 .../com/cloud/server/ConfigurationServerImpl.java  |   20 +++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e219ef95/server/src/com/cloud/server/ConfigurationServerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/server/ConfigurationServerImpl.java b/server/src/com/cloud/server/ConfigurationServerImpl.java
index 6bf7f95..294bd6a 100755
--- a/server/src/com/cloud/server/ConfigurationServerImpl.java
+++ b/server/src/com/cloud/server/ConfigurationServerImpl.java
@@ -152,6 +152,8 @@ public class ConfigurationServerImpl extends ManagerBase implements Configuratio
     @DB
     public void persistDefaultValues() throws InternalErrorException {
 
+    	fixupScriptFileAttribute();
+    	
         // Create system user and admin user
         saveUser();
 
@@ -702,6 +704,24 @@ public class ConfigurationServerImpl extends ManagerBase implements Configuratio
         }
 
     }
+    
+	private void fixupScriptFileAttribute() {
+		// TODO : this is a hacking fix to workaround that executable bit is not preserved in WAR package 
+        String scriptPath = Script.findScript("", "scripts/vm/systemvm/injectkeys.sh");
+        if(scriptPath != null) {
+        	File file = new File(scriptPath);
+        	if(!file.canExecute()) {
+        		s_logger.info("Some of the shell script files may not have executable bit set. Fixup...");
+        		
+        		String cmd = "chmod ugo+x " + scriptPath;
+        		s_logger.info("Executing " + cmd);
+                String result = Script.runSimpleBashScript(cmd);
+                if (result != null) {
+                    s_logger.warn("Failed to fixup shell script executable bits " + result);
+                }
+        	}
+        }
+	}
 
     private void updateKeyPairsOnDisk(String homeDir) {
         File keyDir = new File(homeDir + "/.ssh");