Commit Graph

277 Commits

Author SHA1 Message Date
Remi Bergsma 43ab98d823 Updating pom.xml version numbers for release 4.9.0-SNAPSHOT
Signed-off-by: Remi Bergsma <github@remi.nl>
2016-01-26 15:12:20 +01:00
Remi Bergsma 32fcc47117 Updating pom.xml version numbers for release 4.8.1-SNAPSHOT
Signed-off-by: Remi Bergsma <github@remi.nl>
2016-01-26 09:39:00 +01:00
Remi Bergsma 62f218b7bd Updating pom.xml version numbers for release 4.8.0
Signed-off-by: Remi Bergsma <github@remi.nl>
2016-01-20 23:43:35 +01:00
Remi Bergsma 8f5a2920e8 Updating pom.xml version numbers for release 4.8.0-SNAPSHOT
Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-21 22:09:31 +01:00
Remi Bergsma 8757daf2d1 Merge pull request #1178 from miguelaferreira/nsx-livelock
Prevent live-lock in NSX API clientThe NSX api client relies on a sequence of responses to identify the need to authenticate and to follow redirects. In order to avoid live-locks, the NSX API client has a counter that will abort the execution after 5 consecutive requests that do not produce a Success (200) response.
When a NSX controller enters a faulty state it can allow authentication requests but deny any other API call. In such cases the NSX API client will consider the denied request a reason to follow a redirect and will enter into a live-lock (because the actual redirection is not happening).
This PR changes the NSX API client to no reset it's counter on a Success response from an authentication request. That is, the counter is only reset if another type of API call yields a Success response.

In addition, this PR also:
* changes the configuration of the license-maven-plugin to ignore files generated by pmd
* moves the NSX marvin test to a plugins folder
* refactors the NSX marvin test to reduce duplication
* adds an extra test case to the NSX marvin test that checks that NSX tunnels are properly created

* pr/1178:
  Test NSX tunnel in guest network
  Refactor test cases to reduce duplication
  Use logger to print debug messages during test
  Move NSX integrationt test to new plugins folder
  Ignore pmd generated files during license check
  Fix NSX rest client to not reset execution counter after a login
  Add test for NSX plugin that simulates a live lock

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-07 19:34:20 +01:00
Abhinandan Prateek 987fcbd441 CLOUDSTACK-8592: Implement Quota service
Quota service while allowing for scalability will make sure that the cloud is
not exploited by attacks, careless use and program errors. To address this
problem, we propose to employ a quota-enforcement service that allows resource
usage within certain bounds as defined by policies and available quotas for
various entities.  Quota service extends the functionality of usage server to
provide a measurement for the resources used by the accounts and domains using a
common unit referred to as cloud currency in this document. It can be configured
to ensure that your usage won’t exceed the budget allocated to accounts/domain
in cloud currency.  It will let user know how much of the cloud resources he is
using. It will help the cloud admins, if they want, to ensure that a user does
not go beyond his allocated quota. Per usage cycle if a account is found to be
exceeding its quota then it is locked. Locking an account means that it will not
be able to initiat e a new resource allocation request, whether it is more
storage or an additional ip. Needless to say quota service as well as any action
on the account is configurable.

Changes from Github code review:

- Added marvin test for quota plugin API
- removed unused commented code
- debug messages in debug enabled check
- checks for nulls, fixed access to member variables and feature
- changes based on PR comments
- unit tests for UsageTypes
- unit tests for all Cmd classes
- unit tests for all service and manager impls
- try-catch-finally or try-with-resource in dao impls for failsafe db switching
- remove dead code
- add missing quota calculation case (regression fixed)
- replace tabs with spaces in pom.xmls
- quota: though default value for quota_calculated is 0, the usage server
  makes it null while entering usage entries. Flipping the condition so
  as to acocunt for that.
- quotatypes: fix NPE in quota type
- quota framework test fixes
- made statement period configurable
- changed default email templates to reflect the fact that exhausted quota may not result in a locked account
- added quotaUpdateCmd that refreshes quota balances and sends alerts and statements
- report quotaSummary command returns quota balance, quota usage and state for all account
- made UI framework changes to allow for text area input in edit views
- process usage entries that have greater than 0 usage
- orocess quota entries only if tariff is non zero
- if there are credit entries but no balance entry create a dummy balance entry
- remove any credit entries that are before the last balance entry
  when displaying balance statement
