Commit Graph

49 Commits

Author SHA1 Message Date
Bitworks Software, Ltd a86160b389 Cloudstack 10170: Fix resource tags security bugs and add account tags support (#2350)
This PR introduces several features and fixes some bugs:
- account tags feature
- fixed resource tags bugs which happened during tags search (found wrong entries because of mysql string to number translation - see #905, but this PR does more and fixes also resource access - vulnerability during list resource tags)
- some marvin improvements (speed, sanity)

Improved resource tags code:
1. Enhanced listTags security
2. Added support for account tags (account tags are required to support tags common for all users of an account)
3. Improved the tag management code (refactoring and cleanup)

Marvin:
1. Fixed Marvin wait timeout between async pools. To decrease polling interval and improve CI speed.
2. Fixed /tmp/ to /tmp in zone configuration files.
3. Fixed + to os.path.join in log class.
4. Fixed + to os.path.join in deployDataCenter class.
5. Fixed typos in tag tests.
6. Modified Tags base class delete method.

Deploy Datacenter script:
1. Improved deployDatacenter. Added option logdir to specify where script places results of evaluation.

ConfigurationManagerImpl:
1. Added logging to ConfigurationManagerImpl to log when vlan is not found. Added test stubs for tags. Found accidental exception during simulator running after CI.

tests_tags.py:
1. Fixed stale undeleted tags.
2. Changed region:India to scope:TestName.
2018-01-09 13:55:34 +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
Gaurav Aradhye 93c64cd7f2 CLOUDSTACK-7224: Fixed marvin code for async jobs
Signed-off-by: Santhosh Edukulla <santhosh.edukulla@gmail.com>
2014-08-01 22:51:08 +05:30
SrikanteswaraRao Talluri 34b177f2b5 CLOUDSTACK-6904: removed typeInfo key as part of sanitize command
Signed-off-by: SrikanteswaraRao Talluri <talluri@apache.org>
2014-06-12 17:52:26 +05:30
Gaurav Aradhye a0ad836fd2 CLOUDSTACK-6758: [Marvin] Detect failed job and throw exception
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2014-05-26 10:50:08 +05:30
santhoshe 24bf1c56df Added few exception changes,test suite name generation for information collected post run, fixed pep8 issues
Signed-off-by: santhoshe <santhosh.edukulla@gmail.com>

Conflicts:
	tools/marvin/marvin/marvinInit.py
2014-05-14 18:34:27 +05:30
root 56a44151aa Fixed pep8 issues arising as part of merge
Fixed pep8 issues arising as part of merge

Signed-off-by: root <root@localhost.localdomain>
Signed-off-by: SrikanteswaraRao Talluri <talluri@apache.org>
2014-04-29 19:36:09 +05:30
Santhosh Edukulla 901d633ca4 Added few changes for CLOUDSTACK-6316
1. Added pep8 changes, delete dc flag.
2. Now, delete dc works only if flag is set under config.
3. SSH, retries and delay were altered to reduce the time
for ssh connection

Signed-off-by: Santhosh Edukulla <Santhosh.Edukulla@citrix.com>
Signed-off-by: SrikanteswaraRao Talluri <talluri@apache.org>
2014-04-16 15:56:30 +05:30
Santhosh Edukulla 65e8f2dc53 Fixed issues related to CLOUDSTACK-5674
Fixed issues mentioned for CLOUDSTACK-5674.
More changes in the bug

Signed-off-by: Santhosh Edukulla <Santhosh.Edukulla@citrix.com>
Signed-off-by: SrikanteswaraRao Talluri <talluri@apache.org>
2014-04-04 18:30:45 +05:30
Santhosh Edukulla 63d3688360 Added fix for CLOUDSTACK-6316
Added changes for CLOUDSTACK-6316.
More details in the bug

Signed-off-by: Santhosh Edukulla <Santhosh.Edukulla@citrix.com>
2014-04-01 16:15:53 +05:30
Santhosh Edukulla d06f2b6a70 CLOUDSTACK-6158: Fix few changes 2014-02-24 18:55:41 +05:30
Santhosh Edukulla 7cc9423b8d CLOUDSTACk-5674: Added few misc changes to make it work. 2014-02-12 17:33:13 +05:30
Girish Shilamkar c1d34369aa Revert "CLOUDSTACK-5674: Few fixes"
This reverts commit e6b93b0a68.
2014-02-12 17:27:47 +05:30
Girish Shilamkar e6b93b0a68 CLOUDSTACK-5674: Few fixes 2014-02-11 14:54:46 +05:30
Girish Shilamkar 995e3f5b5d Revert "CLOUDSTACK-5674: Few new fixes"
This reverts commit 3493f17bad.
2014-02-11 12:36:07 +05:30
Girish Shilamkar 3493f17bad CLOUDSTACK-5674: Few new fixes 2014-02-09 16:04:31 -05:00
Santhosh Edukulla 286afda5d6 CLOUDSTACK-5980: Fix test case failing with "Error reading SSH protocol banner" ssh error 2014-02-04 15:45:45 +05:30
Santhosh Edukulla bf72441d13 CLOUDSTACK-6006: Remove integration folder and lib 2014-02-04 12:01:58 +05:30
Santhosh Edukulla 9393275611 CLOUDSTACK-5674: Added Fix for CLOUDSTACK-5674,5498,5500 and other issues as
part of cleanup
2014-01-22 12:19:20 +05:30
Santhosh Edukulla e498bf00d4 CLOUDSTACK-5443: Fixed the issue. 2013-12-11 19:37:29 +05:30
Santhosh Edukulla cafd820e3e Enhanced few features under Marvin
Added few enhancements to marvin.
Added new module for Logging Facility to marvin.
Added new Init facility to marvin.
Currently, there are multiple ways we are doing logging
Removed few unwanted logging cases.
Removed few command line switch options for logging.
The new way of logging now provides consolidated logging
under one single folder timestamped under the configured
folder path.
Removed parsing configuration from deploydata center
Added parsing,start logging and deploy as part of init
Added new error handling facility to catch unknown exception from
test cases. Currently, lot of scripts are throwing unknown
exceptions, add a handler to plugin to dump them to a file

ToDO:
Will do clean up in phase2 for this patch.
Separate deployDatacenter from creating test client.
Clean up configGenerator
2013-12-06 12:01:53 +05:30
Santhosh Edukulla aebbb15a64 Fixed a connection issue under asyncmgr.
Fixed a connection issue under asyncmgr.
Added __init__.py files to directory to make it
a package.This file was missing under few directories and
so not appearing as packages while refactoring.
Adding one None Check
2013-11-11 16:55:09 +05:30
Santhosh Edukulla 175ead4ea9 CLOUDSTACK-5121: There was one wrong initialization of cloudstackConnection.
The bug mentioned is causing test cases to fail.

Signed-off-by: Santhosh Edukulla <Santhosh.Edukulla@citrix.com>
2013-11-11 10:26:32 +05:30
Santhosh Edukulla d4072c6daa Added few changes related to bug 4920. Removed unwanted code
There were few unwanted calls as part of test client, did some clean up
Made the test client API uniform to accept both mgmt and dbsvr details
Did some minor bug fixes as well.

Signed-off-by: Santhosh Edukulla <Santhosh.Edukulla@citrix.com>
2013-10-23 13:53:43 +05:30
Prasanna Santhanam dfa0678fc6 marvin: a1b979da8 breaks formatting and pep8.
setup/dev/advanced.cfg is used by the simulator deployments that are
usually not https. disabled the http within this config file.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-10-22 11:59:14 +05:30
Santhosh Edukulla a1b979da86 CLOUDSTACK-4832. Added support for https to marvin.
advanced.cfg: Contains three additional flags "useHttps,certCAPath,certPath"
for https usage in marvin for establishing cs connection. We will use the
configuraiton under advanced.cfg provided by user to establish connection over
https. If establishing the connection over https failed, then the default certs
will be used.  or else raise the exception, the existing http will work as it
is when useHttps flag set to "False"

Signed-off-by: Santhosh Edukulla <Santhosh.Edukulla@citrix.com>
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-10-22 11:32:10 +05:30
Prasanna Santhanam 52c2bc0baf pep8: fix regression from 10938612cc
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-10-10 17:47:52 +05:30
Daan Hoogland 10938612cc [CLOUDSTACK-4832] no cert verification on https 2013-10-08 17:35:46 +02:00
Mike Tutkowski 99227f7b3e SolidFire plug-in and related changes
SolidFire plug-in

SolidFire plug-in related
2013-06-28 16:59:21 -06:00
Prasanna Santhanam 9e8cf60b34 upgrade marvin classes to new style python objects
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-06-28 19:01:31 +05:30
Prasanna Santhanam a7ef5c343b pep8 - long line complaint.
.. and inline comment complaint.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-06-21 12:12:29 +05:30
Prasanna Santhanam ed2ce27371 CLOUDSTACK-2652: requests module differs on Python 2.6
On 2.6 response.json returns the JSOn in the response while on 2.7
response.json() is a method. Since Marvin installs on both platforms
fixing the error appropriately

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-05-24 19:22:49 +05:30
Girish Shilamkar 4d0cea6626 CLOUDSTACK-2513: VPN tests refer to invalid connection.user in cloudConnection
cloudConnection object should always have "user" and "passwd" attributes.
And they are "None" while creating userAPIClient. As we already
have "user" and "password" for mgmt server.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-05-17 14:05:04 +05:30
Prasanna Santhanam b17be94cf5 don't let requests logs
requests logs to the logger making it hard to distinguish marvin logs
from http logs.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-05-15 14:52:33 +05:30
Nitin Mehta c11dbad9c9 merge master 2013-05-11 15:28:43 +05:30
Prasanna Santhanam 4e9e7937ed Fix Vijay's test to use the marvin integratin libararies
Changes to marvin_request and base libraries to accomadate POST
requests.

Additional tests for sending userdata through GET Userdata tests - send
size>2k data via GET and POST.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-04-24 13:43:08 +05:30
Talluri 9572f57648 CLOUDSTACK-2135: fix the string formatting error in cloudstackConnection.py
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-04-22 19:35:22 +05:30
Prasanna Santhanam b12905b7a8 pep8 compliance for cloudstackConnection
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-04-18 07:44:25 +05:30
Prasanna Santhanam 167781ec01 refactor marvin to use requests instead of urllib2
Use python-requests [1] for Marvin. Requests enables graceful handling
of http connections. Marvin's cloudstackConnection has been refactored,
cleaned up to act as a single module for all kinds of cloudstack API
requesting.

TODO:
1. session based login mechanism of the UI should work from
cloudstackConnection
2. cloudmonkey can also reuse /import marvin.cloudstackConnection
3. More graceful handling of POST requests

[1] http://docs.python-requests.org/en/latest/

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-04-17 19:11:47 +05:30
Chiradeep Vittal e7983b25cc QuickCloud: Enable secondary storage daemon to run outside the system vm 2013-04-09 14:45:25 -07:00
John Burwell e4583ced2e S3-backed Secondary Storage 2013-01-02 10:28:47 -08:00
Edison Su b70c1a5a84 Backs NFS-based secondary storage with an S3-compatible object store. Periodically, a reaper thread synchronizes templates and ISOs stored on a NFS secondary storage mount with a configured S3 object store. It also pushes snapshots to the object store when they are created and downloads them in other zones on-demand. In addition to permitting the use of commodity or IaaS storage solutions for static assets, it provides a means of automatically synchronizing template and ISO assets across multiple zones. 2012-12-13 23:18:37 -08:00
Chip Childers 2ee9253c78 CLOUDSTACK-514: Adding https and api path support to Marvin.
This is the first part of fixing CLOUDSTACK-514, and is hopefully
backward compatible with previous use of Marvin.  I added two new
parameters to the cloudstackConnection module, protocol and path.
Both have been defaulted to the previously *assumed* values.

Signed-off-by: Chip Childers <chip.childers@gmail.com>
2012-11-19 12:06:18 -05:00
Rohit Yadav 8ea2cc4e57 marvin: raise error so cli can pick it up
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-11-16 22:18:32 +05:30
Rohit Yadav d72d3ee22b marvin: check and use logger
Checks and only then calls logger

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-10-31 23:18:06 +05:30
Prasanna Santhanam ed113ca844 Correcting the imports for HTTPException 2012-07-30 15:32:34 +05:30
David Nalley ecf2cd57f9 fixing license headers in marvin 2012-07-04 18:45:08 -04:00
Prasanna Santhanam 7f470e8d2a Merge latest testClient fixes to marvin
reviewed-by: unittest
2012-04-12 18:10:32 +05:30
Prasanna Santhanam 5c37d144cc Package management for the python testclient christened Marvin
$ant package-marvin
will create a packaged source tarball of the testclient that is
redistributable and decoupled from the rest of the cloudstack build
reviewed-by: unittest
2012-04-11 18:24:20 +05:30