You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by wi...@apache.org on 2012/11/21 13:48:19 UTC

[1/4] git commit: debian: Re-do packaging

Updated Branches:
  refs/heads/packaging [created] 91646a77c


debian: Re-do packaging

The packaging way for Debian has been re-done in this commit.

While this is a commit in a feature branch it is not final yet.

The idea is that packages are build by running: "dpkg-buildpackage" which calls debian/rules

That calls maven again which calls the artifacts.

Configuration for agent, client and server have been moved into /conf which is a seperate maven project.

This only builds configuration artifacts based on build/replace.properties which is filled by debian/rules

The same should be done for files in agent/bindir, client/bindir, etc. These tools can be a own maven target,
they don't have a relation with the Java code.

All dependencies for the Agent, Client and Server are packed into the WAR/JAR files. This makes the packages bigger,
but it makes sure they run on all platforms without having to rely on system dependencies.

cloud-client(-ui) has been merged into cloud-server and packages like cloud-agent-libs, cloud-deps and cloud-agent-deps
have been deprecated due to the build-in dependencies.

This reduces the number of packages, but also makes integration nicer.

A lot of work is still to be done:
* Tools like cloud-setup-databases, etc
* postinst / preinst files shouldn't touch anything (like /etc/limits.conf)

This is just a PoC to show what can be done


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

Branch: refs/heads/packaging
Commit: 91646a77c0a5b373db9afeafc2407d5893f0cca6
Parents: 6d200c5
Author: Wido den Hollander <wi...@widodh.nl>
Authored: Wed Nov 7 14:04:57 2012 +0100
Committer: Wido den Hollander <wi...@widodh.nl>
Committed: Wed Nov 21 20:47:17 2012 +0800

----------------------------------------------------------------------
 agent/conf/agent.properties                        |   71 -
 agent/conf/developer.properties.template           |   55 -
 agent/conf/environment.properties.in               |   21 -
 agent/conf/log4j-cloud.xml.in                      |   93 --
 agent/pom.xml                                      |   59 +
 build/replace.properties                           |   29 -
 conf/agent/agent.properties                        |   71 +
 conf/agent/environment.properties.in               |   21 +
 conf/agent/log4j-cloud.xml.in                      |   93 ++
 conf/client/catalina.policy.in                     |  180 +++
 conf/client/catalina.properties.in                 |   81 +
 conf/client/cisconexusvsm_commands.properties.in   |   25 +
 conf/client/cloudmanagementserver.keystore         |  Bin 0 -> 1316 bytes
 conf/client/commands-ext.properties.in             |   35 +
 conf/client/commands.properties.in                 |  405 +++++
 conf/client/components-cloudzones.xml.in           |   33 +
 conf/client/components-nonoss.xml.in               |   97 ++
 conf/client/components.xml.in                      |  239 +++
 conf/client/context.xml.in                         |   35 +
 conf/client/db-enc.properties.in                   |   71 +
 conf/client/db.properties.in                       |   83 +
 conf/client/ehcache.xml.in                         |  545 +++++++
 conf/client/environment.properties.in              |   22 +
 conf/client/f5bigip_commands.properties.in         |   32 +
 conf/client/junipersrx_commands.properties.in      |   30 +
 conf/client/log4j-cloud.xml.in                     |  153 ++
 conf/client/logging.properties.in                  |   64 +
 conf/client/netapp_commands.properties.in          |   33 +
 .../netscalerloadbalancer_commands.properties.in   |   26 +
 conf/client/nicira-nvp_commands.properties.in      |   29 +
 conf/client/server-nonssl.xml.in                   |  231 +++
 conf/client/server-ssl.xml.in                      |  264 ++++
 conf/client/server.xml.in                          |  231 +++
 conf/client/simulator.properties.in                |   31 +
 conf/client/tomcat-users.xml.in                    |   31 +
 conf/client/tomcat6-nonssl.conf.in                 |   69 +
 conf/client/tomcat6-ssl.conf.in                    |   68 +
 conf/client/virtualrouter_commands.properties.in   |   24 +
 conf/client/web.xml.in                             | 1188 +++++++++++++++
 conf/pom.xml                                       |   99 ++
 conf/server/log4j-cloud.xml.in                     |  119 ++
 conf/server/migration-components.xml               |   45 +
 debian/cloud-agent-deps.install                    |   18 -
 debian/cloud-agent-libs.install                    |   19 -
 debian/cloud-agent.install                         |    2 +-
 debian/cloud-cli.config                            |   17 -
 debian/cloud-cli.install                           |   21 -
 debian/cloud-client-ui.install                     |   19 -
 debian/cloud-client.install                        |   58 -
 debian/cloud-deps.install                          |   34 -
 debian/cloud-server.install                        |   47 +-
 debian/cloud-setup.install                         |    1 +
 debian/cloud-utils.install                         |   22 -
 debian/control                                     |   74 +-
 debian/rules                                       |   94 +-
 packaging/debian/init/cloud-agent                  |  167 ++
 packaging/debian/init/cloud-management             |  239 +++
 plugins/hypervisors/kvm/agent-descriptor.xml       |   68 -
 plugins/hypervisors/kvm/pom.xml                    |   81 +-
 pom.xml                                            |    1 +
 60 files changed, 5436 insertions(+), 677 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/91646a77/agent/conf/agent.properties
