Commit Graph

2104 Commits

Author SHA1 Message Date
Rohit Yadav 7df21f9cce
Merge branch '4.9' 2016-12-09 00:40:05 +05:30
Sateesh Chodapuneedi a401a3db9d CLOUDSTACK-9654 Missing hypervisor mapping of various SUSE Linux guest os versions on VMware 6.0
Issue: Currently many versions of SUSE Linux does not have any hypervisor mapping entry in guest_os_hypervisor table in cloud database for VMware 6.0. Also observed that the guest_os_name field is incorrect for some SUSE Linux variants, which results in deployed instance (with SUSE Linux) set to guest OS type as "Other (64-bit)" on vCenter, which would not represent the guest OS accurately on hypervisor.

Fix: Add the missing hypervisor mappings
2016-12-07 22:35:05 +05:30
Frank Maximus 4c91c9c519 CLOUDSTACK-9403: Support for shared networks in Nuage VSP plugin
BUG-ID: CLOUDSTACK-9403
Co-Authored-By: Prashanth Manthena <prashanth.manthena@nuagenetworks.net>
Co-Authored-By: Rahul Singal <rahul.singal@nuagenetworks.net>
Co-Authored-By: Sigert Goeminne <sigert.goeminne@nuagenetworks.net>
Co-Authored-By: Nick Livens <nick.livens@nuagenetworks.net>
2016-12-07 10:03:28 +01:00
Rohit Yadav 1de336b975
Merge branch '4.9' 2016-11-29 17:19:47 +05:30
Rohit Yadav edf4fe951d
Merge branch '4.9' 2016-11-28 16:01:54 +05:30
Rohit Yadav 7a96d32c7e
CLOUDSTACK-9584: run component tests in Travis run
This would run additional component tests in Travis run

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-11-28 13:47:50 +05:30
Sateesh Chodapuneedi d7ff6b75f0 CLOUDSTACK-9624 Incorrect hypervisor mapping of guest os Windows 2008 Server R2 (64-bit) for VMware
Issue
Guest OS Windows Server 2008 R2 (64-bit) is being mapped to incorrect guest os at hypervisor, which is winLonghorn64Guest, same as that of Windows Server 2008 (64-bit).
Due to this the VM's guest os type was set to "Other (64-bit)", which would not represent the guest OS accurately on hypervisor.

Solution
Fix is to update incorrect guest_os_name field value in DB table cloud.guest_os_hypervisor.
Th query is,
UPDATE IGNORE cloud.guest_os_hypervisor SET guest_os_name = 'windows7Server64Guest' WHERE guest_os_id IN (SELECT id FROM guest_os WHERE display_name LIKE 'windows%2008%r2%64%') AND hypervisor_type = 'VMware' AND hypervisor_version != 'default';
2016-11-28 03:50:53 +05:30
Nick Livens 8d4dc81223 CLOUDSTACK-9402 : Support for underlay features (Source & Static NAT to underlay) in Nuage VSP plugin
CLOUDSTACK-9402 : Marvin tests for Source NAT and Static NAT features verification with NuageVsp (both overlay and underlay infra).

Co-Authored-By: Prashanth Manthena <prashanth.manthena@nuagenetworks.net>, Frank Maximus <frank.maximus@nuagenetworks.net>
2016-11-24 21:33:02 +01:00
Syed f46651e672 Support Backup of Snapshots for Managed Storage
This PR adds an ability to Pass a new parameter, locationType,
    to the “createSnapshot” API command. Depending on the locationType,
    we decide where the snapshot should go in case of managed storage.

    There are two possible values for the locationType param

    1) `Standard`: The standard operation for managed storage is to
    keep the snapshot on the device. For non-managed storage, this will
    be to upload it to secondary storage. This option will be the
    default.

    2) `Archive`: Applicable only to managed storage. This will
    keep the snapshot on the secondary storage. For non-managed
    storage, this will result in an error.

    The reason for implementing this feature is to avoid a single
    point of failure for primary storage. Right now in case of managed
    storage, if the primary storage goes down, there is no easy way
    to recover data as all snapshots are also stored on the primary.
    This features allows us to mitigate that risk.
2016-10-30 23:19:58 -06:00
Rajani Karuturi c9e7ccf46e Merge pull request #1615 from nvazquez/nfsConfigKey
CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS version changeable in UIJIRA TICKET: https://issues.apache.org/jira/browse/CLOUDSTACK-9438

### Introduction

From #1361 it was possible to configure NFS version for secondary storage mount.
However, changing NFS version requires inserting an new detail on `image_store_details` table, with `name = 'nfs.version'` and `value = X` where X is desired NFS version, and then restarting management server for changes to take effect.

Our improvement aims to make NFS version changeable from UI, instead of previously described workflow.

### Proposed solution
Basically, NFS version is defined as an image store ConfigKey, this implied:
* Adding a new Config scope: **ImageStore**
* Make `ImageStoreDetailsDao` class to extend `ResourceDetailsDaoBase` and `ImageStoreDetailVO` implement `ResourceDetail`
* Insert `'display'` column on `image_store_details` table
* Extending `ListCfgsCmd` and `UpdateCfgCmd` to support **ImageStore** scope, which implied:
** Injecting `ImageStoreDetailsDao` and `ImageStoreDao` on `ConfigurationManagerImpl` class, on `cloud-server` module.

### Important
It is important to mention that `ImageStoreDaoImpl` and `ImageStoreDetailsDaoImpl` classes were moved from `cloud-engine-storage` to `cloud-engine-schema` module in order to Spring find those beans to inject on `ConfigurationManagerImpl` in `cloud-server` module.

We had this maven dependencies between modules:
* `cloud-server --> cloud-engine-schema`
* `cloud-engine-storage --> cloud-secondary-storage --> cloud-server`

As `ImageStoreDaoImpl` and `ImageStoreDetailsDao` were defined in `cloud-engine-storage`, and they needed in `cloud-server` module, to be injected on `ConfigurationManagerImpl`, if we added dependency from `cloud-server` to `cloud-engine-storage` we would introduce a dependency cycle. To avoid this cycle, we moved those classes to `cloud-engine-schema` module

