Commit Graph

2468 Commits

Author SHA1 Message Date
Rohit Yadav 17366f2b18 CLOUDSTACK-8301: Enable configuring local storage use for system VMs at zone level
Backported from #263 for 4.5 branch, original bugfix by @koushik-das et al

More information on:
https://issues.apache.org/jira/browse/CLOUDSTACK-8301
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Enable+configuring+local+storage+use+for+system+VMs+at+zone+level

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

This closes #661
2015-08-08 22:41:52 +05:30
Rohit Yadav 20ce346f3a 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

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

This closes #489
2015-06-29 12:25:02 +02:00
Daan Hoogland 06de2d6292 backport of CLOUDSTACK-8197 create MinVRVersion config item
Conflicts:
  api/src/com/cloud/network/VirtualNetworkApplianceService.java
  engine/orchestration/src/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java

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

This closes #244
2015-05-13 09:33:16 +02:00
Rohit Yadav 7a1cb28c9f server: Introduce Unknown Status to be used in AbstractInvestigatorImpl
The PR #211 introduced changes where the abstract investigator testIpAddress()
would return other Status, which previously only returned null, Up or Down. In
this patch we introduce a new Status "Unknown" that replaces null's semantics.

The important changes #211 introduced was the debugging statements as semantically
the changes would work same as the consumers of testIpAddress() method only used
if returned values were Up or Down and in other cases (null, Alert etc) it would
simply continue to loop through the resources being investigated.

Keeping the debug logs, this commit only replaces the previously returned null
values with Status.Unknown and fixed the debug statements to reflect the same.
In case of trapped exceptions too, we return Unknown status but log the exception
we trapped.

server: add null assertions and remove dead code with testIpAddress usage

This closes #222

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-03 15:15:29 +02:00
Rohit Yadav 279efb0432 CLOUDSTACK-6139: Fix regression, allow zone level systemvm localstorage config
From b3f18e7d74, the zone level systemvm local
storage setting never worked as it needed to be moved to config depot.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-01 15:24:53 +02:00
Rajani Karuturi 5da733072e 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.
2015-03-16 12:35:37 +05:30
Rohit Yadav e000646790 CLOUDSTACK-8273: fix baremetal account creation
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-27 15:52:25 +05:30
Pierre-Yves Ritschard c37841817e ensure agent reconciliation triggers events
(cherry picked from commit 0ba75bcebd)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-18 11:15:13 +05:30
Kishan Kavala 7a397cd4ef For volumes created from template, do not log offering ID in VOLUME.CREATE in usage_event. Moved offering type to DiskOffering interface
(cherry picked from commit 9eb8d538dd)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-05 16:37:59 +05:30
Damodar 01cc1b816d CLOUDSTACK-7792: Usage Events to be captured based on Volume State Machine
(cherry picked from commit 781648fb10)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	engine/orchestration/src/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java
	engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java
2015-02-05 15:22:21 +05:30
Damodar 8ec6d0471c CLOUDSTACK-7648: There are new VM State Machine changes introduced which were missed to capture the usage events
(cherry picked from commit 50185b7c3a)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalManagerImpl.java
	server/src/com/cloud/capacity/CapacityManagerImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
2015-02-05 14:56:52 +05:30
Daan Hoogland 766f8216a0 state description c&p fix 2015-01-24 13:35:07 +01:00
Harikrishna Patnala 9cf05dc842 CLOUDSTACK-7534: ResetVM for VM with attached datadisk fails when enable.ha.storage.migration is false
Separate global config to enable/disable Storage Migration during normal deployment
Introduced a configuration parameter named enable.storage.migration