----------------------------------------------------------------------
diff --git a/agent/conf/agent.properties b/agent/conf/agent.properties
deleted file mode 100644
index 27572b5..0000000
--- a/agent/conf/agent.properties
+++ /dev/null
@@ -1,71 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-# 
-#   http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-# Sample configuration file for CloudStack agent
-
-# The GUID to identify the agent with, this is mandatory!
-# Generate with "uuidgen"
-guid=
-
-#resource= the java class, which agent load to execute
-resource=com.cloud.hypervisor.kvm.resource.LibvirtComputingResource
-
-#workers= number of threads running in agent
-workers=5
-
-#host= The IP address of management server
-host=localhost
-
-#port = The port management server listening on, default is 8250
-port=8250
-
-#cluster= The cluster which the agent belongs to
-cluster=default
-
-#pod= The pod which the agent belongs to
-pod=default
-
-#zone= The zone which the agent belongs to
-zone=default
-
-#public.network.device= the public nic device
-# if this is commented, it is autodetected on service startup
-# public.network.device=cloudbr0
-
-#private.network.device= the private nic device
-# if this is commented, it is autodetected on service startup
-# private.network.device=cloudbr1
-
-#guest.network.device= the guest nic device
-# if this is commented, the private nic device will be used
-
-# local storage path, by default, it's /var/lib/libvirt/images/
-#local.storage.path=/var/lib/libvirt/images/
-
-# The UUID for the local storage pool, this is mandatory!
-# Generate with "uuidgen"
-local.storage.uuid=
-
-# Location for KVM scripts
-domr.scripts.dir=scripts/network/domr/kvm
-
-# the timeout for time-consuming operations, such as create/copy snapshot
-#cmds.timeout=7200
-
-# set the vm migrate speed, by default, it will try to guess the speed of the guest network
-# In MegaBytes per second
-#vm.migrate.speed=0

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/91646a77/agent/conf/developer.properties.template
----------------------------------------------------------------------
diff --git a/agent/conf/developer.properties.template b/agent/conf/developer.properties.template
deleted file mode 100644
index a70a136..0000000
--- a/agent/conf/developer.properties.template
+++ /dev/null
@@ -1,55 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-# 
-#   http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-#instance=AH
-#private.macaddr.start=00:16:3e:77:01:01
-#private.ipaddr.start=192.168.166.128
-
-#instance=KM
-#private.macaddr.start=00:16:3e:77:02:01
-#private.ipaddr.start=192.168.167.128
-
-#instance=KY
-#private.macaddr.start=00:16:3e:77:03:01
-#private.ipaddr.start=192.168.168.128
-
-#instance=WC
-#private.macaddr.start=00:16:3e:77:04:01
-#private.ipaddr.start=192.168.169.128
-
-#instance=CV
-#private.macaddr.start=00:16:3e:77:05:01
-#private.ipaddr.start=192.168.170.128
-
-#instance=KS
-#private.macaddr.start=00:16:3e:77:06:01
-#private.ipaddr.start=192.168.171.128
-
-#instance=ES
-#private.macaddr.start=00:16:3e:77:07:01
-#private.ipaddr.start=192.168.172.128
-
-#instance=RC
-#private.macaddr.start=00:16:3e:77:08:01
-#private.ipaddr.start=192.168.173.128
-
-#instance=AX
-#private.macaddr.start=00:16:3e:77:09:01
-#private.ipaddr.start=192.168.174.128
-
-private.macaddr.start=@private.macaddr.start@
-private.ipaddr.start=@private.ipaddr.start@

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/91646a77/agent/conf/environment.properties.in
----------------------------------------------------------------------
diff --git a/agent/conf/environment.properties.in b/agent/conf/environment.properties.in
deleted file mode 100644
index 514161a..0000000
--- a/agent/conf/environment.properties.in
+++ /dev/null
@@ -1,21 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-# 
-#   http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-# management server compile-time environment parameters
-
-paths.pid=@PIDDIR@
-paths.script=@COMMONLIBDIR@

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/91646a77/agent/conf/log4j-cloud.xml.in
----------------------------------------------------------------------
diff --git a/agent/conf/log4j-cloud.xml.in b/agent/conf/log4j-cloud.xml.in
deleted file mode 100644
index fdbba19..0000000
--- a/agent/conf/log4j-cloud.xml.in
+++ /dev/null
@@ -1,93 +0,0 @@
-<?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.
--->
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-
-   <!-- ================================= -->
-   <!-- Preserve messages in a local file -->
-   <!-- ================================= -->
-
-   <!-- A time/date based rolling appender -->
-   <appender name="FILE" class="org.apache.log4j.rolling.RollingFileAppender">
-      <param name="Append" value="true"/>
-      <param name="Threshold" value="INFO"/>
-      <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
-        <param name="FileNamePattern" value="@AGENTLOG@.%d{yyyy-MM-dd}.gz"/>
-        <param name="ActiveFileName" value="@AGENTLOG@"/>
-      </rollingPolicy>
-      <layout class="org.apache.log4j.EnhancedPatternLayout">
-         <param name="ConversionPattern" value="%d{ISO8601} %-5p [%c{3}] (%t:%x) %m%n"/>
-      </layout>
-   </appender>
-   
-   <!-- ============================== -->
-   <!-- Append messages to the console -->
-   <!-- ============================== -->
-
-   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-      <param name="Target" value="System.out"/>
-      <param name="Threshold" value="INFO"/>
-
-      <layout class="org.apache.log4j.PatternLayout">
-         <param name="ConversionPattern" value="%d{ISO8601}{GMT} %-5p [%c{3}] (%t:%x) %m%n"/>
-      </layout>
-   </appender>
-
-   <!-- ================ -->
-   <!-- Limit categories -->
-   <!-- ================ -->
-
-   <category name="com.cloud">
-     <priority value="INFO"/>
-   </category>
-   
-   <category name="com.cloud.agent.metrics">
-     <priority value="INFO"/>
-   </category>
-   
-   <category name="com.cloud.agent.resource.computing.ComputingResource$StorageMonitorTask">
-     <priority value="INFO"/>
-   </category>
-
-   <!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
-   <category name="org.apache">
-      <priority value="INFO"/>
-   </category>
-
-   <category name="org">
-      <priority value="INFO"/>
-   </category>
-   
-   <category name="net">
-     <priority value="INFO"/>
-   </category>
-
-   <!-- ======================= -->
-   <!-- Setup the Root category -->
-   <!-- ======================= -->
-
-   <root>
-      <level value="INFO"/>
-      <appender-ref ref="CONSOLE"/>
-      <appender-ref ref="FILE"/>
-   </root>
-
-</log4j:configuration>

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/91646a77/agent/pom.xml
----------------------------------------------------------------------
diff --git a/agent/pom.xml b/agent/pom.xml
index 8aab8de..ffc382a 100644
--- a/agent/pom.xml
+++ b/agent/pom.xml
@@ -47,6 +47,15 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-jar-plugin</artifactId>
+          <configuration>
+            <archive>
+              <manifest>
+                <addClasspath>true</addClasspath>
+                <classpathPrefix>lib/</classpathPrefix>
+                <mainClass>com.cloud.agent.AgentShell</mainClass>
+              </manifest>
+            </archive>
+          </configuration>
         <executions>
           <execution>
             <goals>
@@ -55,6 +64,56 @@
           </execution>
         </executions>
       </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>copy-dependencies</id>
