incubator-cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From alena1...@apache.org
Subject [32/51] [abbrv] git commit: VPC : use routerProxy to call l2tpVpn
Date Fri, 15 Jun 2012 22:38:03 GMT
VPC : use routerProxy to call l2tpVpn

Conflicts:

	core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java


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

Branch: refs/heads/vpc
Commit: a4d0f91cfe373db68a6941c4be8cefcea8cb844d
Parents: d70d2f8
Author: anthony <anthony@cloud.com>
Authored: Wed Jun 6 17:18:36 2012 -0700
Committer: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Committed: Fri Jun 15 14:26:20 2012 -0700

----------------------------------------------------------------------
 .../virtualnetwork/VirtualRoutingResource.java     |  140 +++++++--------
 .../xen/resource/CitrixResourceBase.java           |    4 +-
 scripts/network/domr/l2tp_vpn.sh                   |   26 ---
 scripts/vm/hypervisor/xenserver/vmops              |   17 +--
 scripts/vm/hypervisor/xenserver/xcpserver/patch    |    1 -
 scripts/vm/hypervisor/xenserver/xenserver56/patch  |    1 -
 .../vm/hypervisor/xenserver/xenserver56fp1/patch   |    1 -
 scripts/vm/hypervisor/xenserver/xenserver60/patch  |    1 -
 wscript                                            |    2 +-
 9 files changed, 67 insertions(+), 126 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a4d0f91c/core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java
