Updated Branches:
  refs/heads/master cce14f397 -> ce06d6542

CLOUDSTACK-3951: Don't require SSH access to KVM nodes when cancelling 
maintenance


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

Branch: refs/heads/master
Commit: ce06d6542abd6868cd1bd300c72546ce7a595646
Parents: cce14f3
Author: Wido den Hollander <[email protected]>
Authored: Tue Jul 30 15:06:29 2013 +0200
Committer: Wido den Hollander <[email protected]>
Committed: Wed Jul 31 15:07:32 2013 +0200

----------------------------------------------------------------------
 server/src/com/cloud/configuration/Config.java         | 2 ++
 server/src/com/cloud/resource/ResourceManagerImpl.java | 7 +++++++
 setup/db/db/schema-410to420.sql                        | 2 ++
 3 files changed, 11 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ce06d654/server/src/com/cloud/configuration/Config.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/configuration/Config.java 
b/server/src/com/cloud/configuration/Config.java
index 3d58d75..c2b1346 100755
--- a/server/src/com/cloud/configuration/Config.java
+++ b/server/src/com/cloud/configuration/Config.java
@@ -307,6 +307,8 @@ public enum Config {
     KvmPublicNetwork("Hidden", ManagementServer.class, String.class, 
"kvm.public.network.device", null, "Specify the public bridge on host for 
public network", null),
     KvmPrivateNetwork("Hidden", ManagementServer.class, String.class, 
"kvm.private.network.device", null, "Specify the private bridge on host for 
private network", null),
     KvmGuestNetwork("Hidden", ManagementServer.class, String.class, 
"kvm.guest.network.device", null, "Specify the private bridge on host for 
private network", null),
+    KvmSshToAgentEnabled("Advanced", ManagementServer.class, Boolean.class, 
"kvm.ssh.to.agent", "true", "Specify whether or not the management server is 
allowed to SSH into KVM Agents", null),
+
        // Usage
        UsageExecutionTimezone("Usage", ManagementServer.class, String.class, 
"usage.execution.timezone", null, "The timezone to use for usage job execution 
time", null),
        UsageStatsJobAggregationRange("Usage", ManagementServer.class, 
Integer.class, "usage.stats.job.aggregation.range", "1440", "The range of time 
for aggregating the user statistics specified in minutes (e.g. 1440 for daily, 
60 for hourly.", null),

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ce06d654/server/src/com/cloud/resource/ResourceManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/resource/ResourceManagerImpl.java 
b/server/src/com/cloud/resource/ResourceManagerImpl.java
index a177b32..6115026 100755
--- a/server/src/com/cloud/resource/ResourceManagerImpl.java
+++ b/server/src/com/cloud/resource/ResourceManagerImpl.java
@@ -2107,6 +2107,13 @@ public class ResourceManagerImpl extends ManagerBase 
implements ResourceManager,
 
             // for kvm, need to log into kvm host, restart cloudstack-agent
             if (host.getHypervisorType() == HypervisorType.KVM) {
+
+                boolean sshToAgent = 
Boolean.parseBoolean(_configDao.getValue(Config.KvmSshToAgentEnabled.key()));
+                if (!sshToAgent) {
+                    s_logger.info("Configuration tells us not to SSH into 
Agents. Please restart the Agent (" + hostId + ")  manually");
+                    return true;
+                }
+
                 _hostDao.loadDetails(host);
                 String password = host.getDetail("password");
                 String username = host.getDetail("username");

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ce06d654/setup/db/db/schema-410to420.sql
----------------------------------------------------------------------
diff --git a/setup/db/db/schema-410to420.sql b/setup/db/db/schema-410to420.sql
index f392603..a04023d 100644
--- a/setup/db/db/schema-410to420.sql
+++ b/setup/db/db/schema-410to420.sql
@@ -2189,3 +2189,5 @@ ALTER TABLE `cloud`.`usage_event` ADD COLUMN 
`virtual_size` bigint unsigned;
 ALTER TABLE `cloud_usage`.`usage_event` ADD COLUMN `virtual_size` bigint 
unsigned;
 ALTER TABLE `cloud_usage`.`usage_storage` ADD COLUMN `virtual_size` bigint 
unsigned;
 ALTER TABLE `cloud_usage`.`cloud_usage` ADD COLUMN `virtual_size` bigint 
unsigned;
+
+INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 
'management-server', 'kvm.ssh.to.agent', 'true', 'Specify whether or not the 
management server is allowed to SSH into KVM Agents');

Reply via email to