Commit Graph

25491 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
Boris Schrijver 58c6a8d1a3 CLOUDSTACK-8703: Fixed issue when listing directory on S3, it would only return objectSummaries when the anwser from the S3 System was truncated.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #651
2015-08-04 17:42:21 +05:30
Rohit Yadav 2ed9539c29 travis: don't force M2_HOME, let Travis use the bundled maven3
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #652
2015-08-04 01:13:37 +05:30
Milamber f3c423fb78 Update L10N resource files on 4.5 branch with 4.5 translation strings from Transifex (20150730) 2015-07-30 11:10:18 +01:00
Boris Schrijver 8dc8e9b8f3 CLOUDSTACK-8649: Fixed unnecessary double url decoding in registerSSHKeyPair.
Signed-off-by: wilderrodrigues <wrodrigues@schubergphilis.com>

This closes #615

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

Conflicts:
	server/src/com/cloud/server/ManagementServerImpl.java
2015-07-24 14:59:30 +05:30
Daan Hoogland fd459b89ff CLOUDSTACK-7539: no return in synchronised block 2015-07-17 13:06:23 +02:00
Hiroki Ohashi 9cb4a913d3 CLOUDSTACK-7539: [S3] Parallel deployment makes reference count of a cache in nfs secondary staging store negative(-1) 2015-07-17 13:05:21 +02:00
Boris Schrijver 56522fda67 CLOUDSTACK-8642: SSO Method not allowed bug fix. Due to CLOUDSTACK-8505 and commit 1c81b241e7
Signed-off-by: Daan Hoogland <daan@onecht.net>

This closes #598

(cherry picked from commit b1e5906923)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-07-16 21:44:58 +05:30
Rohit Yadav c7a6623cac CLOUDSTACK-8457: SAML UI Dialog fixes to use local $form
This uses local selector to access the DOM elements, the previous commit
would find a global element which is not in the context and fail changing the
element in the opened dialog.

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

This closes #583

(cherry picked from commit 47d2d07eb9)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-07-15 18:37:27 +05:30
Rohit Yadav 7d11c7bc70 CLOUDSTACK-8457: SAML UI enhancements
Add option to authorize SAML SSO for user when adding user. Appends a domain to
user/account name if global setting is enabled, useful in case of multiple IDP
server. By default the setting is set to false (keep as it is).

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

This closes #575
2015-07-14 10:20:00 +05:30
Rohit Yadav 12edad3e20 CLOUDSTACK-8622: Reinstate working sessions in browser
- Login is based on sessionkey HttpOnly Cookie
- ApiServlet does login verification using sessionKey from both the request cookies
  and the API parameters. In both cases, if either or both are passed they should
  match the sessionKey stored in the current session of the HttpRequest
- UI: it no longer needs to read or set sessionkey cookie
- UI: it no longer needs to return g_sessionKey value in the API requests, though
  to support a sso mechanism g_sessionKey is still passed in the API is not null
- Secure jsessionid cookie is set to be HttpOnly and Secure
- SAML login should also set HttpOnly cookie before redirecting to UI
- SAML: listIdps & getSPMetadata APIs are readonly now, won't log out a logged in user

Performed tests (login, saml login if applicable, page refreshes, opening
multiple tabs, logout) with following combinations:
- SAML disabled, normal auth as admin, domain-admin and user
- SAML enabled, normal auth as admin, domain-admin and user; and saml sso as
  admin, domain-admin and user

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

This closes #574
This closes #308
2015-07-10 17:27:34 +05:30
Ilya Musayev a2ddf2773e CLOUDSTACK-8624: Added the support for mysql db port and lowered the requiremnts for available disk capacity to 2.1GB VS original 5GB as it was too excessive. 2015-07-10 06:59:56 +05:30
Rohit Yadav 4de4a0f3dd CLOUDSTACK-8621: Allow UI plugins to be shown on navigation bar
Introduces a boolean option in UI plugins setting it to 'true' would display
the UI plugin on the left navigation bar.

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

This closes #563