- on a rerun the last balance is now getting added

FS: https://cwiki.apache.org/confluence/display/CLOUDSTACK/Quota+Service+-+FS
PR: https://github.com/apache/cloudstack/pull/768

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-12-07 23:02:48 +05:30
Miguel Ferreira 86e836196e Ignore pmd generated files during license check
This has been happening for the NSX and BigSwitch plugins.
The maven build prints something like:
  [WARNING] Unknown file extension: .../plugins/network-elements/nicira-nvp/.pmd
  [WARNING] Missing header in: .../plugins/network-elements/nicira-nvp/.pmdruleset.xml
2015-12-05 15:52:23 +01:00
Remi Bergsma 7665bdc815 Merge pull request #1083 from borisroman/CLOUDSTACK-9062
CLOUDSTACK-9062: Improve S3 implementation.The S3 implementation is far from finished, this commit focuses on the bases.

 - Upgrade AWS SDK to latest version.
 - Rewrite S3 Template downloader.
 - Rewrite S3Utils utility class.
 - Improve addImageStoreS3 API command.
 - Split various classes for convenience.
 - Various minor improvements and code optimizations.

A side effect of the new AWS SDK is that it, by default, uses the V4 signature. Therefore I added an option to specify the Signer, so it stays compatible with previous versions.

Please review thoroughly, both code inspection and (automated) integration tests. Currently no integration tests are available specifically for S3. Therefore the implementation is needed to be tested manually, for now...

What I tested:
 - Greenfield install -> will download latest systemvm template automatically to S3.
 - Upload a template/iso
 - Download a template/iso
 - Restart of management server -> list available templates -> doesn't download them again if available.

* pr/1083:
  CLOUDSTACK-9062: Improve S3 implementation.

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-20 22:27:17 +01:00
Remi Bergsma b3b56e2cd8 Merge release branch 4.6 to master
* 4.6:
  CLOUDSTACK-9053 security upgrade as per COLLECTIONS-580
  CLOUDSTACK-9055: fix NPE in updating Redundant State of VPC networks
  CLOUDSTACK-9057 remove old system vm upgrade code
2015-11-20 20:53:58 +01:00
Boris Schrijver 5c0366c99e CLOUDSTACK-9062: Improve S3 implementation.
The S3 implementation is far from finished, this commit focusses on the bases.

 - Upgrade AWS SDK to latest version.
 - Rewrite S3 Template downloader.
 - Rewrite S3Utils utility class.
 - Improve addImageStoreS3 API command.
 - Split various classes for convenience.
 - Various minor improvements and code optimalisations.

A side effect of the new AWS SDK is that it, by default, uses the V4 signature. Therefore I added an option to specify the Signer, so it stays compatible with previous versions.
2015-11-19 15:29:10 +01:00
Daan Hoogland d40d3498a6 CLOUDSTACK-9053 security upgrade as per COLLECTIONS-580
cloustack is not vulnerable but as the classes are in they might
  be used in the future so we upgrade to prevent accidental
  vulnerabilities.
2015-11-18 23:35:42 +01:00
nvazquez d05c1f47ba CLOUDSTACK-8956: Add VMware Api v5.5 and change pom.xml to use VMware Api v5.5 2015-11-16 11:29:30 -08:00
Remi Bergsma 1f53f2a93e Updating pom.xml version numbers for release 4.7.0-SNAPSHOT
Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-15 18:54:13 +01:00
Remi Bergsma b38c3bed0c Updating pom.xml version numbers for release 4.6.1-SNAPSHOT
Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-13 21:27:57 +01:00
Remi Bergsma e31ade03c6 Updating pom.xml version numbers for release 4.6.0
Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-10 15:45:34 +01:00
Wido den Hollander d413b2c375 CLOUDSTACK-8879: Depend in rados-java 0.2.0
This should fix the CloudStack Agent from crashing when it has to
handle more then 16 RBD snapshots on one Volume.
2015-09-25 11:01:03 +02:00
Miguel Ferreira 18e6b9ba78 Add NSX specific RestClient implementation
- Add -noverify JVM arg to surefire plugin, to allow Powermockito to
  de-encapsulate private methods
