Commit Graph

149 Commits

Author SHA1 Message Date
Prasanna Santhanam 539fca3520 Simulator: Fixing the listTemplatesCommand
Should return the ListTemplatesAnswer and ListVolumes returns
ListVolumesAnswer

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2012-12-26 19:22:17 -08:00
Prasanna Santhanam 1f1a13448f simulator: resurrect simulator hypervisor as plugin
Multiple fixes:
1. changes to the mvn configuration
    a. include simulator to client.war
    b. activate simulator by profile
2. templates for simulator
3. developer prefill for simulator
    a. Use deplydb-simulator to setup simulator db
4. Inherit components-simulator.xml from components.xml
5. ListVolumesCommand missed for MockStorageManager
6. Include simulator properties into utils/db.properties

TODO:
 Secondary storage VMs don't come up because ComponentLocator doesn't
retain a unique set of adapaters by name. Fix this in subsequent
checkin.
2012-12-23 19:28:57 -08:00
Devdeep Singh 8f6fdc3efc CLOUDSTACK-227: Fix NPE and throw an exception if the network is not found in Xen
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 19:03:03 -08:00
Prasanna Santhanam f0c3b4c62a simulator:Using the priority to decide b/w MASTER/BACKUP
BootArgs carry router priority for master and backup and simulator will
reuse the priority to decide RvR status. Deprecating the odd/even logic.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2012-12-22 14:09:59 -08:00
Prasanna Santhanam ed25ec0500 simulator: simulator maintenance mode and simulator latency per command
Detail:
To induce latency for a command you have to use an API call like so
http://localhost:8096/client/api?command=configureSimulator&zoneid=1&podid=1&name=CheckRouterCommand&value=wait:80|timeout:0

(This is a hidden API command just for the simulator)

You will see the configuration effected in the mockconfiguration table of
simulator db. You can introduce the latency at runtime without restarting
management server.

mysql> select * from mockconfiguration;
+----+----------------+--------+------------+---------+--------------------+-------------------+
| id | data_center_id | pod_id | cluster_id | host_id | name               | values            |
+----+----------------+--------+------------+---------+--------------------+-------------------+
|  1 |              1 |      1 |       NULL |    NULL | CheckRouterCommand | wait:80|timeout:0 |
+----+----------------+--------+------------+---------+--------------------+-------------------+
1 row in set (0.00 sec)

By providing the optional zoneid, podid, clusterid, hostid you can induce the
latency at various levels. This delay will happen before the command is
processed and post-execution return Command's Answer back to management
server.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2012-12-22 13:57:13 -08:00
Prasanna Santhanam beff1f45b1 Simulator: components-simulator.xml resource
The extended simulator component including the Simulator Managers and
Discoverers
2012-12-22 13:55:32 -08:00
Prasanna Santhanam d6083ce51d Simulator: moving hypervisor simulator into plugin
Simulator just like any hypervisor should be a plugin.
resurrecting it to aid api refactoring tests. WIP

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2012-12-22 13:02:57 -08:00
Marcus Sorensen 6ed1989133 Summary: Allow for custom storage adaptors based on pool type in KVM
Detail: Instead of using LibvirtStorageAdaptor for everything, you can create
your own storage adaptor and use it. We select storage adaptor based on storage
pool type, thus we needed to adjust LibvirtComputingResource to pass pool type
to everything in KVMStoragePoolManager. This in turn required that we pass the
info necessary to LibvirtComputingResource as well, so a few agent Commands were
modified.

Note this patch in and of itself shouldn't change any existing behavior, just
allow for new storage adaptors to be selected based on storage pool type.