(cherry picked from commit c55bc0b2d1)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-20 14:43:10 +05:30
Kishan Kavala 1e87f3b80b Bug-Id: CLOUDSTACK-3439: Include dynamically created nics in Prepare for migration command in KVM
(cherry picked from commit f767adfe71)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-18 18:19:24 +05:30
Rajesh Battala 5f117e6be9 CLOUDSTACK-6920 Support listing of LBHealthcheck policy with LBHealthcheck policy ID
(cherry picked from commit c7b23d0a10)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-18 17:31:15 +05:30
Saksham Srivastava a1791cb4a8 CLOUDSTACK-8088: VM scale up is failing in vmware with Unable to execute ScaleVmCommand due to java.lang.NullPointerException
(cherry picked from commit 1df0453d27)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-18 17:28:17 +05:30
Wei Zhou e09308a1d4 CLOUDSTACK-7219: Cannot display Cluster Settings for missing commit 95e41fdf0d
(cherry picked from commit 71103772b7)
2015-01-16 10:57:49 +01:00
Daan Hoogland ad59970d37 specifying MinVRVersion as 4.5.0 for the 4.5 branch 2014-12-08 15:40:39 +01:00
Prachi Damle 968ca060ee CLOUDSTACK-5853 cannot deploy vm with differing service storage tag and data disk storage tag
Changes:
- Reverting Marcus's fix since this issue has already fixed by https://issues.apache.org/jira/browse/CLOUDSTACK-5426
2014-11-18 14:07:51 -08:00
Sanjay Tripathi a53d39c1b6 CLOUDSTACK-7835: Deleted volumes with null UUID and no removed timestamp in database still appear.
Also removed CREATING -> DESTROY via DESTROYREQUESTED, which was causing the volume to get stuck in expunging
state.
2014-11-04 17:57:31 +05:30
Frank Zhang 1b0a0d68f1 CLOUDSTACK-7795
Fix multiple baremetal rct configuraitons

Conflicts:
	api/src/com/cloud/event/EventTypes.java
	plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalVlanManager.java
	plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalVlanManagerImpl.java
2014-10-27 16:11:26 -07:00
Anthony Xu c52e14730e when host is pingtimeout and CCP can not determine the host status, put the host to Alert status , no VM HA. 2014-10-22 15:07:40 -07:00
Edison Su 1c1485e0f0 disable parallel for xenserver. Also for vmware, if full.clone is enabled and migratecommand will have the behavor of start/stop command
(cherry picked from commit d233f39c82)
2014-10-13 00:39:33 -04:00
David Nalley ffe846673c more revert cleanup 2014-10-12 23:31:17 -04:00
Hugo Trippaers 4ad2734576 CID-1114601 to 1114604 Recommended practice is to test the result of
skip and read for EOF
2014-09-19 14:29:01 +02:00
Frank Zhang b11e3bc60a CLOUDSTACK-6278
Baremetal Advanced Networking support
2014-09-18 16:54:37 -07:00
Kishan Kavala 30ecf935e8 CLOUDSTACK-7315: Set LXC volumes format as DIR. Use rm command to delete LXC volumes. Libvirt delete volume does not handle directories 2014-08-26 13:57:48 +05:30
Santhosh Edukulla 19ffc93e2e Fixed few coverity reported issues:Aug22 2014 2014-08-21 17:09:27 +05:30
Daniel Vega 233445ed68 CLOUDSTACK-6998: GloboDNS, Integration with external DNS Provider
This is a feature to handle DNS entries by means of an external DNS Provider,
such as Bind. These entries include DNS domains and reverse domains, VM records
and reverse records.

For a complete description, please refer to the design document available at
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Bind+and+PowerDNS+integration+by+Globo+DNSAPI

For the discussion about this feature on the dev mailing list, please refer to
http://markmail.org/thread/fvwf36hpxotiibka

Summary:
- new Network Service Provider called GloboDNS
- new Network Element to manage network domains and VM records (entries) on an external API
- new Network Resource to communicate with GloboDNS (open source)
- new API command to add DNS server
- new global option to determine if this provider should override VM entries on external DNS server
- changes in UI to include GloboDNS in Providers list

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-21 11:54:44 +02:00
Santhosh Edukulla 4a6560a9ee Fixed few coverity defects 2014-08-21 12:43:11 +05:30
Stephen Hoogendijk 6978c18c3a CLOUDSTACK-7308 - Adds tagging support for security group rules 2014-08-15 09:39:53 +02:00
Rajani Karuturi 736ff5f8e5 Fixed CLOUDSTACK-7303 [LDAP] while importing ldap users, update the user info if it already exists in cloudstack 2014-08-11 17:54:31 +05:30
Alena Prokharchyk 477f91327c CS-19072: fixed broken pagination and count in listVpcs 2014-07-28 15:26:02 -07:00
Alena Prokharchyk fa74b3a300 CS-19072: fixed broken pagination and count in listVpcOfferings 2014-07-28 14:44:12 -07:00
Alena Prokharchyk 8b98cc2202 CS-19072: fixed broken pagination and count in listNetworkOfferings 2014-07-28 14:44:04 -07:00
Murali Reddy 67876b215e CLOUDSTACK-7191:On restartNetwork destroy the VR immediatley, instead of
cleanup the rules then destroy

