Commit Graph

518 Commits

Author SHA1 Message Date
Rohit Yadav b6dc40faef CLOUDSTACK-10103: Cloudian Connector for CloudStack (#2284)
Several organizations use Cloudian as S3 provider, this implements the
Cloudian Management Console connector for CloudStack that can do the
following:

- Provide ease in connector configuration using CloudStack global
  settings
- Perform SSO from CloudStack UI into Cloudian Management Console (CMC)
  when the connector is enabled
- Automatic provisioning and de-provisioning of CloudStack accounts and
  domains as Cloudian users and groups respectively
- During CloudStack UI logout, logout user from CMC
- CloudStack account will be mapped to Cloudian Users, and CloudStack
  domain will be mapped to Cloudian Groups.
- The CloudStack admin account is mapped to Cloudian admin (user name
  configurable).
- The user/group provisioning will be from CloudStack to Cloudian only,
  i.e. user/group addition/removal/updation/deactivation in Cloudian
  portal (CMC) won't propagate the changes to CloudStack.

FS: https://cwiki.apache.org/confluence/display/CLOUDSTACK/Cloudian+Connector+for+CloudStack

New APIs:
- `cloudianIsEnabled`: API to check whether Cloudian Connector is enabled.
- `cloudianSsoLogin`: Performs SSO for the logged-in, requesting user
                      and returns the URL that can be used to perform
                      SSO and log into CMC.

New Global Settings:
- cloudian.connector.enabled  (false)
If set to true, this enables the Cloudian Connector for CloudStack.
Restarting management server(s) is required.
- cloudian.admin.host (s3-admin.cloudian.com)
The host where Cloudian Admin services are accessible.
- cloudian.admin.port (19443)
The admin service port.
- cloudian.admin.protocol (https)
The admin service API scheme/protocol.
- cloudian.validate.ssl (true)
 When set to true, this validates the certificate of the https-enabled
admin API service.
- cloudian.admin.user (sysadmin)
The admin user's name when making (admin) API calls.
- cloudian.admin.password (public)
The admin password used when making (admin) API calls.
- cloudian.api.request.timeout (5)
The API request timeout in seconds used by the internal HTTP/s client.
- cloudian.cmc.admin.user (admin)
The CMC admin user's name.
- cloudian.cmc.host (cmc.cloudian.com)
The CMC host.
- cloudian.cmc.port (8443)
The CMC service port.
- cloudian.cmc.protocol (https)
 The CMC service scheme/protocol.
- cloudian.sso.key (ss0sh5r3dk3y)
The Single-Sign-On shared key.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-10-25 10:49:45 +05:30
Rohit Yadav 7ce54bf7a8 CLOUDSTACK-9993: Securing Agents Communications (#2239)
This introduces a new certificate authority framework that allows
pluggable CA provider implementations to handle certificate operations
around issuance, revocation and propagation. The framework injects
itself to `NioServer` to handle agent connections securely. The
framework adds assumptions in `NioClient` that a keystore if available
with known name `cloud.jks` will be used for SSL negotiations and
handshake.

This includes a default 'root' CA provider plugin which creates its own
self-signed root certificate authority on first run and uses it for
issuance and provisioning of certificate to CloudStack agents such as
the KVM, CPVM and SSVM agents and also for the management server for
peer clustering.

Additional changes and notes:
- Comma separate list of management server IPs can be set to the 'host'
  global setting. Newly provisioned agents (KVM/CPVM/SSVM etc) will get
  radomized comma separated list to which they will attempt connection
  or reconnection in provided order. This removes need of a TCP LB on
  port 8250 (default) of the management server(s).
- All fresh deployment will enforce two-way SSL authentication where
  connecting agents will be required to present certificates issued
  by the 'root' CA plugin.
- Existing environment on upgrade will continue to use one-way SSL
  authentication and connecting agents will not be required to present
  certificates.
- A script `keystore-setup` is responsible for initial keystore setup
  and CSR generation on the agent/hosts.
- A script `keystore-cert-import` is responsible for import provided
  certificate payload to the java keystore file.
- Agent security (keystore, certificates etc) are setup initially using
  SSH, and later provisioning is handled via an existing agent connection
  using command-answers. The supported clients and agents are limited to
  CPVM, SSVM, and KVM agents, and clustered management server (peering).
- Certificate revocation does not revoke an existing agent-mgmt server
  connection, however rejects a revoked certificate used during SSL
  handshake.
- Older `cloudstackmanagement.keystore` is deprecated and will no longer
  be used by mgmt server(s) for SSL negotiations and handshake. New
  keystores will be named `cloud.jks`, any additional SSL certificates
  should not be imported in it for use with tomcat etc. The `cloud.jks`
  keystore is stricly used for agent-server communications.
- Management server keystore are validated and renewed on start up only,
  the validity of them are same as the CA certificates.

New APIs:
- listCaProviders: lists all available CA provider plugins
- listCaCertificate: lists the CA certificate(s)
- issueCertificate: issues X509 client certificate with/without a CSR
- provisionCertificate: provisions certificate to a host
- revokeCertificate: revokes a client certificate using its serial

Global settings for the CA framework:
- ca.framework.provider.plugin: The configured CA provider plugin
- ca.framework.cert.keysize: The key size for certificate generation
- ca.framework.cert.signature.algorithm: The certificate signature algorithm
- ca.framework.cert.validity.period: Certificate validity in days
- ca.framework.cert.automatic.renewal: Certificate auto-renewal setting
- ca.framework.background.task.delay: CA background task delay/interval
- ca.framework.cert.expiry.alert.period: Days to check and alert expiring certificates

Global settings for the default 'root' CA provider:
- ca.plugin.root.private.key: (hidden/encrypted) CA private key
- ca.plugin.root.public.key: (hidden/encrypted) CA public key
- ca.plugin.root.ca.certificate: (hidden/encrypted) CA certificate
- ca.plugin.root.issuer.dn: The CA issue distinguished name
- ca.plugin.root.auth.strictness: Are clients required to present certificates
- ca.plugin.root.allow.expired.cert: Are clients with expired certificates allowed

UI changes:
- Button to download/save the CA certificates.

Misc changes:
- Upgrades bountycastle version and uses newer classes
- Refactors SAMLUtil to use new CertUtils

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-28 12:15:11 +02:00
Rajani Karuturi 4bc7c270fa Updating pom.xml version numbers for release 4.11.0.0-SNAPSHOT
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>
2017-07-12 12:09:38 +05:30
Rajani Karuturi 9d2893d44a Updating pom.xml version numbers for release 4.10.0.0
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>
2017-07-03 10:06:43 +05:30
Rohit Yadav e6cc78f531 CLOUDSTACK-9710: Switch to JRE1.8
- Switches Travis to use jdk1.8
- Changes java-version to 1.8
- Change jdk/maven version to 1.8
- Switch to F5/java8 compatible library release
- Switch packaging to use jdk 1.8, and jre 1.8 in init/systemd scripts
- Switch systemvm to openjdk-8-jre

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-01-11 14:04:03 +05:30
Rohit Yadav ec847a890e Merge pull request #1638 from shapeblue/spring4-java8-only
CLOUDSTACK-9456: Migrate master to Spring 4.xThis changes makes CloudStack use spring 4:

```
- Bump spring-framework version to 4.x and Jetty to version that runs with JDK7
- Bump servet dependency version
- Migrates various xmls to use version independent schema uris
```

Outstanding issue:
    - Testing of various non-standard plugins such as network and storage plugins etc.

Since, this is a big change pinging for review -- @jburwell @karuturi @wido @murali-reddy @abhinandanprateek @DaanHoogland @GaborApatiNagy @JayapalUradi @kishankavala @K0zka @nvazquez @rafaelweingartner @pyr and others

@blueorangutan package

* pr/1638:
  CLOUDSTACK-9456: Update Spring version in maven poms

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-24 09:39:18 +05:30
Rohit Yadav 0dce1c50c1 CLOUDSTACK-9456: Update Spring version in maven poms
- Bump spring-framework version to 4.x and Jetty to version that runs with JDK8
- Bump servet dependency version
- Migrate spring xmls to version 4, fixes schema locations that are 3.0
  dependent in various xmls.
- Fix failing tests due to spring upgrade
  (Thanks @marcaurele Marc-Aurèle Brothier for fixing them)
    * Fix test DeploymentPlanningManagerImplTest
    * Fix GloboDNS test

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-16 21:21:20 +05:30
Rohit Yadav 70c79ad13c
Merge branch '4.9' 2016-12-07 01:35:56 +05:30
Rohit Yadav abfcd5b95f CLOUDSTACK-9632: Upgrade bouncy castle to version 1.55
- Upgrades Maven dependency version to v1.55
- Fixes bountycastle usages and issues
- Adds timeout to jetty/annotation scanning
- Fixes servlet issue, uses servlet 3.1.0
- Downgrade javassist used by reflections to fix annotation process errors
- Make console-proxy-rdp bc dependency same as rest of the codebase
- Picks up PR #1510 by Daan

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-06 17:24:24 +05:30
Rohit Yadav 16913a9822 CLOUDSTACK-9842: Make UI JSP Free
We use some JSP file just for translation of strings in the UI. This is
achievable purely in JavaScript. This removes those JSPs, simplifies
translation usage and workflow (purely JS based). The l10n js (dictionary)
files are generated from existing messages.properties files during client-ui
code generation phase.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-09-28 12:26:43 +05:30
Rohit Yadav da76553f35
Merge branch '4.9' 2016-09-01 17:15:10 +05:30
Rohit Yadav 08edd0c7cd
Merge branch '4.8' into 4.9 2016-09-01 17:01:51 +05:30
John Burwell 8d11511b1f Adds support for four position versions and optional db upgrades
Often, patch and security releases do not require schema migrations or
data migrations.  However, if an empty upgrade class and associated
scripts are not defined, the upgrade process will break.  With this
change, if a release does not have an upgrade, a noop DbUpgrade is added
to the upgrade path.  This approach allows the upgrade to proceed and
for the database to properly reflect the installed version.  This change
should make the release process simpler as RMs no longer need to
rememeber to create this boilerplate code when starting a new release.

Beginning with the 4.8.2.0 and 4.9.1.0 releases, the project will
formally adopt a four (4) position release number to properly accomodate
rekeases that contain only CVE fixes.  The DatabaseUpgradeChecker and
Version classes made assumptions that they would always parse and
compare three (3) position version numbers.  This change adds the
CloudStackVersion value object that supports both three (3) and four (4)
version numbers.   It encapsulates version comparsion logic, as well as,
the rules to allow three (3) and four (4) to interoperate.

  * Modifies DatabaseUpgradeChecker to handle derive an upgrade path for
  a version that was not explicitly specified.  It determines the
  releases the first release before it with database migrations and uses
  that list as the basis for the list for version being calculated.  A
  noop upgrade is then added to the list which causes no schema changes
  or data migrations, but will update the database to the version.
  * Adds unit tests for the upgrade path calculation logic in
  DatabaseUpgradeChecker
  * Removes dummy upgrade logic for the 4.8.2.0 introduced in previous
  versions of this patch
  * Introduces the CloudStackVersion value object which parses and
  compares three (3) and four (4) position version numbers.  This class
  is intended to replace com.cloud.maint.Version.
  * Adds the junit-dataprovider dependency -- allowing test data to be
  concisely generated separately from the execution of a test case.
  Used extensively in the CloudStackVersionTest.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-30 13:32:32 +05:30
Rohit Yadav 38259a9a8c
Merge branch '4.9' 2016-08-26 23:49:35 +05:30
Rohit Yadav c8a52c94d2 CLOUDSTACK-9462: Refactor systemd scripts
Refactors and unifies usage of systemd script and default files across
CentOS and Ubuntu/Debian packaging system.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-26 15:19:58 +05:30
Rohit Yadav 9555492b4d Merge branch '4.9' 2016-08-23 14:16:53 +05:30
Rohit Yadav f13c224da1 Updating pom.xml version numbers for release 4.9.1.0-SNAPSHOT
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-19 13:53:39 +05:30
Will Stevens 740bd45be6 Updating pom.xml version numbers for release 4.8.2-SNAPSHOT
Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-08-15 10:31:09 -04:00
Will Stevens 007c9f0d3a Merge branch '4.8.1-RC20160808T1006' into 4.8 2016-08-15 10:28:33 -04:00
Will Stevens a63db21d16 Updating pom.xml version numbers for release 4.8.1
Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-08-08 10:06:21 -04:00
Rajani Karuturi 2875af7112 Merge release branch 4.9 to master
* 4.9:
  server: give more memory to tests
  packaging: Marvin and integration-tests packages
2016-08-05 14:41:31 +05:30
Rajani Karuturi c03d035c8b Merge release branch 4.8 to 4.9
* 4.8:
  server: give more memory to tests
  packaging: Marvin and integration-tests packages
2016-08-05 14:30:45 +05:30
Rajani Karuturi a54a3b5cd5 Merge release branch 4.7 to 4.8
* 4.7:
  server: give more memory to tests
  packaging: Marvin and integration-tests packages
2016-08-05 14:29:16 +05:30
Will Stevens 62aa3b2bfa Updating pom.xml version numbers for release 4.10.0-SNAPSHOT
Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-07-29 10:11:34 -04:00
Will Stevens 227ff3884d Updating pom.xml version numbers for release 4.9.0
Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-07-25 16:56:04 -04:00
Rohit Yadav de041df74d packaging: Marvin and integration-tests packages
This introduces two new cloudstack packages: marvin and integration-tests.
The two packages will make it easier for CI systems to install Marvin for a
specific cloudstack release/build and run integration tests that are specific
for that version/build.

- maven: add explicit juniper-contrail-api maven repository
- marvin: build source distribution for both install and package mvn phases

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-07-20 16:31:23 +05:30
Ronald van Zantvoort 58bdb44135 SysVM: Cleanup and removal of old (and dangerous) config files
* ports.conf
* default & default-ssl sites
* SSL config in httpd.conf
* deprecated & dead setup_redundant_router in cloud-early-config
2016-06-07 13:03:10 +02:00
Ronald van Zantvoort e32cd1303a VR: consistent SSL setup, vhost is not an example, but a template 2016-06-07 13:03:10 +02:00
Will Stevens 9320f858f3 Merge pull request #1460 from shapeblue/jsb/jenv-pyenv
CLOUDSTACK-9334: Support jenv and pyenv to manage Java and Python versions  * Adds .java-version to specify Java 1.7 as the JDK version to use
    for CloudStack development.  jenv does not support comments in
    this file.  Therefore, no license header is present.
  * Adds .python-vresion to specify Python 2.7.11 as the Python to
    use for CloudStack development.  pyenv does not support comments
    in this file.  Therefore, no license header is present.
  * Adds requirements.txt to specify the default dependencies used
    for CloudStack development.  It does not include Marvin's
    dependencies because it's bundle already defines the dependencies
    which are installed with Marvin.
  * Updates INSTALL.md to explain how to utilize jenv and pyenv for
    CloudStack development

* pr/1460:
  CLOUDSTACK-9334: Support jenv and pyenv to manage Java and Python versions

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-12 16:50:40 -04:00
Rohit Yadav 12fff7d8bd maven: ignore utils/testsmallfileinactive for rat checking
This fixes several Jenkins failures as previous runs don't cleanup this
file created by one of the unit tests.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-05-12 11:16:12 +05:30
Rohit Yadav 003b97bcff maven: Fix jstl version usage
This would fix regression from recent mvn version changes. Without this
patch users get redirected to error.jsp as jstl-1.2 jar is not installed

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-05-11 09:58:27 +05:30
Rohit Yadav 126a039eb8 Merge branch '4.7' into 4.8 2016-05-03 08:20:27 +05:30
Abhinandan Prateek 3b89cbe733 CLOUDSTACK-9350: KVM-HA- Fix CheckOnHost for Local storage
- Also skip HA on VMs that are using local storage
2016-04-29 12:38:33 +05:30
Rohit Yadav 8af677a0f0 maven: fix dependency version support by JDK7
- Fix jetty dependency that is compatible with Java7
- Upgrade minor revisions of dependencies
- Upgrade vmware mvn sdk dependency to 6.0
- Downgrade bounty castle version to 1.46 (same as before)

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-04-22 17:29:59 +05:30
Daan Hoogland 101668994d further maven dependency updates from Daan
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-04-22 16:36:37 +05:30
Rohit Yadav bb29b1d063 maven: Upgrade dependency versions
Updated most dependencies to latest minor releases, EXCEPT:

- Gson 2.x
- Major spring framework version
- Servlet version
- Embedded jetty version
- Mockito version (beta)
- Mysql lib minor version upgrade (breaks mysql-ha plugin)

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-04-22 16:20:16 +05:30
Rohit Yadav 8e4644e413 vmware: improve support for disks
- Improve disk chain usage while attaching, migrating disks
- Gets root disk controller based diskDeviceBusName from volume's chain info
- Refactor and move VirtualMachineDiskInfo to cloud-utils
- Allows mixing of scsi controller types
- Fixes a NPE case with map passed as null, for example in case of detach volume
  command
- Use a osdefault translator that allow use of recent os types added (enums of
  which) are not available in the sdk

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-04-18 22:44:18 +05:30
John Burwell 7add16d3d9 CLOUDSTACK-9334: Support jenv and pyenv to manage Java and Python versions
* Adds .java-version to specify Java 1.7 as the JDK version to use
    for CloudStack development.
  * Adds .python-vresion to specify Python 2.7.11 as the Python to
    use for CloudStack development.
  * Adds requirements.txt to specify the default dependencies used
    for CloudStack development.  It does not include Marvin's
    dependencies because it's bundle already defines the dependencies
    which are installed with Marvin.
  * Adds .java-version and .python-version to the RAT excludes
    because neither jenv or pyenv support comments in these files
  * Updates INSTALL.md to explain how to utilize jenv and pyenv for
    CloudStack development
2016-04-14 14:26:29 -04:00
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 a4ac9d3fff Updating pom.xml version numbers for release 4.7.2-SNAPSHOT
Signed-off-by: Remi Bergsma <github@remi.nl>
2016-01-26 09:33:56 +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 5b112408c7 Updating pom.xml version numbers for release 4.7.1-SNAPSHOT
Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-21 19:55:04 +01:00
Remi Bergsma 2f26a859a9 Updating pom.xml version numbers for release 4.7.0
Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-13 21:09:53 +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
Hugo Trippaers 8e704f5eee Add a first version of a PMD ruleset to our check project 2014-06-11 14:06:16 +02:00
Damodar Reddy aca7606a40 CLOUDSTACK-6563: Integrating dependencies as part of MSI installer so that those will get installed along with cloud stack installation 2014-05-16 10:50:32 +05:30
Anthony Xu 2ff2b6c249 Applied Tina's patches for removing the xapi jar 2014-04-23 15:32:12 -07:00
Anshul Gangwar 455d2b3284 CLOUDSTACK-6411: removing license header from nuget.config and agent settings file, with
the header they are not getting loaded properly. Added an exception to not to do rat
checks on these files.
2014-04-21 14:10:17 +05:30
Hugo Trippaers bd3fbc5dc0 Add PMD to core to provide some feedback on potential code quality concerns 2014-04-11 08:13:14 -06:00
Wido den Hollander 09f83e48eb CLOUDSTACK-4665: Depend on rados-java 0.1.4
This fixes the ArrayIndexOutOfBounds exception during the
removal of a RBD based volume
2014-04-08 17:44:30 +02:00
Alex Huang e9c81c78b9 Applied Tina's patches for removing the xapi jar 2014-04-02 14:00:56 -07:00
edison 6647802d08 CLOUDSTACK-5573: bump gson version to 1.7.2, fix https://code.google.com/p/google-gson/issues/detail?id=354 2014-03-28 16:22:32 -07:00
Daan Hoogland a7d7fee0cb findbugs: filter definition 2014-03-28 17:16:05 +01:00
Daan Hoogland 8b62b2cb92 findbugs: exclude known spiffy hacks a.k.a. false positives 2014-03-28 14:28:10 +01:00
Daan Hoogland 3be5002eb3 findbugs: filter on character encoding problems 2014-03-27 18:47:33 +01:00
Hugo Trippaers 4402685e11 Update master to 4.5.0-SNAPSHOT 2014-03-14 14:55:26 +01:00
miguelaferreira ef547108dd NetUtils testing
- Refactor tests:
  - Upgrade tests to use jUnit4
  - Add hamcrest dependency (contribution of by Laszio Hornyak)
  - Break big tests in small unit tests
  - Replace assertTrue/False with complex conditions by assertThat with
specific matchers
- Remove dead code:
  - Private static method never called locally
- Add test for method that validates cidrs

Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-02-25 19:23:13 +01:00
Hugo Trippaers bb23e3ac1f Update the XenServer library to version 6.2.0-1 in the poms. 2014-02-25 12:30:46 +01:00
Hugo Trippaers 594b51c629 Fixup the license headers in the utils project. All files now use the same license header and this is enforced by the maven-license-check plugin. 2014-02-18 12:08:36 +01:00
Antonio Fornie 510972abde Nvp and rest refactoring and more tests
Signed-off-by: Hugo Trippaers <htrippaers@schubergphilis.com>
2014-02-18 09:51:54 +01:00
miguelaferreira 1237bf3222 Fix findbugs findings in cloudstack-service-console-proxy-rdpclient
Findings:
- 32 int shifted by an amount not in range -31..31:
	The shifts by 32 bits don't actually have any effect on the value
	(as shown by the tests)
- possible null pointer dereference
- repeated conditional test
- field only ever set to null
	All other uses of the field were to check if it was null,
	which it was, so it was removed

Other actions:
- Upgrade jUnit to version 4
- Add PowerMock dependency

Signed-off-by: Hugo Trippaers <htrippaers@schubergphilis.com>
2014-02-14 18:37:46 +01:00
Hugo Trippaers 884c03f90d Add versions to the reporting plugins, prevents maven from complaining about it 2014-02-05 14:18:07 +01:00
Hugo Trippaers 12777e9e3a Allow even more memory for findbugs, awsapi is hungry 2014-01-29 13:44:20 +01:00
Hugo Trippaers 1c57dd7bcd Give findbugs some more memory or it will fail with an OOM on awsapi 2014-01-29 09:17:01 +01:00
Wido den Hollander 49a29ce0cf Switch to Java 7
We now require at least Java 7 to build and run CloudStack.

Both the DEB and RPM packaging now also require Java 7 during installation
of the packages.
2014-01-27 11:54:43 +01:00
Hugo Trippaers e668c3f4e5 Add configuration to the reporting section of the pom so we have findbugs and cobertura output in the site output. 2014-01-23 14:44:34 +00:00
Hugo Trippaers 9d735dd288 Add a profile that enables findbugs checks at build time. Use -Penablefindbugs to enable findbugs.
Add a bit of reporting configuration so the mvn site target includes javadoc and a findbugs report
2014-01-23 09:06:33 +01:00
Hugo Trippaers b68639c6da Add the license plugin with the check goal to the list of disabled eclipse plugins 2014-01-22 14:29:13 +01:00
Hugo Trippaers d3cd73d861 Add license check plugin to root pom. Disabled for the entire project, except for poms that override it (opendaylight, nvp) 2014-01-22 11:22:42 +01:00
Hugo Trippaers 33eaa4f633 Add a profile that disables checkstyle completely for the project.
Activate this profile in your IDE if you're having problems with checkstyle when switching branches. Please ensure that you at least compile once with checkstyle enabled before committing.
2014-01-22 10:29:07 +01:00
Hugo Trippaers dc227e3384 Don't build stuff that is never used, move the cloud-test project to the developer build. 2014-01-22 10:23:50 +01:00
Hugo Trippaers 25ae91da10 Shave another few seconds of the build time by disabling the checkstyle run in the main pom. 2014-01-15 09:49:57 +01:00
Hugo Trippaers b61f0a74ca Centralize all eclipse m2e excludes in the main pom.xml 2014-01-14 09:39:42 +01:00
Hugo Trippaers 7c8facf3c9 Change checkstyle to run on every sub project, so it will also run when you build an individual module 2014-01-09 17:00:11 +01:00
Alex Huang c2baed665b Moved the check-style.xml into the tools directory given that we're not using the project to reference the style any longer. Fixed problems with eclipse complaining about copy-dependencies 2013-12-20 17:21:34 -08:00
Alex Huang affe7efc82 Have the check happen earlier 2013-12-12 17:05:24 -08:00
Alex Huang f1eadc09e6 Fixed problem with checkstyle 2013-12-12 16:57:38 -08:00
Alex Huang 0c2a4b251a Everything now builds 2013-12-12 12:26:08 -08:00
Alex Huang be5e5cc641 All Checkstyle problems corrected 2013-12-12 12:26:07 -08:00
Alex Huang f33b247fc3 Moved the checkstyle project from parents to build to store all build tools in one location. Modified the config file to use 1024 for now. 2013-12-12 12:23:49 -08:00
Alex Huang 433a631916 Reformat of source code to set a stable base for the future. I couldn't get checkstyle enabled. There's still about a thousand errors from checkstyle. Most of it from length errors from comments and strings. Will attempt to remove those tonight. This change is so large I just want to get it in before any merge nightmares. The changes are fairly minor though and I did a full compile and start a server with the reformat code. 2013-11-21 07:56:47 -08:00
Alex Huang 170f32f171 Broke up some long strings 2013-11-21 07:25:01 -08:00
Hugo Trippaers cf715ff491 Bump 4.3.0 to 4.4.0 in master 2013-11-21 16:01:15 +01:00
Alex Huang d620df2bdd Reformatted all of the code. 2013-11-21 06:15:26 -08:00
Alex Huang eaa250fd3c Formatted again after all the tab expansions and eol removals 2013-11-21 04:47:01 -08:00
Alex Huang e4b22d0fca Replace all tabs, particularly the ones in the comments 2013-11-21 03:39:58 -08:00
Alex Huang 62e9273581 Removed trailing spaces 2013-11-21 03:12:05 -08:00
Alex Huang 0232906708 Brought in Hugo's checkstyle 2013-11-21 03:09:07 -08:00
Alex Huang 8d62744681 Reformat all source code. Added checkstyle to check the source code 2013-11-20 07:26:53 -08:00
Darren Shepherd 0ec6b9ac99 Ignore all logs for rat, not just the ones at root
Git ignores log files, so basically they shouldn't checked in.  This
configures rat to ignore log files also.  Specifically the juniper-contrail
code creates a log file during testing.
2013-11-06 09:50:45 -07:00
Hugo Trippaers 479f404aea Fix several rat issues introduced by recent commits 2013-11-04 20:14:46 +01:00
Hugo Trippaers f39b6b2c56 Add checkstyle to the build process and enable it for the Nicira NVP plugin 2013-11-04 15:24:54 +01:00
Devdeep Singh d14592fe93 Make sure only unit tests are run during build time and not functional tests.
Fixing rebase issues after integrating with wmi v2 implementation.
Removing the executable attribute from some files.
Remove the unused wmi v1 interface file.
Unit test for DestroyCommand implementation in hyperv agent.
Fixed VM state changes w.r.t wmi version 2 changes
If a VM is already running, deploy virtual machine shouldn't fail and throw an exception.
Don't run vhd-util on templates which are present on CIFS. Hyperv uses cifs as secondary storage
Add a SCSI controller by default. This is needed so that data volumes can be added/removed
on a running vm.
Remove the hard coded path in the agent code.
Rat fixes for hyper agent. Added the missing headers in files where it was missing.
2013-11-04 18:48:54 +05:30
Darren Shepherd e3280bdba2 Merge remote-tracking branch 'origin/spring-modularization'
Conflicts:
	client/tomcatconf/applicationContext.xml.in
	client/tomcatconf/nonossComponentContext.xml.in
	client/tomcatconf/simulatorComponentContext.xml.in
	framework/db/src/com/cloud/utils/db/Transaction.java
	plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockAgentManagerImpl.java
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java
2013-10-23 11:14:42 -07:00
Hugo Trippaers 85f83a4e83 Rat and me, the saga continues 2013-10-17 16:13:33 +02:00
Darren Shepherd 8cf00de51d Configuration to enable Spring Modularization
All of the code changes for the Spring Modularization will work in
a modularized context or a non-modularized context.  This commit
is the final commit to turn modularization on.  Revert this commit
to disable the modularization and go back to monolithic Spring
configuration.
2013-10-02 15:43:11 -07:00
Darren Shepherd aed5e9dc2a Add Manage Context framework
The managed context framework provides a simple way to add logic
to ACS at the various entry points of the system.  As threads are
launched and ran listeners can be registered for onEntry or onLeave
of the managed context.  This framework will be used specifically
to handle DB transaction checking and setting up the CallContext.
This framework is need to transition away from ACS custom AOP to
Spring AOP.
2013-10-02 13:09:52 -07:00
Wido den Hollander 3e416da0bc kvm: Use libvirt-java 0.5.1
This version is Java 6 compatible and makes CloudStack Java 6
compatible again
2013-09-25 10:25:24 +02:00
Chip Childers 50de798861 Fixing more rat exclusions after refactor of systemvm build location 2013-09-24 09:04:14 -04:00
Chip Childers 87dde7024b Fixing the RAT exclusions after the refactor from 6c26104282 2013-09-23 20:00:39 -04:00
Hugo Trippaers 7f2481486e Rename nonoss to noredist to better reflect what the flag is used for. 2013-09-21 12:32:09 +08:00
Hugo Trippaers 8e25c7ab45 Add activation on systemvm property to the systemvm profile for backwards compatibility with existing buildscripts 2013-09-20 19:35:36 +08:00
Hugo Trippaers cf6a5c7c5a Fix a bug in the pom where the target and dist directory would not be removed during a clean 2013-09-20 19:31:44 +08:00
Hugo Trippaers 6c26104282 Move the system vm to a separate maven project.
All (almost) files belonging to the systemvm aer now centralize in the systemvm directory. The code for the separate functions is still in the services directory. This will make the code easier to understand and makes it clear that the systemvm is a separate item. It alos means that it can be excluded from the build entirely by not adding the systemvm profile, this will speed up the compiles somewhat.
2013-09-20 18:31:02 +08:00
Hugo Trippaers e8eb75b38c Also remove the dist directory with a mvn clean 2013-09-20 18:31:02 +08:00
Wido den Hollander a709f34ff9 kvm: During migrate change the VNC listen address
The migrate method from libvirt supports passing down a different XML for running
the instance of the target hypervisor.

This enables the VNC to bind to the private IP Address of the hypervisor and during
migration this will be changed to the private IP address of the target host.

This way VNC doesn't listen world wide and is much safer.
2013-09-16 11:57:16 +02:00
Chip Childers 1f69ad1159 Removing apache RAT plugin version spec, so that we can use version 0.10 2013-08-19 14:31:06 -04:00
Wido den Hollander 3c35faaf5a CLOUDSTACK-4278: Fix resizing RBD volumes
Although libvirt supports resizing RBD volumes (and other formats) the
Java bindings (libvirt-java) don't.

Right now we use the Java bindings for librbd to handle the resizing for us,
but in the future this should be done by libvirt rather then these
Java bindings.
2013-08-14 16:15:09 +02:00
Alex Huang 5495f10bce Revert "Reverting the range of commits that broke the build"
This reverts commit b59e3aaefc.
2013-08-08 15:02:40 -07:00
Prasanna Santhanam b59e3aaefc Reverting the range of commits that broke the build
This reverts commits 30c33415..f6a2c817bc

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-08-08 14:46:56 +05:30
Alex Huang 5287f4c9ec Got everything running through testing 2013-08-07 16:41:06 -07:00
Alex Huang e4f20c7ced config in place 2013-08-07 16:41:03 -07:00
Alex Huang cd28e4f370 Added 1.7 as the version for antrun 2013-08-02 16:34:47 -07:00
Chiradeep Vittal d8a5f03c7f Revert "Starting the work of moving orchestration pieces to engine"
This reverts commit 7a2aaf96fd.
2013-08-02 15:09:29 -07:00
Alex Huang 7a2aaf96fd Starting the work of moving orchestration pieces to engine 2013-08-02 13:51:48 -07:00
Alex Huang 66cca4d9ac Fixed up the pom.xml to use dependencies specified in cloudstack pom 2013-08-02 13:51:47 -07:00
Chip Childers 8225374138 Updating pom.xml version numbers for release 4.3.0-SNAPSHOT
Signed-off-by: Chip Childers <chipchilders@apache.org>
2013-08-01 10:35:00 -04:00
Wido den Hollander b611394cca rbd: Enable snapshotting of RBD images
Signed-off-by: Wido den Hollander <wido@42on.com>
2013-08-01 01:12:42 +02:00
Alex Huang 5595a099b2 Added commons io to server 2013-07-30 14:07:21 -07:00
Alex Huang a8da8c8dff Added commons io to runtime 2013-07-30 14:07:20 -07:00
Chip Childers 7d342e695b Adding exclude for JS libraries pulled into repo for tools/ngui 2013-07-29 14:40:48 -04:00
Alex Huang a4cea4ebf2 Removed schema from the dependency of many components 2013-07-29 10:55:19 -07:00
Alex Huang 3d2e49bcfc Changed the log4j config files to log org.apache.cloudstack in debug and change the layout format 2013-07-26 20:35:49 -07:00
Alex Huang 3f7c558de5 Removed all the extra mockito, inject, and junit dependencies. Changed any test/resource to test/resources and rely on the master pom to tell us where the resources are instead of each individual project 2013-07-26 16:34:08 -07:00
Prasanna Santhanam 32c8cd3cd7 ignore the test template from rat check
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-07-26 17:34:10 +05:30
Alex Huang 5af61a85ae Fixed build. Not sure why it didn't come up on my compile before the commit 2013-07-18 22:53:30 -07:00
Alex Huang b18c72626b Moved the SprintUtils which is for testing only to be in test directory. Changed pom.xml for different projects to use the utils test-jar. Removed some @Component annotations. Moved majority of the dependencies from cloudstack pom to utils pom 2013-07-18 21:53:51 -07:00
ahuang 96d29c7f3d Added the git commit and branch to war file 2013-07-11 17:33:31 -07:00
Prasanna Santhanam 14c9a159a5 CLOUDSTACK-3374: bucket names cannot contain periods.
The older AWS SDK 1.3.21.1 had a bug where in bucket names that contain
periods like a DNS name would fail to work over https. Bump up the
aws.sdk version to 1.3.22 which fixes the bug

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-07-06 19:11:21 +05:30
Wido den Hollander bef3a2edb7 CLOUDSTACK-1191: rbd: Use cloning for deploying templates instead of a copy
RBD format 2 supports cloning (aka layering) where one base image can serve
as a parent image for multiple child images.

This enables fast deployment of a large amount of virtual machines, but it also
saves spaces on the Ceph cluster and improves performance due to better caching.

Qemu-img doesn't support RBD format 2 (yet), so to enable these functions the
RADOS/RBD Java bindings are required.

This patch also enables deployment of System VMs on RBD storage pools. Since we
no longer require a patchdisk for passing the boot arguments we are able to deploy
these VMs on RBD.
2013-05-24 16:00:08 +02:00
Hugo Trippaers dcc288c8be Make the classes that get started by jsvc implement Daemon.
Set the daemon version centrally in the pom
2013-05-13 16:53:27 +02:00
Nitin Mehta c11dbad9c9 merge master 2013-05-11 15:28:43 +05:30
Chip Childers a51b566fb6 Adding release plugin to pom 2013-04-18 16:13:18 -04:00
Chiradeep Vittal 778a59fbf6 QuickCloud: move devcloud configuration into pom profile for exec:java
Also ignore agent.properties in RAT since
a. they are trivial
b. they are modified by the java code (stripping the license)

QuickCloud: proper path for log.home

QuickCloud: proper path for secstorage.sh
2013-04-09 14:45:26 -07:00
Rohit Yadav 7e54f40a02 CLOUDSTACK-1897: Ignore appliance definitions for license checking
Regression caused due to 8e917b1ad3

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-04-03 01:30:38 +05:30
Prasanna Santhanam 7ee602beaf simulator: removing cyclic dependency from simulator
The database creator caused a cyclic dependecny in the simulator which
is removed with this commit. Additionally the simulator profile is now
merged with developer profile and a test for server health is included
2013-04-02 18:31:29 +05:30
Prasanna Santhanam 8e917b1ad3 removing unused commented dependencies
removing the spring related dependencies that were commented out.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-04-02 18:31:29 +05:30
Rohit Yadav 74bd7d5709 rat: Ignore all veewee definition files
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-03-25 15:08:21 +05:30
Prasanna Santhanam 057a6f5097 minor correction to the otherArchive tag
otherArchive is child of otherArchives.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-03-23 20:36:04 +05:30
Prasanna Santhanam 23d301ffd8 Apache CloudStack has graduated.
Fixing the links in the pom.xml

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-03-23 20:26:48 +05:30
Prasanna Santhanam 792db8b5cc simulator: removing cyclic dependency from simulator
The database creator caused a cyclic dependecny in the simulator which
is removed with this commit. Additionally the simulator profile is now
merged with developer profile and a test for server health is included

Steps to run:
$ mvn -Pdeveloper clean install
$ mvn -Pdeveloper -pl developer -Ddeploydb
$ mvn -Pdeveloper -pl developer -Ddeploydb-simulator
$ mvn -pl client jetty:run

To deploy an adv. zone and test the server health:
$ mvn -Pdeveloper,marvin -Dmarvin.config=`find . -name simulator.cfg` -pl :cloud-marvin test

Conflicts:
	pom.xml

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-03-20 10:36:43 +05:30
Alex Huang 01151331f5 Separate out the target directories for eclipse and the one for regular builds 2013-03-13 20:21:57 -07:00
Rohit Yadav cccdbe6309 pom: Exclude systemvmtemplate64 during rat checking, attr already fixed in LICENSE
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-03-11 14:59:11 +05:30
Prasanna Santhanam c9ee05517d rat-check:Reduce scope of the WEB-INF check
License headers from the files within artifact org.apache.axi2 causes
RAT to complain. Ignore them as they are not part of the repo.
2013-03-07 18:58:48 +05:30
Prasanna Santhanam b899789665 rat-check: couple more in awsapi need exclusion
awsapi/ .info files aren't needed either.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-03-07 14:52:10 +05:30
Prasanna Santhanam 81a42b9591 rat check: exclude the WEB-INF directories in check
WEB-INF directories will carry generated code so exclude them.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-03-07 14:35:53 +05:30
Wido den Hollander e14e057f3d packaging: Use the JNA version from the distribution
Libvirt-java 0.4.9 works just fine with JNA 3.2.4 which is in
all distributions.

Future libvirt version require at least JNA 3.5.1 due to new methods
and memory management, but that is not our concern now.

By depending on the JNA in the distribution and adding it to the classpath
we can work just fine.
2013-03-05 16:10:38 +01:00
Min Chen 613a061977 Merge branch 'master' into vim51_win8
Conflicts:
	plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java
2013-03-04 17:32:52 -08:00
Chiradeep Vittal 6a1ecae552 Ensure RAT does not report marvin generated files as noncompliant in developer environment
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-03-02 16:49:02 +05:30
Min Chen 8b9c45b96d Merge branch 'master' into vim51_win8
Conflicts:
	setup/db/db/schema-40to410.sql
2013-03-01 16:46:58 -08:00
Hugo Trippaers 092d5e4cd8 Tweak the jna dependency 2013-03-01 20:09:41 +01:00
Wido den Hollander 24c974dc03 agent: Add net.java.dev.jna.platform as a runtime dependency
This is required for newer versions of libvirt-java
2013-03-01 16:47:05 +01:00
Min Chen 93f14e7c65 Merge branch 'master' into vim51_win8
Conflicts:
	client/tomcatconf/componentContext.xml.in
	plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java
	vmware-base/src/com/cloud/hypervisor/vmware/mo/HypervisorHostHelper.java
	vmware-base/test/com/cloud/vmware/TestVMWare.java
2013-02-27 17:47:10 -08:00
Noa Resare 2f135be15f CLOUDSTACK-1415: Debian & Ubuntu packaging work
Some concepts included:

* the replace.properties location used by maven is parameterized to allow
  for a build that does not modify the currently git tracked files
* package naming is updated along the lines of what was discussed on the
  -dev mailing list and between committers at the Build a Cloud Day in Belgi
* package version pattern is updated (since we redo all package names,
  we might as well drop the epoch)
2013-02-27 15:44:46 +00:00
Edison Su 8e360f342d CLOUDSTACK-724: add basic zone wide storage support, refactor storage allocator, need ui support 2013-02-26 18:39:23 -08:00
Min Chen fbfc5c6894 Merge from master and fix conflicts 2013-02-25 11:53:24 -08:00
Min Chen a433a29e8e Add -XDignore.symbol.file=true javac option to avoid compilation check
to acccess com.sun.xml.internal.ws.transport.http.client package.
2013-02-22 11:32:23 -08:00
Sheng Yang 99653ea328 IPv6: Update java-ipv6 dependency to 0.10 2013-02-20 18:41:58 -08:00
Rohit Yadav 80d58b6c73 CLOUDSTACK-1317: Bump CloudStack package version to 4.2.0-SNAPSHOT in all poms
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-02-20 16:42:56 +05:30
Chip Childers 6279433f45 CLOUDSTACK-625: Correcting legal documentation for the require.js file
that was added for the UI plugin feature.
Signed-off-by: Chip Childers <chip.childers@gmail.com>
2013-02-15 10:24:16 -05:00
Prasanna Santhanam 05437d0e97 maven pom: put apache cloudstack tools together in umbrella pom
minor pom refactor to put all the tools under one placeholder pom.
Also adds a profile for marvin to run deployDataCenter via mvn options.

$mvn -Pdeveloper,marvin -pl :cloud-marvin -Dmarvin.config=<path/to/config>

OR
$cd tools/marvin
$mvn -Pmarvin -pl :cloud-marvin -Dmarvin.config=path/to/config

will deploy the datacenter using the marvin.config property's value

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-02-15 20:53:41 +05:30
Rohit Yadav 93096efc77 maven: build client at the end, fixes path error for console-proxy build target
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-02-13 13:48:49 +05:30
Rohit Yadav 9fd09a7f5f console-proxy: Fix broken build system due to console-proxy moves
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-02-13 12:56:40 +05:30
Alex Huang 2293caa32e moved console proxy into services directory. no code change 2013-02-12 16:00:13 -08:00
Chip Childers ebe738ee20 CLOUDSTACK-1233: Fixed veewee config file legal documentation
The veewee configuration files used for the devcloud base-box build, as
well as the newly introduced files used to create a system vm, were
inappropriately identified as ASLv2 licensed and copyrighted by the ASF.

The fixes:
- The ASF headers stripped to match the source.
- The files are now excluded from RAT checks in the root pom.
- The tools/whisker/descriptor.xml file updated
- The root LICENSE and NOTICE were re-generated

Changes in the Apache Whisker templates for LICENSE and NOTICE files
caused a good bit of whitespace oddness in this commit for those 2
files.

Signed-off-by: Chip Childers <chip.childers@gmail.com>
2013-02-11 21:40:06 -05:00
Min Chen a224287403 Merge branch 'master' into vim51_win8
Conflicts:
	plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareServerDiscoverer.java
	plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java
	plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareContextFactory.java
	plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
	pom.xml

Signed-off-by: Min Chen <min.chen@citrix.com>
2013-02-05 10:05:39 -08:00
Kelven Yang 7bd8bec68a Sync javelin with master up to 894cb8f7d9 2013-01-31 17:20:19 -08:00
Min Chen 780ac2a9c6 Introduce POM dependency on VSphere 5.1 SDK, not done yet, WIP. 2013-01-31 10:32:05 -08:00
Kelven Yang da2e6461a6 Remove temporary hacking and use Official way to wire-up servlet with injection under Spring 2013-01-30 15:21:01 -08:00
Rohit Yadav 1e0709d16d maven: fix axis2 version to 1.5.6 fixes starting issue with awsapi
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-29 14:02:40 -08:00
Sheng Yang bd4bc025d1 IPv6: Accept IPv6 parameter for createNetworkCmd
Also ass public_ipv6_address for ipv6 address management.

Extend nics and vlans for ipv6 address.

Add dependency to com.googlecode.ipv6(java-ipv6).

Modify dhcpcommand for ipv6.
2013-01-26 23:14:15 -08:00
Rohit Yadav 0f5c5c2078 maven: tools/devcloud should be in developer profile
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-22 17:06:52 -08:00
Alex Huang f7e75d3aaf Fixed the problems with simulator. Turned off the skip tests 2013-01-21 10:37:53 -08:00
Alex Huang fe6f0457d5 fixed unit tests from merge 2013-01-18 15:58:55 -08:00
Alex Huang 10d9c019a9 All merge conflicts resolved 2013-01-18 12:14:57 -08:00
Min Chen e8c0c1a8ee Avoid some m2e error in eclipse for imported project. 2013-01-18 11:36:09 -08:00
Rohit Yadav a0bc5089d0 maven: disable awsapi by default, enable by -P awsapi profile
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-17 21:58:22 -08:00
Rohit Yadav 4ca828c1d6 maven: disable awsapi by default, enabled by -P awsapi profile
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-17 18:40:59 -08:00
Alex Huang 9759ad57f2 Commit the current changes to unit tests 2013-01-17 06:50:11 -08:00
Chip Childers f7b8ad5e8b Updating the RAT exclude list to no longer exclude devcloud .cfg files
Signed-off-by: Chip Childers <chip.childers@gmail.com>
2013-01-15 16:28:16 -05:00
Rohit Yadav d8b04507d8 maven: exclude rat license checking for devcloud advanced cfg
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-14 19:36:27 -08:00
Alex Huang 757e1a931b cleanup warnings in utils 2013-01-10 17:19:30 -08:00
Alex Huang d6f44a4d6a merged from master 2013-01-10 15:55:42 -08:00
Marcus Sorensen 1c59dae708 Summary: Add devcloud-kvm files
Detail: Working on getting a KVM-based devcloud so that development that
requires the KVM hypervisor can be simpler. This adds some setup devcloud files.

Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1357852438 -0700
2013-01-10 14:13:58 -07:00
Alex Huang f40e7b7511 removed componentlocator and inject 2013-01-10 11:05:20 -08:00
Alex Huang b6c56736e5 merge from master 2013-01-09 05:20:36 -08:00
Rohit Yadav 0482734e2f maven: Use reflections 0.9.8
Reflections is compatbile to APL at the time of commit

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-08 18:54:29 -08:00
Alex Huang cf8de7ee17 Removed all the .project files 2013-01-08 14:11:00 -08:00
Alex Huang 30f2565d98 Merge branch 'api_refactoring' into javelin 2013-01-08 12:36:04 -08:00
David Nalley e2f2f7bf3d enabling cobertura reports 2013-01-03 16:51:30 -05:00
Rohit Yadav 78d70d349b Merge branch 'master' into api_refactoring
- Applies Isaac Chian'gs fix (CLOUDSTACK-648) to allow user change their password
- TODO: Fix response, only partially applied

Conflicts:
	api/src/org/apache/cloudstack/api/response/UserResponse.java
	client/tomcatconf/commands.properties.in
	server/src/com/cloud/api/ApiResponseHelper.java

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-25 09:51: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
Rohit Yadav 296b49c2f8 Merge branch 'master' into test-merge-api
Conflicts:
	api/src/com/cloud/agent/api/BackupSnapshotCommand.java
	api/src/com/cloud/agent/api/storage/PrimaryStorageDownloadCommand.java
	api/src/com/cloud/agent/api/to/PortForwardingRuleTO.java
	api/src/com/cloud/network/NetworkService.java
	api/src/com/cloud/resource/ResourceService.java
	api/src/org/apache/cloudstack/api/ApiConstants.java
	api/src/org/apache/cloudstack/api/ResponseGenerator.java
	api/src/org/apache/cloudstack/api/response/SSHKeyPairResponse.java
	client/tomcatconf/commands.properties.in
	core/src/com/cloud/storage/SnapshotVO.java
	pom.xml
	server/src/com/cloud/api/ApiDispatcher.java
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/rules/RulesManagerImpl.java
	server/src/com/cloud/offerings/NetworkOfferingVO.java
	server/src/com/cloud/resource/ResourceManagerImpl.java
	server/src/com/cloud/upgrade/dao/Upgrade40to41.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/test/com/cloud/vpc/MockNetworkManagerImpl.java
	setup/db/create-schema.sql
	setup/db/db/schema-40to410.sql

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 13:54:46 -08:00
Rohit Yadav 5572707ec6 maven: Bump httpcore version, add guava and httpclient dependency
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-17 20:44:48 -08:00
Rohit Yadav 89dc874f6f rat: Fix license on recently added new files in tools/devcloud
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-14 22:23:09 -08: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
Hugo Trippaers b0955e43ff Put the mockito version in the central version list 2012-12-06 14:42:59 +01:00
David Nalley 40ff63564b setting cobertura to produce html and xml reports 2012-11-21 12:54:09 -05:00
Meghna Kale b7c74ee78b Unit test additions (and some minor command class changes to support testing)
Signed-off-by: Chip Childers <chip.childers@gmail.com>
2012-11-20 12:21:54 -05:00
olivier lamy 66ca4323b4 fix project name in description element 2012-11-20 12:40:36 +01:00
adefanti 2a0d0104bd maven : declare mysql-connector-java dependency into dependencyManagement section of cloudstack pom and use the version 5.1.21 only
Signed-off-by: Hugo Trippaers <trippie@gmail.com>
2012-11-20 09:27:07 +01:00
Hugo Trippaers 1a7c94204d Summary: remove the deps pom, this is no longer required for the maven
build.

Removed the deps pom and removed the deps profile from the main pom as
it was only there for the 4.0 build to support jar downloading for
ant.
2012-11-07 15:14:59 +01:00
Alex Huang 3dafea6eff Moved platform to engine 2012-11-05 09:13:53 -08:00