(cherry picked from commit 7c206c30a5)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-07-09 15:26:00 +05:30
Koushik Das 7eac6310bc CLOUDSTACK-8603: Random list VM failures at scale (more than 1000 VMs) when VM has resource tags There is no 'removed' field on the resource_tags table. So 'id' based search may return a record or null in case record is deleted. Added a check for null or empty in search resource tags based on 'id'.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #551

(cherry picked from commit 5d9f851deb)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-07-03 15:28:22 +05:30
Rohit Yadav 2777caddbb appliance: bump systemvm template version to 4.5.2
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-07-01 12:45:52 +02:00
Rohit Yadav ba750293cc XenserverSnapshotStrategy: check if primary is null before proceeding in backupSnapshot
In backupSnapshot, it checks for snapshot in primary but does not check in advance if
it is null.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-06-29 18:38:04 +02:00
Rohit Yadav e50547a3ea engine/storage/snapshot: Fix NPE when parent could be null
Fixed potential NPE in SnapshotServiceImpl where parent snapshot is null

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-06-29 18:33:22 +02:00
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 a8959bca55 4.4.4 to 4.5.2 upgrade
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #528
2015-06-26 00:02:35 +02:00
Daan Hoogland eb904cd8fd findbugs: repeated condition seems c&p error the tested states sugest that EXPUNGED should be the last one
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #491

(cherry picked from commit bb613baa2b)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-06-19 15:27:17 +03:00
Abhinandan Prateek 04c7cf4e15 CLOUDSTACK-8570:Exception in calculating reserved capacity for dynamic service offering 2015-06-19 09:24:56 +05:30
Jayapal 259b2639f5 Fixed issue in adding vm SG rules on vm reboot for xenserver 6.5
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #479

(cherry picked from commit 59e6596fef)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-06-18 13:33:01 +03:00
Daan Hoogland 85e2d9611f CLOUDSTACK-8545 alert when out of band migration is detected and not
acted upon
2015-06-18 08:04:50 +02:00
Daan Hoogland 88fb8431f2 CLOUDSTACK-8545 make reboot on out of band migration configurable 2015-06-17 22:31:44 +02:00
Daan Hoogland 4d096ea0e1 CLOUDSTACK-8537 test for the sake of testing the fix seems so trivial but no testing is available for it at all. when bugs arise test extension should be the start point here.
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>

This closes #357
2015-06-17 22:20:13 +02:00
Daan Hoogland 6e3c6e8299 CLOUDSTACK-8537 refactor registerSSHKeyPair() for legibility and testability reasons
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>
2015-06-17 22:19:53 +02:00
Daan Hoogland 570d162692 CLOUDSTACK-8537 add check for unique public key and account on ssh keypair registration
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>
2015-06-17 22:19:23 +02:00
Wido den Hollander ad1fbc1b79 CLOUDSTACK-8560: Stat the resulting image after copying from template and return the size
This way we update the DB with the actual size of the disk after deployment from template

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

Conflicts:
	plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java
2015-06-15 21:53:20 +03:00
Wido den Hollander 9ff3fe371e CLOUDSTACK-8559: IP Source spoofing should not be allowed
We did not verify if the packets leaving an Instance had the correct
source address.

Any IP packet not matching the Instance IP(s) will be dropped

(cherry picked from commit 3e3c11ffca)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-06-15 21:51:01 +03:00
Kishan Kavala 979956a4ef CLOUDSTACK-5409: Include projectid during ACL check while listing S2S Vpn gateways
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #374
2015-06-12 14:54:16 +03:00
jeff 64d72db0fc Allow EC2 to be run from Maven properly
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #389
2015-06-12 14:49:09 +03:00
Daan Hoogland 5fb86ae316 CID 1302976 Scanner in try-with-resource
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #352

(cherry picked from commit 3d4d152753)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-06-04 00:10:18 +02:00
Daan Hoogland fb50283fbe CID 1302974: Scanner in try-with-resource
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #353

