mirror of
https://github.com/apache/cloudstack.git
synced 2025-12-18 03:23:45 +01:00
This fix will enable support for multiple NetScaler devices providing EIP service in same zone.
- Introduced global setting "eip.use.multiple.netscalers" to turn multiple netscaler support
- Enhanced configureNetscalerLoadBalancer API to take the PBR setup between the POD's subnet
and NetScaler device
- logic to pick a NetScaler (based on the guest IP and corresponding pod) while configuring INAT rule
62 lines
1.8 KiB
Java
62 lines
1.8 KiB
Java
// 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.
|
|
|
|
package com.cloud.network;
|
|
|
|
import javax.persistence.Column;
|
|
import javax.persistence.Entity;
|
|
import javax.persistence.GeneratedValue;
|
|
import javax.persistence.GenerationType;
|
|
import javax.persistence.Id;
|
|
import javax.persistence.Table;
|
|
|
|
/**
|
|
* NetScalerPodVO contains information about a EIP deployment where on datacenter L3 router a PBR (policy
|
|
* based routing) is setup between a POD's subnet IP range to a NetScaler device. This VO object
|
|
* represents a mapping between a POD and NetScaler device where PBR is setup.
|
|
*
|
|
*/
|
|
@Entity
|
|
@Table(name="netscaler_pod_ref")
|
|
public class NetScalerPodVO {
|
|
|
|
@Column(name="external_load_balancer_device_id")
|
|
private long netscalerDeviceId;
|
|
|
|
@Id
|
|
@Column(name="id")
|
|
private long id;
|
|
|
|
@Column(name="pod_id")
|
|
private long podId;
|
|
|
|
public NetScalerPodVO() {
|
|
|
|
}
|
|
|
|
public NetScalerPodVO(long netscalerDeviceId, long podId) {
|
|
this.netscalerDeviceId = netscalerDeviceId;
|
|
this.podId = podId;
|
|
}
|
|
|
|
public long getId() {
|
|
return id;
|
|
}
|
|
|
|
public long getPodId() {
|
|
return podId;
|
|
}
|
|
|
|
public long getNetscalerDeviceId() {
|
|
return netscalerDeviceId;
|
|
}
|
|
}
|