* pr/1615:
  CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS version changeable in UI

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2016-10-27 11:48:23 +05:30
Rajani Karuturi 2a827b5ba0 CLOUDSTACK-9525 add support for windows 10 guest os in KVM 2016-10-10 11:26:40 +05:30
Rajani Karuturi f06352cc7a CLOUDSTACK-9525 add support for windows 10 guest os in vmware ESX 6.0
queries author @serg38
(https://github.com/apache/cloudstack/pull/1698#issuecomment-251672496)

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2016-10-10 11:26:05 +05:30
Rajani Karuturi eba58db744 CLOUDSTACK-9525 add support for windows 10 guest os in xenserver 6.5.0 2016-10-10 11:25:14 +05:30
Rohit Yadav 6e7fdc404c Merge branch '4.9' 2016-10-01 00:09:12 +05:30
Rohit Yadav 335ad1a867 CLOUDSTACK-9364: Add Ubuntu 16.04 as a guest OS
Adds Ubuntu 16.04 as a supported guest os. This allows users to select
the OS when creating a template etc.

Note: As XenServer 6.5 does not have 16.04 in its list of known Ubuntu releases,
as a workaround 16.04 guest os refers to 14.04 for XenServer 6.5.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-09-29 22:09:30 +05:30
nvazquez 2e77496601 CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS version changeable in UI 2016-09-28 08:51:37 -07:00
Bharat Kumar 8805f955a3 Added license headders 2016-09-12 16:13:32 +05:30
Bharat Kumar 75f89c7676 CLOUDSTACK-8751
Minimise network downtime during network updates when redundant VR is being used.
database schema changes
Made changes to the updateNetwork API.
2016-09-12 15:24:47 +05:30
Rohit Yadav 95f1de89b4
Merge branch '4.9'
Conflicts:
	engine/schema/src/com/cloud/upgrade/DatabaseUpgradeChecker.java
	engine/schema/test/com/cloud/upgrade/DatabaseUpgradeCheckerTest.java
	tools/marvin/setup.py

This fixes class names to make things consistent as per the 4.9 PR on master.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-09-02 23:08:49 +05:30
John Burwell eabda0eb55 Renames of 4.9.0->4.9.1.0 upgrade scripts to match the four position version scheme
* Renames schema-490to491*.sql to schema490to4910*.sql
    * Renames the Upgrade490to491 class to Upgrade490to4910
    * Removes the unused s_logger contant from Upgrade490to4910
    * Updates the version in tools/marvin/setup to 4.9.1.0-SNAPSHOT
2016-09-01 21:19:29 -04:00
Rohit Yadav 19549f7b01
Merge branch '4.9' 2016-09-01 17:27:12 +05:30
Abhinandan Prateek 180406e895 CLOUDSTACK-9481: Convert MyISAM table to InnoDB for consistency
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-09-01 14:02:08 +05:30
Rohit Yadav 9555492b4d Merge branch '4.9' 2016-08-23 14:16:53 +05:30
Rohit Yadav b87eda230a cloudstack: upgrade path from 4.9.0 to 4.9.1
- Adds db upgrade path from 4.9.0 to 4.9.1
- CLOUDSTACK-9449: Fix typo in default user role description

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-19 13:53:15 +05:30
Rohit Yadav 546a3f8884 cloudstack: fix upgrade paths to 4.10.0
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-04 13:03:46 +05:30
Will Stevens 121b3d6403 Merge pull request #1567 from exoscale/CLOUDSTACK-9238
CLOUDSTACK-9238: Fix URL length to 2048 for all url fields in VOI will update the PR to add max field length in the API commands too

* pr/1567:
  API: update url field max length
  not needed on host table
  Fix URL length to 2048 for all url fields in VO

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-27 15:20:22 -04:00
Marc-Aurèle Brothier d0453fc296 not needed on host table 2016-05-27 08:26:09 +02:00
Marc-Aurèle Brothier a59ee03fd7 Fix URL length to 2048 for all url fields in VO 2016-05-27 08:16:05 +02:00
Will Stevens c122f4c879 Merge pull request #1552 from romain-dartigues/feature_dhcp_ubuntu
add DHCP lease folders for UbuntuAdd `/var/lib/dhcp/*` to the search path for Ubuntu; tested under Ubuntu Precise, Trusty and Xenial.

* pr/1552:
  add DHCP lease folders for Ubuntu

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-25 23:01:53 -04:00
Romain Dartigues 3bb70daecc add DHCP lease folders for Ubuntu
Add "/var/lib/dhcp/*" to the search path for Ubuntu; tested under
Ubuntu Precise and Trusty, not yet with newer releases.
2016-05-18 23:34:19 +02:00
SudharmaJain d64f224a7b CLOUDSTACK-8970 Centos 6.{1,2,3,4,5} guest OS mapping for vmware is not available 2016-05-17 10:10:41 +05:30
Rohit Yadav 4d5e8df2f9 travis: Use patched version of ipmitool for tests
- For out-of-band management feature (CLOUDSTACK-9299) use patched version of
  ipmitool that would work on trusty travis machines
- The ipmitool used is from xenial/16.04 release with patch from RedHat
  https://bugzilla.redhat.com/show_bug.cgi?id=1286035
- Installs ipmitool from xenial repositories to get all the dependencies
  and then install patched deb version
- Skip test if the known failure occurs

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-05-12 11:05:40 +05:30
Rohit Yadav 07564469e9 CLOUDSTACK-9299: Out-of-band Management for CloudStack
Support access to a host’s out-of-band management interface (e.g. IPMI, iLO,
DRAC, etc.) to manage host power operations (on/off etc.) and querying current
power state in CloudStack.

Given the wide range of out-of-band management interfaces such as iLO and iDRA,
the service implementation allows for development of separate drivers as plugins.
This feature comes with a ipmitool based driver that uses the
ipmitool (http://linux.die.net/man/1/ipmitool) to communicate with any
out-of-band management interface that support IPMI 2.0.

This feature allows following common use-cases:
- Restarting stalled/failed hosts
- Powering off under-utilised hosts
- Powering on hosts for provisioning or to increase capacity
- Allowing system administrators to see the current power state of the host

For testing this feature `ipmisim` can be used:
https://pypi.python.org/pypi/ipmisim

FS:
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Out-of-band+Management+for+CloudStack

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-05-12 11:05:40 +05:30
Rohit Yadav 4347776ac6 CLOUDSTACK-8562: DB-Backed Dynamic Role Based API Access Checker
This feature allows root administrators to define new roles and associate API
permissions to them.

A limited form of role-based access control for the CloudStack management server
API is provided through a properties file, commands.properties, embedded in the
WAR distribution. Therefore, customizing API permissions requires unpacking the
distribution and modifying this file consistently on all servers. The old system
also does not permit the specification of additional roles.

FS:
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Dynamic+Role+Based+API+Access+Checker+for+CloudStack

DB-Backed Dynamic Role Based API Access Checker for CloudStack brings following
changes, features and use-cases:
- Moves the API access definitions from commands.properties to the mgmt server DB
- Allows defining custom roles (such as a read-only ROOT admin) beyond the
  current set of four (4) roles
- All roles will resolve to one of the four known roles types (Admin, Resource
  Admin, Domain Admin and User) which maintains this association by requiring
  all new defined roles to specify a role type.
- Allows changes to roles and API permissions per role at runtime including additions or
  removal of roles and/or modifications of permissions, without the need
  of restarting management server(s)

Upgrade/installation notes:
- The feature will be enabled by default for new installations, existing
  deployments will continue to use the older static role based api access checker
  with an option to enable this feature
- During fresh installation or upgrade, the upgrade paths will add four default
  roles based on the four default role types
- For ease of migration, at the time of upgrade commands.properties will be used
  to add existing set of permissions to the default roles. cloud.account
  will have a new role_id column which will be populated based on default roles
  as well

Dynamic-roles migration tool: scripts/util/migrate-dynamicroles.py
- Allows admins to migrate to the dynamic role based checker at a future date
- Performs a harder one-way migrate and update
- Migrates rules from existing commands.properties file into db and deprecates it
- Enables an internal hidden switch to enable dynamic role based checker feature

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-05-11 09:45:19 +05:30
Will Stevens ccf2265460 Merge pull request #1466 from nvazquez/graldboptimization
CLOUDSTACK-9340: General DB Optimization## Description
In some production environments there were being experimented delays in most of the jobs. A search for DB optimization was taken and some deficiencies were discovered, we can group them in 4 groups:
* Incorrect PRIMARY key
* Duplicate PRIMARY KEY
* Missing indexes (Add indexes to avoid full table scans)
* Some views query (Change view to improve account retrieval speed)

* pr/1466:
  CLOUDSTACK-9340: General DB Optimization

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-10 23:57:39 -04:00
Wido den Hollander 92e3ba2053 CLOUDSTACK-8818: Use MySQL native connector with Python
MySQLdb has been deprecated and is also not supported in Python 3.

mysql.connector is a connector written in Python which talks the
native MySQL protocol without any external code.

https://dev.mysql.com/doc/connector-python/en/
2016-05-04 23:28:52 +02:00
nvazquez 8b6e6185f5 CLOUDSTACK-9340: General DB Optimization 2016-05-04 09:13:17 -07:00
Will Stevens f960725dd5 Merge pull request #1457 from nvazquez/excludeclusters
CLOUDSTACK-9333: Exclude clusters from OVF operationsJIRA TICKET: https://issues.apache.org/jira/browse/CLOUDSTACK-9333

## Introduction
In some environments there is a need to exclude certain VMware clusters from performing OVF operations. This operations are part of:
* create template
* create volume snaphsot
* copy template, volume, images from primary storage to secondary storage
* migrate volume
* participate when a template gets cached over to primary storage.

In ESX/ESXi, OVF operations are low priority and bound to a single CPU and most likely get throttled to certain IOPS and network limits.
If the hypervisor chosen for OVF operations is weak or overloaded this results in significantly longer execution of such OVF command and therefore degraded performance of underlying CloudStack API call.

### Proposed solution
It is proposed to add a way to exclude hosts from selected clusters for OVF operations.
To exclude a cluster, would be necessary to insert a record in <code>cluster_details</code> specifying property **vmware.exclude_from_ovf** in this way: (supposing we want to exclude cluster X)

| cluster_id | name| value |
|:-------------:|:-------------:|:-------------:|
|X|vmware.exclude_from_ovf|true|

* pr/1457:
  CLOUDSTACK-9333: Exclude clusters for OVF operations

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-04-07 13:30:20 -04:00
Rohit Yadav 87b431c0f3 travis: Fix simulator tests and optimize default global configs
- Migrate to trusty based Travis VMs
- Increase tests across five build matrices
- Fix xunit-reader output, include time
- Fix pip/python usage, pkg installation
- Build CloudStack in parallel with -T4
- Deploy database with optimized global settings

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-04-07 02:19:52 +05:30
nvazquez 4aae051558 CLOUDSTACK-9333: Exclude clusters for OVF operations 2016-04-05 08:21:36 -07:00
nvazquez c19d8b4739 CLOUDSTACK-9298: Remove user definer from view creations 2016-03-11 07:04:33 -03:00
nvazquez db54b26fed CLOUDSTACK-9298: Improve ListTemplatesCmd, ListVolumesCmd and ListVMsCmd performance 2016-03-10 06:07:29 -08:00
Remi Bergsma 14c837ab83 CLOUDSTACK-8300: Set indexes on event table 2016-01-30 16:50:46 +01:00
Rohit Yadav 431389da9d Merge pull request #1044 from ustcweizhou/keep-sshkey
CLOUDSTACK-5822: keep user-added sshkeys in authorized_keysFor now, if we add the ssh key inside the vm (not on cloudstack UI), the sshkey will be removed if we reset the sshkey on cloudstack UI.

After this commit, the sshkey (added by cloudstack) will end with cloudstack@apache.org.
We will only control the sshkeys with cloudstack@apache.org.

This will be used for multiple sshkey support for vm in the future.

* pr/1044:
  CLOUDSTACK-5822: keep user-added sshkeys in authorized_keys

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-01-27 16:12:06 +01:00
Remi Bergsma e1ecfad322 Implement upgrade path 4.8.1 -> 4.9.0 2016-01-26 15:21:23 +01:00
Remi Bergsma 95331aad30 Implement upgrade path 4.8.0 -> 4.8.1 2016-01-26 13:42:53 +01:00
Remi Bergsma 75b68c6829 Merge release branch 4.7 to master
* 4.7:
  Fix unable to setup more than one Site2Site VPN Connection
  FIX S2S VPN rVPC: Check only redundant routers in state MASTER
  PEP8 of integration/smoke/test_vpc_vpn
  Add S2S VPN test for Redundant VPC
  Make integration/smoke/test_vpc_vpn Hypervisor independant
  FIX VPN: non-working ipsec commands
  [UI] MADNESS
  [DB] Add force_encap field to s2s_customer_gateway table
  [ROUTER] Add forceencaps field to python router ipsec config method
  [TEST] unittest needs rework
  [MARVIN] Add forceencap field to VpnCustomerGateway class in marvin base
  [CORE] Add Force UDP Encapsulation option to Site2Site VPN
  CLOUDSTACK-9186: Root admin cannot see VPC created by Domain admin user
  CLOUDSTACK-9192: UpdateVpnCustomerGateway is failing
  CLOUDSTACK-6485 prevent ip asignment of private gw iface
  CLOUDSTACK-9204 Do not error when staticroute is already gone
  make both check lines consistent
  CLOUDSTACK-9181 Prevent syntax error in checkrouter.sh
  CLOUDSTACK-9202 Bump ssh timeout
2016-01-16 19:54:41 +01:00
Wido den Hollander a171bbc96d CLOUDSTACK-9238: Increase URL fields to 2048 charachters from 255
255 characters is to small for various URLs like S3 pre-signed URLs.

This causes one or more characters to be chopped of the end of the URL
and this renders them useless.

Internally in the code all URLs are passed as Strings and they are not
sized limited. This was purely in the database.

Other URL fields in the database were already 2048 characters.

This limit was introduced in the 4.1 to 4.2 upgrade when Object storage
like S3 and Swift was introduced in CloudStack for Secondary Storage.
2016-01-14 14:06:04 +01:00
Michael Andersen 74f670dc3c [DB] Add force_encap field to s2s_customer_gateway table 2016-01-07 19:27:43 +01:00
nvazquez de23c94f33 CLOUDSTACK-9074: Move sql to 4.8.0 schema 2015-12-24 16:12:01 -03:00
nvazquez 07264204f5 CLOUDSTACK-9074: Drop nicira_nvp_router_map unique index on logicalrouter_uuid 2015-12-24 16:07:06 -03:00
Remi Bergsma 18fb10439b Implement upgrade path 4.7.1 -> 4.8.0 2015-12-21 23:02:43 +01:00
Remi Bergsma 9537f5d32b Merge release branch '4.7' into master
* 4.7:
  Debian changelog updated
  Implement upgrade path 4.7.0 -> 4.7.1
  Updating pom.xml version numbers for release 4.7.1-SNAPSHOT
  Implement upgrade path 4.6.2 -> 4.6.3
  Updating pom.xml version numbers for release 4.6.3-SNAPSHOT
2015-12-21 21:57:52 +01:00
Remi Bergsma 04c759390b Implement upgrade path 4.7.0 -> 4.7.1 2015-12-21 20:25:54 +01:00
Maneesha.P 626052128b CLOUDSTACK-9103 : Missing OS Mappings for VMware 6.0 2015-12-14 15:30:46 +05:30
Wei Zhou 24f1396ac1 CLOUDSTACK-9129: list vpc routers by keyword in Infrastructure -> Virtual Routers
and two more changes:
(1) add network name/vpc name in the listRouters response
(2) add network name/vpc id, vpc name in the router details page
2015-12-10 09:14:12 +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
Daan Hoogland 3de117c8be 4.6.0 upgrade path is to pass 4.6.1 to create the extra view in there 2015-12-04 10:06:19 +01:00
Remi Bergsma 7e902cd505 Merge release branch 4.6 to master
* 4.6:
  CLOUDSTACK-9075 - Uses the same vlan since it should have been already released
  CLOUDSTACK-9075 - Adds VPC static routes test
  CLOUDSTACK-9075 - Covers Private GW ACL with Redundant VPCs
  CLOUDSTACK-9075 - Add method to get list of Physical Networks per zone
  CLOUDSTACK-6276 Removing unused parameter in integration test for projects
  CLOUDSTACK-6276 Removing unused parameter in integration test
  CLOUDSTACK-6276 Fixing affinity groups for projects
2015-12-03 20:42:41 +01:00
Remi Bergsma a1d2c531f6 Merge pull request #1007 from ustcweizhou/dedicated-ip-for-domain
[4.7] CLOUDSTACK-8958: add dedicated ips to domain (account for now)For now, we dedicate ip pool to account, however, other accounts in the same domain cannot fetch the ip from this ip pool.
By dedicating ip pool to domain, accounts in the domain can fetch the public ip from same ip pool.

* pr/1007:
  CLOUDSTACK-8958: throw an exception if project account cannot be found
  CLOUDSTACK-8958: add dedicated ips to domain (account for now)

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-29 09:39:25 +01:00
Patrick Dube c76d317150 CLOUDSTACK-6276 Fixing affinity groups for projects 2015-11-27 14:43:02 -05:00
Rajani Karuturi 17219dfe79 Merge release branch 4.6 to master
* 4.6:
  more poms didn't get updated with script
  implemented upgrade path from 4.6.0 to 4.6.1
  checkstyle pom didn't get updated with script
  debian: add 4.6.1-snapshot to changelog
  Updating pom.xml version numbers for release 4.6.1-SNAPSHOT
  Updating pom.xml version numbers for release 4.6.0
2015-11-16 15:43:08 +05:30
Wei Zhou 37301ed454 CLOUDSTACK-8958: add dedicated ips to domain (account for now) 2015-11-16 10:17:40 +01:00
Remi Bergsma 6536992671 implement upgrade paths from 4.6.0/4.6.1 to 4.7.0 2015-11-15 19:11:50 +01:00
Remi Bergsma e0ac9df529 implemented upgrade path from 4.6.0 to 4.6.1 2015-11-15 14:43:22 +01:00
Wilder Rodrigues 72e79bcaa6 CLOUDSTACK-9046 - Add new ACS systemVMs website
- Also change the URl in the SQL file.
2015-11-09 15:13:53 +01:00
Wei Zhou 64ef4fa958 CLOUDSTACK-5822: keep user-added sshkeys in authorized_keys 2015-11-06 14:36:11 +01:00
Remi Bergsma 2af9611c20 Merge pull request #902 from sanju1010/simulator
CLOUDSTACK-8924: Enable dynamic scaling to run test_scale_vm.py test on simulatorSimulator setup uses the config file from following location:
tools/marvin/marvin/config/setup.cfg
Added global setting parameter "enable.dynamic.scale.vm" to above config file, so that dynamic scale vm tests can be run on simulator.

* pr/902:
  CLOUDSTACK-8924: Made changes based on the comments from @pvr9711

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-04 13:05:43 +01:00
nnesic 9191da3112 CLOUDSTACK-9011 - Fixed user_vm_view to only display keypairs belonging to the account. 2015-10-30 11:16:10 +00:00
Boris Schrijver 239227cceb CLOUDSTACK-8992 Allow 32 disks to be attached to a KVM VM. 2015-10-26 14:47:11 +01:00
sanjeev d39c6a0e18 CLOUDSTACK-8924: Made changes based on the comments from @pvr9711 2015-10-26 14:29:01 +05:30
Wei Zhou 6960b68443 CLOUDSTACK-8979: add virtio support for CentOS/RHEL 7 on KVM 2015-10-23 11:53:43 +02:00
Harikrishna Patnala 61c85fe2dc CLOUDSTACK-8888: Xenserver 6.0.2 host stuck in disconnected state after upgrade to 4.6
XenServer602Resource class is removed but existing xenserver 6.0.2 hosts are not handled properly.
2015-09-21 16:27:20 +05:30
Rohit Yadav 36a43abff4 schema: add 4.5.2 to 4.5.3 upgrade path stubs
(cherry picked from commit 17166eb631)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-09-16 11:53:41 +05:30
Rajani Karuturi 76c81a7bd9 Merge pull request #685 from kansal/CLOUDSTACK-8727
CLOUDSTACK-8727: API call listVirtualMachines returns same keypairCurrently the user can register same key with different names. Upon listing the VM's the name which got registered first is being returned and not the actual one. Anyhow this behavior is rare and not good. I have added a UNIQUE constraint on the ssh_keypairs table and also made sure that the previous registered keys(with duplicates) get deleted.

* pr/685:
  CLOUDSTACK-8727: API call listVirtualMachines returns same keypair: Corrected and test cases added

Signed-off-by: Rajani Karuturi <rajani.karuturi@citrix.com>
2015-09-09 10:39:43 +05:30
Kshitij Kansal 82fbd80193 CLOUDSTACK-8727: API call listVirtualMachines returns same keypair: Corrected and test cases added 2015-09-09 09:35:48 +05:30
Rajani Karuturi 5881035e7b Merge pull request #755 from karuturi/CLOUDSTACK-8647-2
Cloudstack:8647 LDAP Trust AD and AutoimportToday, CloudStack can automatically import LDAP users based on the configuration to a domain or an account. However, any new users in LDAP aren't automatically reflected. The admin has to manually import them again.
This feature enables admin to map LDAP group/OU to a CloudStack domain and any changes are reflected in ACS as well.
FS: https://cwiki.apache.org/confluence/display/CLOUDSTACK/WIP%3A+LDAP%3A+Trust+AD+and+Auto+Import

testcases output:
```
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running groovy.org.apache.cloudstack.ldap.NoLdapUserMatchingQueryExceptionSpec
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.216 sec - in groovy.org.apache.cloudstack.ldap.NoLdapUserMatchingQueryExceptionSpec
Running groovy.org.apache.cloudstack.ldap.LdapManagerImplSpec
log4j:WARN No appenders could be found for logger (org.apache.cloudstack.ldap.LdapManagerImpl).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
using type:
using type: null
using type: TEST
using type: TEST TEST
using name:
using name: null
using accountType: -1
using accountType: 1
using accountType: 3
using accountType: 4
using accountType: 5
using accountType: 6
using accountType: 20000
using accountType: -500000
Tests run: 29, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.387 sec - in groovy.org.apache.cloudstack.ldap.LdapManagerImplSpec
Running groovy.org.apache.cloudstack.ldap.LdapListUsersCmdSpec
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.041 sec - in groovy.org.apache.cloudstack.ldap.LdapListUsersCmdSpec
Running groovy.org.apache.cloudstack.ldap.LdapAddConfigurationCmdSpec
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.019 sec - in groovy.org.apache.cloudstack.ldap.LdapAddConfigurationCmdSpec
Running groovy.org.apache.cloudstack.ldap.LdapUserSpec
Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.021 sec - in groovy.org.apache.cloudstack.ldap.LdapUserSpec
Running groovy.org.apache.cloudstack.ldap.LdapAuthenticatorSpec
Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.082 sec - in groovy.org.apache.cloudstack.ldap.LdapAuthenticatorSpec
Running groovy.org.apache.cloudstack.ldap.LdapConfigurationVOSpec
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec - in groovy.org.apache.cloudstack.ldap.LdapConfigurationVOSpec
Running groovy.org.apache.cloudstack.ldap.OpenLdapUserManagerSpec
Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.094 sec - in groovy.org.apache.cloudstack.ldap.OpenLdapUserManagerSpec
Running groovy.org.apache.cloudstack.ldap.LdapDeleteConfigurationCmdSpec
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec - in groovy.org.apache.cloudstack.ldap.LdapDeleteConfigurationCmdSpec
Running groovy.org.apache.cloudstack.ldap.LdapUserResponseSpec
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 sec - in groovy.org.apache.cloudstack.ldap.LdapUserResponseSpec
Running groovy.org.apache.cloudstack.ldap.LdapUserManagerFactorySpec
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.027 sec - in groovy.org.apache.cloudstack.ldap.LdapUserManagerFactorySpec
Running groovy.org.apache.cloudstack.ldap.ADLdapUserManagerImplSpec
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec - in groovy.org.apache.cloudstack.ldap.ADLdapUserManagerImplSpec
Running groovy.org.apache.cloudstack.ldap.LdapCreateAccountCmdSpec
Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.168 sec - in groovy.org.apache.cloudstack.ldap.LdapCreateAccountCmdSpec
Running groovy.org.apache.cloudstack.ldap.LdapImportUsersCmdSpec
Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.063 sec - in groovy.org.apache.cloudstack.ldap.LdapImportUsersCmdSpec
Running groovy.org.apache.cloudstack.ldap.LinkDomainToLdapCmdSpec
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.019 sec - in groovy.org.apache.cloudstack.ldap.LinkDomainToLdapCmdSpec
Running groovy.org.apache.cloudstack.ldap.LdapSearchUserCmdSpec
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.011 sec - in groovy.org.apache.cloudstack.ldap.LdapSearchUserCmdSpec
Running groovy.org.apache.cloudstack.ldap.LdapListConfigurationCmdSpec
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 sec - in groovy.org.apache.cloudstack.ldap.LdapListConfigurationCmdSpec
Running groovy.org.apache.cloudstack.ldap.NoSuchLdapUserExceptionSpec
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in groovy.org.apache.cloudstack.ldap.NoSuchLdapUserExceptionSpec
Running groovy.org.apache.cloudstack.ldap.LdapConfigurationResponseSpec
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 sec - in groovy.org.apache.cloudstack.ldap.LdapConfigurationResponseSpec
Running groovy.org.apache.cloudstack.ldap.LdapConfigurationSpec
asserting for provider configuration: openldap
asserting for provider configuration: microsoftad
asserting for provider configuration:
asserting for provider configuration:
asserting for provider configuration: xyz
asserting for provider configuration: MicrosoftAd
asserting for provider configuration: OpenLdap
asserting for provider configuration: MicrosoftAD
Tests run: 19, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.053 sec - in groovy.org.apache.cloudstack.ldap.LdapConfigurationSpec
Running groovy.org.apache.cloudstack.ldap.LdapContextFactorySpec
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.099 sec - in groovy.org.apache.cloudstack.ldap.LdapContextFactorySpec
Running groovy.org.apache.cloudstack.ldap.LdapConfigurationDaoImplSpec
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.027 sec - in groovy.org.apache.cloudstack.ldap.LdapConfigurationDaoImplSpec
Running groovy.org.apache.cloudstack.ldap.LdapUtilsSpec
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 sec - in groovy.org.apache.cloudstack.ldap.LdapUtilsSpec

Results :

Tests run: 156, Failures: 0, Errors: 0, Skipped: 0
```

* pr/755:
  CLOUDSTACK-8647: linkdomaintoldap shouldnt fail when createuseraccount fails
  CLOUDSTACK-8647 removed duplicate key in create sql of ldap_trust_map
  CLOUDSTACK-8647: string formatting
  CLOUDSTACK-8647: updated with review comments
  CLOUDSTACK-8647: unittests for LdapAuthenticatorSpec
  CLOUDSTACK-8647: formatted LdapAuthenticatorSpec
  CLOUDSTACK-8647: UI for trust AD feature
  CLOUDSTACK-8647 added unittests for new methods  in ldapmanager
  CLOUDSTACK-8647 unittests for LinkDomainToLdap api command
  CLOUDSTACK-8647: fixed unittests
  CLOUDSTACK-8647 support for assigning and admin to linked ldap domain
  CLOUDSTACK-8647 added nested group enabled config in ldap
  CLOUDSTACK-8647 added account_type to the linkDomainToLdap API
  CLOUDSTACK-8647 changed the authentication flow
  CLOUDSTACK-8647 added new api linkLdapToDomain
  CLOUDSTACK-8647: added cmd and response class for the new api

Signed-off-by: Rajani Karuturi <rajani.karuturi@citrix.com>
2015-09-05 09:30:17 +05:30
Rajani Karuturi 6177bae810 CLOUDSTACK-8647 removed duplicate key in create sql of ldap_trust_map 2015-09-02 09:32:43 +05:30
Koushik Das 53cba7c741 Merge pull request #741 from koushik-das/simulator_fixes
Made following fixes in simulator
- Support for ScaleVmCommand/NetworkRulesVmSecondaryIpCommand in resource layer
- Added support for scaling up a running VM in simulator
- Fixed some method names not following convention

In order to test PR #725 using simulator some of these changes are needed.

Based on the way HV check is present in the scale VM API, had to explicitly put simulator related check to allow support. The ideal way would be to remove all these HV specific check from code and made them some configuration (by putting them in hypervisor_capabilities table in DB). But that will be a bigger effort outside the scope of this PR.

Signed-off-by: Koushik Das <koushik@apache.org>
2015-08-31 12:15:54 +05:30
Wei Zhou 99786516d7 Fix schema-421to430.sql issue after MariaDB upgrade 2015-08-27 16:21:22 +02:00
Rajani Karuturi 36340d97bd CLOUDSTACK-8647: UI for trust AD feature 2015-08-27 17:34:02 +05:30
Rajani Karuturi 0dc9ccd189 CLOUDSTACK-8647 added account_type to the linkDomainToLdap API 2015-08-27 17:30:20 +05:30
Rajani Karuturi e3ddde841e CLOUDSTACK-8647 added new api linkLdapToDomain
also added the required dao, table and vo
2015-08-27 17:30:19 +05:30
Miguel Ferreira acc11dc3fb Add vm scalling test that runs on simulator 2015-08-27 11:14:17 +02:00
Koushik Das f2f29525ae CLOUDSTACK-8737: Remove out-of-band VR reboot code based on persistent VR configuration changes
Removed out-of-band VR reboot code
2015-08-17 14:49:32 +05:30
Rohit Yadav 952a853392 CLOUDSTACK-8696: Port Rajani's regions fix to 451to452 sql upgrade path
Upgrade paths from 4.5.1 exists to both 4.5.2, and 4.6.0. Since 4.5.2 and 4.6.0
are not release, and the bug affects 4.5 branch; this patch aims to port that
fix from master to both 4.5/master branches.

Ported from commit b6a7804

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-08-14 13:16:58 +05:30
Rajani Karuturi b6a78044a0 CLOUDSTACK-8696: Create Region fails with exception
'id' in the region table should not be an autoincrement unlike other
tables. This is because, region ids must be in sync across installs and
hence is accepted as input to the addRegions api.

It is not a good practise to override id for this purpose. another
column 'regionId' has to be created and used(CLOUDSTACK-8706). until it
is fixed, id should never be autoincrement in regions table.
2015-08-04 15:09:16 +05:30
Rohit Yadav 3ff92e883e database: fix upgrade paths from 4.5.2 to 4.6.0
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-06-29 12:58:47 +02:00
Rohit Yadav 107595a6a5 CLOUDSTACK-8457: SAML auth plugin improvements for production usage
* Move config options to SAML plugin
  This moves all configuration options from Config.java to SAML auth manager. This
  allows us to use the config framework.
* Make SAML2UserAuthenticator validate SAML token in httprequest
* Make logout API use ConfigKeys defined in saml auth manager
* Before doing SAML auth, cleanup local states and cookies
* Fix configurations in 4.5.1 to 4.5.2 upgrade path
* Fail if idp has no sso URL defined
* Add a default set of SAML SP cert for testing purposes
  Now to enable and use saml, one needs to do a deploydb-saml after doing a deploydb
* UI remembers login selections, IDP server

- CLOUDSTACK-8458:
    * On UI show dropdown list of discovered IdPs
    * Support SAML Federation, where there may be more than one IdP
        - New datastructure to hold metadata of SP or IdP
        - Recursive processing of IdP metadata
        - Fix login/logout APIs to get new interface and metadata data structure
        - Add org/contact information to metadata
        - Add new API: listIdps that returns list of all discovered IdPs
        - Refactor and cleanup code and tests

- CLOUDSTACK-8459:
    * Add HTTP-POST binding to SP metadata
    * Authn requests must use either HTTP POST/Artifact binding

- CLOUDSTACK-8461:
    * Use unspecified x509 cert as a fallback encryption/signing key
      In case a IDP's metadata does not clearly say if their certificates need to be
      used as signing or encryption and we don't find that, fallback to use the
      unspecified key itself.

- CLOUDSTACK-8462:
    * SAML Auth plugin should not do authorization
      This removes logic to create user if they don't exist. This strictly now
      assumes that users have been already created/imported/authorized by admins.
      As per SAML v2.0 spec section 4.1.2, the SP provider should create authn requests using
      either HTTP POST or HTTP Artifact binding to transfer the message through a
      user agent (browser in our case). The use of HTTP Redirect was one of the reasons
      why this plugin failed to work for some IdP servers that enforce this.
    * Add new User Source
      By reusing the source field, we can find if a user has been SAML enabled or not.
      The limitation is that, once say a user is imported by LDAP and then SAML
      enabled - they won't be able to use LDAP for authentication
    * UI should allow users to pass in domain they want to log into, though it is
      optional and needed only when a user has accounts across domains with same
      username and authorized IDP server
    * SAML users need to be authorized before they can authenticate
        - New column entity to track saml entity id for a user
        - Reusing source column to check if user is saml enabled or not
        - Add new source types, saml2 and saml2disabled
        - New table saml_token to solve the issue of multiple users across domains and
          to enforce security by tracking authn token and checking the samlresponse for
          the tokens
        - Implement API: authorizeSamlSso to enable/disable saml authentication for a
          user
        - Stubs to implement saml token flushing/expiry

- CLOUDSTACK-8463:
    * Use username attribute specified in global setting
      Use username attribute defined by admin from a global setting
      In case of encrypted assertion/attributes:
      - Decrypt them
      - Check signature if provided to check authenticity of message using IdP's
        public key and SP's private key
      - Loop through attributes to find the username

- CLOUDSTACK-8538:
    * Add new global config for SAML request sig algorithm

- CLOUDSTACK-8539:
    * Add metadata refresh timer task and token expiring
        - Fix domain path and save it to saml_tokens
        - Expire hour old saml tokens
        - Refresh metadata based on timer task
        - Fix unit tests

This closes #489

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

Conflicts:
	client/WEB-INF/classes/resources/messages_hu.properties
	plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixCheckHealthCommandWrapper.java
	plugins/user-authenticators/saml2/src/org/apache/cloudstack/api/command/SAML2LoginAPIAuthenticatorCmd.java
	ui/scripts/ui-custom/login.js
2015-06-29 12:31:51 +02:00
Daan Hoogland 582687fb3f 4.4.4 to 4.5.2 upgrade
Conflicts:
	engine/schema/src/com/cloud/upgrade/DatabaseUpgradeChecker.java

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

This closes #529
2015-06-26 00:07:44 +02:00
Rohit Yadav 256e227cd5 schema: fix foreign key checks for 3.0.7 to 4.1.0 upgrade path
Without this upgrades from 3.0.7 version fails.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit a0cff4ca48)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-13 14:11:56 +02:00
Rohit Yadav 0af9c65de1 db: don't drop cloudbridge db in schema-451to460-cleanup.sql
It may be useful for users to get some data, so avoid dropping cloudbridge db

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-06 15:58:53 +02:00
Rohit Yadav 069aa4e5f3 CLOUDSTACK-8433: remove awsapi db usage and add upgrade cleanup path
- Removes awsapi db properties usage across codebase
- Removes references from spring xmls, test cases and TransactionLegacy
- Adds sql command to drop database cloudbridge in schema-451to460-cleanup.sql

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-06 15:22:04 +02:00
Remi Bergsma 8f4abbc7bd disable foreign key checks when altering them
Upgrades from 4.4 where not working properly due to errors like this:
ERROR 1833 (HY000): Cannot change column 'id': used in a foreign key constraint 'fk_global_load_balancing_rules_region_id' of table 'cloud.global_load_balancing_rules'

The disabling of the checks is for the current session only, so it's safe.

In the 4.4 branch, this file used to be at:
client/target/utilities/scripts/db/db/schema-442to450.sql

It's now moved. We need to edit it in 4.4 and 4.5 to have it effective.

This closes #164

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-14 14:50:58 +05:30
Gaurav Aradhye 469270ab0c CLOUDSTACK-8380: Adding script to testSetupSuccess.py to check VCenter port groups are created for storage, management and public traffic as soon as zone is deployed 2015-04-13 16:50:38 +05:30
Rohit Yadav 770297e8cb db: move bigswitch related sqls to schema-451to460.sql
We ought not change older schema migrations, so moved sql statements to the latest
upgrade path.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-09 13:15:02 +05:30
KC Wang 01864ef77c CLOUDSTACK-6697: bigswitch networking plugin update
1. provide compatibility with the Big Cloud Fabric (BCF) controller
   L2 Connectivity Service in both VPC and non-VPC modes
2. virtual network terminology updates: VNS --> BCF_SEGMENT
3. uses HTTPS with trust-always certificate handling
4. topology sync support with BCF controller
5. support multiple (two) BCF controllers with HA
6. support VM migration
7. support Firewall, Static NAT, and Source NAT with NAT enabled option
8. add VifDriver for Indigo Virtual Switch (IVS)

This closes #151

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-09 13:02:02 +05:30
Amogh Vasekar 35b741a1c9 excluded plain text authenticator
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>
2015-03-23 11:59:47 +05:30
Rajani Karuturi 843f6b1691 CLOUDSTACK-5236 : ability to identify where the user is from (ex. LDAP)
Added a source column to the user table.

Source now has only two values UNKNOWN,LDAP with UNKNOWN being the
default and is an enum is com.cloud.User.

When the source is UNKNOWN, the old method of authenticating against all
the available authenticators is used. If a source is available, only
that particular authenticator will be used.

added overloaded methods in AccountService to createUserAccount and
createUser with source specified.

(cherry picked from commit 5da733072e)
2015-03-16 14:53:53 +05:30
Rohit Yadav 74f9adbe3e engine: Add Upgrade path from 4.5.0 to 4.5.1
Encrypts:
- Remote access vpn preshared key
- StoragePool's user info
- Keystore's key

This closes #112

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

Conflicts:
	engine/schema/src/com/cloud/upgrade/DatabaseUpgradeChecker.java
2015-03-12 13:02:45 +05:30
Funs c27c69438b hypervisors: add OVM3 plugin that supports OVM 3.2.1/3.3.x
This is a plugin that puts in ovm3 support ranging from 3.3.1 to 3.3.2. Basic
functionality is in here, advanced networking etc..

Snapshots only work when a VM is stopped now due to the semantics of OVM's raw
image implementation (so snapshots should work on a storage level underneath the
hypervisor shrug)

This closes #113

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-12 11:33:42 +05:30
Abhinandan Prateek 58c5850bee CLOUDSTACK-8265: added foreign key constriant on guest os id 2015-03-03 02:25:09 -05:00
Abhinandan Prateek 6caee8590a CLOUDSTACK-8265: added os mappings for Ubuntu 14.04 2015-02-24 07:30:54 -05:00
Rohit Yadav 09e26c826f db: use explicit USE statements to avoid SQL failures
create-schema-premium.sql may fail with certain MySQL/MariaDB version which
require explicit database use.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-23 02:00:18 +05:30
Rohit Yadav 1a6df6f978 CLOUDSTACK-7908: Add user_id column to vm_instance table
Design Document:
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Allow+VM+listing+by+User+ID

- Adds column to VMInstance DAO
- Adds column in vm_instance table
- Adds column in the UserVMJoinVO
- Adds default admin user which has UID = 2
- Adds migration path that sets user_id to first user of the accountId that
  owns the vm in vm_instance table
- Add arg on list VMs API to query by userId, add support in query layer
- Refactor VMInstanceVO and child classes to accept userId
- Add code to let service layer pass userId if loggedIn user belongs to same
  account as the owner executing an API call or use first user from owner account
- In case of CPVM and SSVM use system user ID
- Fix unit tests and spring injections

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-16 15:02:38 +05:30
Abhinandan Prateek d9c5321a2d CLOUDSTACK-8178: fixed the mapping to match that on xen 6.5 2015-01-23 11:41:28 -05:00
Mike Tutkowski 0f84e042b9 Adding support for creating a volume from a snapshot when the snapshot is on managed storage 2015-01-20 15:24:33 -07:00
Abhinandan Prateek 6a20dd4ead CLOUDSTACK-8165: updating guest os id for xen template to corresponding 64 bit as default template is 64 bit 2015-01-19 16:03:56 +05:30
Erik Weber 396936ea5e Add absolute schema references to support MySQL 5.6 better 2015-01-14 14:52:47 +01:00
Wei Zhou 84c44b6314 CLOUDSTACK-8140: CS fails to start after secstorage/consoleproxy.service.offering is set to uuid 2015-01-06 10:23:44 +01:00
Daan Hoogland 68b9ba4515 Merge remote-tracking branch 'origin/4.5' 2014-12-18 14:37:55 +01:00
Daan Hoogland 67a7f74be0 CLOUDSTACK-7184 fieldname typo 2014-12-18 14:37:23 +01:00
Daan Hoogland f4133a7f70 Merge remote-tracking branch 'origin/4.5' 2014-12-18 12:55:47 +01:00
Daan Hoogland 8b6e251b5d CLOUDSTACK-7184 config value for xen heartbeat timeout 2014-12-18 12:26:14 +01:00
Rohit Yadav 1a66b3b5c6 CLOUDSTACK-8070: Upgrade router.ram.size using encryption util
Upgrade fails if value is set using plain text encoding, the value needs to
be encrypted (if a key was provided during db was setup).

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 6321a29e43)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-12-13 00:18:05 +05:30
Rohit Yadav 6321a29e43 CLOUDSTACK-8070: Upgrade router.ram.size using encryption util
Upgrade fails if value is set using plain text encoding, the value needs to
be encrypted (if a key was provided during db was setup).

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-12-13 00:17:09 +05:30
Rohit Yadav eb666453f3 CLOUDSTACK-6212: auto_increment for some other resource tables
This fix alters table columns which are primary keys but don't have them
auto_increment such as region, domain_router, user_vm etc.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit a11ddf3077)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-12-08 14:48:04 +05:30
Rohit Yadav a60d232d07 CLOUDSTACK-6212: Let vm_instance table's ID field be unique and auto_increment
`vm_instance` table's id column is unique but does not auto_increment like other
resource tables. The fix simply alter the table's id column to have it
auto_increment which may avoid id conflicts in a multi-master mysql setup.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit e1e5e12aaa)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-12-08 14:47:58 +05:30
Rohit Yadav a11ddf3077 CLOUDSTACK-6212: auto_increment for some other resource tables
This fix alters table columns which are primary keys but don't have them
auto_increment such as region, domain_router, user_vm etc.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-12-06 06:26:31 +05:30
Rohit Yadav e1e5e12aaa CLOUDSTACK-6212: Let vm_instance table's ID field be unique and auto_increment
`vm_instance` table's id column is unique but does not auto_increment like other
resource tables. The fix simply alter the table's id column to have it
auto_increment which may avoid id conflicts in a multi-master mysql setup.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-12-06 05:54:39 +05:30
Rohit Yadav 752980f370 Revert "packaging: updated hardcoded jasypt version to 1.9.2"
This reverts commit 43f39a1ec3.
2014-12-04 19:47:10 +05:30
Min Chen ab16011874 CLOUDSTACK-5949: remove unused vnc_password from user_vm_view view to avoid decryption bottleneck. 2014-12-03 14:48:01 -08:00
Min Chen 1716067ddd CLOUDSTACK-5949: remove unused vnc_password from user_vm_view view to avoid decryption bottleneck. 2014-12-03 14:46:47 -08:00
Rohit Yadav 518853ab43 packaging: updated hardcoded jasypt version to 1.9.2
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 43f39a1ec3)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-12-04 04:04:30 +05:30
Rohit Yadav 43f39a1ec3 packaging: updated hardcoded jasypt version to 1.9.2
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-12-04 04:02:46 +05:30
Min Chen 344d98e0bd CLOUDSTACK-7981: added back resource tag related columns to user_vm_view to support resource tag related search. 2014-12-03 09:48:07 -08:00
Min Chen 8cb11f407f CLOUDSTACK-7981: added back resource tag related columns to user_vm_view to support resource tag related search. 2014-12-03 09:33:22 -08:00
Hugo Trippaers 52803ae6b4 Fix invalid sql statements 2014-12-03 08:26:39 +01:00
Wei Zhou 0407fb334f CLOUDSTACK-7847: add max.domain.* in global setting and display domain resources in listDomainsCmd response 2014-12-02 11:52:10 +01:00
Hugo Trippaers ae0cb82792 Both scripts should be able to use the data-server introduced in 4.4 2014-12-01 14:56:58 +01:00
Wei Zhou 66afce66b4 Add support for Debian 7 on KVM/LXC 2014-11-27 20:42:50 +01:00
Wei Zhou 9f4c267d56 Add support for Debian 7 on KVM/LXC 2014-11-27 20:40:38 +01:00
Kishan Kavala 807bfb03e7 CLOUDSTACK-7320: Added default CentOS 7 template for LXC
Conflicts:
	setup/db/db/schema-442to450.sql