----------------------------------------------------------------------
diff --git a/core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java
b/core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java
index 876e3fe..54ae0f6 100755
--- a/core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java
+++ b/core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java
@@ -82,7 +82,6 @@ import com.cloud.utils.script.Script;
 public class VirtualRoutingResource implements Manager {
     private static final Logger s_logger = Logger.getLogger(VirtualRoutingResource.class);
     private String _savepasswordPath; 	// This script saves a random password to the DomR
file system
-    private String _ipassocPath;
     private String _publicIpAddress;
     private String _firewallPath;
     private String _loadbPath;
@@ -90,11 +89,8 @@ public class VirtualRoutingResource implements Manager {
     private String _vmDataPath;
     private String _publicEthIf;
     private String _privateEthIf;
-    private String _getRouterStatusPath;
     private String _bumpUpPriorityPath;
-    private String _l2tpVpnPath;
-    private String _getDomRVersionPath;
-
+    private String _routerProxyPath;
 
     private int _timeout;
     private int _startTimeout;
@@ -146,37 +142,41 @@ public class VirtualRoutingResource implements Manager {
     }
 
     private Answer execute(VpnUsersCfgCommand cmd) {
-        for (VpnUsersCfgCommand.UsernamePassword userpwd: cmd.getUserpwds()) {
-            Script command = new Script(_l2tpVpnPath, _timeout, s_logger);
-            command.add(cmd.getAccessDetail(NetworkElementCommand.ROUTER_IP));
+        for (VpnUsersCfgCommand.UsernamePassword userpwd: cmd.getUserpwds()) {         
+            String args = "";
             if (!userpwd.isAdd()) {
-                command.add("-U ", userpwd.getUsername());
+                args +="-U ";
+                args +=userpwd.getUsername();
             } else {
-                command.add("-u ", userpwd.getUsernamePassword());
+                args +="-u ";
+                args += userpwd.getUsernamePassword();
             }
-            String result = command.execute();
+            String result = routerProxy("vpn_l2tp.sh", cmd.getAccessDetail(NetworkElementCommand.ROUTER_IP),
args);
             if (result != null) {
                 return new Answer(cmd, false, "Configure VPN user failed for user " + userpwd.getUsername());
             }
-        }
-        
+        }       
         return new Answer(cmd);
     }
 
     private Answer execute(RemoteAccessVpnCfgCommand cmd) {
-        Script command = new Script(_l2tpVpnPath, _timeout, s_logger);
-        command.add(cmd.getAccessDetail(NetworkElementCommand.ROUTER_IP));
+        String args = "";
         if (cmd.isCreate()) {
-            command.add("-r ", cmd.getIpRange());
-            command.add("-p ", cmd.getPresharedKey());
-            command.add("-s ", cmd.getVpnServerIp());
-            command.add("-l ", cmd.getLocalIp());
-            command.add("-c ");
+            args += "-r ";
+            args += cmd.getIpRange();
+            args += " -p ";
+            args += cmd.getPresharedKey();
+            args += " -s ";
+            args += cmd.getVpnServerIp();
+            args += " -l ";
+            args += cmd.getLocalIp();
+            args += " -c ";
         } else {
-            command.add("-d ");
-            command.add("-s ", cmd.getVpnServerIp());
+            args +="-d ";
+            args += " -s ";
+            args += cmd.getVpnServerIp();
         }
-        String result = command.execute();
+        String result = routerProxy("vpn_l2tp.sh", cmd.getAccessDetail(NetworkElementCommand.ROUTER_IP),
args);
         if (result != null) {
             return new Answer(cmd, false, "Configure VPN failed");
         }
@@ -474,9 +474,18 @@ public class VirtualRoutingResource implements Manager {
     }
 
     public String getRouterStatus(String routerIP) {
-        final Script command  = new Script(_getRouterStatusPath, _timeout, s_logger);
+        return routerProxy("checkrouter.sh", routerIP, null);
+    }
+    
+    
+    public String routerProxy(String script, String routerIP, String args) {
+        final Script command  = new Script(_routerProxyPath, _timeout, s_logger);
         final OutputInterpreter.OneLineParser parser = new OutputInterpreter.OneLineParser();
+        command.add(script);
         command.add(routerIP);
+        if ( args != null ) {
+            command.add(args);
+        }
         String result = command.execute(parser);
         if (result == null) {
             return parser.getLine();
@@ -507,14 +516,7 @@ public class VirtualRoutingResource implements Manager {
     }
 
     protected String getDomRVersion(String routerIP) {
-        final Script command  = new Script(_getDomRVersionPath, _timeout, s_logger);
-        final OutputInterpreter.OneLineParser parser = new OutputInterpreter.OneLineParser();
-        command.add(routerIP);
-        String result = command.execute(parser);
-        if (result == null) {
-            return parser.getLine();
-        }
-        return null;
+        return routerProxy("netusage.sh", routerIP, null);
     }
 
     protected Answer execute(GetDomRVersionCmd cmd) {
@@ -592,16 +594,17 @@ public class VirtualRoutingResource implements Manager {
 
 
     public String assignPublicIpAddress(final String vmName, final long id, final String
vnet, final String privateIpAddress, final String macAddress, final String publicIpAddress)
{
-
-        final Script command = new Script(_ipassocPath, _timeout, s_logger);
-        command.add("-A");
-        command.add("-f"); //first ip is source nat ip
-        command.add("-r", vmName);
-        command.add("-i", privateIpAddress);
-        command.add("-a", macAddress);
-        command.add("-l", publicIpAddress);
-
-        return command.execute();
+        String args ="-A";
+        args += " -f"; //first ip is source nat ip
+        args += " -r ";
+        args += vmName;
+        args += " -i ";
+        args += privateIpAddress;
+        args += " -a ";
+        args += macAddress;
+        args += " -l ";
+        args += publicIpAddress;
+        return routerProxy("ipassoc.sh", privateIpAddress, args);
     }
 
     public String assignPublicIpAddress(final String vmName,
@@ -610,30 +613,29 @@ public class VirtualRoutingResource implements Manager {
             final String vlanId, final String vlanGateway,
             final String vlanNetmask, final String vifMacAddress, String guestIp, int nicNum){
 
-        final Script command = new Script(_ipassocPath, _timeout, s_logger);
-        command.add( privateIpAddress);
+        String args = "";
         if (add) {
-            command.add("-A");
+            args += "-A";
         } else {
-            command.add("-D");
+            args += "-D";
         }
-
+        String cidrSize = Long.toString(NetUtils.getCidrSize(vlanNetmask));
         if (sourceNat) {
-            command.add("-s");
-        } 
+            args +=" -s";
+        }
         if (firstIP) {
-            command.add( "-f");
-
+            args += " -f";
         }
-        String cidrSize = Long.toString(NetUtils.getCidrSize(vlanNetmask));
-        command.add( "-l", publicIpAddress + "/" + cidrSize);
+        args += " -l ";
+        args += publicIpAddress + "/" + cidrSize;
+
         String publicNic = "eth" + nicNum;
-        command.add("-c", publicNic);
-        
-        command.add("-g", vlanGateway);
-        
+        args += " -c ";
+        args += publicNic;
 
-        return command.execute();
+        args +=" -g ";
+        args += vlanGateway;
+        return routerProxy("ipassoc.sh", privateIpAddress, args);
     }
     
     private void deletExitingLinkLocalRoutTable(String linkLocalBr) {
@@ -801,12 +803,6 @@ public class VirtualRoutingResource implements Manager {
         value = (String)params.get("ssh.port");
         _port = NumbersUtil.parseInt(value, 3922);
 
-        _ipassocPath = findScript("ipassoc.sh");
-        if (_ipassocPath == null) {
-            throw new ConfigurationException("Unable to find the ipassoc.sh");
-        }
-        s_logger.info("ipassoc.sh found in " + _ipassocPath);
-
         _publicIpAddress = (String)params.get("public.ip.address");
         if (_publicIpAddress != null) {
             s_logger.warn("Incoming public ip address is overriden.  Will always be using
the same ip address: " + _publicIpAddress);
@@ -837,11 +833,6 @@ public class VirtualRoutingResource implements Manager {
             throw new ConfigurationException("Unable to find user_data.sh");
         }
 
-        _getRouterStatusPath = findScript("getRouterStatus.sh");
-        if(_getRouterStatusPath == null) {
-            throw new ConfigurationException("Unable to find getRouterStatus.sh");
-        }
-
         _publicEthIf = (String)params.get("public.network.device");
         if (_publicEthIf == null) {
             _publicEthIf = "xenbr1";
@@ -859,14 +850,9 @@ public class VirtualRoutingResource implements Manager {
             throw new ConfigurationException("Unable to find bumpUpPriority.sh");
         }
         
-        _l2tpVpnPath = findScript("l2tp_vpn.sh");
-        if (_l2tpVpnPath == null) {
-            throw new ConfigurationException("Unable to find l2tp_vpn.sh");
-        }
-
-        _getDomRVersionPath = findScript("getDomRVersion.sh");
-        if(_getDomRVersionPath == null) {
-            throw new ConfigurationException("Unable to find getDomRVersion.sh");
+        _routerProxyPath = findScript("routerProxy.sh");
+        if (_routerProxyPath == null) {
+            throw new ConfigurationException("Unable to find routerProxy.sh");
         }
         
         return true;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a4d0f91c/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
----------------------------------------------------------------------
diff --git a/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java b/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
index 79582a4..edb1881 100644
--- a/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
+++ b/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
@@ -1588,7 +1588,7 @@ public abstract class CitrixResourceBase implements ServerResource,
HypervisorRe
 
     protected synchronized Answer execute(final RemoteAccessVpnCfgCommand cmd) {
         Connection conn = getConnection();
-        String args = cmd.getAccessDetail(NetworkElementCommand.ROUTER_IP);
+        String args = "vpn_l2tp.sh " + cmd.getAccessDetail(NetworkElementCommand.ROUTER_IP);
         if (cmd.isCreate()) {
             args += " -r " + cmd.getIpRange();
             args += " -p " + cmd.getPresharedKey();
@@ -1600,7 +1600,7 @@ public abstract class CitrixResourceBase implements ServerResource,
HypervisorRe
             args += " -d ";
             args += " -s " + cmd.getVpnServerIp();
         }
-        String result = callHostPlugin(conn, "vmops", "lt2p_vpn", "args", args);
+        String result = callHostPlugin(conn, "vmops", "routerProxy", "args", args);
         if (result == null || result.isEmpty()) {
             return new Answer(cmd, false, "Configure VPN failed");
         }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a4d0f91c/scripts/network/domr/l2tp_vpn.sh
----------------------------------------------------------------------
diff --git a/scripts/network/domr/l2tp_vpn.sh b/scripts/network/domr/l2tp_vpn.sh
deleted file mode 100755
index 87d9a03..0000000
--- a/scripts/network/domr/l2tp_vpn.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash
-# Copyright 2012 Citrix Systems, Inc. Licensed under the
-# Apache License, Version 2.0 (the "License"); you may not use this
-# file except in compliance with the License.  Citrix Systems, Inc.
-# reserves all rights not expressly granted by 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.
-# 
-# Automatically generated by addcopyright.py at 04/03/2012
-
-
-
- 
-
-# @VERSION@
-
-cert="/root/.ssh/id_rsa.cloud"
-domr=$1
-shift
-ssh -p 3922 -o StrictHostKeyChecking=no -i $cert root@$domr "/opt/cloud/bin/vpn_l2tp.sh $*"
>/dev/null
-
-exit $?

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a4d0f91c/scripts/vm/hypervisor/xenserver/vmops
----------------------------------------------------------------------
diff --git a/scripts/vm/hypervisor/xenserver/vmops b/scripts/vm/hypervisor/xenserver/vmops
index 2718f1e..51627a8 100755
--- a/scripts/vm/hypervisor/xenserver/vmops
+++ b/scripts/vm/hypervisor/xenserver/vmops
@@ -233,21 +233,6 @@ def saveDhcpEntry(session, args):
     return txt
     
 @echo
-def lt2p_vpn(session, args):
-    sargs = args['args']
-    cmd = sargs.split(' ')
-    cmd.insert(0, "/opt/xensource/bin/l2tp_vpn.sh")
-    cmd.insert(0, "/bin/bash")
-    try:
-        txt = util.pread2(cmd)
-        txt = 'success'
-    except:
-        util.SMlog("l2tp vpn failed "  )
-        txt = '' 
-
-    return txt    
-
-@echo
 def setLinkLocalIP(session, args):
     brName = args['brName']
     try:
@@ -1434,7 +1419,7 @@ if __name__ == "__main__":
                             "destroy_network_rules_for_vm":destroy_network_rules_for_vm,

                             "default_network_rules_systemvm":default_network_rules_systemvm,

                             "get_rule_logs_for_vms":get_rule_logs_for_vms, 
-                            "setLinkLocalIP":setLinkLocalIP, "lt2p_vpn":lt2p_vpn,
+                            "setLinkLocalIP":setLinkLocalIP,
                             "cleanup_rules":cleanup_rules,
                             "bumpUpPriority":bumpUpPriority,
                             "kill_copy_process":kill_copy_process})

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a4d0f91c/scripts/vm/hypervisor/xenserver/xcpserver/patch
----------------------------------------------------------------------
diff --git a/scripts/vm/hypervisor/xenserver/xcpserver/patch b/scripts/vm/hypervisor/xenserver/xcpserver/patch
index b26bd31..7171635 100644
--- a/scripts/vm/hypervisor/xenserver/xcpserver/patch
+++ b/scripts/vm/hypervisor/xenserver/xcpserver/patch
@@ -28,7 +28,6 @@ vm_data.sh=../../../../network/domr/,0755,/opt/xensource/bin
 save_password_to_domr.sh=../../../../network/domr/,0755,/opt/xensource/bin
 call_firewall.sh=../../../../network/domr/,0755,/opt/xensource/bin
 call_loadbalancer.sh=../../../../network/domr/,0755,/opt/xensource/bin
-l2tp_vpn.sh=../../../../network/domr/,0755,/opt/xensource/bin
 cloud-setup-bonding.sh=..,0755,/opt/xensource/bin
 copy_vhd_to_secondarystorage.sh=..,0755,/opt/xensource/bin
 copy_vhd_from_secondarystorage.sh=..,0755,/opt/xensource/bin

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a4d0f91c/scripts/vm/hypervisor/xenserver/xenserver56/patch
----------------------------------------------------------------------
diff --git a/scripts/vm/hypervisor/xenserver/xenserver56/patch b/scripts/vm/hypervisor/xenserver/xenserver56/patch
index 23c8761..37d4290 100644
--- a/scripts/vm/hypervisor/xenserver/xenserver56/patch
+++ b/scripts/vm/hypervisor/xenserver/xenserver56/patch
@@ -27,7 +27,6 @@ save_password_to_domr.sh=../../../../network/domr/,0755,/opt/xensource/bin
 call_firewall.sh=../../../../network/domr/,0755,/opt/xensource/bin
 call_loadbalancer.sh=../../../../network/domr/,0755,/opt/xensource/bin
 router_proxy.sh=../../../../network/domr/,0755,/opt/xensource/bin
-l2tp_vpn.sh=../../../../network/domr/,0755,/opt/xensource/bin
 copy_vhd_to_secondarystorage.sh=..,0755,/opt/xensource/bin
 copy_vhd_from_secondarystorage.sh=..,0755,/opt/xensource/bin
 kill_copy_process.sh=..,0755,/opt/xensource/bin

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a4d0f91c/scripts/vm/hypervisor/xenserver/xenserver56fp1/patch
----------------------------------------------------------------------
diff --git a/scripts/vm/hypervisor/xenserver/xenserver56fp1/patch b/scripts/vm/hypervisor/xenserver/xenserver56fp1/patch
index c979c43..5e6aac1 100644
--- a/scripts/vm/hypervisor/xenserver/xenserver56fp1/patch
+++ b/scripts/vm/hypervisor/xenserver/xenserver56fp1/patch
@@ -26,7 +26,6 @@ save_password_to_domr.sh=../../../../network/domr/,0755,/opt/xensource/bin
 call_firewall.sh=../../../../network/domr/,0755,/opt/xensource/bin
 call_loadbalancer.sh=../../../../network/domr/,0755,/opt/xensource/bin
 router_proxy.sh=../../../../network/domr/,0755,/opt/xensource/bin
-l2tp_vpn.sh=../../../../network/domr/,0755,/opt/xensource/bin
 cloud-setup-bonding.sh=..,0755,/opt/xensource/bin
 copy_vhd_to_secondarystorage.sh=..,0755,/opt/xensource/bin
 copy_vhd_from_secondarystorage.sh=..,0755,/opt/xensource/bin

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a4d0f91c/scripts/vm/hypervisor/xenserver/xenserver60/patch
----------------------------------------------------------------------
diff --git a/scripts/vm/hypervisor/xenserver/xenserver60/patch b/scripts/vm/hypervisor/xenserver/xenserver60/patch
index a7212e8..fdbfbbe 100644
--- a/scripts/vm/hypervisor/xenserver/xenserver60/patch
+++ b/scripts/vm/hypervisor/xenserver/xenserver60/patch
@@ -31,7 +31,6 @@ save_password_to_domr.sh=../../../../network/domr/,0755,/opt/xensource/bin
 call_firewall.sh=../../../../network/domr/,0755,/opt/xensource/bin
 call_loadbalancer.sh=../../../../network/domr/,0755,/opt/xensource/bin
 router_proxy.sh=../../../../network/domr/,0755,/opt/xensource/bin
-l2tp_vpn.sh=../../../../network/domr/,0755,/opt/xensource/bin
 cloud-setup-bonding.sh=..,0755,/opt/xensource/bin
 copy_vhd_to_secondarystorage.sh=..,0755,/opt/xensource/bin
 copy_vhd_from_secondarystorage.sh=..,0755,/opt/xensource/bin

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a4d0f91c/wscript
----------------------------------------------------------------------
diff --git a/wscript b/wscript
index 4ef4e36..26a82f5 100644
--- a/wscript
+++ b/wscript
@@ -4,7 +4,7 @@
 # the following two variables are used by the target "waf dist"
 # if you change 'em here, you need to change it also in cloud.spec, add a %changelog entry
there, and add an entry in debian/changelog
 
-VERSION = '3.0.3.2012-06-06T23:43:59Z'
+VERSION = '3.0.3.2012-06-07T00:17:43Z'
 APPNAME = 'cloud'
 
 import shutil,os


Mime
View raw message