Master pull

This commit is contained in:
Alex Huang 2012-09-14 11:20:45 -07:00
commit 6eedfdfb79
69 changed files with 805 additions and 367 deletions

1
.gitignore vendored
View File

@ -54,3 +54,4 @@ awsapi/modules/*
.classpath
.project
.settings.xml
.settings/

View File

@ -441,7 +441,7 @@ fi
%{_javadir}/%{name}-user-authenticator-ldap.jar
%{_javadir}/%{name}-user-authenticator-md5.jar
%{_javadir}/%{name}-user-authenticator-plaintext.jar
%{_javadir}/%{name}-xen.jar
%{_javadir}/%{name}-plugin-hypervisor-xen.jar
%{_javadir}/%{name}-plugin-elb.jar
%{_javadir}/%{name}-plugin-nicira-nvp.jar
%config(noreplace) %{_sysconfdir}/%{name}/server/*

View File

@ -1,3 +1,21 @@
<!--
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.
-->
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">

View File

@ -15,5 +15,4 @@
# specific language governing permissions and limitations
# under the License.
/usr/share/java/gson-1.7.1.jar
/usr/share/java/libvirt-0.4.9.jar

View File

@ -30,3 +30,5 @@
/usr/share/java/jasypt-1.*.jar
/usr/share/java/ejb-api-3.0.jar
/usr/share/java/javax.persistence-2.0.0.jar
/usr/share/java/gson-1.7.1.jar
/usr/share/java/xapi-5.6.100-1-SNAPSHOT.jar

View File

@ -28,4 +28,4 @@
/usr/share/java/cloud-user-authenticator-ldap.jar
/usr/share/java/cloud-user-authenticator-md5.jar
/usr/share/java/cloud-user-authenticator-plaintext.jar
/usr/share/java/cloud-xen.jar
/usr/share/java/cloud-plugin-hypervisor-xen.jar

2
debian/control vendored
View File

@ -16,7 +16,7 @@ Description: CloudStack library dependencies
Package: cloud-agent-deps
Architecture: any
Depends: openjdk-6-jre
Depends: openjdk-6-jre, cloud-deps (= ${source:Version})
Description: CloudStack agent library dependencies
This package contains a number of third-party dependencies
not shipped by distributions, required to run the CloudStack

View File

@ -1,4 +1,20 @@
#!/bin/sh
# 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.
mvn install:install-file -Dfile=cloud-iControl.jar -DgroupId=com.cloud.com.f5 -DartifactId=icontrol -Dversion=1.0 -Dpackaging=jar
mvn install:install-file -Dfile=cloud-netscaler.jar -DgroupId=com.cloud.com.citrix -DartifactId=netscaler -Dversion=1.0 -Dpackaging=jar

11
deps/pom.xml vendored
View File

@ -116,6 +116,17 @@
<artifactId>axis2-ant-plugin</artifactId>
<version>1.4.1</version>
</dependency>
<!-- For vmware-base -->
<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis</artifactId>
<version>${cs.axis.version}</version>
</dependency>
<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis-jaxrpc</artifactId>
<version>${cs.axis.version}</version>
</dependency>
</dependencies>
<build>
<defaultGoal>install</defaultGoal>

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 913 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
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.
-->
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" width="32" height="32" id="svg3017">
<defs id="defs3019">
<linearGradient id="linearGradient2381">
<stop id="stop2383" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
<stop id="stop2385" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
</linearGradient>
<linearGradient x1="296.4996" y1="188.81061" x2="317.32471" y2="209.69398" id="linearGradient2371" xlink:href="#linearGradient2381" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)"/>
</defs>
<g transform="matrix(0.437808,-0.437808,0.437808,0.437808,-220.8237,43.55311)" id="g5089">
<path d="m 8.4382985,-6.28125 c -0.6073916,0 -4.3132985,5.94886271 -4.3132985,8.25 l 0,26.71875 c 0,0.846384 0.5818159,1.125 1.15625,1.125 l 25.5625,0 c 0.632342,0 1.125001,-0.492658 1.125,-1.125 l 0,-5.21875 0.28125,0 c 0.49684,0 0.906249,-0.409411 0.90625,-0.90625 l 0,-27.9375 c 0,-0.4968398 -0.40941,-0.90625 -0.90625,-0.90625 l -23.8117015,0 z" transform="translate(282.8327,227.1903)" id="path5091" style="fill:#5c5c4f;stroke:#000000;stroke-width:3.23021388;stroke-miterlimit:4;stroke-dasharray:none"/>
<rect width="27.85074" height="29.369793" rx="1.1414107" ry="1.1414107" x="286.96509" y="227.63805" id="rect5093" style="fill:#032c87"/>
<path d="m 288.43262,225.43675 25.2418,0 0,29.3698 -26.37615,0.0241 1.13435,-29.39394 z" id="rect5095" style="fill:#ffffff"/>
<path d="m 302.44536,251.73726 c 1.38691,7.85917 -0.69311,11.28365 -0.69311,11.28365 2.24384,-1.60762 3.96426,-3.47694 4.90522,-5.736 0.96708,2.19264 1.83294,4.42866 4.27443,5.98941 0,0 -1.59504,-7.2004 -1.71143,-11.53706 l -6.77511,0 z" id="path5097" style="fill:#a70000;fill-opacity:1;stroke-width:2"/>
<rect width="25.241802" height="29.736675" rx="0.89682275" ry="0.89682275" x="290.73544" y="220.92249" id="rect5099" style="fill:#809cc9"/>
<path d="m 576.47347,725.93939 6.37084,0.41502 0.4069,29.51809 c -1.89202,-1.31785 -6.85427,-3.7608 -8.26232,-1.68101 l 0,-26.76752 c 0,-0.82246 0.66212,-1.48458 1.48458,-1.48458 z" transform="matrix(0.499065,-0.866565,0,1,0,0)" id="rect5101" style="fill:#4573b3;fill-opacity:1"/>
<path d="m 293.2599,221.89363 20.73918,0 c 0.45101,0 0.8141,0.3631 0.8141,0.81411 0.21547,6.32836 -19.36824,21.7635 -22.36739,17.59717 l 0,-17.59717 c 0,-0.45101 0.3631,-0.81411 0.81411,-0.81411 z" id="path5103" style="opacity:0.65536726;fill:url(#linearGradient2371);fill-opacity:1"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 860 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

View File

@ -3,7 +3,6 @@
<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
%BOOK_ENTITIES;
]>
<!-- 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
@ -11,9 +10,7 @@
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
@ -22,28 +19,44 @@
under the License.
-->
<section id="site-to-site-vpn">
<title>Setting Up a Site-to-Site VPN Connection</title>
<para>A Site-to-Site VPN connection helps you establish a secure connection from an enterprise
datacenter to the cloud infrastructure. This allows users to access the guest VMs by
establishing a VPN connection to the virtual router of the account from a device in the
datacenter of the enterprise. Having this facility eliminates the need to establish VPN
connections to individual VMs.</para>
<para>The supported endpoints on the remote datacenters are: </para>
<itemizedlist>
<listitem><para>Cisco ISR with IOS 12.4 or later</para></listitem>
<listitem><para>Juniper J-Series routers with JunOS 9.5 or later</para></listitem>
</itemizedlist><note><para>In addition to the specific Cisco and Juniper devices listed above, the expectation is that
any Cisco or Juniper device running on the supported operating systems are able to
establish VPN connections.</para></note>
<para> To set up a Site-to-Site VPN connection, perform the following:</para>
<orderedlist>
<listitem><para>Create a Virtual Private Cloud (VPC).</para><para>See <xref linkend="configure-vpc"/>.</para></listitem>
<listitem><para>Create a VPN Customer Gateway.</para></listitem>
<listitem><para>Create a VPN gateway for the VPC that you created.</para></listitem>
<listitem><para>Create VPN connection from the VPC VPN gateway to the customer VPN gateway.</para></listitem>
</orderedlist>
<xi:include href="create-vpn-customer-gateway.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="create-vpn-gateway-for-vpc.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="create-vpn-connection-vpc.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="delete-reset-vpn.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
</section>
<title>Setting Up a Site-to-Site VPN Connection</title>
<para>A Site-to-Site VPN connection helps you establish a secure connection from an enterprise
datacenter to the cloud infrastructure. This allows users to access the guest VMs by
establishing a VPN connection to the virtual router of the account from a device in the
datacenter of the enterprise. Having this facility eliminates the need to establish VPN
connections to individual VMs.</para>
<para>The supported endpoints on the remote datacenters are: </para>
<itemizedlist>
<listitem>
<para>Cisco ISR with IOS 12.4 or later</para>
</listitem>
<listitem>
<para>Juniper J-Series routers with JunOS 9.5 or later</para>
</listitem>
</itemizedlist>
<note>
<para>In addition to the specific Cisco and Juniper devices listed above, the expectation is
that any Cisco or Juniper device running on the supported operating systems are able to
establish VPN connections.</para>
</note>
<para> To set up a Site-to-Site VPN connection, perform the following:</para>
<orderedlist>
<listitem>
<para>Create a Virtual Private Cloud (VPC).</para>
<para>See <xref linkend="configure-vpc"/>.</para>
</listitem>
<listitem>
<para>Create a VPN Customer Gateway.</para>
</listitem>
<listitem>
<para>Create a VPN gateway for the VPC that you created.</para>
</listitem>
<listitem>
<para>Create VPN connection from the VPC VPN gateway to the customer VPN gateway.</para>
</listitem>
</orderedlist>
<xi:include href="create-vpn-customer-gateway.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="create-vpn-gateway-for-vpc.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="create-vpn-connection-vpc.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="delete-reset-vpn.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
</section>

View File

@ -3,7 +3,6 @@
<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
%BOOK_ENTITIES;
]>
<!-- 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
@ -11,9 +10,7 @@
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
@ -22,115 +19,165 @@
under the License.
-->
<section id="vpc">
<title>About Virtual Private Clouds</title>
<para>&PRODUCT; Virtual Private Cloud is a private, isolated part of &PRODUCT;. A VPC
can have its own virtual network topology that resembles a traditional physical network. You
can launch VMs in the virtual network that can have private addresses in the range of your
choice, for example: 10.0.0.0/16. You can define network tiers within your VPC network
range, which in turn enables you to group similar kinds of instances based on IP address
range.</para>
<para>For example, if a VPC has the private range 10.0.0.0/16, its guest networks can have the network ranges 10.0.1.0/24, 10.0.2.0/24, 10.0.3.0/24, and so on.</para>
<formalpara>
<title>Major Components of a VPC:</title>
<para>A VPC is comprised of the following network components:</para>
</formalpara>
<itemizedlist>
<listitem><para><emphasis role="bold">VPC</emphasis>: A VPC acts as a container for multiple isolated
networks that can communicate with each other via its virtual router.</para></listitem>
<listitem><para><emphasis role="bold">Network Tiers</emphasis>: Each tier acts as an isolated network with its
own VLANs and CIDR list, where you can place groups of resources, such as VMs. The
tiers are segmented by means of VLANs. The NIC of each tier acts as its
gateway.</para></listitem>
<listitem><para><emphasis role="bold">Virtual Router</emphasis>: A virtual router is automatically created and
started when you create a VPC. The virtual router connect the tiers and direct
traffic among the public gateway, the VPN gateways, and the NAT instances. For each
tier, a corresponding NIC and IP exist in the virtual router. The virtual router
provides DNS and DHCP services through its IP.</para></listitem>
<listitem><para><emphasis role="bold">Public Gateway</emphasis>: The traffic to and from the Internet routed
to the VPC through the public gateway. In a VPC, the public gateway is not exposed
to the end user; therefore, static routes are not support for the public
gateway.</para></listitem>
<listitem><para><emphasis role="bold">Private Gateway</emphasis>: All the traffic to and from a private network routed to the VPC through the private gateway. For more information, see <xref linkend="add-gateway-vpc"/>.</para></listitem>
<listitem><para><emphasis role="bold">VPN Gateway</emphasis>: The VPC side of a VPN connection.</para></listitem>
<listitem><para><emphasis role="bold">Site-to-Site VPN Connection</emphasis>: A hardware-based VPN connection
between your VPC and your datacenter, home network, or co-location facility. For
more information, see <xref linkend="site-to-site-vpn"/>.</para></listitem>
<listitem><para><emphasis role="bold">Customer Gateway</emphasis>: The customer side of a VPN Connection. For
more information, see <xref linkend="create-vpn-customer-gateway"/>.</para></listitem>
<listitem><para><emphasis role="bold">NAT Instance</emphasis>: An instance that provides Port Address
Translation for instances to access the Internet via the public gateway. For more
information, see <xref linkend="enable-disable-static-nat-vpc"/>.</para></listitem>
</itemizedlist>
<formalpara>
<title>Network Architecture in a VPC</title>
<para>In a VPC, the following four basic options of network architectures are
present:</para>
</formalpara>
<itemizedlist>
<listitem><para>VPC with a public gateway only</para></listitem>
<listitem><para>VPC with public and private gateways</para></listitem>
<listitem><para>VPC with public and private gateways and site-to-site VPN access</para></listitem>
<listitem><para>VPC with a private gateway only and site-to-site VPN access</para></listitem>
</itemizedlist>
<formalpara>
<title>Connectivity Options for a VPC</title>
<para>You can connect your VPC to:</para></formalpara>
<itemizedlist>
<listitem><para>The Internet through the public gateway.</para></listitem>
<listitem><para>The corporate datacenter by using a site-to-site VPN connection through the VPN gateway.</para></listitem>
<listitem><para>Both the Internet and your corporate datacenter by using both the public gateway and a VPN gateway.</para></listitem>
</itemizedlist>
<formalpara><title>VPC Network Considerations</title>
<para>Consider the following before you create a VPC:</para></formalpara>
<itemizedlist><listitem>
<para>A VPC, by default, is created in the enabled state.</para>
</listitem>
<listitem>
<para>A VPC can be created in Advance zone only, and can't belong to more than one zone at a time.</para>
</listitem>
<listitem>
<para>The default number of VPCs an account can create is 20. However, you can change it
by using the max.account.vpcs global parameter, which controls the maximum number of
VPCs an account is allowed to create.</para>
</listitem>
<listitem>
<para>The default number of tiers an account can create within a VPC is 3. You can
configure this number by using the vpc.max.networks parameter.</para>
</listitem>
<title>About Virtual Private Clouds</title>
<para>&PRODUCT; Virtual Private Cloud is a private, isolated part of &PRODUCT;. A VPC can have its
own virtual network topology that resembles a traditional physical network. You can launch VMs
in the virtual network that can have private addresses in the range of your choice, for example:
10.0.0.0/16. You can define network tiers within your VPC network range, which in turn enables
you to group similar kinds of instances based on IP address range.</para>
<para>For example, if a VPC has the private range 10.0.0.0/16, its guest networks can have the
network ranges 10.0.1.0/24, 10.0.2.0/24, 10.0.3.0/24, and so on.</para>
<formalpara>
<title>Major Components of a VPC:</title>
<para>A VPC is comprised of the following network components:</para>
</formalpara>
<itemizedlist>
<listitem>
<para>Each tier should have an unique CIDR in the VPC. Ensure that the tier's CIDR
should be within the VPC CIDR range.</para>
<para><emphasis role="bold">VPC</emphasis>: A VPC acts as a container for multiple isolated
networks that can communicate with each other via its virtual router.</para>
</listitem>
<listitem>
<para><emphasis role="bold">Network Tiers</emphasis>: Each tier acts as an isolated network
with its own VLANs and CIDR list, where you can place groups of resources, such as VMs. The
tiers are segmented by means of VLANs. The NIC of each tier acts as its gateway.</para>
</listitem>
<listitem>
<para><emphasis role="bold">Virtual Router</emphasis>: A virtual router is automatically
created and started when you create a VPC. The virtual router connect the tiers and direct
traffic among the public gateway, the VPN gateways, and the NAT instances. For each tier, a
corresponding NIC and IP exist in the virtual router. The virtual router provides DNS and
DHCP services through its IP.</para>
</listitem>
<listitem>
<para><emphasis role="bold">Public Gateway</emphasis>: The traffic to and from the Internet
routed to the VPC through the public gateway. In a VPC, the public gateway is not exposed to
the end user; therefore, static routes are not support for the public gateway.</para>
</listitem>
<listitem>
<para><emphasis role="bold">Private Gateway</emphasis>: All the traffic to and from a private
network routed to the VPC through the private gateway. For more information, see <xref
linkend="add-gateway-vpc"/>.</para>
</listitem>
<listitem>
<para><emphasis role="bold">VPN Gateway</emphasis>: The VPC side of a VPN connection.</para>
</listitem>
<listitem>
<para><emphasis role="bold">Site-to-Site VPN Connection</emphasis>: A hardware-based VPN
connection between your VPC and your datacenter, home network, or co-location facility. For
more information, see <xref linkend="site-to-site-vpn"/>.</para>
</listitem>
<listitem>
<para><emphasis role="bold">Customer Gateway</emphasis>: The customer side of a VPN
Connection. For more information, see <xref linkend="create-vpn-customer-gateway"/>.</para>
</listitem>
<listitem>
<para><emphasis role="bold">NAT Instance</emphasis>: An instance that provides Port Address
Translation for instances to access the Internet via the public gateway. For more
information, see <xref linkend="enable-disable-static-nat-vpc"/>.</para>
</listitem>
</itemizedlist>
<formalpara>
<title>Network Architecture in a VPC</title>
<para>In a VPC, the following four basic options of network architectures are present:</para>
</formalpara>
<itemizedlist>
<listitem>
<para>VPC with a public gateway only</para>
</listitem>
<listitem>
<para>VPC with public and private gateways</para>
</listitem>
<listitem>
<para>VPC with public and private gateways and site-to-site VPN access</para>
</listitem>
<listitem>
<para>VPC with a private gateway only and site-to-site VPN access</para>
</listitem>
</itemizedlist>
<formalpara>
<title>Connectivity Options for a VPC</title>
<para>You can connect your VPC to:</para>
</formalpara>
<itemizedlist>
<listitem>
<para>The Internet through the public gateway.</para>
</listitem>
<listitem>
<para>The corporate datacenter by using a site-to-site VPN connection through the VPN
gateway.</para>
</listitem>
<listitem>
<para>Both the Internet and your corporate datacenter by using both the public gateway and a
VPN gateway.</para>
</listitem>
</itemizedlist>
<formalpara>
<title>VPC Network Considerations</title>
<para>Consider the following before you create a VPC:</para>
</formalpara>
<itemizedlist>
<listitem>
<para>A VPC, by default, is created in the enabled state.</para>
</listitem>
<listitem>
<para>A VPC can be created in Advance zone only, and can't belong to more than one zone at a
time.</para>
</listitem>
<listitem>
<para>The default number of VPCs an account can create is 20. However, you can change it by
using the max.account.vpcs global parameter, which controls the maximum number of VPCs an
account is allowed to create.</para>
</listitem>
<listitem>
<para>The default number of tiers an account can create within a VPC is 3. You can configure
this number by using the vpc.max.networks parameter.</para>
</listitem>
<listitem>
<para>Each tier should have an unique CIDR in the VPC. Ensure that the tier's CIDR should be
within the VPC CIDR range.</para>
</listitem>
<listitem>
<para>A tier belongs to only one VPC. </para>
</listitem>
<listitem>
<para>All network tiers inside the VPC should belong to the same account.</para>
</listitem>
<listitem>
<para>When a VPC is created, by default, a SourceNAT IP is allocated to it. The Source NAT IP
is released only when the VPC is removed.</para>
</listitem>
<listitem>
<para>A public IP can be used for only one purpose at a time. If the IP is a sourceNAT, it
cannot be used for StaticNAT or port forwarding.</para>
</listitem>
<listitem>
<para>The instances only have a private IP address that you provision. To communicate with the
Internet, enable NAT to an instance that you launch in your VPC.</para>
</listitem>
<listitem>
<para>Only new networks can be added to a VPC. The maximum number of networks per VPC is
limited by the value you specify in the vpc.max.networks parameter. The default value is
three.</para>
</listitem>
<listitem>
<para>The load balancing service can be supported by only one tier inside the VPC.</para>
</listitem>
<listitem>
<para>If an IP address is assigned to a tier:</para>
<itemizedlist>
<listitem>
<para>That IP can't be used by more than one tier at a time in the VPC. For example, if
you have tiers A and B, and a public IP1, you can create a port forwarding rule by using
the IP either for A or B, but not for both.</para>
</listitem>
<listitem>
<para>A tier belongs to only one VPC. </para>
<para>That IP can't be used for StaticNAT, load balancing, or port forwarding rules for
another guest network inside the VPC.</para>
</listitem>
<listitem>
<para>All network tiers inside the VPC should belong to the same account.</para>
</listitem>
<listitem>
<para>When a VPC is created, by default, a SourceNAT IP is allocated to it. The Source
NAT IP is released only when the VPC is removed.</para>
</listitem>
<listitem><para>A public IP can be used for only one purpose at a time. If the IP is a sourceNAT, it cannot be used for StaticNAT or port forwarding.</para>
</listitem>
<listitem><para>The instances only have a private IP address that you provision. To communicate with the Internet, enable NAT to an instance that you launch in your VPC.</para>
</listitem>
<listitem>
<para>Only new networks can be added to a VPC. The maximum number of networks per VPC is
limited by the value you specify in the vpc.max.networks parameter. The default
value is three.</para>
</listitem>
<listitem>
<para>The load balancing service can be supported by only one tier inside the
VPC.</para>
</listitem>
<listitem><para>If an IP address is assigned to a tier:</para><itemizedlist>
<listitem><para>That IP can't be used by more than one tier at a time in the VPC. For example, if you have
tiers A and B, and a public IP1, you can create a port forwarding rule by
using the IP either for A or B, but not for both.</para></listitem>
<listitem><para>That IP can't be used for StaticNAT, load balancing, or port forwarding rules for another
guest network inside the VPC.</para></listitem>
</itemizedlist>
</listitem>
<listitem><para>Remote access VPN is not supported in VPC networks.</para></listitem></itemizedlist>
</section>
</itemizedlist>
</listitem>
<listitem>
<para>Remote access VPN is not supported in VPC networks.</para>
</listitem>
</itemizedlist>
</section>

View File

@ -1,3 +1,19 @@
<!--
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.
-->
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">

View File

@ -1,5 +1,21 @@
#!/bin/sh
# /etc/cron.daily/cloud-cleanup: cleanup old cloudstack logs
# 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.
cd /
output=$(find /var/log/cloud -mtime +7 -size +1M -exec rm -v '{}' \; )

View File

@ -1,2 +1,19 @@
# 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.
#set ENABLED to 1 if you want the init script to start the password server
ENABLED=0

View File

@ -1,2 +1,19 @@
# 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.
#set ENABLED to 1 if you want the init script to start the password server
ENABLED=0

View File

@ -9,6 +9,22 @@
# Default-Stop: 0 1 6
# Short-Description: Start up the cloud.com service
### END INIT INFO
# 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.
#set -x

View File

@ -9,6 +9,22 @@
# Default-Stop: 0 6
# Short-Description: configure according to cmdline
### END INIT INFO
# 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.
PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"

View File

@ -9,7 +9,22 @@
# Default-Stop: 0 6
# Short-Description: Web server that sends passwords to User VMs
### END INIT INFO
# 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.
ENABLED=0
[ -e /etc/default/cloud-passwd-srvr ] && . /etc/default/cloud-passwd-srvr

View File

@ -10,6 +10,23 @@
# Short-Description: post-init
### END INIT INFO
# 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.
replace_in_file() {
local filename=$1
local keyname=$2

View File

@ -1,4 +1,20 @@
# Generated by iptables-save v1.3.8 on Thu Oct 1 18:16:05 2009
# 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.
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]

View File

@ -1,3 +1,20 @@
# 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.
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]

View File

@ -1,3 +1,20 @@
# 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.
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]

View File

@ -1,4 +1,20 @@
# Generated by iptables-save v1.3.8 on Thu Oct 1 18:16:05 2009
# 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.
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]

View File

@ -1,3 +1,20 @@
# 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.
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]

View File

@ -1,3 +1,21 @@
# 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.
#
# reserved values
#

View File

@ -1,3 +1,20 @@
# 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.
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]

View File

@ -1,4 +1,20 @@
#!/bin/bash
# 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.
if [ -z $1 ]
then

View File

@ -1,5 +1,20 @@
#!/usr/bin/env bash
# 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.
plug_nic() {
sudo echo "$tableNo $tableName" >> /etc/iproute2/rt_tables 2>/dev/null

View File

@ -1,4 +1,20 @@
#!/bin/bash
# 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.
. /etc/default/cloud-passwd-srvr

View File

@ -1,3 +1,19 @@
<!--
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.
-->
<domain type='kvm' id='4'>
<name>systemvm2</name>
<memory>1572864</memory>

View File

@ -1,13 +0,0 @@
#Thu Aug 23 12:18:38 PDT 2012
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.6

View File

@ -1,13 +0,0 @@
diff --git a/OVSXUtility.py b/OVSXUtility.py
index 4a98bc8..1053ef7 100644
--- a/OVSXUtility.py
+++ b/OVSXUtility.py
@@ -160,7 +160,7 @@ def get_storage_repos():
l = parse_storage_repos()
for sr in l:
d = get_storage_free_space(sr)
- if d:
+ if len(d) > 0:
d_repos_space[sr] = d[sr]
if not d_repos_space:

View File

@ -1,13 +0,0 @@
diff --git a/OVSAgentAutoStart.py b/OVSAgentAutoStart.py
index 88fa18c..794a363 100755
--- a/OVSAgentAutoStart.py
+++ b/OVSAgentAutoStart.py
@@ -111,8 +111,6 @@ def prepare_cluster_heartbeat():
JOBS = [
["command", join(dirname(__file__), "utils/upgrade_agent.py")],
["function", "get_agent_version", ()],
- ["function", "prepare_cluster_root", ()],
- ["function", "prepare_cluster_heartbeat", ()],
["command", join(dirname(__file__), "utils/upgrade.py")],
["command_bg", join(dirname(__file__), "OVSRemasterServer.py")],
["command_bg", join(dirname(__file__), "OVSMonitorServer.py")],

View File

@ -1,23 +0,0 @@
*** OVSServices.py 2011-06-06 12:31:23.279919998 -0700
--- /tmp/OVSServices.py 2011-06-06 12:32:13.275919997 -0700
***************
*** 68,73 ****
--- 68,75 ----
import OVSVMXParser #pylint: disable-msg=W0611
import OVSVMDKParser #pylint: disable-msg=W0611
+ import OvmDispatcher
+
from OVSWrappers import D
from OVSCommons import exposed
***************
*** 113,118 ****
--- 115,121 ----
self.sleep = sleep
self._load_modules()
+ OvmDispatcher.InitOvmDispacther()
# #xenapi
# import xen.xend.XendAPI as XendAPI

View File

@ -75,7 +75,7 @@
<property name="deps.dir" location="${top.dir}/deps" />
<property name="xen.jar" value="cloud-xen.jar" />
<property name="xen.jar" value="cloud-plugin-hypervisor-xen.jar" />
<property name="xen-scripts.dir" location="${base.dir}/plugins/hypervisors/xen/scripts" />
<import file="${build.dir}/build-common.xml"/>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
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.
-->

104
pom.xml
View File

@ -182,20 +182,104 @@
<artifactId>apache-rat-plugin</artifactId>
<version>0.8</version>
<configuration>
<numUnapprovedLicenses>350</numUnapprovedLicenses>
<excludeSubProjects>false</excludeSubProjects>
<numUnapprovedLicenses>0</numUnapprovedLicenses>
<excludeSubProjects>true</excludeSubProjects>
<excludes>
<exclude>.git/**</exclude>
<exclude>.gitignore</exclude>
<exclude>velocity.log</exclude>
<exclude>**/*.crt</exclude>
<exclude>**/*.csr</exclude>
<exclude>**/*.key</exclude>
<exclude>**/authorized_keys</exclude>
<exclude>**/*.mar</exclude>
<exclude>**/*.jar</exclude>
<exclude>**/*.iso</exclude>
<exclude>**/*.tgz</exclude>
<exclude>**/*.zip</exclude>
<exclude>**/target/**</exclude>
<exclude>distribution/**</exclude>
<exclude>**/jaxb.index</exclude>
<exclude>**/META-INF/MANIFEST</exclude>
<exclude>**/src/test/**/*.txt</exclude>
<exclude>**/.classpath</exclude>
<exclude>**/.settings/**/*</exclude>
<exclude>**/.project</exclude>
<exclude>build/build.number</exclude>
<exclude>console-proxy/js/jquery.js</exclude>
<exclude>debian/compat</exclude>
<exclude>debian/control</exclude>
<exclude>debian/dirs</exclude>
<exclude>debian/rules</exclude>
<exclude>deps/XenServerJava/src/com/xensource/xenapi/*.java</exclude>
<exclude>deps/XenServerJava/BSD</exclude>
<exclude>deps/XenServerJava/Makefile</exclude>
<exclude>dist/console-proxy/js/jquery.js</exclude>
<exclude>scripts/vm/systemvm/id_rsa.cloud</exclude>
<exclude>patches/systemvm/debian/xe/xen-vcpu-hotplug.rules</exclude>
<exclude>patches/systemvm/debian/xe/xe-linux-distribution.init</exclude>
<exclude>patches/systemvm/debian/systemvm.vmx</exclude>
<exclude>patches/systemvm/debian/config/etc/ssh/sshd_config</exclude>
<exclude>patches/systemvm/debian/config/etc/logrotate.d/haproxy</exclude>
<exclude>patches/systemvm/debian/config/etc/logrotate.d/dnsmasq</exclude>
<exclude>patches/systemvm/debian/config/etc/logrotate.d/apache2</exclude>
<exclude>patches/systemvm/debian/config/etc/logrotate.d/ppp</exclude>
<exclude>patches/systemvm/debian/config/etc/logrotate.d/rsyslog</exclude>
<exclude>patches/systemvm/debian/config/etc/vpcdnsmasq.conf</exclude>
<exclude>patches/systemvm/debian/config/etc/httpd/conf/httpd.conf</exclude>
<exclude>patches/systemvm/debian/config/etc/haproxy/haproxy.cfg</exclude>
<exclude>patches/systemvm/debian/config/etc/apache2/vhostexample.conf</exclude>
<exclude>patches/systemvm/debian/config/etc/apache2/sites-available/default-ssl</exclude>
<exclude>patches/systemvm/debian/config/etc/apache2/sites-available/default</exclude>
<exclude>patches/systemvm/debian/config/etc/apache2/httpd.conf</exclude>
<exclude>patches/systemvm/debian/config/etc/apache2/ports.conf</exclude>
<exclude>patches/systemvm/debian/config/etc/rsyslog.conf</exclude>
<exclude>patches/systemvm/debian/config/etc/cloud-nic.rules</exclude>
<exclude>patches/systemvm/debian/config/etc/logrotate.conf</exclude>
<exclude>patches/systemvm/debian/config/etc/init.d/postinit</exclude>
<exclude>patches/systemvm/debian/config/etc/modprobe.d/aesni_intel</exclude>
<exclude>patches/systemvm/debian/config/etc/sysctl.conf</exclude>
<exclude>patches/systemvm/debian/config/etc/dnsmasq.conf</exclude>
<exclude>patches/systemvm/debian/config/etc/rc.local</exclude>
<exclude>patches/systemvm/debian/config/root/redundant_router/heartbeat.sh.templ</exclude>
<exclude>patches/systemvm/debian/config/root/redundant_router/keepalived.conf.templ</exclude>
<exclude>patches/systemvm/debian/config/root/redundant_router/check_heartbeat.sh.templ</exclude>
<exclude>patches/systemvm/debian/config/root/redundant_router/backup.sh.templ</exclude>
<exclude>patches/systemvm/debian/config/root/redundant_router/arping_gateways.sh.templ</exclude>
<exclude>patches/systemvm/debian/config/root/redundant_router/fault.sh.templ</exclude>
<exclude>patches/systemvm/debian/config/root/redundant_router/checkrouter.sh.templ</exclude>
<exclude>patches/systemvm/debian/config/root/redundant_router/master.sh.templ</exclude>
<exclude>patches/systemvm/debian/config/root/redundant_router/conntrackd.conf.templ</exclude>
<exclude>patches/systemvm/debian/config/root/redundant_router/enable_pubip.sh.templ</exclude>
<exclude>patches/systemvm/debian/config/var/lib/misc/dnsmasq.leases</exclude>
<exclude>patches/systemvm/debian/config/var/www/html/userdata/.htaccess</exclude>
<exclude>patches/systemvm/debian/config/var/www/html/latest/.htaccess</exclude>
<exclude>patches/systemvm/debian/vpn/etc/ipsec.conf.orig</exclude>
<exclude>patches/systemvm/debian/vpn/etc/ipsec.secrets.orig</exclude>
<exclude>patches/systemvm/debian/vpn/etc/ipsec.conf</exclude>
<exclude>patches/systemvm/debian/vpn/etc/ipsec.d/l2tp.conf</exclude>
<exclude>patches/systemvm/debian/vpn/etc/ppp/options.xl2tpd</exclude>
<exclude>patches/systemvm/debian/vpn/etc/xl2tpd/xl2tpd.conf</exclude>
<exclude>patches/systemvm/debian/vpn/etc/xl2tpd/xl2tpd.conf.orig</exclude>
<exclude>patches/systemvm/debian/vpn/etc/ipsec.secrets</exclude>
<exclude>tools/devcloud/basebuild/puppet-devcloudinitial/files/network.conf</exclude>
<exclude>tools/devcloud/devcloud.cfg</exclude>
<exclude>ui/lib/flot/jquery.colorhelpers.js</exclude>
<exclude>ui/lib/flot/jquery.flot.crosshair.js</exclude>
<exclude>ui/lib/flot/jquery.flot.fillbetween.js</exclude>
<exclude>ui/lib/flot/jquery.flot.image.js</exclude>
<exclude>ui/lib/flot/jquery.flot.js</exclude>
<exclude>ui/lib/flot/jquery.flot.navigate.js</exclude>
<exclude>ui/lib/flot/jquery.flot.pie.js</exclude>
<exclude>ui/lib/flot/jquery.flot.resize.js</exclude>
<exclude>ui/lib/flot/jquery.flot.selection.js</exclude>
<exclude>ui/lib/flot/jquery.flot.stack.js</exclude>
<exclude>ui/lib/flot/jquery.flot.symbol.js</exclude>
<exclude>ui/lib/flot/jquery.flot.threshold.js</exclude>
<exclude>ui/lib/jquery-ui/css/jquery-ui.css</exclude>
<exclude>ui/lib/jquery-ui/index.html</exclude>
<exclude>ui/lib/jquery-ui/js/jquery-ui.js</exclude>
<exclude>ui/lib/jquery.cookies.js</exclude>
<exclude>ui/lib/jquery.easing.js</exclude>
<exclude>ui/lib/jquery.js</exclude>
<exclude>ui/lib/jquery.md5.js</exclude>
<exclude>ui/lib/jquery.validate.js</exclude>
<exclude>ui/lib/qunit/qunit.css</exclude>
<exclude>ui/lib/qunit/qunit.js</exclude>
<exclude>ui/lib/reset.css</exclude>
<exclude>waf</exclude>
</excludes>
</configuration>
</plugin>

View File

@ -139,10 +139,25 @@
});
},
capacity: function(data) {
var latestData =null;
if(window.fetchLatestflag == 1)
{
latestData = {
fetchLatest:true
}
}
else
{
latestData = {
fetchLatest:false
}
}
window.fetchLatestflag = 0;
if (data.zones) {
$.ajax({
url: createURL('listCapacity'),
data: { fetchLatest: true },
data: latestData,
success: function(json) {
var capacities = json.listcapacityresponse.capacity;
@ -243,7 +258,7 @@
$.ajax({
url: createURL('listCapacity'),
data: {
fetchLatest: true,
fetchLatest: false,
sortBy: 'usage',
page: 0,
pagesize: 8

View File

@ -1206,15 +1206,13 @@
success:function(json) {
// Handling the display of network name for a VM under the NICS tabs
args.response.success({
data: $.map(args.context.instances[0].nic, function(nic, index) {
var name = 'NIC ' + (index + 1);
var networkname = json.listvirtualmachinesresponse.virtualmachine[0].nic[index].networkname;
data: $.map(json.listvirtualmachinesresponse.virtualmachine[0].nic, function(nic, index) {
var name = 'NIC ' + (index + 1);
if (nic.isdefault) {
name += ' (' + _l('label.default') + ')';
}
return $.extend(nic, {
name: name,
networkname: networkname
name: name
});
})
});

View File

@ -204,42 +204,11 @@
}
},
osCategory: {
label: 'OS Category',
select: function(args) {
$.ajax({
url: createURL("listOsCategories"),
dataType: "json",
async: true,
success: function(json) {
var osCats = json.listoscategoriesresponse.oscategory;
var items = [];
if (isAdmin())
items.push({id: -1, description: "All OS"});
$(osCats).each(function() {
items.push({id: this.id, description: this.name});
});
args.response.success({data: items});
}
});
}
},
osTypeId: {
label: 'label.os.type',
dependsOn: 'osCategory',
select: function(args) {
if(args.osCategory == null)
return;
var apiCmd;
if(args.osCategory == -1)
apiCmd = "listOsTypes";
else
apiCmd = "listOsTypes&oscategoryid=" + args.osCategory;
$.ajax({
url: createURL(apiCmd),
url: createURL("listOsTypes"),
dataType: "json",
async: true,
success: function(json) {
@ -814,46 +783,15 @@
isBoolean: true,
isChecked: true
},
osCategory: {
label: 'OS Category',
dependsOn: 'isBootable',
select: function(args) {
$.ajax({
url: createURL("listOsCategories"),
dataType: "json",
async: true,
success: function(json) {
var osCats = json.listoscategoriesresponse.oscategory;
var items = [];
if (isAdmin())
items.push({id: -1, description: "All OS"});
$(osCats).each(function() {
items.push({id: this.id, description: this.name});
});
args.response.success({data: items});
}
});
}
},
osTypeId: {
label: 'label.os.type',
dependsOn: ['isBootable','osCategory'],
dependsOn: 'isBootable',
isHidden: false,
validation: { required: true },
select: function(args) {
if(args.osCategory == null)
return;
var apiCmd;
if(args.osCategory == -1)
apiCmd = "listOsTypes";
else
apiCmd = "listOsTypes&oscategoryid=" + args.osCategory;
$.ajax({
url: createURL(apiCmd),
url: createURL("listOsTypes"),
dataType: "json",
async: true,
success: function(json) {

View File

@ -179,6 +179,7 @@
//Fetch Latest action
$dashboard.find('.fetch-latest').click(function() {
window.fetchLatestflag = 1;
var $browser = $('#browser .container');
if ($(this).hasClass('fetch-latest')) $('#navigation li.dashboard').click();

View File

@ -117,56 +117,52 @@
var $value = $('<div>').addClass('value')
.appendTo($formItem);
var $input, $dependsOn, selectFn, selectArgs;
var dependsOn = $.isArray(field.dependsOn) ? field.dependsOn : [field.dependsOn] ; //now an array
var dependsOn = field.dependsOn;
// Depends on fields
if (dependsOn.length) {
$.each(dependsOn, function(key, value){
var dependsOn = value;
if (field.dependsOn) {
$formItem.attr('depends-on', dependsOn);
$dependsOn = $form.find('input, select').filter(function() {
return $(this).attr('name') === dependsOn;
});
$formItem.attr('depends-on-'+value, dependsOn);
$dependsOn = $form.find('input, select').filter(function() {
return $(this).attr('name') === dependsOn;
if ($dependsOn.is('[type=checkbox]')) {
var isReverse = args.form.fields[dependsOn].isReverse;
// Checkbox
$dependsOn.bind('click', function(event) {
var $target = $(this);
var $dependent = $target.closest('form').find('[depends-on=\'' + dependsOn + '\']');
if (($target.is(':checked') && !isReverse) ||
($target.is(':unchecked') && isReverse)) {
$dependent.css('display', 'inline-block');
$dependent.each(function() {
if ($(this).data('dialog-select-fn')) {
$(this).data('dialog-select-fn')();
}
});
} else if (($target.is(':unchecked') && !isReverse) ||
($target.is(':checked') && isReverse)) {
$dependent.hide();
}
$dependent.find('input[type=checkbox]').click();
if (!isReverse) {
$dependent.find('input[type=checkbox]').attr('checked', false);
} else {
$dependent.find('input[type=checkbox]').attr('checked', true);
}
return true;
});
if ($dependsOn.is('[type=checkbox]')) {
var isReverse = args.form.fields[dependsOn].isReverse;
// Checkbox
$dependsOn.bind('click', function(event) {
var $target = $(this);
var $dependent = $target.closest('form').find('[depends-on-' + value + '=\'' + dependsOn + '\']');
if (($target.is(':checked') && !isReverse) ||
($target.is(':unchecked') && isReverse)) {
$dependent.css('display', 'inline-block');
$dependent.each(function() {
if ($(this).find('select').data('dialog-select-fn')) {
$(this).find('select').data('dialog-select-fn')();
}
});
} else if (($target.is(':unchecked') && !isReverse) ||
($target.is(':checked') && isReverse)) {
$dependent.hide();
}
$dependent.find('input[type=checkbox]').click();
if (!isReverse) {
$dependent.find('input[type=checkbox]').attr('checked', false);
} else {
$dependent.find('input[type=checkbox]').attr('checked', true);
}
return true;
});
// Show fields by default if it is reverse checkbox
if (isReverse) {
$dependsOn.click();
}
};
});
// Show fields by default if it is reverse checkbox
if (isReverse) {
$dependsOn.click();
}
}
}
// Determine field type of input
@ -211,35 +207,31 @@
// Pass form item to provider for additional manipulation
$.extend(selectArgs, { $select: $input });
if (dependsOn.length) {
$.each(dependsOn, function(key, value){
var dependsOn = value;
$dependsOn = $input.closest('form').find('input, select').filter(function() {
return $(this).attr('name') === dependsOn;
});
$dependsOn.bind('change', function(event) {
var $target = $(this);
if (!$dependsOn.is('select')) return true;
var dependsOnArgs = {};
$input.find('option').remove();
if (!$target.children().size()) return true;
dependsOnArgs[dependsOn] = $target.val();
selectFn($.extend(selectArgs, dependsOnArgs));
return true;
});
if (!$dependsOn.is('select')) {
selectFn(selectArgs);
}
if (dependsOn) {
$dependsOn = $input.closest('form').find('input, select').filter(function() {
return $(this).attr('name') === dependsOn;
});
$dependsOn.bind('change', function(event) {
var $target = $(this);
if (!$dependsOn.is('select')) return true;
var dependsOnArgs = {};
$input.find('option').remove();
if (!$target.children().size()) return true;
dependsOnArgs[dependsOn] = $target.val();
selectFn($.extend(selectArgs, dependsOnArgs));
return true;
});
if (!$dependsOn.is('select')) {
selectFn(selectArgs);
}
} else {
selectFn(selectArgs);
}

View File

@ -322,7 +322,7 @@ depsclasspath = [ in_javadir(_basename(x)) for x in _glob(_join(conf.srcdir,"dep
conf.env.DEPSCLASSPATH = pathsep.join(depsclasspath)
# the MS classpath points to JARs required to run the management server
msclasspath = [ in_javadir("%s-%s.jar"%(conf.env.PACKAGE,x)) for x in "utils api core server server-extras core-extras vmware-base ovm dp-user-concentrated-pod dp-user-dispersing host-allocator-random plugin-f5 plugin-netscaler plugin-ovs plugin-srx storage-allocator-random user-authenticator-ldap user-authenticator-md5 user-authenticator-plaintext vmware xen plugin-nicira-nvp plugin-elb plugin-netapp".split() ]
msclasspath = [ in_javadir("%s-%s.jar"%(conf.env.PACKAGE,x)) for x in "utils api core server server-extras core-extras vmware-base ovm dp-user-concentrated-pod dp-user-dispersing host-allocator-random plugin-f5 plugin-netscaler plugin-ovs plugin-srx storage-allocator-random user-authenticator-ldap user-authenticator-md5 user-authenticator-plaintext vmware plugin-hypervisor-xen plugin-nicira-nvp plugin-elb plugin-netapp".split() ]
conf.env.MSCLASSPATH = pathsep.join(msclasspath)
# the agent and simulator classpaths point to JARs required to run these two applications