Reviewed-by: Edison Su
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1355769696 -0700
2012-12-17 11:41:36 -07:00
Edison Su b70c1a5a84 Backs NFS-based secondary storage with an S3-compatible object store. Periodically, a reaper thread synchronizes templates and ISOs stored on a NFS secondary storage mount with a configured S3 object store. It also pushes snapshots to the object store when they are created and downloads them in other zones on-demand. In addition to permitting the use of commodity or IaaS storage solutions for static assets, it provides a means of automatically synchronizing template and ISO assets across multiple zones. 2012-12-13 23:18:37 -08:00
Devdeep Singh 5405242674 master - Bug ID: CLOUDSTACK-369. Unable to add XenServer 6.1 to cloudstack. Created a new resource for XS 6.1. Also introduced a guest map for the list of supported os.
Signed-off-by: Devdeep Singh <devdeep.singh@citrix.com>
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2012-12-10 15:17:07 +05:30
Hugo Trippaers 2b74b6e827 Start removing the old ant build files
Removed all build.xml files from the plugins
2012-12-07 15:58:56 +01:00
Marcus Sorensen 7ce2227108 Summary: master - Copy qcow2 instead of converting if source and dest are qcow2
Detail: If source image is qcow2, and we want a qcow2 image, then doing a
convert strips off compression and any snapshots the user had in that image. If
a backing file exists, we stick with convert so we can pull in both the backing
file and the COW image, otherwise we just cp the qcow2 file. This is also faster

Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1354755241 -0700
2012-12-05 17:54:01 -07:00
anthony 40682fc43d CLOUDSTACK-587:
use setMemoryLimits instead
2012-12-05 05:24:46 -08:00
Marcus Sorensen 05d3f86b16 Summary: Fix orphaned patch disks for system VMs on KVM
Detail: This patch deletes any patchdisk found when deleting root volume for
system VM.

BUG-ID: CLOUDSTACK-566
Bugfix-for: 4.0.1
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1354222335 -0700
2012-11-29 13:52:15 -07:00
Marcus Sorensen 5aad7cc307 Summary: Pull patch from 4.0 that skips deleting patchVbd when systemvms are
stopped

Detail: This patch fixed an issue with hosts trying to stop system vms that were
already not running and deleting a patch disk for the system vm running on
another host. It got applied to 4.0 but not master.

Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1354222160 -0700
2012-11-29 13:49:20 -07:00
Marcus Sorensen 88180fc139 Summary: Direct template imaging for CLVM, bypass copy template to primary
Detail: Because of the way most other primary storage types work with cloudstack
   (i.e. backing stores) CLVM actually copies the template to a local logical
   volume on primary storage, then uses that. This causes all of your primary
   storage to be littered with a copy of every template used. Since we're not
   using these, dump the template direct to the newly created logical volume.
   This is faster as well since the template is sparse; we're not creating a fat
   template on primary storage and then copying that to a logical volume when we
   deploy from template.

BUG-ID: CLOUDSTACK-508
Bugfix-for: 4.1
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1353221260 -0700
2012-11-17 23:47:39 -07:00
Marcus Sorensen b42f3f53d8 Summary: Fix empty traffic labels causing NullPointerExceptions on KVM
Detail: In com.cloud.hypervisor.kvm.resource.BridgeVifDriver.java, in 2 places
an if block should have evaluated to true if trafficLabel was null, however it
was causing a NullPointerException instead.

BUG-ID : NONE
Bugfix-for: 4.0
Reviewed-by: Marcus Sorensen
Reported-by: Dave Cahill
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1352307750 -0700
2012-11-07 10:02:30 -07:00
marcus 843e140858 Summary: Allow public and private nic to be the same bridge
Detail: There was a regression in functionality introduced by
915babd970 where the public
bridge could not also be the private bridge. This had several
additional consequences, this patch should revert the behavior
back while keeping the functionality enhancements introduced by that
commit.

BUG-ID : NONE
Reviewed-by: Dave Cahill
Reported-by: Dave Cahill via cloudstack-dev
Signed-off-by: Marcus Sorensen <shadowsor@gmail.com> 1351574006 -0600
2012-10-29 23:13:26 -06:00
Hiroaki Kawai c03712e86a CLOUDSTACK-423 : During VM migration on KVM, VifDriver.unplug is not
called.

VifDriver.unplug must be called in MigrateCommand which hooks VM
migration in source host, because plug will be called in
PrepareForMigration in destination host. But that operation is missing
in current LibvirtComputingResources.

