You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by wi...@apache.org on 2013/07/12 14:47:56 UTC

git commit: updated refs/heads/master to 4c92c78

Updated Branches:
  refs/heads/master b9972e587 -> 4c92c78e2


agent: Remove some more dead code around the Agent upgrade


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

Branch: refs/heads/master
Commit: 4c92c78e2e4b5c4fb971772e5e374ccbf2505ca3
Parents: b9972e5
Author: Wido den Hollander <wi...@widodh.nl>
Authored: Fri Jul 12 14:46:33 2013 +0200
Committer: Wido den Hollander <wi...@widodh.nl>
Committed: Fri Jul 12 14:46:33 2013 +0200

----------------------------------------------------------------------
 agent/src/com/cloud/agent/Agent.java           | 21 -----
 agent/src/com/cloud/agent/AgentShell.java      | 86 ---------------------
 agent/src/com/cloud/agent/IAgentShell.java     |  2 -
 agent/test/com/cloud/agent/TestAgentShell.java | 43 -----------
 4 files changed, 152 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4c92c78e/agent/src/com/cloud/agent/Agent.java
----------------------------------------------------------------------
diff --git a/agent/src/com/cloud/agent/Agent.java b/agent/src/com/cloud/agent/Agent.java
index 28d0470..f309474 100755
--- a/agent/src/com/cloud/agent/Agent.java
+++ b/agent/src/com/cloud/agent/Agent.java
@@ -214,27 +214,6 @@ public class Agent implements HandlerFactory, IAgentControl {
         return _resource.getClass().getSimpleName();
     }
 