- Add dependency on cloud-utils test-jar to use custom HttpRequest
  matchers
2015-08-25 17:36:15 +02:00
Miguel Ferreira 8a93bb8d2d Add basic RestClient implentation based on HTTP Components 4.5
- Upgrade version of HTTP Components to 4.5
- Add helper class to create Http clients
- Add helper class to build http requests
- Add enum with the different Http Methods
- Add constants class for HTTP related values
2015-08-25 17:36:13 +02:00
Miguel Ferreira 3d27e9ed12 Fix unit-test library dependencies
- XML formatting
- Fix license header

- Reorder hamcrest, junit, mockito and powermock dependencies
  * Since several libraries include a subset of hamcrest classes,
    hamcrest should be declared first in the pom, inorder for its
    classes to be loaded first by the JVM
- Depdend on hamcrest-all and exclude hamcrest classes from other
  libraries
2015-08-25 14:50:31 +02:00
Pierre-Luc Dion ab4d9fc06a update license exlude for some docker related files. 2015-08-04 07:37:33 -04:00
Wido den Hollander c32656a7ef CLOUDSTACK-8640: Revert to AWS SDK 1.3.22
The newer SDKs API changed which causes our S3 Template Downloader to never complete.

Although we should fix the Template Downloader we can revert to the old AWS SDK for now.

The fix on the longer run will be rewriting the S3 Template Downloader.

Two methods had to be disabled for now since the old SDK does not support them. They can
be re-enabled when the Template Downloader has been fixed.
2015-07-31 12:52:28 +02:00
Daan Hoogland d8ab5f3ab8 findbugs: equals unit tests
Signed-off-by: Daan Hoogland <daan@onecht.net>
2015-07-07 13:48:19 +02:00
Rafael da Fonseca fe4f0b1a58 Specify all dependency versions in pom.xml
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>

This closes #497
2015-06-22 13:01:19 +02:00
Daan Hoogland 2e792075ee update of the findbugs lib
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>

This closes #459
2015-06-17 10:25:33 +02:00
Rafael da Fonseca bec44bffb3 Upgrade Reflections to 0.9.9
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>

This closes #333
2015-06-03 11:01:32 +05:30
Rafael da Fonseca 9030036bb1 And now with the argLine in the right plugin :) 2015-05-29 20:43:33 +02:00
Rafael da Fonseca 82847d4405 Change tests random number generator to /dev/urandom
This fixes a big performance issue with random number generation with more recent kernels and java versions in linux
2015-05-29 20:24:41 +02:00
Rohit Yadav 5713222ec7 pom: exclude debian/source/format from rat build
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-25 16:57:44 +02:00
Rohit Yadav 58999daafe CLOUDSTACK-8433: remove awsapi rpm and debian packaging
- Removes awsapi packaging rules for debian, centos63, centos7, fedora 20/21
- Removes catalina port 7080 service configs
- Fixes build replace properties for AWSAPILOG
- Removes maven profile for building awsapi and deploying db in developer profile

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-06 15:22:04 +02:00
Rajani Karuturi fdea7eb472 maven plugin cleanup
1. removed redundant maven-site-plugin
2. added maven-resources-plugin version 2.7 which has the fix for
   http://jira.codehaus.org/browse/MRESOURCES-140

This closes #220
2015-05-01 16:20:08 +05:30
Rajani Karuturi 0b8355920e Merge branch 'volume-upload' into master
This closes #206
2015-04-29 11:12:53 +05:30
Ian Duffy 559b014953 Add *.md to the RAT exclude list 2015-04-11 16:23:03 +01:00
Sebastien Goasguen b487074c5f Exclude CONTRIBUTING from RAT and link it on README 2015-04-03 10:08:24 +02:00
Rohit Yadav b011c9bad4 Add missing license headers from recent branch merge 3c429ee
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-18 11:03:54 +05:30
Sebastien Goasguen ccb38c8d5e Fix RAT issues due to new Dockerfile 2015-03-04 13:00:08 +01:00
Rajani Karuturi ebaa4dd38e volume upload: added httpcomponents server and removed nio server
removing nio server as it is currently handling only https connections
and the parsing logic is also specific to agent communication.

