Commit Graph

1721 Commits

Author SHA1 Message Date
Sateesh Chodapuneedi 5e41a830a5 This closes #373
CLOUDSTACK-3317 - DVS does not support management\storage network

Added support for Management and Storage Network traffic over VMware DVS in CloudStack deployments. Also added support for storage VLAN over dvPortGroup.

Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>

CLOUDSTACK-3317 - DVS does not support management\storage network

Use non-zero dvport count while updating dvportgroups of system traffic.
Updated configuration compare logic to avoid update dvportgroup operation unless required.
This would help improve speed in vm/network deployment as the update calls would reduce. Also improved logging.

Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>

Adding unit tests in class HypervisorHostHelperTest

Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>

Added license header to new file being added to repo/branch.

Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
2015-06-10 02:07:40 +05:30
Daan Hoogland b272d7717e Revert "Fix 2 findbugs high priority warnings"
This reverts commit 1ca74dac26.
2015-06-08 10:01:19 +02:00
Rafael da Fonseca e8c7069f73 Fix findbugs high priority warning VmwareStorageManagerImpl.java:1023, RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE, Priority: High Redundant nullcheck of datastoreVolumePath, which is known to be non-null in com.cloud.hypervisor.vmware.manager.VmwareStorageManagerImpl.getVolumePathInDatastore(DatastoreMO, String)
Assertion is not used in runtime, correct way is throw and handle exception without killing app

Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>

This closes #362
2015-06-08 09:40:50 +02:00
Rafael da Fonseca 38c269d71e Fix performance issue reported by findbugs (unnescessary boxing/unboxing) VmwareResource.java:693, DM_BOXED_PRIMITIVE_FOR_PARSING, Priority: High VmwareResource.java:4769, DM_BOXED_PRIMITIVE_FOR_PARSING, Priority: High Boxing/unboxing to parse a primitive com.cloud.hypervisor.vmware.resource.VmwareResource.getNetworkStats(String)
Now op is faster and takes up less memory

Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>

This closes #365
2015-06-08 09:32:52 +02:00
Rafael da Fonseca 1ca74dac26 Fix 2 findbugs high priority warnings
VmwareResource.java:315, MS_SHOULD_BE_FINAL, Priority: High
com.cloud.hypervisor.vmware.resource.VmwareResource.s_serviceContext isn't final but should be

VmwareResource.java:331, MS_SHOULD_BE_FINAL, Priority: High
com.cloud.hypervisor.vmware.resource.VmwareResource.s_powerStatesTable isn't final but should be

Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>

This closes #363
2015-06-08 09:24:07 +02:00
wilderrodrigues 93845afd53 Using a try-wioth resrouce block as suggested in @DaanHoogland review.
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>

This closes #355
2015-06-04 12:34:05 +02:00
wilderrodrigues 7f4e2c7cf0 Renaming the variable from "s" to "script"
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>
2015-06-04 12:34:05 +02:00
wilderrodrigues 6138d9a690 Coverity issue 1116812 - Replacing concatenation with optionsBuffer.append(option.getKey()).append('=').append(option.getValue()).append(',');
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>
2015-06-04 12:34:05 +02:00
wilderrodrigues 9ff38486a1 Coverity issue 1116677 - Avoiding catching only Exception. Makes the code too britle. - Catching the QemuImgException and throwing it to be caught further in the code - Surrounding the output stream with try/catch and throwing it to be further handled in the code. Closing the output stream quietly.
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>
2015-06-04 12:34:05 +02:00
wilderrodrigues 6271663682 Formatting the code - Adding final modifier and indenting the code
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>
2015-06-04 12:34:04 +02:00
wilderrodrigues fe78c76691 Coverity issue: 1012179 - Commenting out unused variable.
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>
2015-06-04 12:34:03 +02:00
wilderrodrigues 159d8c2c97 Formatting the code - Adding final modifier to attributes and indenting the code.
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>
2015-06-04 12:34:03 +02:00
Daan Hoogland 3d4d152753 CID 1302976 Scanner in try-with-resource
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #352
2015-06-04 00:09:40 +02:00
Daan Hoogland 109b6e94d3 CID 1302974: Scanner in try-with-resource
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #353
2015-06-04 00:09:16 +02:00
Rohit Yadav f341246888 CLOUDSTACK-8530: KVM hosts without active agents should be in Disconnected state
KVM hosts which are actuall up, but if their agents are shutdown should be put
in disconnected state. This would avoid getting the VMs HA'd and other commands
such as deploying a VM will exclude that host and save us from errors.