(cherry picked from commit 109b6e94d3)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-06-04 00:10:05 +02:00
Rohit Yadav d55d45348c CLOUDSTACK-8530: KVM hosts without active agents should be in Disconnected state
KVM hosts which are actuall up, but if their agents are shutdown should be put
in disconnected state. This would avoid getting the VMs HA'd and other commands
such as deploying a VM will exclude that host and save us from errors.

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

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

This closes #340
2015-06-02 14:53:55 +02:00
Rohit Yadav 19cc5eb9e6 schema: Encode URL safe random vnc password string
/+= may break on some environments, url safe encoded passwords will have -_,
characters which are more acceptable

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-06-01 14:10:54 +02:00
Vadim Kimlaychuk f8e1ff12ab CLOUDSTACK-8231: Fixed UI empty drop-down list for LB rules
This closes #302

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 94f1ebb60a)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-29 21:19:26 +02:00
René Moser 00fffbe081 template, api: fix format desc, add OVA format
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #331

(cherry picked from commit 666263e84d)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-29 21:02:30 +02:00
Rohit Yadav fb88a11f82 framework: don't use raw SQL statements to save certificate in KeystoreDaoImpl
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-29 18:32:40 +02:00
Rohit Yadav 7ae9f87d59 utils: add findCookie value by key helping method in HttpUtils
finds cookie value from an array of cookie by key name

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 78ea36d099371b9a59cbf1e3efd48b853ecc37ca)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-29 15:41:59 +02:00
David Bierce 0c8c089177 Always enter chap-secrets as a quoted field. In the event of special characters it creates and deletes the entry properly, in the event there are not special characters there is no change behavior.
Signed-off-by: Remi Bergsma <apache@remi.nl>

This closes #307
2015-05-28 15:06:56 +02:00
Rohit Yadav 8625744142 CLOUDSTACK-8247: Pull average Cpu util report between polling
Pull average Cpu util report between polling intervals instead of since boot
instead of using values since uptime

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

This closes #289
2015-05-25 14:48:16 +02:00
Rohit Yadav d2b0c1a32b CLOUDSTACK-8339: Allow non-root users to add KVM host
This allows non-root users to add KVM hosts, the user should be an admin or
added to sudoers to execute sudo cloudstack-setup-agent.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Signed-off-by: Remi Bergsma <apache@remi.nl>

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

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

This closes #290
2015-05-25 00:31:06 +02:00
Milamber 8eafdbd224 CLOUDSTACK-6181 Specify GB for the value of rootdisksize parameter. Add some Bytes/GB for log or exception messages. Fix Gb->GB. 2015-05-23 18:53:18 +01:00
Rohit Yadav 803b946c2f CLOUDSTACK-8243: KVM agent should not use hardcoded string tails
For KVM agent, guid is configurable in agent.properties, this fix allows the
configuration to work by removing string tail (the -LibvirtComputingResource suffix).

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

This closes #286
2015-05-22 18:11:52 +01:00
Rohit Yadav 90ac1aba13 kvm: Strip trailing comma for qemu-img convert options
Fix trailing comma for qemu-img convert options, Qemu 2.0+ not tolerant to it

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-22 13:32:56 +01:00
Rohit Yadav aee35c96a8 CLOUDSTACK-8252: Ignore VLAN 4095 which is n/a on linux
VLAN id 4095 is commonly used as a 'tag passthrough' in virtualization environments
(VMware, specifically). This vlan id is incompatible with Linux, but we can
allow the admin to manually configure the bridge if the same passthrough is
desired.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-22 13:22:40 +01:00
Rohit Yadav 0120e906e5 kvm: fix test for non-osx platforms
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-22 12:10:53 +01:00
Rohit Yadav 9e9b231672 CLOUDSTACK-8505: Don't allow non-POST requests for default login API
We add a new contract to pass Http request to authentication plugin system. In
the default login API, we disallow non-POST requests.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-22 10:11:15 +01:00
Rohit Yadav 212a05a345 CLOUDSTACK-8338: Fix hypervisor stats reporting for KVM on EL7
EL7 has a different output to 'free', use /proc/meminfo instead of a tool to be
more consistent across distros

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-22 09:25:03 +01:00