2014-11-27 18:13:55 +05:30
Harikrishna Patnala cdfdda2051 CLOUDSTACK-6075: Increase the ram size for router service offering
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 488c17858f)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-11-27 16:05:34 +05:30
Harikrishna Patnala 488c17858f CLOUDSTACK-6075: Increase the ram size for router service offering
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-11-27 16:04:59 +05:30
Hugo Trippaers 737a4c43ca The template for the system VM is Wheezy 7 not Wheezy 7.0 on XenServer 6.4.99
(cherry picked from commit 612b4ae6d9)
Signed-off-by: Hugo Trippaers <htrippaers@schubergphilis.com>
2014-11-27 10:29:53 +01:00
Hugo Trippaers 612b4ae6d9 The template for the system VM is Wheezy 7 not Wheezy 7.0 on XenServer 6.4.99 2014-11-27 10:27:57 +01:00
Min Chen bf8dd828f5 CLOUDSTACK-7981: listVirtualMachine is too slow in case of duplicate
resource tags due to joining user_vm_details to user_vm_view.
2014-11-26 17:40:06 -08:00
Min Chen 4e7af26c9f CLOUDSTACK-7981: listVirtualMachine is too slow in case of duplicate
resource tags due to joining user_vm_details to user_vm_view.
2014-11-26 17:23:07 -08:00
amoghvk 3d6635a537 Add support for RHEL 6.5 and relevant hypervisor mappings 2014-11-26 14:21:21 -08:00
amoghvk 86576593be Adding support for RHEL 6.5 2014-11-26 14:08:02 -08:00
Daan Hoogland 3cb78fc742 4.4.2 upgrade schema
remove 441to450 ddl
(cherry picked from commit 5578616143)
(cherry picked from commit f18d6238b0)

