[GitHub] cloudstack issue #1859: CLOUDSTACK-8672 : NCC Integration with CloudStack

2016-12-31 Thread nitin-maharana
Github user nitin-maharana commented on the issue:

https://github.com/apache/cloudstack/pull/1859
  
Hi @rajesh-battala, I have modified the code. Please review it once and let 
me know if any improvement required. Thanks.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


Re: Maximum number of site-to-site VPNs on Cloudstack

2016-12-31 Thread Pierre-Luc Dion
Hi,

It's per VPC or Guest Network, basically 8 per Virtual Router.  We've
tested up to 4 on our side so far without issues.

On Thu, Dec 29, 2016 at 2:01 AM, Cloud List  wrote:

> Dear all,
>
> On below documentation:
>
> http://docs.cloudstack.apache.org/projects/cloudstack-
> administration/en/4.8/networking/site_to_site_vpn.html
>
> It says that CloudStack supports creating up to 8 VPN connections. May I
> know if it's 8 VPN connections per VPC, or globally within a Cloudstack
> cluster or zone?
>
> Looking forward to your reply, thank you.
>
> Cheers.
>


[GitHub] cloudstack pull request #1859: CLOUDSTACK-8672 : NCC Integration with CloudS...

2016-12-31 Thread nitin-maharana
Github user nitin-maharana commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/1859#discussion_r94272083
  
--- Diff: 
plugins/network-elements/netscaler/src/com/cloud/api/commands/DeployNetscalerVpxCmd.java
 ---