current limitation of httpcomponents server is that the entire file is
read in memory. need figure out how to read it in chunks and send it
through a inputstreamreader to save on secondary storage.
2015-01-16 17:15:14 +05:30
Hugo Trippaers eb9fba4fea Seems we are hitting bug MCHECKSTYLE-250 2015-01-06 14:03:34 +01:00
Hugo Trippaers ec32ea30f7 Housekeeping, properly declare required maven version and update build plugin versions to recent versions 2015-01-06 11:58:58 +01:00
Rohit Yadav fac7bfc5d5 CLOUDSTACK-8011: Upgrade maven dependencies
Changes;
- Upgrades maven-war plugin to 4.5 (faster war packaging)
- Upgrade spring framework to latest minor release
- Upgrade ehcache, jasypt, httpclient, httpcore and other core dependencies
- Upgrade to latest ipv6 library, fix unit test NetUtilsTest
- httpcore and httpclient are sharing same version variable
- commons-httpclient is different that httpclient, the fix gives it a separate var
- Apidocs failed to generate and get stuck with new reflections version, for now
  we will continue using 0.9.8

Newer dependencies can be listed using:
mvn versions:display-dependency-updates -Dnoredist -Dsimulator -P developer,systemvm

Testing;
- Tested using Maven 3.2.1
- Local noredist build with unit tests succeeds
- CloudStack mgmt server started, basic business layer tests work
- Observed 10-15% build time improvement using new maven-war plugin

Branch: bugfix/4.5-8011 (commits are squashed in favour of a linear history)

Pull request:
https://github.com/apache/cloudstack/pull/50

This closes #50

TravisCI build summary:
https://travis-ci.org/shapeblue/cloudstack/builds/42902172

- Build passes with unit tests
- Apidocs generates successfully
- Most integration tests pass, some fail due to timeout errors, second re-run
  passes some of them

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-12-04 02:12:51 +05:30
Rajani Karuturi b6c86bdb75 changed commons-io version to the latest stable 2.4
also updated version numbers in all the poms its used.
2014-11-28 17:01:16 +05:30
Wido den Hollander 72ba98b1b8 Validate IPv4 address using Apache Commons Validator 2014-11-24 14:43:48 +01:00
Hugo Trippaers 4ebaf0a583 Bump master version to 4.6.0-SNAPSHOT after branching 4.5.0-SNAPSHOT 2014-10-29 14:54:23 +01:00
Sebastien Goasguen ab5987726c Cleaning the README, INSTALL and CHANGES file
(cherry picked from commit 528ac4c6e9)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	INSTALL.md
2014-09-17 15:12:37 +02:00
Hugo Trippaers dc3f0cbc63 Improve the handling of the findbug exclude files 2014-09-03 10:41:22 +02:00
Rohit Yadav c04b9ed661 Maven: add opensaml 2.6.1 version id in pom.xml
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:22 +02:00
Mike Tutkowski d5c71677db License info related to a new GUI control 2014-08-14 11:11:32 -06:00
Rohit Yadav d753e765f7 README: Give CloudStack its much deserved readme file
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-05 15:54:40 +02:00
Koushik Das 4607c26949 Revert "CLOUDSTACK-6834 : 3. Some description changes words like CloudStack etc 4. Change Default installation location if possible include version number 5. Mysql Connector Installer along with other dependecies 6. Add run Service Checkbox 7. Add ReadMe checkbox"
This reverts commit ce5061e107.
2014-07-04 10:04:04 +05:30
Damodar Reddy ce5061e107 CLOUDSTACK-6834 : 3. Some description changes words like CloudStack etc 4. Change Default installation location if possible include version number 5. Mysql Connector Installer along with other dependecies 6. Add run Service Checkbox 7. Add ReadMe checkbox
Signed-off-by: Koushik Das <koushik@apache.org>
2014-07-03 17:43:00 +05:30
Hugo Trippaers 9855a84a18 Move the maven wiz stuff to the tools directory and make sure it gets build with the correct version when needed 2014-06-11 14:06:16 +02:00