The improvement is that, we first try to contact the KVM host itself. If it fails
we assume that it's disconnected, and then ask its KVM neighbours if they can
check its status. If all of the KVM neighbours tell us that it's Down and we're
unable to reach the KVM host, then the host is possibly down. In case any of the
KVM neighbours tell us that it's Up but we're unable to reach the KVM host then
we can be sure that the agent is offline but the host is running.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Signed-off-by: wilderrodrigues <wrodrigues@schubergphilis.com>

This closes #340
2015-06-02 13:27:16 +02:00
wilderrodrigues 607a63b12d Mocking the Connect object used in the LibvirtMigrateCommandWrapper
When executing the tests in an environment where Libvirt is also installed, it
caused errors.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #342
2015-06-01 21:11:25 +02:00
wilderrodrigues b267c5fc5a Replacing real IPs by 127.0.0.1. - It was causing problems in some environments - The Ips should have been removed in a previous commit, but some of them were missed
Signed-off-by: wilderrodrigues <wrodrigues@schubergphilis.com>

This closes #325
2015-05-29 11:25:40 +02:00
Jayapal b616522088 CLOUDSTACK-8324: Corrected the file paths for xenserver command files
This closes #315
2015-05-28 17:02:09 +05:30
Jayapal 6e96fc6f38 CLOUDSTACK-8324: Updated import and added ResourceWrapper annotation 2015-05-28 15:56:37 +05:30
Jayapal 3a8d1f7c55 CLOUDSTACK-8324: Added unit test cases for GetVmIpAddressCommand 2015-05-28 15:56:37 +05:30
Jayapal e407986183 CLOUDSTACK-8324: Added config drive support for xenserver 2015-05-28 15:51:50 +05:30
Jayapal 7984ae5283 CLOUDSTACK-8324: Resource base changes for vm ip fetch 2015-05-28 15:42:08 +05:30
wilderrodrigues b155129ae8 Fixing the packaging of the Xen resource tests - The package declaration of all Test classes was point to a package that was not represented as a directory - For example: Class A had "package b.c.d;" as declaration, but the class A was under directory "c"
Maven was bulding the project and executing the tests just fine because it uses "-sourcepath". However,
with IDEs and javac it would fail.

Signed-off-by: wilderrodrigues <wrodrigues@schubergphilis.com>

This closes #317
2015-05-27 16:06:33 +02:00
wilderrodrigues ce9014d2ec Fix the NPE tht was being caught by the executeRequest() method. - The LibvirtUtilitiesHelper should have been injected, but it did not work on the Agent side. Due to that, when sending a StartCommand we were experiencing NPE, which made impossible to get SSVM/CPVM started. - The LibvirtUtilitiesHelper class is now being instantiated withing the LibvirtComputingResource
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>

This closes #318
2015-05-27 13:19:57 +02:00
Rohit Yadav cde6ef94b8 CLOUDSTACK-8247: Pull average Cpu util report between polling
Pull average Cpu util report between polling intervals instead of since boot
instead of using values since uptime

(cherry picked from commit 04176eaf17)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java

This closes #297
2015-05-25 15:52:00 +02:00
Rohit Yadav 9dcfbceae7 kvm: for disabling pxe, pass empty file
Passing the file argument to the xml break for EL 7.1, the fix removes
the argument as just passing rombar='off' with its file arg to be empty string.