Conflicts:
	engine/schema/src/com/cloud/upgrade/DatabaseUpgradeChecker.java

schema: Add upgrade paths from 4.3.2 to 4.4.0

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

Conflicts:
	engine/schema/src/com/cloud/upgrade/DatabaseUpgradeChecker.java
	engine/schema/src/com/cloud/upgrade/dao/Upgrade441to450.java
	setup/db/db/schema-441to450.sql

merged new work from schema-441to450.sql into schema-442to450.sql
2014-11-24 16:25:44 +01:00
Daan Hoogland a52fd08a14 4.4.2 upgrade schema
remove 441to450 ddl
(cherry picked from commit 5578616143)
(cherry picked from commit f18d6238b0)

Conflicts:
	engine/schema/src/com/cloud/upgrade/DatabaseUpgradeChecker.java

schema: Add upgrade paths from 4.3.2 to 4.4.0

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 73c62837b5)
2014-11-24 15:08:49 +01:00
Kishan Kavala 1091d45809 CLOUDSTACK-7320: Added default CentOS 7 template for LXC 2014-11-21 18:00:06 +05:30
Anthony Xu 425a6b01d6 CLOUDSTACK-7918:
guest os name changes from 'SUSE Linux Enterprise Server 12 (experimental)' to 'SUSE Linux Enterprise Server 12 (64-bit)' in latest XS 5.6 ,
changed the guest OS mapping to fix it.
2014-11-14 14:28:19 -08:00
Anthony Xu 62a7a02f70 guest os name changes from 'SUSE Linux Enterprise Server 12 (experimental)' to 'SUSE Linux Enterprise Server 12 (64-bit)' in XS 5.6 beta 3 2014-11-14 11:26:03 -08:00
Devdeep Singh a60b729d0a Merge branch '4.5' 2014-11-14 14:14:26 +05:30
Devdeep Singh a782495c68 CLOUDSTACK-7642. Class not found exception after upgrading from 4.3 to 4.5 on a
XenServer hypervisor setup. The resource path has changed for xenserver resources
in 4.5. On an upgraded setup the db entries in host table for the resource path
needs to be updated. Made a fix in the upgrade script.
2014-11-14 14:10:36 +05:30
Sanjay Tripathi 057ba164f6 CLOUDSTACK-7905: Add OEL 6.5 32/64 bit guest os support. 2014-11-13 19:19:02 +05:30
Prachi Damle a4b92e908a CLOUDSTACK-7590 Deletion of Account is not deleting the account from the database
Revert "CLOUDSTACK-7073: Added domainId field to the user table in order to restrict duplicated users creation on the db level"

This reverts commit 5a96d8ef5c.

Conflicts:
	setup/db/db/schema-440to450.sql
2014-11-12 11:48:36 -08:00