fix adds a provision to specify if cleanup is needed on network on
shutdown. VR is marked as to not to require network rules clean up on
network shutdown as the VR is destroyed and recreated.

ran the simulator tests that test network life cycle
2014-07-28 17:09:42 +05:30
Ritu Sabharwal 628d8e66f7 CLOUDSTACK-6823 : First code drop for Brocade Network plugin to orchestrate Brocade VDX switches for L2 connectivity
Signed-off-by: Hugo Trippaers <htrippaers@schubergphilis.com>
2014-07-23 11:11:18 +02:00
Damodar c43b56998a CLOUDSTACK-7153: addNicToVirtualMachine not BaseAsyncCreate but creates an entity 2014-07-23 09:28:32 +05:30
Suresh Ramamurthy 03de9cc335 CLOUDSTACK-6845 : NuageVsp Network plugin
Signed-off-by: Hugo Trippaers <htrippaers@schubergphilis.com>
2014-07-21 10:49:49 +02:00
Koushik Das aacf8ef77b Findbugs fixes in cloud-utils project and a few other places 2014-07-15 14:23:17 +05:30
amoghvk 6831ed4026 CLOUDSTACK-6358: Missing patches in master branch 2014-07-14 15:17:58 -07:00
Jayapal 73b622c823 CLOUDSTACK-7068: addIpToNicCmd changed to BaseAsyncCreate 2014-07-09 14:57:25 +05:30
Frank.Zhang 781ad96b04 CLOUDSTACK-6278
Baremetal Advanced Networking support
2014-07-07 11:43:05 -07:00
Alena Prokharchyk 324b5d5a57 CLOUDSTACK-7045: save started/completed events for createPrivateGateway and createStaticRoute apis 2014-07-02 17:23:35 -07:00
Nitin Mehta 80ef915fd5 CLOUDSTACK-7000: ListSnapshotPolicy should list by policyid. Introduce updateSnapshotPolicy command
(cherry picked from commit fce21439fa)
2014-06-26 11:38:41 -07:00
Hugo Trippaers cd0ef09344 Fix typo and add the right exception to the error map. 2014-06-25 15:51:28 +02:00
punith-cloudbyte 4d6c682f18 supporting nfs protocol and resize feature for managed storage for xenserver
resize feature refactored

Signed-off-by: Mike Tutkowski <mike.tutkowski@solidfire.com>
2014-06-24 15:16:45 -06:00
Nitin Mehta cb5e8c591f CLOUDSTACK-6987: Add support for storing metadata for snapshot policy and controlling policy using display flag
(cherry picked from commit 5cf8edd7ec)
2014-06-24 14:07:39 -07:00
Daan Hoogland c79ab570b0 Revert "CLOUDSTACK-6967: Initial OVM3 drop"
This reverts commit 8a485b9b59.
2014-06-24 10:24:01 +02:00
Funs 8a485b9b59 CLOUDSTACK-6967: Initial OVM3 drop
Signed-off-by: Sebastien Goasguen <runseb@gmail.com>
(cherry picked from commit ed47763e25)

Conflicts:
	api/src/com/cloud/network/NetworkService.java
	api/src/org/apache/cloudstack/api/ApiConstants.java
	api/src/org/apache/cloudstack/api/command/admin/usage/AddTrafficTypeCmd.java
	engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/SnapshotObject.java
	plugins/pom.xml
	server/src/com/cloud/network/NetworkServiceImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/test/com/cloud/vpc/MockNetworkManagerImpl.java
	ui/scripts/docs.js
2014-06-23 12:39:10 +02:00