This closes #290

(cherry picked from commit aafa0c80b3)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-25 00:31:32 +02:00
Rafael da Fonseca 79d24ae218 Fix xenserver tests for travis 2015-05-23 16:14:09 +02:00
Rohit Yadav d7f4498f76 kvm: Strip trailing comma for qemu-img convert options
Fix trailing comma for qemu-img convert options, Qemu 2.0+ not tolerant to it

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 90ac1aba13)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-22 13:33:54 +01:00
Rohit Yadav c37060a1ff CLOUDSTACK-8338: Fix hypervisor stats reporting for KVM on EL7
EL7 has a different output to 'free', use /proc/meminfo instead of a tool to be
more consistent across distros

(cherry picked from commit 212a05a345)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
2015-05-22 12:10:54 +01:00
wilderrodrigues add4277720 CLOUDSTACK-8502
Added CitrixStorageSubSystemCommandWrapper to complete the CitrixResourceBase refactor.
  - All 101 unit tests are green
2015-05-21 13:59:49 +02:00
wilderrodrigues 3efdc6c356 CLOUDSTACK-8502
Using Annotations on the Libvirt wrappers in order to increase maintainability
  - All wrappers modified
  - All 143 unit tests are green
2015-05-21 13:37:27 +02:00
wilderrodrigues 7ff1a81cee CLOUDSTACK-8502
Using Annotations on the Citrix wrappers in order to increase maintainability
  - All wrappers modified
  - All 100 unit tests are green
2015-05-21 13:36:55 +02:00
wilderrodrigues 14c123e082 Merge branch 'fix/libvirt_unittests_timeout' of https://github.com/schubergphilis/cloudstack
This closes #270
2015-05-20 15:56:13 +02:00
wilderrodrigues 982a0235a0 CLOUDSTACK-8486
Removing real IPs from the tests because they cause a long running time for LibvirtComputingResourceTest
    - In a local machine it takes 1.977s, but in a KVM test environment it's taking 257.879 sec
2015-05-20 14:52:08 +02:00
Wido den Hollander 3894d34b2c CLOUDSTACK-8489: Set smbios information for guest
This allows a guest to easily detect that it is running inside CloudStack
and see which UUID it has.
2015-05-20 13:28:56 +02:00
wilderrodrigues ab7473eea0 Changing the JUnit runner in order to avoid problems with Java 8 - All tests passed using different approaches - Maven with parameters: -Dmaven.compiler.source=1.8 -Dmaven.compiler.target=1.8 - Maven without parameters
All builds were executed using javac 1.8.0_31

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #266
2015-05-20 09:53:46 +01:00
wilderrodrigues 0cdb4b6108 Fixing the testGetHostStatsCommand test under LibvirtComputingResourceTest. - Removed the expected value from the Test annotation - Mocking the bash path in order to avoid environment/OS issues
Fixing typo on LibvirtRequestWrapper
  - Replace linbvirtCommands by libvirtCommands on LibvirtRequestWrapper

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #255
2015-05-18 20:07:02 +02:00
wilderrodrigues c7d2e444d2 Fixing license header in a file added during the LibVirt refactor
- New class is MigrateKVMAsync
2015-05-13 11:56:43 +02:00
wilderrodrigues f575206ad4 Fixing testModifySshKeysCommand in the LibvirtComputingResourceTest class
- The test was okay, but when running in an environment where a /root/.ssh/id_rsa existed, it would return true then fail
  - We now mock the calls to methods that return the key paths, instead of relying in the static variables
2015-05-08 19:53:03 +02:00
wilderrodrigues 74ad48db55 Refactoring the LibvirtComputingResource
- Adding LibvirtStartCommandWrapper
  - 8 unit tests added
  - KVM hypervisor plugin with 23.2% coverage