Signed-off-by: Edison Su <sudison@gmail.com>
2012-10-29 11:36:25 -07:00
Hiroaki Kawai cb9395498f kvm agent NIC unplug will always fail
On kvm computing host, vifdriver.unplug will always fails (throws
LibvirtException) and network cleanup will not be called. This was
because the code first undefine the computing domain, and then tries to
query the destroyed machine definition to fetch NIC information. IMHO,
kvm plugin code rounds LibvirtException too much.

Signed-off-by: Edison Su <sudison@gmail.com>
2012-10-29 11:35:49 -07:00
Hugo Trippaers 200703e9b8 VMware stuff should be compile time dependency 2012-10-29 08:55:24 +01:00
Hugo Trippaers 6a20802640 Fix runtime dependencies for vmware modules
The vmware modules should be listed as provided so they are never
packaged. However this also means that you have to put them in the
web-inf/lib directory by hand.

Set the version of the api in the central pom for easy reference.

Add wsdl4j as a runtime requirement. It is actually required by the
vmware implementation but it is easier to list it as a requirements for
the component here as vmware is not in any maven repo

put the dependency on vim back in the dependencies. It is not required
for compile, but is required as runtime by apputils.
2012-10-22 17:58:36 +02:00
Hugo Trippaers 53cea844bc The interface change introduced by commit
214bbf3ebd broke the nonoss build.
2012-10-18 09:40:13 +02:00
Hugo Trippaers 3bb136292b Double check vmware dependencies and provide information on where to get
them.
2012-10-15 16:57:59 +02:00
Rohit Yadav 9b1b145192 CLOUDSTACK-346: Replace vmware-lib-jaxrpc with axis-jaxrpc
vmware-lib-jaxrpc is now provided by axis-jaxrpc-1.4.jar, the former is
the same as latter (bit by bit) and only difference is the file name.

- Fix dependency in vmware-base's pom.xml
- Fix dependency in hypervisor-plugin-vmware's pom.xml
- Fix install-non-oss.sh by reverting commit:
    2e6ddc6c36.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-10-15 16:44:30 +05:30
Edison Su ac97d67528 add nonoss maven build 2012-10-11 01:15:52 -07:00
Wido den Hollander f4a2298ca9 rbd: Make secret usage names unique for all pools
Since only the cephx user like 'admin' was passed we couldn't define two RBD storage pools
using the cephx user admin, even if they were running on different Ceph clusters.

By adding the monitor hostname and poolname to the secret's usage (which we don't even use) it becomes
unique.
2012-10-10 00:21:14 +02:00
Alex Huang 9d94e6b1d3 Changed the hardcoded vmware path to point to cloud/common 2012-10-06 23:43:44 -07:00
Marcus Sorensen 653889dc4d KVM: removes check for 'snapshot' text in qemu-img --help output
Signed-off-by: Edison Su <sudison@gmail.com>
2012-10-05 17:58:12 -07:00
Rohit Yadav 3e7ba774f9 CLOUDSTACK-254: Fix exec path for netusage.sh
Fixes the hard coded path in the vmware plugin.
The systemvm.iso file would copy the script only to /opt/cloud/bin.
Same is the path used for vpc_netusage.sh

Signed-off-by: Rohit Yadav <rohit.yadav@citrix.com>
2012-10-04 15:30:43 +05:30
Edison Su 751d391a32 build kvm-agent.zip 2012-10-02 15:38:34 -07:00
Hugo Trippaers 25dd8de70a Fix dependencies for vmware hypervisor.
Remove unused imports from VmwareResource as they caused a dependency to
xapi.
2012-10-02 14:25:40 -07:00
Hugo Trippaers 46be0537bf Core should not depend on xapi, only the xen and ovm plugin.
Awsapi needs axis2-adb
2012-10-02 10:19:15 -07:00
Hugo Trippaers aa6355ffe6 Updated master to 4.1.0
mvn release:update-versions -DautoVersionSubmodules=true -Dnonoss -P
client,deps,developer  -DdevelopmentVersion=4.1.0-SNAPSHOT
2012-10-01 11:00:55 -07:00
Anthony Xu 5d301f2af5 CS-16370 , VCP, support delete guest network for vmware 2012-09-26 17:42:42 -07:00
Anthony Xu ba8b418542 CS-16375: do desetup network after last VM in guest network is gone 2012-09-26 17:42:42 -07:00
Marcus Sorensen 915babd970 fix kvm traffic labels (guest traffic types on multiple networks don't
work)

