David Nalley f3a9a835d3 Removing symlinks for CloudStack-248 and CloudStack-209
The problem that is described in both of those bugs is the deletion of files
installed by cloud-scripts.

What is happening is that instead of fixing the paths to scripts in places
where they are called, we tried to create a symlink in a %post section in
the RPM so that there was a symlink to the new directory for the scripts.
That does work (in new installs) but the problem that arises is that when
RPM is setting up the transation it doesn't know about the symlink (it's
in a %post, the symlinked directory is unowned from RPMs perspective, or
rather it is only owned by the cloud-agent-scripts package, which will
be removed.

So what happens is that cloud-agent-scripts puts things in /foo - we
come along to upgrade to 4.0 and that means we use cloud-scripts -
which puts things in /bar - so we install things into /bar (/foo still
exists at this point) then in a %post (and for the record, RPM doesn't
know what happens in a %pre, %post, %preun, or %postun - they are outside
the transation) we delete /foo and then create a symlink from /foo to /bar.
Then we get to the transaction part where we are ready to remove
cloud-agent-scripts - so it's time to delete /foo - except /foo is now a
symlink to /bar and thus we wipe out the contents of /foo and /bar in one
fell swoop.

To quote Bill Notting from Red Hat who pointed this out:
15:43 < notting> rpm decides what to do with all the files (update, remove,
or write new file) before the transaction. if the directory layout changes
*during* the transaction, weird shit happens.
2012-10-05 16:26:52 -04:00
2012-10-01 11:00:55 -07:00
2012-10-02 13:27:23 -07:00
2012-10-01 11:00:55 -07:00
2012-10-01 11:00:55 -07:00
2012-08-08 20:59:39 -04:00
2012-09-03 14:13:50 +02:00
waf
2010-08-11 09:13:29 -07:00
2012-09-14 15:33:15 -07:00

Apache CloudStack (Incubating) Version 4.0.0

About Apache CloudStack (Incubating)

Apache CloudStack (Incubating) is software designed to deploy and manage large networks of virtual machines, as a highly available, highly scalable Infrastructure as a Service (IaaS) cloud computing platform. CloudStack is used by a number of service providers to offer public cloud services, and by many companies to provide an on-premises (private) cloud offering.

Apache CloudStack currently supports the most popular hypervisors: VMware, Oracle VM, KVM, XenServer and Xen Cloud Platform. CloudStack also offers bare metal management of servers, using PXE to provision OS images and IPMI to manage the server. Apache CloudStack offers three methods for managing cloud computing environments: an easy to use Web interface, command line tools, and a full-featured RESTful API.

Visit us at cloudstack.org.

Mailing lists

Development Mailing List Users Mailing list Commits mailing list

License

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.

Building CloudStack

By default, CloudStack will only build with supporting packages that are appropved by the ASF as being compatible with the Apache Software License Version 2.

Default build

To build the default build target, use maven3 and execute:

mvn install

Including optional third party libraries in your build

If you want to build this software against one of the optional third party libraries, follow the instructions below:

These third parties jars are non available in Maven central, and need to be located and downloaded by the developer themselves. The libraries to download are listed below, by the feature that they support.

For F5 load balancing support: cloud-iControl.jar

For Netscaler support: cloud-netscaler.jar
cloud-netscaler-sdx.jar

For NetApp Storage Support: cloud-manageontap.jar

For VMware Support: vmware-vim.jar
vmware-vim25.jar
vmware-apputils.jar

Once downloaded (and named the same as listed above), they can be installed into your local maven repository with the following command:

cd deps&&sh ./install-non-oss.sh

To perform the build, run the following command:

mvn -Dnonoss install

Running a developer environment

To run the webapp client:

mvn org.apache.tomcat.maven:tomcat7-maven-plugin:2.0-beta-1:run -pl :cloud-client-ui -am -Pclient

Then hit: http://localhost:8080/cloud-client-ui/

or add in your ~/.m2/settings.xml org.apache.tomcat.maven and save your fingers with mvn tomcat7:run -pl :cloud-client-ui -am -Pclient

Optionally add -Dnonoss to either of the commands above.

If you want to use ide debug: replace mvn with mvnDebug and attach your ide debugger to port 8000

Notice of Cryptographic Software

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.

The following provides more details on the included cryptographic software:

TODO

Description
Languages
Java 68.8%
Python 18.8%
Vue 6%
C# 2.8%
JavaScript 1.7%
Other 1.7%