-    public void upgradeAgent(final String url, boolean protocol) {
-        // shell needs to take care of synchronization when multiple-instances demand upgrade
-        // at the same time
-        _shell.upgradeAgent(url);
-
-        // To stop agent after it has been upgraded, as shell executor may prematurely time out
-        // tasks if agent is in shutting down process
-        if (protocol) {
-            if (_connection != null) {
-                _connection.stop();
-                _connection = null;
-            }
-            if (_resource != null) {
-                _resource.stop();
-                _resource = null;
-            }
-        } else {
-            stop(ShutdownCommand.Update, null);
-        }
-    }
-
     public void start() {
         if (!_resource.start()) {
             s_logger.error("Unable to start the resource: " + _resource.getName());

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4c92c78e/agent/src/com/cloud/agent/AgentShell.java
----------------------------------------------------------------------
diff --git a/agent/src/com/cloud/agent/AgentShell.java b/agent/src/com/cloud/agent/AgentShell.java
index e7f114b..bf1e818 100644
--- a/agent/src/com/cloud/agent/AgentShell.java
+++ b/agent/src/com/cloud/agent/AgentShell.java
@@ -24,7 +24,6 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
-import java.net.HttpURLConnection;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Date;
@@ -173,91 +172,6 @@ public class AgentShell implements IAgentShell, Daemon {
             _storage.persist(name, value);
     }
 
-    @Override
-    public void upgradeAgent(final String url) {
-        s_logger.info("Updating agent with binary from " + url);
-        synchronized (this) {
-            final Class<?> c = this.getClass();
-            String path = c.getResource(c.getSimpleName() + ".class")
-                    .toExternalForm();
-            final int begin = path.indexOf(File.separator);
-            int end = path.lastIndexOf("!");
-            end = path.lastIndexOf(File.separator, end);
-            path = path.substring(begin, end);
-
-            s_logger.debug("Current binaries reside at " + path);
-
-            File file = null;
-            try {
-                file = File.createTempFile("agent-",
-                        "-" + Long.toString(new Date().getTime()));
-                wget(url, file);
-            } catch (final IOException e) {
-                s_logger.warn(
-                        "Exception while downloading agent update package, ", e);
-                throw new CloudRuntimeException("Unable to update from " + url
-                        + ", exception:" + e.getMessage(), e);
-            }
-
-            if (s_logger.isDebugEnabled()) {
-                s_logger.debug("Unzipping " + file.getAbsolutePath() + " to "
-                        + path);
-            }
-
-            final Script unzip = new Script("unzip", 120000, s_logger);
-            unzip.add("-o", "-q"); // overwrite and quiet
-            unzip.add(file.getAbsolutePath());
-            unzip.add("-d", path);
-
-            final String result = unzip.execute();
-            if (result != null) {
-                throw new CloudRuntimeException(
-                        "Unable to unzip the retrieved file: " + result);
-            }
-
-            if (s_logger.isDebugEnabled()) {
-                s_logger.debug("Closing the connection to the management server");
-            }
-        }
-
-        if (s_logger.isDebugEnabled()) {
-            s_logger.debug("Exiting to start the new agent.");
-        }
-        System.exit(ExitStatus.Upgrade.value());
-    }
-
-    public static void wget(String url, File file) throws IOException {
-        final HttpClient client = new HttpClient(s_httpClientManager);
-        final GetMethod method = new GetMethod(url);
-        int response;
-        response = client.executeMethod(method);
-        if (response != HttpURLConnection.HTTP_OK) {
-            method.releaseConnection();
-            s_logger.warn("Retrieving from " + url + " gives response code: "
-                    + response);
-            throw new CloudRuntimeException("Unable to download from " + url
-                    + ".  Response code is " + response);
-        }
-
-        final InputStream is = method.getResponseBodyAsStream();
-        s_logger.debug("Downloading content into " + file.getAbsolutePath());
-
-        final FileOutputStream fos = new FileOutputStream(file);
-        byte[] buffer = new byte[4096];
-        int len = 0;
-        while ((len = is.read(buffer)) > 0)
-            fos.write(buffer, 0, len);
-        fos.close();
-
-        try {
-            is.close();
-        } catch (IOException e) {
-            s_logger.warn("Exception while closing download stream from  "
-                    + url + ", ", e);
-        }
-        method.releaseConnection();
-    }
-
     private void loadProperties() throws ConfigurationException {
         final File file = PropertiesUtil.findConfigFile("agent.properties");
         if (file == null) {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4c92c78e/agent/src/com/cloud/agent/IAgentShell.java
----------------------------------------------------------------------
diff --git a/agent/src/com/cloud/agent/IAgentShell.java b/agent/src/com/cloud/agent/IAgentShell.java
index 93aaa00..dde6738 100644
--- a/agent/src/com/cloud/agent/IAgentShell.java
+++ b/agent/src/com/cloud/agent/IAgentShell.java
@@ -50,7 +50,5 @@ public interface IAgentShell {
 
     public int getPingRetries();
 
-    public void upgradeAgent(final String url);
-
     public String getVersion();
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4c92c78e/agent/test/com/cloud/agent/TestAgentShell.java
----------------------------------------------------------------------
diff --git a/agent/test/com/cloud/agent/TestAgentShell.java b/agent/test/com/cloud/agent/TestAgentShell.java
deleted file mode 100644
index b0f7480..0000000
--- a/agent/test/com/cloud/agent/TestAgentShell.java
+++ /dev/null
@@ -1,43 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-package com.cloud.agent;
-
-import java.io.File;
-import java.io.IOException;
-
-import junit.framework.TestCase;
-
-import org.apache.log4j.Logger;
-
-public class TestAgentShell extends TestCase {
-    protected final static Logger s_logger = Logger.getLogger(TestAgentShell.class);
-
-    public void testWget() {
-        File file = null;
-        try {
-            file = File.createTempFile("wget", ".html");
-            AgentShell.wget("http://www.apache.org/", file);
-
-            if (s_logger.isDebugEnabled()) {
-                s_logger.debug("file saved to " + file.getAbsolutePath());
-            }
-
-        } catch (final IOException e) {
-            s_logger.warn("Exception while downloading agent update package, ", e);
-        }
-    }
-}