+            <phase>package</phase>
+            <goals>
+              <goal>copy-dependencies</goal>
+            </goals>
+            <configuration>
+              <outputDirectory>${project.build.directory}/lib</outputDirectory>
+              <overWriteReleases>false</overWriteReleases>
+              <overWriteSnapshots>false</overWriteSnapshots>
+              <overWriteIfNewer>true</overWriteIfNewer>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-shade-plugin</artifactId>
+         <configuration>
+          <filters>
+            <filter>
+              <artifact>*:*</artifact>
+              <excludes>
+                <exclude>META-INF/*.SF</exclude>
+                <exclude>META-INF/*.DSA</exclude>
+                <exclude>META-INF/*.RSA</exclude>
+              </excludes>
+            </filter>
+          </filters>
+        </configuration>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>shade</goal>
+            </goals>
+            <configuration>
+              <transformers>
+                <transformer  implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+                  <mainClass>${appClass}</mainClass>
+                </transformer>
+              </transformers>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
     </plugins>
   </build>
 </project>

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/91646a77/build/replace.properties
----------------------------------------------------------------------
diff --git a/build/replace.properties b/build/replace.properties
deleted file mode 100644
index c9a93c2..0000000
--- a/build/replace.properties
+++ /dev/null
@@ -1,29 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-# 
-#   http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-DBUSER=cloud
-DBPW=cloud
-DBROOTPW=
-MSLOG=vmops.log
-APISERVERLOG=api.log
-DBHOST=localhost
-AGENTLOGDIR=logs
-AGENTLOG=logs/agent.log
-MSMNTDIR=/mnt
-COMPONENTS-SPEC=components.xml
-AWSAPILOG=awsapi.log
-REMOTEHOST=localhost

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/91646a77/conf/agent/agent.properties
----------------------------------------------------------------------
diff --git a/conf/agent/agent.properties b/conf/agent/agent.properties
new file mode 100644
index 0000000..27572b5
--- /dev/null
+++ b/conf/agent/agent.properties
@@ -0,0 +1,71 @@
+# 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.
+
+# Sample configuration file for CloudStack agent
+
+# The GUID to identify the agent with, this is mandatory!
+# Generate with "uuidgen"
+guid=
+
+#resource= the java class, which agent load to execute
+resource=com.cloud.hypervisor.kvm.resource.LibvirtComputingResource
+
+#workers= number of threads running in agent
+workers=5
+
+#host= The IP address of management server
+host=localhost
+
+#port = The port management server listening on, default is 8250
+port=8250
+
+#cluster= The cluster which the agent belongs to
+cluster=default
+
+#pod= The pod which the agent belongs to
+pod=default
+
+#zone= The zone which the agent belongs to
+zone=default
+
+#public.network.device= the public nic device
+# if this is commented, it is autodetected on service startup
+# public.network.device=cloudbr0
+
+#private.network.device= the private nic device
+# if this is commented, it is autodetected on service startup
+# private.network.device=cloudbr1
+
+#guest.network.device= the guest nic device
+# if this is commented, the private nic device will be used
+
+# local storage path, by default, it's /var/lib/libvirt/images/
+#local.storage.path=/var/lib/libvirt/images/
+
+# The UUID for the local storage pool, this is mandatory!
+# Generate with "uuidgen"
+local.storage.uuid=
+
+# Location for KVM scripts
+domr.scripts.dir=scripts/network/domr/kvm
+
+# the timeout for time-consuming operations, such as create/copy snapshot
+#cmds.timeout=7200
+
+# set the vm migrate speed, by default, it will try to guess the speed of the guest network
+# In MegaBytes per second
+#vm.migrate.speed=0

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/91646a77/conf/agent/environment.properties.in
----------------------------------------------------------------------
diff --git a/conf/agent/environment.properties.in b/conf/agent/environment.properties.in
new file mode 100644
index 0000000..514161a
--- /dev/null
+++ b/conf/agent/environment.properties.in
@@ -0,0 +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.
+
+# management server compile-time environment parameters
+
+paths.pid=@PIDDIR@
+paths.script=@COMMONLIBDIR@

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/91646a77/conf/agent/log4j-cloud.xml.in
----------------------------------------------------------------------
diff --git a/conf/agent/log4j-cloud.xml.in b/conf/agent/log4j-cloud.xml.in
new file mode 100644
index 0000000..fdbba19
--- /dev/null
+++ b/conf/agent/log4j-cloud.xml.in
@@ -0,0 +1,93 @@
+<?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.
+-->
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+   <!-- ================================= -->
+   <!-- Preserve messages in a local file -->
+   <!-- ================================= -->
+
+   <!-- A time/date based rolling appender -->
+   <appender name="FILE" class="org.apache.log4j.rolling.RollingFileAppender">
+      <param name="Append" value="true"/>
+      <param name="Threshold" value="INFO"/>
+      <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
+        <param name="FileNamePattern" value="@AGENTLOG@.%d{yyyy-MM-dd}.gz"/>
+        <param name="ActiveFileName" value="@AGENTLOG@"/>
+      </rollingPolicy>
+      <layout class="org.apache.log4j.EnhancedPatternLayout">
+         <param name="ConversionPattern" value="%d{ISO8601} %-5p [%c{3}] (%t:%x) %m%n"/>
+      </layout>
+   </appender>
+   
+   <!-- ============================== -->
+   <!-- Append messages to the console -->
+   <!-- ============================== -->
+
+   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+      <param name="Target" value="System.out"/>
+      <param name="Threshold" value="INFO"/>
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <param name="ConversionPattern" value="%d{ISO8601}{GMT} %-5p [%c{3}] (%t:%x) %m%n"/>
+      </layout>
+   </appender>
+
+   <!-- ================ -->
+   <!-- Limit categories -->
+   <!-- ================ -->
+
+   <category name="com.cloud">
+     <priority value="INFO"/>
+   </category>
+   
+   <category name="com.cloud.agent.metrics">
+     <priority value="INFO"/>
+   </category>
+   
+   <category name="com.cloud.agent.resource.computing.ComputingResource$StorageMonitorTask">
+     <priority value="INFO"/>
+   </category>
+
+   <!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
+   <category name="org.apache">
+      <priority value="INFO"/>
+   </category>
+
+   <category name="org">
+      <priority value="INFO"/>
+   </category>
+   
+   <category name="net">
+     <priority value="INFO"/>
+   </category>
+
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <level value="INFO"/>
+      <appender-ref ref="CONSOLE"/>
+      <appender-ref ref="FILE"/>
+   </root>
+
+</log4j:configuration>

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/91646a77/conf/client/catalina.policy.in
----------------------------------------------------------------------
diff --git a/conf/client/catalina.policy.in b/conf/client/catalina.policy.in
new file mode 100644
index 0000000..4bbfbf2
--- /dev/null
+++ b/conf/client/catalina.policy.in
@@ -0,0 +1,180 @@
+// 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.
+
+// ============================================================================
+// catalina.corepolicy - Security Policy Permissions for Tomcat 6
+//
+// This file contains a default set of security policies to be enforced (by the
+// JVM) when Catalina is executed with the "-security" option.  In addition
+// to the permissions granted here, the following additional permissions are
+// granted to the codebase specific to each web application:
+//
+// * Read access to the document root directory
+//
+// $Id: catalina.policy 899134 2010-01-14 09:44:28Z rjung $
+// ============================================================================
+
+
+// ========== SYSTEM CODE PERMISSIONS =========================================
+
+
+// These permissions apply to javac
+grant codeBase "file:${java.home}/lib/-" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to all shared system extensions
+grant codeBase "file:${java.home}/jre/lib/ext/-" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to javac when ${java.home] points at $JAVA_HOME/jre
+grant codeBase "file:${java.home}/../lib/-" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to all shared system extensions when
+// ${java.home} points at $JAVA_HOME/jre
+grant codeBase "file:${java.home}/lib/ext/-" {
+        permission java.security.AllPermission;
+};
+
+
+// ========== CATALINA CODE PERMISSIONS =======================================
+
+
+// These permissions apply to the daemon code
+grant codeBase "file:${catalina.home}/bin/commons-daemon.jar" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to the logging API
+grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
+        permission java.util.PropertyPermission "java.util.logging.config.class", "read";
+        permission java.util.PropertyPermission "java.util.logging.config.file", "read";
+        permission java.io.FilePermission "${java.home}${file.separator}lib${file.separator}logging.properties", "read"; 
+        permission java.lang.RuntimePermission "shutdownHooks";
+        permission java.io.FilePermission "${catalina.base}${file.separator}conf${file.separator}logging.properties", "read";
+        permission java.util.PropertyPermission "catalina.base", "read";
+        permission java.util.logging.LoggingPermission "control";
+        permission java.io.FilePermission "${catalina.base}${file.separator}logs", "read, write";
+        permission java.io.FilePermission "${catalina.base}${file.separator}logs${file.separator}*", "read, write";
+        permission java.lang.RuntimePermission "getClassLoader";
+        permission java.lang.RuntimePermission "setContextClassLoader";
+        // To enable per context logging configuration, permit read access to the appropriate file.
+        // Be sure that the logging configuration is secure before enabling such access
+        // eg for the examples web application:
+        // permission java.io.FilePermission "${catalina.base}${file.separator}webapps${file.separator}examples${file.separator}WEB-INF${file.separator}classes${file.separator}logging.properties", "read";
+};
+
+// These permissions apply to the server startup code
+grant codeBase "file:${catalina.home}/bin/bootstrap.jar" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to the servlet API classes
+// and those that are shared across all class loaders
+// located in the "lib" directory
+grant codeBase "file:${catalina.home}/lib/-" {
+        permission java.security.AllPermission;
+};
+
+
+// ========== WEB APPLICATION PERMISSIONS =====================================
+
+
+// These permissions are granted by default to all web applications
+// In addition, a web application will be given a read FilePermission
+// and JndiPermission for all files and directories in its document root.
+grant { 
+    // Required for JNDI lookup of named JDBC DataSource's and
+    // javamail named MimePart DataSource used to send mail
+    permission java.util.PropertyPermission "java.home", "read";
+    permission java.util.PropertyPermission "java.naming.*", "read";
+    permission java.util.PropertyPermission "javax.sql.*", "read";
+
+    // OS Specific properties to allow read access
+    permission java.util.PropertyPermission "os.name", "read";
+    permission java.util.PropertyPermission "os.version", "read";
+    permission java.util.PropertyPermission "os.arch", "read";
+    permission java.util.PropertyPermission "file.separator", "read";
+    permission java.util.PropertyPermission "path.separator", "read";
+    permission java.util.PropertyPermission "line.separator", "read";
+
+    // JVM properties to allow read access
+    permission java.util.PropertyPermission "java.version", "read";
+    permission java.util.PropertyPermission "java.vendor", "read";
+    permission java.util.PropertyPermission "java.vendor.url", "read";
+    permission java.util.PropertyPermission "java.class.version", "read";
+    permission java.util.PropertyPermission "java.specification.version", "read";
+    permission java.util.PropertyPermission "java.specification.vendor", "read";
+    permission java.util.PropertyPermission "java.specification.name", "read";
+
+    permission java.util.PropertyPermission "java.vm.specification.version", "read";
+    permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
+    permission java.util.PropertyPermission "java.vm.specification.name", "read";
+    permission java.util.PropertyPermission "java.vm.version", "read";
+    permission java.util.PropertyPermission "java.vm.vendor", "read";
+    permission java.util.PropertyPermission "java.vm.name", "read";
+
+    // Required for OpenJMX
+    permission java.lang.RuntimePermission "getAttribute";
+
+    // Allow read of JAXP compliant XML parser debug
+    permission java.util.PropertyPermission "jaxp.debug", "read";
+
+    // Precompiled JSPs need access to these packages.
+    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.el";
+    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime";
+    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime.*";
+    
+    // Precompiled JSPs need access to these system properties.
+    permission java.util.PropertyPermission "org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER", "read";
+    permission java.util.PropertyPermission "org.apache.el.parser.COERCE_TO_ZERO", "read";
+};
+
+
+// You can assign additional permissions to particular web applications by
+// adding additional "grant" entries here, based on the code base for that
+// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files.
+//
+// Different permissions can be granted to JSP pages, classes loaded from
+// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/
+// directory, or even to individual jar files in the /WEB-INF/lib/ directory.
+//
+// For instance, assume that the standard "examples" application
+// included a JDBC driver that needed to establish a network connection to the
+// corresponding database and used the scrape taglib to get the weather from
+// the NOAA web server.  You might create a "grant" entries like this:
+//
+// The permissions granted to the context root directory apply to JSP pages.
+// grant codeBase "file:${catalina.home}/webapps/examples/-" {
+//      permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
+//      permission java.net.SocketPermission "*.noaa.gov:80", "connect";
+// };
+//
+// The permissions granted to the context WEB-INF/classes directory
+// grant codeBase "file:${catalina.home}/webapps/examples/WEB-INF/classes/-" {
+// };
+//
+// The permission granted to your JDBC driver
+// grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar!/-" {
+//      permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
+// };
+// The permission granted to the scrape taglib
+// grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/scrape.jar!/-" {
+//      permission java.net.SocketPermission "*.noaa.gov:80", "connect";
+// };
+

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/91646a77/conf/client/catalina.properties.in
----------------------------------------------------------------------
diff --git a/conf/client/catalina.properties.in b/conf/client/catalina.properties.in
new file mode 100644
index 0000000..dc2db35
--- /dev/null
+++ b/conf/client/catalina.properties.in
@@ -0,0 +1,81 @@
+# 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.
+
+#
+# List of comma-separated packages that start with or equal this string
+# will cause a security exception to be thrown when
+# passed to checkPackageAccess unless the
+# corresponding RuntimePermission ("accessClassInPackage."+package) has
+# been granted.
+package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.,sun.beans.
+#
+# List of comma-separated packages that start with or equal this string
+# will cause a security exception to be thrown when
+# passed to checkPackageDefinition unless the
+# corresponding RuntimePermission ("defineClassInPackage."+package) has
+# been granted.
+#
+# by default, no packages are restricted for definition, and none of
+# the class loaders supplied with the JDK call checkPackageDefinition.
+#
+package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.
+
+#
+#
+# List of comma-separated paths defining the contents of the "common" 
+# classloader. Prefixes should be used to define what is the repository type.
+# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute.
+# If left as blank,the JVM system loader will be used as Catalina's "common" 
+# loader.
+# Examples:
+#     "foo": Add this folder as a class repository
+#     "foo/*.jar": Add all the JARs of the specified folder as class 
+#                  repositories
+#     "foo/bar.jar": Add bar.jar as a class repository
+common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar
+
+#
+# List of comma-separated paths defining the contents of the "server" 
+# classloader. Prefixes should be used to define what is the repository type.
+# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute.
+# If left as blank, the "common" loader will be used as Catalina's "server" 
+# loader.
+# Examples:
+#     "foo": Add this folder as a class repository
+#     "foo/*.jar": Add all the JARs of the specified folder as class 
+#                  repositories
+#     "foo/bar.jar": Add bar.jar as a class repository
+server.loader=
+
+#
+# List of comma-separated paths defining the contents of the "shared" 
+# classloader. Prefixes should be used to define what is the repository type.
+# Path may be relative to the CATALINA_BASE path or absolute. If left as blank,
+# the "common" loader will be used as Catalina's "shared" loader.
+# Examples:
+#     "foo": Add this folder as a class repository
+#     "foo/*.jar": Add all the JARs of the specified folder as class 
+#                  repositories
+#     "foo/bar.jar": Add bar.jar as a class repository 
+# Please note that for single jars, e.g. bar.jar, you need the URL form
+# starting with file:.
+shared.loader=
+
+#
+# String cache configuration.
+tomcat.util.buf.StringCache.byte.enabled=true
+#tomcat.util.buf.StringCache.char.enabled=true
+#tomcat.util.buf.StringCache.trainThreshold=500000
+#tomcat.util.buf.StringCache.cacheSize=5000

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/91646a77/conf/client/cisconexusvsm_commands.properties.in
----------------------------------------------------------------------
diff --git a/conf/client/cisconexusvsm_commands.properties.in b/conf/client/cisconexusvsm_commands.properties.in
new file mode 100644
index 0000000..f6db0d9
--- /dev/null
+++ b/conf/client/cisconexusvsm_commands.properties.in
@@ -0,0 +1,25 @@
+# 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.
+
+### bitmap of permissions at the end of each classname, 1 = ADMIN, 2 = RESOURCE_DOMAIN_ADMIN, 4 = DOMAIN_ADMIN, 8 = USER
+### Please standardize naming conventions to camel-case (even for acronyms).
+
+#### Cisco Nexus 1000v Virtual Supervisor Module (VSM) commands
+deleteCiscoNexusVSM = com.cloud.api.commands.DeleteCiscoNexusVSMCmd;1
+enableCiscoNexusVSM = com.cloud.api.commands.EnableCiscoNexusVSMCmd;1
+disableCiscoNexusVSM = com.cloud.api.commands.DisableCiscoNexusVSMCmd;1
+listCiscoNexusVSMs = com.cloud.api.commands.ListCiscoNexusVSMsCmd;1

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/91646a77/conf/client/cloudmanagementserver.keystore
----------------------------------------------------------------------
diff --git a/conf/client/cloudmanagementserver.keystore b/conf/client/cloudmanagementserver.keystore
new file mode 100644
index 0000000..3ee4d13
Binary files /dev/null and b/conf/client/cloudmanagementserver.keystore differ

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/91646a77/conf/client/commands-ext.properties.in
----------------------------------------------------------------------
diff --git a/conf/client/commands-ext.properties.in b/conf/client/commands-ext.properties.in
new file mode 100644
index 0000000..f172067
--- /dev/null
+++ b/conf/client/commands-ext.properties.in
@@ -0,0 +1,35 @@
+# 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.
+
+#### usage commands
+generateUsageRecords=com.cloud.api.commands.GenerateUsageRecordsCmd;1
+listUsageRecords=com.cloud.api.commands.GetUsageRecordsCmd;1
+listUsageTypes=com.cloud.api.commands.ListUsageTypesCmd;1
+
+
+
+### Network Devices commands
+addNetworkDevice=com.cloud.api.commands.AddNetworkDeviceCmd;1
+listNetworkDevice=com.cloud.api.commands.ListNetworkDeviceCmd;1
+deleteNetworkDevice=com.cloud.api.commands.DeleteNetworkDeviceCmd;1
+
+#### traffic monitor commands
+addTrafficMonitor=com.cloud.api.commands.AddTrafficMonitorCmd;1
+deleteTrafficMonitor=com.cloud.api.commands.DeleteTrafficMonitorCmd;1
+listTrafficMonitors=com.cloud.api.commands.ListTrafficMonitorsCmd;1
+
+

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/91646a77/conf/client/commands.properties.in
----------------------------------------------------------------------
diff --git a/conf/client/commands.properties.in b/conf/client/commands.properties.in
new file mode 100755
index 0000000..d9243d5
--- /dev/null
+++ b/conf/client/commands.properties.in
@@ -0,0 +1,405 @@
+# 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.
+
+### bitmap of permissions at the end of each classname, 1 = ADMIN, 2 = RESOURCE_DOMAIN_ADMIN, 4 = DOMAIN_ADMIN, 8 = USER
+### Please standardize naming conventions to camel-case (even for acronyms).
+
+### Account commands
+createAccount=com.cloud.api.commands.CreateAccountCmd;3
+deleteAccount=com.cloud.api.commands.DeleteAccountCmd;3
+updateAccount=com.cloud.api.commands.UpdateAccountCmd;3
+disableAccount=com.cloud.api.commands.DisableAccountCmd;7
+enableAccount=com.cloud.api.commands.EnableAccountCmd;7
+###lockAccount=com.cloud.api.commands.LockAccountCmd;7
+listAccounts=com.cloud.api.commands.ListAccountsCmd;15
+markDefaultZoneForAccount=com.cloud.api.commands.MarkDefaultZoneForAccountCmd;1
+
+#### User commands
+createUser=com.cloud.api.commands.CreateUserCmd;3
+deleteUser=com.cloud.api.commands.DeleteUserCmd;3
+updateUser=com.cloud.api.commands.UpdateUserCmd;3
+listUsers=com.cloud.api.commands.ListUsersCmd;7
+####lockUser=com.cloud.api.commands.LockUserCmd;7
+disableUser=com.cloud.api.commands.DisableUserCmd;7
+enableUser=com.cloud.api.commands.EnableUserCmd;7
+getUser=com.cloud.api.commands.GetUserCmd;1
+
+#### Domain commands
+createDomain=com.cloud.api.commands.CreateDomainCmd;1
+updateDomain=com.cloud.api.commands.UpdateDomainCmd;1
+deleteDomain=com.cloud.api.commands.DeleteDomainCmd;1
+listDomains=com.cloud.api.commands.ListDomainsCmd;7
+listDomainChildren=com.cloud.api.commands.ListDomainChildrenCmd;7
+
+####Cloud Identifier commands
+getCloudIdentifier=com.cloud.api.commands.GetCloudIdentifierCmd;15
+
+#### Limit commands
+updateResourceLimit=com.cloud.api.commands.UpdateResourceLimitCmd;7
+updateResourceCount=com.cloud.api.commands.UpdateResourceCountCmd;7
+listResourceLimits=com.cloud.api.commands.ListResourceLimitsCmd;15
+
+#### VM commands
+deployVirtualMachine=com.cloud.api.commands.DeployVMCmd;15
+destroyVirtualMachine=com.cloud.api.commands.DestroyVMCmd;15
+rebootVirtualMachine=com.cloud.api.commands.RebootVMCmd;15
+startVirtualMachine=com.cloud.api.commands.StartVMCmd;15
+stopVirtualMachine=com.cloud.api.commands.StopVMCmd;15
+resetPasswordForVirtualMachine=com.cloud.api.commands.ResetVMPasswordCmd;15
+changeServiceForVirtualMachine=com.cloud.api.commands.UpgradeVMCmd;15
+updateVirtualMachine=com.cloud.api.commands.UpdateVMCmd;15
+recoverVirtualMachine=com.cloud.api.commands.RecoverVMCmd;7
+listVirtualMachines=com.cloud.api.commands.ListVMsCmd;15
+getVMPassword=com.cloud.api.commands.GetVMPasswordCmd;15
+migrateVirtualMachine=com.cloud.api.commands.MigrateVMCmd;1
+assignVirtualMachine=com.cloud.api.commands.AssignVMCmd;1
+restoreVirtualMachine=com.cloud.api.commands.RestoreVMCmd;15
+
+#### snapshot commands
+createSnapshot=com.cloud.api.commands.CreateSnapshotCmd;15
+listSnapshots=com.cloud.api.commands.ListSnapshotsCmd;15
+deleteSnapshot=com.cloud.api.commands.DeleteSnapshotCmd;15
+createSnapshotPolicy=com.cloud.api.commands.CreateSnapshotPolicyCmd;15
+deleteSnapshotPolicies=com.cloud.api.commands.DeleteSnapshotPoliciesCmd;15
+listSnapshotPolicies=com.cloud.api.commands.ListSnapshotPoliciesCmd;15
+
+
+#### template commands
+createTemplate=com.cloud.api.commands.CreateTemplateCmd;15
+registerTemplate=com.cloud.api.commands.RegisterTemplateCmd;15
+updateTemplate=com.cloud.api.commands.UpdateTemplateCmd;15
+copyTemplate=com.cloud.api.commands.CopyTemplateCmd;15
+deleteTemplate=com.cloud.api.commands.DeleteTemplateCmd;15
+listTemplates=com.cloud.api.commands.ListTemplatesCmd;15
+updateTemplatePermissions=com.cloud.api.commands.UpdateTemplatePermissionsCmd;15
+listTemplatePermissions=com.cloud.api.commands.ListTemplatePermissionsCmd;15
+extractTemplate=com.cloud.api.commands.ExtractTemplateCmd;15
+prepareTemplate=com.cloud.api.commands.PrepareTemplateCmd;1
+
+#### iso commands
+attachIso=com.cloud.api.commands.AttachIsoCmd;15
+detachIso=com.cloud.api.commands.DetachIsoCmd;15
+listIsos=com.cloud.api.commands.ListIsosCmd;15
+registerIso=com.cloud.api.commands.RegisterIsoCmd;15
+updateIso=com.cloud.api.commands.UpdateIsoCmd;15
+deleteIso=com.cloud.api.commands.DeleteIsoCmd;15
+copyIso=com.cloud.api.commands.CopyTemplateCmd;15
+updateIsoPermissions=com.cloud.api.commands.UpdateIsoPermissionsCmd;15
+listIsoPermissions=com.cloud.api.commands.ListIsoPermissionsCmd;15
+extractIso=com.cloud.api.commands.ExtractIsoCmd;15
+
+#### guest OS commands
+listOsTypes=com.cloud.api.commands.ListGuestOsCmd;15
+listOsCategories=com.cloud.api.commands.ListGuestOsCategoriesCmd;15
+
+#### service offering commands
+createServiceOffering=com.cloud.api.commands.CreateServiceOfferingCmd;1
+deleteServiceOffering=com.cloud.api.commands.DeleteServiceOfferingCmd;1
+updateServiceOffering=com.cloud.api.commands.UpdateServiceOfferingCmd;1
+listServiceOfferings=com.cloud.api.commands.ListServiceOfferingsCmd;15
+
+#### disk offering commands
+createDiskOffering=com.cloud.api.commands.CreateDiskOfferingCmd;1
+updateDiskOffering=com.cloud.api.commands.UpdateDiskOfferingCmd;1
+deleteDiskOffering=com.cloud.api.commands.DeleteDiskOfferingCmd;1
+listDiskOfferings=com.cloud.api.commands.ListDiskOfferingsCmd;15
+
+#### vlan commands
+createVlanIpRange=com.cloud.api.commands.CreateVlanIpRangeCmd;1
+deleteVlanIpRange=com.cloud.api.commands.DeleteVlanIpRangeCmd;1
+listVlanIpRanges=com.cloud.api.commands.ListVlanIpRangesCmd;1
+
+#### address commands
+associateIpAddress=com.cloud.api.commands.AssociateIPAddrCmd;15
+disassociateIpAddress=com.cloud.api.commands.DisassociateIPAddrCmd;15
+listPublicIpAddresses=com.cloud.api.commands.ListPublicIpAddressesCmd;15
+
+#### firewall commands
+listPortForwardingRules=com.cloud.api.commands.ListPortForwardingRulesCmd;15
+createPortForwardingRule=com.cloud.api.commands.CreatePortForwardingRuleCmd;15
+deletePortForwardingRule=com.cloud.api.commands.DeletePortForwardingRuleCmd;15
+#### updatePortForwardingRule=com.cloud.api.commands.UpdatePortForwardingRuleCmd;15
+
+#### NAT commands
+enableStaticNat=com.cloud.api.commands.EnableStaticNatCmd;15
+createIpForwardingRule=com.cloud.api.commands.CreateIpForwardingRuleCmd;15
+deleteIpForwardingRule=com.cloud.api.commands.DeleteIpForwardingRuleCmd;15
+listIpForwardingRules=com.cloud.api.commands.ListIpForwardingRulesCmd;15
+disableStaticNat=com.cloud.api.commands.DisableStaticNatCmd;15
+
+#### load balancer commands
+createLoadBalancerRule=com.cloud.api.commands.CreateLoadBalancerRuleCmd;15
+deleteLoadBalancerRule=com.cloud.api.commands.DeleteLoadBalancerRuleCmd;15
+removeFromLoadBalancerRule=com.cloud.api.commands.RemoveFromLoadBalancerRuleCmd;15
+assignToLoadBalancerRule=com.cloud.api.commands.AssignToLoadBalancerRuleCmd;15
+createLBStickinessPolicy=com.cloud.api.commands.CreateLBStickinessPolicyCmd;15
+deleteLBStickinessPolicy=com.cloud.api.commands.DeleteLBStickinessPolicyCmd;15
+listLoadBalancerRules=com.cloud.api.commands.ListLoadBalancerRulesCmd;15
+listLBStickinessPolicies=com.cloud.api.commands.ListLBStickinessPoliciesCmd;15
+listLoadBalancerRuleInstances=com.cloud.api.commands.ListLoadBalancerRuleInstancesCmd;15
+updateLoadBalancerRule=com.cloud.api.commands.UpdateLoadBalancerRuleCmd;15
+
+#### router commands
+startRouter=com.cloud.api.commands.StartRouterCmd;7
+rebootRouter=com.cloud.api.commands.RebootRouterCmd;7
+stopRouter=com.cloud.api.commands.StopRouterCmd;7
+destroyRouter=com.cloud.api.commands.DestroyRouterCmd;7
+changeServiceForRouter=com.cloud.api.commands.UpgradeRouterCmd;7
+listRouters=com.cloud.api.commands.ListRoutersCmd;7
+listVirtualRouterElements=com.cloud.api.commands.ListVirtualRouterElementsCmd;7
+configureVirtualRouterElement=com.cloud.api.commands.ConfigureVirtualRouterElementCmd;7
+
+#### system vm commands
+startSystemVm=com.cloud.api.commands.StartSystemVMCmd;1
+rebootSystemVm=com.cloud.api.commands.RebootSystemVmCmd;1
+stopSystemVm=com.cloud.api.commands.StopSystemVmCmd;1
+destroySystemVm=com.cloud.api.commands.DestroySystemVmCmd;1
+listSystemVms=com.cloud.api.commands.ListSystemVMsCmd;3
+migrateSystemVm=com.cloud.api.commands.MigrateSystemVMCmd;1
+changeServiceForSystemVm=com.cloud.api.commands.UpgradeSystemVMCmd;1
+
+#### configuration commands
+updateConfiguration=com.cloud.api.commands.UpdateCfgCmd;1
+listConfigurations=com.cloud.api.commands.ListCfgsByCmd;1
+ldapConfig=com.cloud.api.commands.LDAPConfigCmd;1
+ldapRemove=com.cloud.api.commands.LDAPRemoveCmd;1
+listCapabilities=com.cloud.api.commands.ListCapabilitiesCmd;15
+
+#### pod commands
+createPod=com.cloud.api.commands.CreatePodCmd;1
+updatePod=com.cloud.api.commands.UpdatePodCmd;1
+deletePod=com.cloud.api.commands.DeletePodCmd;1
+listPods=com.cloud.api.commands.ListPodsByCmd;3
+
+#### zone commands
+createZone=com.cloud.api.commands.CreateZoneCmd;1
+updateZone=com.cloud.api.commands.UpdateZoneCmd;1
+deleteZone=com.cloud.api.commands.DeleteZoneCmd;1
+listZones=com.cloud.api.commands.ListZonesByCmd;15
+
+#### events commands
+listEvents=com.cloud.api.commands.ListEventsCmd;15
+listEventTypes=com.cloud.api.commands.ListEventTypesCmd;15
+
+#### alerts commands
+listAlerts=com.cloud.api.commands.ListAlertsCmd;3
+
+#### system capacity commands
+listCapacity=com.cloud.api.commands.ListCapacityCmd;3
+
+#### swift commands^M
+addSwift=com.cloud.api.commands.AddSwiftCmd;1
+listSwifts=com.cloud.api.commands.ListSwiftsCmd;1
+
+
+#### host commands
+addHost=com.cloud.api.commands.AddHostCmd;3
+addCluster=com.cloud.api.commands.AddClusterCmd;1
+deleteCluster=com.cloud.api.commands.DeleteClusterCmd;1
+updateCluster=com.cloud.api.commands.UpdateClusterCmd;1
+reconnectHost=com.cloud.api.commands.ReconnectHostCmd;1
+updateHost=com.cloud.api.commands.UpdateHostCmd;1
+deleteHost=com.cloud.api.commands.DeleteHostCmd;3
+prepareHostForMaintenance=com.cloud.api.commands.PrepareForMaintenanceCmd;1
+cancelHostMaintenance=com.cloud.api.commands.CancelMaintenanceCmd;1
+listHosts=com.cloud.api.commands.ListHostsCmd;3
+addSecondaryStorage=com.cloud.api.commands.AddSecondaryStorageCmd;1
+updateHostPassword=com.cloud.api.commands.UpdateHostPasswordCmd;1
+
+#### volume commands
+attachVolume=com.cloud.api.commands.AttachVolumeCmd;15
+uploadVolume=com.cloud.api.commands.UploadVolumeCmd;15
+detachVolume=com.cloud.api.commands.DetachVolumeCmd;15
+createVolume=com.cloud.api.commands.CreateVolumeCmd;15
+deleteVolume=com.cloud.api.commands.DeleteVolumeCmd;15
+listVolumes=com.cloud.api.commands.ListVolumesCmd;15
+extractVolume=com.cloud.api.commands.ExtractVolumeCmd;15
+migrateVolume=com.cloud.api.commands.MigrateVolumeCmd;15
+
+#### registration command:  FIXME -- this really should be something in management server that
+####                                 generates a new key for the user and they just have to
+####                                 use that key...the key is stored in the db associated w/
+####                                 the userId...every request to the developer API should be
+####                                 checked against the key
+registerUserKeys=com.cloud.api.commands.RegisterCmd;1
+
+### async-query command
+queryAsyncJobResult=com.cloud.api.commands.QueryAsyncJobResultCmd;15
+listAsyncJobs=com.cloud.api.commands.ListAsyncJobsCmd;15
+
+#### storage pools commands
+listStoragePools=com.cloud.api.commands.ListStoragePoolsCmd;3
+createStoragePool=com.cloud.api.commands.CreateStoragePoolCmd;1
+updateStoragePool=com.cloud.api.commands.UpdateStoragePoolCmd;1
+deleteStoragePool=com.cloud.api.commands.DeletePoolCmd;1
+listClusters=com.cloud.api.commands.ListClustersCmd;3
+enableStorageMaintenance=com.cloud.api.commands.PreparePrimaryStorageForMaintenanceCmd;1
+cancelStorageMaintenance=com.cloud.api.commands.CancelPrimaryStorageMaintenanceCmd;1
+
+#### security group commands
+createSecurityGroup=com.cloud.api.commands.CreateSecurityGroupCmd;15
+deleteSecurityGroup=com.cloud.api.commands.DeleteSecurityGroupCmd;15
+authorizeSecurityGroupIngress=com.cloud.api.commands.AuthorizeSecurityGroupIngressCmd;15
+revokeSecurityGroupIngress=com.cloud.api.commands.RevokeSecurityGroupIngressCmd;15
+authorizeSecurityGroupEgress=com.cloud.api.commands.AuthorizeSecurityGroupEgressCmd;15
+revokeSecurityGroupEgress=com.cloud.api.commands.RevokeSecurityGroupEgressCmd;15
+listSecurityGroups=com.cloud.api.commands.ListSecurityGroupsCmd;15
+
+#### vm group commands
+createInstanceGroup=com.cloud.api.commands.CreateVMGroupCmd;15
+deleteInstanceGroup=com.cloud.api.commands.DeleteVMGroupCmd;15
+updateInstanceGroup=com.cloud.api.commands.UpdateVMGroupCmd;15
+listInstanceGroups=com.cloud.api.commands.ListVMGroupsCmd;15
+
+### Certificate commands
+uploadCustomCertificate=com.cloud.api.commands.UploadCustomCertificateCmd;1
+
+### other commands
+listHypervisors=com.cloud.api.commands.ListHypervisorsCmd;15
+
+### VPN
+createRemoteAccessVpn=com.cloud.api.commands.CreateRemoteAccessVpnCmd;15
+deleteRemoteAccessVpn=com.cloud.api.commands.DeleteRemoteAccessVpnCmd;15
+listRemoteAccessVpns=com.cloud.api.commands.ListRemoteAccessVpnsCmd;15
+
+addVpnUser=com.cloud.api.commands.AddVpnUserCmd;15
+removeVpnUser=com.cloud.api.commands.RemoveVpnUserCmd;15
+listVpnUsers=com.cloud.api.commands.ListVpnUsersCmd;15
+
+#### network offering commands
+createNetworkOffering=com.cloud.api.commands.CreateNetworkOfferingCmd;1
+updateNetworkOffering=com.cloud.api.commands.UpdateNetworkOfferingCmd;1
+deleteNetworkOffering=com.cloud.api.commands.DeleteNetworkOfferingCmd;1
+listNetworkOfferings=com.cloud.api.commands.ListNetworkOfferingsCmd;15
+
+#### network commands
+createNetwork=com.cloud.api.commands.CreateNetworkCmd;15
+deleteNetwork=com.cloud.api.commands.DeleteNetworkCmd;15
+listNetworks=com.cloud.api.commands.ListNetworksCmd;15
+restartNetwork=com.cloud.api.commands.RestartNetworkCmd;15
+updateNetwork=com.cloud.api.commands.UpdateNetworkCmd;15
+
+#### SSH key pair commands
+registerSSHKeyPair=com.cloud.api.commands.RegisterSSHKeyPairCmd;15
+createSSHKeyPair=com.cloud.api.commands.CreateSSHKeyPairCmd;15
+deleteSSHKeyPair=com.cloud.api.commands.DeleteSSHKeyPairCmd;15
+listSSHKeyPairs=com.cloud.api.commands.ListSSHKeyPairsCmd;15
+
+#### Projects commands
+createProject=com.cloud.api.commands.CreateProjectCmd;15
+deleteProject=com.cloud.api.commands.DeleteProjectCmd;15
+updateProject=com.cloud.api.commands.UpdateProjectCmd;15
+activateProject=com.cloud.api.commands.ActivateProjectCmd;15
+suspendProject=com.cloud.api.commands.SuspendProjectCmd;15
+listProjects=com.cloud.api.commands.ListProjectsCmd;15
+addAccountToProject=com.cloud.api.commands.AddAccountToProjectCmd;15
+deleteAccountFromProject=com.cloud.api.commands.DeleteAccountFromProjectCmd;15
+listProjectAccounts=com.cloud.api.commands.ListProjectAccountsCmd;15
+listProjectInvitations=com.cloud.api.commands.ListProjectInvitationsCmd;15
+updateProjectInvitation=com.cloud.api.commands.UpdateProjectInvitationCmd;15
+deleteProjectInvitation=com.cloud.api.commands.DeleteProjectInvitationCmd;15
+
+#### 
+createFirewallRule=com.cloud.api.commands.CreateFirewallRuleCmd;15
+deleteFirewallRule=com.cloud.api.commands.DeleteFirewallRuleCmd;15
+listFirewallRules=com.cloud.api.commands.ListFirewallRulesCmd;15
+
+#### hypervisor capabilities commands
+updateHypervisorCapabilities=com.cloud.api.commands.UpdateHypervisorCapabilitiesCmd;1
+listHypervisorCapabilities=com.cloud.api.commands.ListHypervisorCapabilitiesCmd;1
+
+#### Physical Network commands
+createPhysicalNetwork=com.cloud.api.commands.CreatePhysicalNetworkCmd;1
+deletePhysicalNetwork=com.cloud.api.commands.DeletePhysicalNetworkCmd;1
+listPhysicalNetworks=com.cloud.api.commands.ListPhysicalNetworksCmd;1
+updatePhysicalNetwork=com.cloud.api.commands.UpdatePhysicalNetworkCmd;1
+
+#### Physical Network Service Provider commands
+listSupportedNetworkServices=com.cloud.api.commands.ListSupportedNetworkServicesCmd;1
+addNetworkServiceProvider=com.cloud.api.commands.AddNetworkServiceProviderCmd;1
+deleteNetworkServiceProvider=com.cloud.api.commands.DeleteNetworkServiceProviderCmd;1
+listNetworkServiceProviders=com.cloud.api.commands.ListNetworkServiceProvidersCmd;1
+updateNetworkServiceProvider=com.cloud.api.commands.UpdateNetworkServiceProviderCmd;1
+
+#### Physical Network Traffic Type commands
+addTrafficType=com.cloud.api.commands.AddTrafficTypeCmd;1
+deleteTrafficType=com.cloud.api.commands.DeleteTrafficTypeCmd;1
+listTrafficTypes=com.cloud.api.commands.ListTrafficTypesCmd;1
+updateTrafficType=com.cloud.api.commands.UpdateTrafficTypeCmd;1
+listTrafficTypeImplementors=com.cloud.api.commands.ListTrafficTypeImplementorsCmd;1
+
+#### Storage Network commands
+createStorageNetworkIpRange=com.cloud.api.commands.CreateStorageNetworkIpRangeCmd;1
+deleteStorageNetworkIpRange=com.cloud.api.commands.DeleteStorageNetworkIpRangeCmd;1
+listStorageNetworkIpRange=com.cloud.api.commands.listStorageNetworkIpRangeCmd;1
+updateStorageNetworkIpRange=com.cloud.api.commands.UpdateStorageNetworkIpRangeCmd;1
+
+### Network Devices commands
+addNetworkDevice=com.cloud.api.commands.AddNetworkDeviceCmd;1
+listNetworkDevice=com.cloud.api.commands.ListNetworkDeviceCmd;1
+deleteNetworkDevice=com.cloud.api.commands.DeleteNetworkDeviceCmd;1
+
+### Network Devices commands
+addNetworkDevice=com.cloud.api.commands.AddNetworkDeviceCmd;1
+listNetworkDevice=com.cloud.api.commands.ListNetworkDeviceCmd;1
+deleteNetworkDevice=com.cloud.api.commands.DeleteNetworkDeviceCmd;1
+
+### VPC commands
+createVPC=com.cloud.api.commands.CreateVPCCmd;15
+listVPCs=com.cloud.api.commands.ListVPCsCmd;15
+deleteVPC=com.cloud.api.commands.DeleteVPCCmd;15
+updateVPC=com.cloud.api.commands.UpdateVPCCmd;15
+restartVPC=com.cloud.api.commands.RestartVPCCmd;15
+
+#### VPC offering commands
+createVPCOffering=com.cloud.api.commands.CreateVPCOfferingCmd;1
+updateVPCOffering=com.cloud.api.commands.UpdateVPCOfferingCmd;1
+deleteVPCOffering=com.cloud.api.commands.DeleteVPCOfferingCmd;1
+listVPCOfferings=com.cloud.api.commands.ListVPCOfferingsCmd;15
+
+#### Private gateway commands
+createPrivateGateway=com.cloud.api.commands.CreatePrivateGatewayCmd;1
+listPrivateGateways=com.cloud.api.commands.ListPrivateGatewaysCmd;15
+deletePrivateGateway=com.cloud.api.commands.DeletePrivateGatewayCmd;1
+
+#### Network ACL commands
+createNetworkACL=com.cloud.api.commands.CreateNetworkACLCmd;15
+deleteNetworkACL=com.cloud.api.commands.DeleteNetworkACLCmd;15
+listNetworkACLs=com.cloud.api.commands.ListNetworkACLsCmd;15
+
+#### Static route commands
+createStaticRoute=com.cloud.api.commands.CreateStaticRouteCmd;15
+deleteStaticRoute=com.cloud.api.commands.DeleteStaticRouteCmd;15
+listStaticRoutes=com.cloud.api.commands.ListStaticRoutesCmd;15
+
+#### Tags commands
+createTags=com.cloud.api.commands.CreateTagsCmd;15
+deleteTags=com.cloud.api.commands.DeleteTagsCmd;15
+listTags=com.cloud.api.commands.ListTagsCmd;15
+
+### Site-to-site VPN commands
+createVpnCustomerGateway=com.cloud.api.commands.CreateVpnCustomerGatewayCmd;15
+createVpnGateway=com.cloud.api.commands.CreateVpnGatewayCmd;15
+createVpnConnection=com.cloud.api.commands.CreateVpnConnectionCmd;15
+deleteVpnCustomerGateway=com.cloud.api.commands.DeleteVpnCustomerGatewayCmd;15
+deleteVpnGateway=com.cloud.api.commands.DeleteVpnGatewayCmd;15
+deleteVpnConnection=com.cloud.api.commands.DeleteVpnConnectionCmd;15
+updateVpnCustomerGateway=com.cloud.api.commands.UpdateVpnCustomerGatewayCmd;15
+resetVpnConnection=com.cloud.api.commands.ResetVpnConnectionCmd;15
+listVpnCustomerGateways=com.cloud.api.commands.ListVpnCustomerGatewaysCmd;15
+listVpnGateways=com.cloud.api.commands.ListVpnGatewaysCmd;15
+listVpnConnections=com.cloud.api.commands.ListVpnConnectionsCmd;15

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/91646a77/conf/client/components-cloudzones.xml.in
----------------------------------------------------------------------
diff --git a/conf/client/components-cloudzones.xml.in b/conf/client/components-cloudzones.xml.in
new file mode 100755
index 0000000..4bd3910
--- /dev/null
+++ b/conf/client/components-cloudzones.xml.in
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<components-cloudzones.xml>
+    <system-integrity-checker class="com.cloud.upgrade.DatabaseUpgradeChecker">
+        <checker name="ManagementServerNode" class="com.cloud.cluster.ManagementServerNode"/>
+        <checker name="PremiumDatabaseUpgradeChecker" class="com.cloud.upgrade.PremiumDatabaseUpgradeChecker"/>
+    </system-integrity-checker>
+
+    <management-server class="com.cloud.server.ManagementServerExtImpl" library="com.cloud.configuration.CloudZonesComponentLibrary" extends="components-premium.xml:management-server"/>
+    
+    <configuration-server class="com.cloud.server.ConfigurationServerImpl" extends="components.xml:configuration-server">
+        <dao name="Configuration configuration server" class="com.cloud.configuration.dao.ConfigurationDaoImpl" singleton="false">
+             <param name="premium">true</param>
+        </dao>
+    </configuration-server>
+</components-cloudzones.xml>

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/91646a77/conf/client/components-nonoss.xml.in
----------------------------------------------------------------------
diff --git a/conf/client/components-nonoss.xml.in b/conf/client/components-nonoss.xml.in
new file mode 100755
index 0000000..fbfc5cc
--- /dev/null
+++ b/conf/client/components-nonoss.xml.in
@@ -0,0 +1,97 @@
+<?xml version="1.0"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<!--
+  components.xml is the configuration file for the VM Ops
+  insertion servers.  Someone can quickly pull together an
+  insertion server by selecting the correct adapters to use.
+
+  Here are some places to look for information.
+    - To find out the general functionality that each Manager 
+      or Adapter provide, look at the javadoc for the interface
+      that it implements.  The interface is usually the
+      "key" attribute in the declaration.
+    - To find specific implementation of each Manager or
+      Adapter, look at the javadoc for the actual class.  The 
+      class can be found in the <class> element.
+    - To find out the configuration parameters for each Manager 
+      or Adapter, look at the javadoc for the actual implementation
+      class.  It should be documented in the description of the 
+      class.
+    - To know more about the components.xml in general, look for
+      the javadoc for ComponentLocator.java.
+
+  If you found that the Manager or Adapter are not properly 
+  documented, please contact the author.
+-->
+<components-nonoss.xml>
+    <system-integrity-checker class="com.cloud.upgrade.DatabaseUpgradeChecker">
+        <checker name="ManagementServerNode" class="com.cloud.cluster.ManagementServerNode"/>
+        <checker name="PremiumDatabaseUpgradeChecker" class="com.cloud.upgrade.PremiumDatabaseUpgradeChecker"/>
+    </system-integrity-checker>
+
+    <management-server class="com.cloud.server.ManagementServerExtImpl" library="com.cloud.configuration.PremiumComponentLibrary" extends="components.xml:management-server">
+        <adapters key="com.cloud.ha.Investigator">
+    <adapter name="VmwareInvestigator" class="com.cloud.ha.VmwareInvestigator"/>
+    </adapters>
+    
+    <adapters key="com.cloud.ha.FenceBuilder">
+    <adapter name="VmwareFenceBuilder" class="com.cloud.ha.VmwareFencer"/>
+    </adapters>
+    
+    <adapters key="com.cloud.resource.Discoverer">
+    <adapter name="VShpereServer" class="com.cloud.hypervisor.vmware.VmwareServerDiscoverer"/>
+    </adapters>
+    
+    <adapters key="com.cloud.network.element.NetworkElement">
+     <adapter name="JuniperSRX" class="com.cloud.network.element.JuniperSRXExternalFirewallElement"/>
+	 <adapter name="Netscaler" class="com.cloud.network.element.NetscalerElement"/>
+	 <adapter name="F5BigIP" class="com.cloud.network.element.F5ExternalLoadBalancerElement"/>
+	 <adapter name="CiscoNexus1000vVSM" class="com.cloud.network.element.CiscoNexusVSMElement"/>
+	 </adapters>
+	 
+	 <adapters key="com.cloud.hypervisor.HypervisorGuru">
+	  <adapter name="VMwareGuru" class="com.cloud.hypervisor.guru.VMwareGuru"/>
+	  </adapters>
+	  
+	  <manager name="VmwareManager" key="com.cloud.hypervisor.vmware.manager.VmwareManager" class="com.cloud.hypervisor.vmware.manager.VmwareManagerImpl"/>
+	  <manager name="NetappManager" key="com.cloud.netapp.NetappManager" class="com.cloud.netapp.NetappManagerImpl"/>
+	  <pluggableservice name="NetscalerExternalLoadBalancerElementService" key="com.cloud.network.element.NetscalerLoadBalancerElementService" class="com.cloud.network.element.NetscalerElement"/>
+	  <pluggableservice name="F5ExternalLoadBalancerElementService" key="com.cloud.network.element.F5ExternalLoadBalancerElementService" class="com.cloud.network.element.F5ExternalLoadBalancerElement"/>
+	   <pluggableservice name="JuniperSRXFirewallElementService" key="com.cloud.network.element.JuniperSRXFirewallElementService" class="com.cloud.network.element.JuniperSRXExternalFirewallElement"/>
+	<pluggableservice name="CiscoNexusVSMElementService" key="com.cloud.network.element.CiscoNexusVSMElementService" class="com.cloud.network.element.CiscoNexusVSMElement"/>
+	  
+	  <dao name="NetScalerPodDao" class="com.cloud.network.dao.NetScalerPodDaoImpl" singleton="false"/>
+	  <dao name="CiscoNexusVSMDeviceDao" class="com.cloud.network.dao.CiscoNexusVSMDeviceDaoImpl" singleton="false"/>
+	   <dao name="NetappPool" class="com.cloud.netapp.dao.PoolDaoImpl" singleton="false"/>
+		<dao name="NetappVolume" class="com.cloud.netapp.dao.VolumeDaoImpl" singleton="false"/>
+	  <dao name="NetappLun" class="com.cloud.netapp.dao.LunDaoImpl" singleton="false"/>
+	    <dao name="Configuration configuration server" class="com.cloud.configuration.dao.ConfigurationDaoImpl" singleton="false">
+             <param name="premium">true</param>
+        </dao>
+    </management-server>
+    <configuration-server class="com.cloud.server.ConfigurationServerImpl" extends="components.xml:configuration-server">
+        <dao name="Configuration configuration server" class="com.cloud.configuration.dao.ConfigurationDaoImpl" singleton="false">
+             <param name="premium">true</param>
+        </dao>
+    </configuration-server>
+    
+
+    
+</components-nonoss.xml>