Cloudstack seems to let you create guest traffic types on multiple
physical networks. However, when I try this with KVM I end up always
bridging to whatever device is used for guest.network.device. This pulls
the traffic label (NicTO.getName()) and uses that bridge to ensure that
we get on the correct physical network, rather than just always using
the guest.network.device.

This also changes the bridge naming scheme from cloudVirBr + vlanid to
br + physicalinterface + "-" + vlanid. This is because we should be able
to support the same vlan numbers per physical network, and the previous
bridge name would not support this and collide.

Signed-off-by: Edison Su <sudison@gmail.com>
2012-09-26 17:14:57 -07:00
Edison Su de13b097ae Revert "find local storage based on name label"
This reverts commit a95a9dc07c.
2012-09-26 16:38:50 -07:00
Marcus Sorensen f0e928461a KVM: Storage Pool collisions on ISOs due to using random UUID on pool
create

The code is unable to detect an existing pool, because we use a random
UUID each time. New Libvirt doesn't allow multiple pools to be defined
to the same storage.  This patch generates a UUID based on the storage
path, so that it can be detected as existing and reused. It also cleans
up no-op code and adjusts the naming of a few things to clean up any
confusion.

Signed-off-by: Edison Su <sudison@gmail.com>
2012-09-26 16:19:06 -07:00
Marcus Sorensen 38a885776c fix /root/.ssh directory creation for KVM
Since /root is r-x permissions, Java fails to mkdir /root/.ssh (even
though the agent is running as root) because it looks for the writable
permission. This patch modifies the 'chmod 700 /root/.ssh' shell command
that we already use into 'mkdir -m 700 /root/.ssh', to be able to create
the directory as root even though write permissions are not set on
/root. This seemed cleaner/safer than adding writable to /root.

Signed-off-by: Edison Su <sudison@gmail.com>
2012-09-26 14:03:12 -07:00
Edison Su a95a9dc07c find local storage based on name label 2012-09-26 11:50:23 -07:00
Edison Su 7f914ace65 fix can't find system vm template on latest ubuntu 12.04, for devcloud 2012-09-25 15:49:16 -07:00
Edison Su 66dc718625 add error log, if adding storage pool failed 2012-09-21 17:54:54 -07:00
Kelven Yang 066ff97b01 Commit for https://reviews.apache.org/r/7191/ 2012-09-20 15:46:40 -07:00
Kelven Yang 4c5f41bfeb Commit for https://reviews.apache.org/r/6928/ 2012-09-20 15:42:06 -07:00
Marcus Sorensen 9324e562e5 systemvm.iso not found when KVM launches system vms
Signed-off-by: Edison Su <sudison@gmail.com>
2012-09-20 13:54:41 -07:00
Edison Su 600a45ed39 fix compile error 2012-09-18 19:49:59 -07:00
Hiroaki Kawai a6aebe098e add logging for debugging.
The default value for local.storage.path does not exists by
default in CentOS 6. By default, this results in NullPointerException
silently. Without this log message, administrator can't figure out
the reason at all.

Signed-off-by: Edison Su <sudison@gmail.com>
2012-09-18 18:28:07 -07:00
Marcus Sorensen 3a74c36eed CLOUDSTACK-120: Add proper OS name to KVMGuestOsMapper for systemvm
Signed-off-by: Edison Su <sudison@gmail.com>
2012-09-17 14:22:01 -07:00
Marcus Sorensen f52d37fb53 Fix potential nullpointer in recent KVM systemvm patchdisk update
Signed-off-by: Edison Su <sudison@gmail.com>
2012-09-14 15:27:23 -07:00