2015-05-06 19:24:16 +02:00
wilderrodrigues 09656ca84e Refactoring the LibvirtComputingResource
- Adding LibvirtNetworkElementCommandWrapper and LibvirtStorageSubSystemCommandWrapper
  - 2 unit tests added
  - KVM hypervisor plugin with 22.2% coverage

I also refactored the StorageSubSystemCommand interface into an abstract class
  - Remove the pseudo-multiple-inheritance implementation
    - The StorageSubSystemCommand was an interface, not related to the Command class
      and its implementation were extending the Command class anyway. The whole structure is better now.
2015-05-06 19:24:16 +02:00
wilderrodrigues 08106e34d0 Refactoring the LibvirtComputingResource
- Adding LibvirtResizeVolumeCommandWrapper
  - 5 unit tests added
  - KVM hypervisor plugin with 22.1% coverage
2015-05-06 19:24:15 +02:00
wilderrodrigues ae505e7bef Refactoring the LibvirtComputingResource
- Addin LibvirtPvlanSetupCommandWrapper
  - 6 unit tests added
  - KVM hypervisor plugin with 21% coverage

From the 6 tests added, 2 were extra tests to increase the coverage of the LibvirtStopCommandWrapper
  - Increased from 35% to 78.7%
2015-05-06 19:24:15 +02:00
wilderrodrigues 7fd43f33d3 Refactoring the LibvirtComputingResource
- 5 unit tests added
  - KVM hypervisor plugin with 20.1% coverage
2015-05-06 19:24:15 +02:00
wilderrodrigues 0b1b2b6d92 Refactoring the LibvirtComputingResource
- Adding LibvirtCopyVolumeCommandWrapper

Refactoring the LibvirtUtilitiesHelper
  - Changing method name

Did not add any test to this commit due to the refactor mentioned abot.
Will proceed and add the tests

i# Please enter the commit message for your changes. Lines starting
2015-05-06 19:24:15 +02:00
wilderrodrigues 885b9e45d7 Renaming LibvirtConnectionWrapper to LibvirtUtilitiesHelper
- Gave it a better, more suggestive, name since I now added other methods to the class.
  - It makes easier to mock objects and get a better coverage of the classes
2015-05-06 19:24:14 +02:00
wilderrodrigues b3913ca1fb Refactoring the LibvirtComputingResource
- Adding LibvirtCreatePrivateTemplateFromSnapshotCommandWrapper
  - 5 unit tests added
  - KVM hypervisor plugin with 19.5% coverage
2015-05-06 19:24:14 +02:00
wilderrodrigues bcf78d3b43 Refactoring the LibvirtComputingResource
- Adding LibvirtBackupSnapshotCommandWrapper, LibvirtCreatePrivateTemplateFromVolumeCommandWrapper and LibvirtManageSnapshotCommandWrapper
  - 3 unit tests added
  - KVM hypervisor plugin with 18.3% coverage

Less tests added to those classes because the code is quite complex and way too long.
The tests added are just covering the new flow, to make sure it works fine. I will come back to those classes later.
2015-05-06 19:24:13 +02:00
wilderrodrigues 52d9f0c206 Refactoring the LibvirtComputingResource
- Adding LibvirtNetworkUsageCommandWrapper, LibvirtPlugNicCommandWrapper and LibvirtUnPlugNicCommandWrapper
  - 9 unit tests added
  - KVM hypervisor plugin with 18.3% coverage
2015-05-06 19:24:13 +02:00
wilderrodrigues ff7ae9ca0c Refactoring the LibvirtComputingResource
- Adding LibvirtCreateVolumeFromSnapshotCommandWrapper, LibvirtFenceCommandWrapper and LibvirtSecurityGroupRulesCommandWrapper
  - 6 unit tests added
  - KVM hypervisor plugin with 17.2% coverage
2015-05-06 19:24:13 +02:00