@@ -0,0 +1,149 @@
+// 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.api.commands;
+
+import java.util.List;
+import java.util.Map;
+
+import javax.inject.Inject;
+
+import org.apache.log4j.Logger;
+
+import org.apache.cloudstack.api.ACL;
+import org.apache.cloudstack.api.APICommand;
+import org.apache.cloudstack.api.ApiConstants;
+import org.apache.cloudstack.api.ApiErrorCode;
+import org.apache.cloudstack.api.BaseAsyncCmd;
+import org.apache.cloudstack.api.Parameter;
+import org.apache.cloudstack.api.ServerApiException;
+import org.apache.cloudstack.api.response.NetworkResponse;
+import org.apache.cloudstack.api.response.ServiceOfferingResponse;
+import org.apache.cloudstack.api.response.SystemVmResponse;
+import org.apache.cloudstack.api.response.TemplateResponse;
+import org.apache.cloudstack.api.response.ZoneResponse;
+import org.apache.cloudstack.context.CallContext;
+
+import com.cloud.api.response.NetscalerLoadBalancerResponse;
+import com.cloud.event.EventTypes;
+import com.cloud.exception.ConcurrentOperationException;
+import com.cloud.exception.InsufficientCapacityException;
+import com.cloud.exception.InvalidParameterValueException;
+import com.cloud.exception.ResourceAllocationException;
+import com.cloud.exception.ResourceUnavailableException;
+import com.cloud.network.element.NetscalerLoadBalancerElementService;
+import com.cloud.user.Account;
+import com.cloud.utils.exception.CloudRuntimeException;
+import com.cloud.vm.VirtualMachine;
+
+@APICommand(name = "deployNetscalerVpx", responseObject = 
NetscalerLoadBalancerResponse.class, description = "Creates new NS Vpx",
+requestHasSensitiveInfo = true, responseHasSensitiveInfo = false)
+public class DeployNetscalerVpxCmd extends BaseAsyncCmd {
+
+public static final Logger s_logger = 
Logger.getLogger(DeployNetscalerVpxCmd.class.getName());
+private static final String s_name = "deployNetscalerVpx";
+@Inject
+NetscalerLoadBalancerElementService _netsclarLbService;
+
+/
+ API parameters /
+/
+
+@Parameter(name = ApiConstants.ZONE_ID, type = CommandType.UUID, 
entityType = ZoneResponse.class, required = true, description = "availability 
zone for the virtual machine")
+private Long zoneId;
+
+@ACL
+@Parameter(name = ApiConstants.SERVICE_OFFERING_ID, type = 
CommandType.UUID, entityType = ServiceOfferingResponse.class, required = true, 
description = "the ID of the service offering for the virtual machine")
+private Long serviceOfferingId;
+
+@ACL
+@Parameter(name = ApiConstants.TEMPLATE_ID, type = CommandType.UUID, 
entityType = TemplateResponse.class, required = true, description = "the ID of 
the template for the virtual machine")
+private Long templateId;
+
+@Parameter(name = ApiConstants.NETWORK_ID,
+type = CommandType.UUID,
+entityType = NetworkResponse.class, required=false,
+description = "The network this ip address should be 
associated to.")
+private Long networkId;
+/
+/// Accessors ///
+/
+
+
+
+/
+/// API Implementation///
+/
+
+@Override
+public void execute() throws ResourceUnavailableException, 
InsufficientCapaci

[GitHub] cloudstack pull request #1859: CLOUDSTACK-8672 : NCC Integration with CloudS...

2016-12-31 Thread nitin-maharana
Github user nitin-maharana commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/1859#discussion_r94271338
  
--- Diff: 
plugins/network-elements/netscaler/src/com/cloud/network/vm/NetScalerVMManager.java
 ---
@@ -0,0 +1,86 @@
+//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.network.vm;
+import java.util.Map;
+
+import com.cloud.api.commands.DeployNetscalerVpxCmd;
+import com.cloud.deploy.DeployDestination;
+import com.cloud.deploy.DeploymentPlan;
+import com.cloud.exception.ConcurrentOperationException;
+import com.cloud.exception.InsufficientCapacityException;
+import com.cloud.exception.ResourceUnavailableException;
+import com.cloud.network.router.VirtualRouter;
+import com.cloud.user.Account;
+
+public interface NetScalerVMManager {
+
+//RAM/CPU for the system offering used by Internal LB VMs
+ public static final int DEFAULT_NETSCALER_VM_RAMSIZE = 2048;
// 2048 MB
+ public static final int DEFAULT_NETSCALER_VM_CPU_MHZ = 1024;
// 1024 MHz
+
+/* *//**
+  * Destroys Internal LB vm instance
+  * @param vmId
+  * @param caller
+  * @param callerUserId
+  * @return
+  * @throws ResourceUnavailableException
+  * @throws ConcurrentOperationException
+  *//*
+ boolean destroyInternalLbVm(long vmId, Account caller, Long callerUserId) 
throws ResourceUnavailableException, ConcurrentOperationException;
+
+ *//**
+  * Deploys internal lb vm
+  * @param guestNetwork
+  * @param requestedGuestIp
+  * @param dest
+  * @param owner
+  * @param params
+  * @return
+  * @throws InsufficientCapacityException
+  * @throws ConcurrentOperationException
+  * @throws ResourceUnavailableException
+  *//*
+ List deployInternalLbVm(Network guestNetwork, Ip 
requestedGuestIp, DeployDestination dest, Account owner, Map 
params)
+ throws InsufficientCapacityException, ConcurrentOperationException, 
ResourceUnavailableException;
+
+ *//**
+  *
+  * @param network
+  * @param rules
+  * @param internalLbVms
+  * @return
+  * @throws ResourceUnavailableException
+  *//*
+ boolean applyLoadBalancingRules(Network network, List 
rules, List internalLbVms) throws 
ResourceUnavailableException;
+
+ *//**
+  * Returns existing Internal Load Balancer elements based on 
guestNetworkId (required) and requestedIp (optional)
+  * @param guestNetworkId
+  * @param requestedGuestIp
+  * @return
+  *//*
+ List findInternalLbVms(long guestNetworkId, Ip 
requestedGuestIp);
+*/
+
+ public Map deployNetscalerServiceVm(DeployNetscalerVpxCmd 
cmd);
+
+ public VirtualRouter stopNetscalerServiceVm(Long id, boolean forced, 
Account callingAccount, long callingUserId) throws 
ConcurrentOperationException, ResourceUnavailableException;
+ public Map deployNsVpx(Account owner, DeployDestination 
dest, DeploymentPlan plan, long svcOffId, long templateId) throws 
InsufficientCapacityException;
+
+public VirtualRouter stopNetScalerVm(Long id, boolean forced, Account 
callingAccount, long callingUserId);
+}
--- End diff --

@rajesh-battala : There is no such character. It just says there is no new 
line at the end of the file.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---