276 Commits

Author SHA1 Message Date
Jenkins
5755ede7a2 Merge "Fixes trove-api daemon fake mode functionality." 2013-11-25 17:12:40 +00:00
Jenkins
043f4e9c23 Merge "Allow query logging" 2013-11-22 22:18:44 +00:00
Steve Leon
4d7be83905 Adding designate dns support to trove
Implements: blueprint designate-dnsaas-support

Change-Id: I69a8455595b519a6459f70efa8eef8a4013bd9f6
2013-11-22 10:47:22 -08:00
Denis M
32b2bf5889 Allow query logging
Reason: Each query which is executed through sqlalchemy are logged,
because engine had been initialized with parameter echo=True,
this flag cause security issue - logging insecure user credentials.

Changes:
- adding flag to guest config which allows to
unable/disable insecure/secure query logging,
default value for insecure logging - False;
- engine init parameter echo depends on config value

Closes-Bug: #1224700
Change-Id: I2e0e5970a981f16ce1abe96f012ed7618f57287a
2013-11-21 15:52:47 +02:00
Andrey Shestakov
1cceaa11df Add support of datastore types
implements blueprint db-type-version

Change-Id: Ie87f72b898e993044803e7b37cad78372c2cd3f4
2013-11-19 13:28:59 +02:00
Nilakhya Chatterjee
c3d2466f76 Externalization of heat template
Reasons: preparing trove to support multi-datastores
Changes: template loading, heat-support update

This code refactors the earlier code of instance creation using heat.

- Configuration templates stored at trove/templates/(datastore_type)/config.template
- Heat templates are stored in trove/templates/(datastore_type)/heat.template
- One template per datastore type
- New parameter - ImageId
- Removed SSH key parameter
- All resources are updated according to available OS resources
  (for more details please visit heat repository).

Author: Denis Makogon (dmakogon) <dmakogon@mirantis.com>
Co-Authored-By: Nilakhya Chatterjee (SnowDust) <nilakhya.chatterjee@globallogic.com>

Change-Id: Ie6863a625e1525e152ed2886a630dc4f233be8dc
Implements: blueprint provide-custom-heat-templates-for-each-service-in-trove
2013-11-18 18:59:24 +05:30
Jenkins
4455746d65 Merge "Add optional ip address filter for hiding ips" 2013-11-13 23:16:51 +00:00
daniel-a-nguyen
90881fe690 Replace GUID with generated password
Change-Id: Id17f60db4df7188ec79faddc25453159a4f65fba
Closes-Bug: #1227913
2013-10-30 10:50:30 -07:00
daniel-a-nguyen
d93b7708bb Add optional ip address filter for hiding ips
Change-Id: I9f7631b9137062913379b45c98c545dda02ce284
Implements: blueprint add-ip-addr-filter-to-instance-view
2013-10-30 10:37:45 -07:00
Tim Simpson
eb81a1e963 Fixes trove-api daemon fake mode functionality.
This commit adds code to register taskmanager as a fake endpoint.
This allows the fake daemon to work again.

Fixes bug 1238901
Change-Id: Icb7c97cad3d76dc36a38126eb7f8b5929dc0d591
2013-10-28 23:41:11 -05:00
Jenkins
f525544c13 Merge "Provide service type management code structure" 2013-10-25 17:55:36 +00:00
Denis M
b214e9ec68 Security groups workflow update
Changes: Creating new Instance Task Status for Security groups
         Updating statuses if exception happend.

If security groups quota exceeded trove-api falls into exception
with updating instance task and service task statuses
to inform user that exception happend while security groups creation

Moving secgroup provision logic to the task manager

Author: Steve Leon <steve.leon@hp.com>
Co-Authored-By: Denis M <dmakogon@mirantis.com>

Change-Id: I74def4a4489951139ce8462104f1d7987c4f2fca
Implements: blueprint security-groups-workflow-update
2013-10-21 11:42:31 -07:00
Denis M
290c78cbad Provide service type management code structure
Reasons for refactoring:
- current code structure is orientied on mysql management implementation;
- there is no chanse to make new service types management
code fittable in current package/module structure;
- backuping process implementation is mysql/percona-orientied,
it should be renamed and should be configurable due to service type;
- "query" is abstract word for querying into database,
current query.py implementation is SQL orientied - it should be renamed;

Updates:
1.Providing new package hierarchy:
   guestagent/manager/service_type/service.py
   guestagent/manager/service_type/manager.py
   guestagent/manager/service_type/system.py
2.Renaming strategy implementations per each service_type
   guestagent/strategies/backup/mysql_impl.py
3.Externalizing operating system definer form system.py
 which used in pkg.py
4.Renaming query to sql_query.

Implement: blueprint refactor-ga-for-other-engines-support
Change-Id: I5fa5f037056bedf5464e99720cbe03b877c27fba
2013-10-16 13:16:36 +03:00
Jenkins
38e21074fd Merge "Add GA related parameters to trove-taskmanager.conf.sample" 2013-10-16 09:46:12 +00:00
Jenkins
f3e3502f95 Merge "Update trove-guestagent.conf.sample" 2013-10-14 18:40:36 +00:00
Denis M
f38685f264 Update statuses on GA timeout
Updates instance status if GA stacks at BUILD status
after poll_until
Change-Id: I581f67d1be9f8e9b2080daa86d51d89326840c5c
Implements: blueprint update-instance-task-status-if-instance-stucks-at-build-status-to-error
2013-10-11 12:52:30 +03:00
Illia Khudoshyn
4047f4e860 Update trove-guestagent.conf.sample
Add missing 'service_registry_ext' parameter
Remove obsolete 'guestagent_manager' parameter

Fixes bug: 1237910

Change-Id: I66606672bd5bdad21c00ce2ad8d7a8eb62cff8cc
2013-10-10 18:26:06 +03:00
Illia Khudoshyn
8400bb40b1 Add GA related parameters to trove-taskmanager.conf.sample
Adds placeholders for 'guest_config' and 'cloudinit_location'
to trove-taskmanager.conf.sample

Fixes bug: 1237395

Change-Id: I5214f5fcc785d94b5b2b60dead316768980d7909
2013-10-09 22:52:55 +03:00
Michael Basnight
d16940a1c3 Modifying tests to use the compat client
Modifies tests so they use the old style client code.
This is still exercising the actual v1.* code, it is
just accessing it via the compat module.

partially implements blueprint cli-compliance-upgrade

Change-Id: I5578525325416a28d7ab772ad0817f49ff6c6611
2013-10-08 21:07:37 -07:00
Dmitriy Ukhlov
9f55a06e09 Task manager refactoring done
Manager API class removed and rpc fake impl used now for integration
testing

Change-Id: If20004f1b69e41e8243a3f58eec184f1f457affe
Implements: blueprit trove-task-manager-client-refactoring
2013-10-08 23:36:18 +03:00
Jenkins
00b03a4d7e Merge "Support Optional Super User in Instance Create" 2013-10-08 19:02:41 +00:00
justin-hopper
64774095a3 Allow service_id per service_type for Usage Events
notification_service_id is not of type DictOpt,
    this allows for a comma-sep list of
    service_type:service_id pairs

Fixes: Bug 1215649
Change-Id: Ic747bf50bf6f4c2b705ecae96a7ead52ebcdae38
2013-10-04 16:46:42 -07:00
amcrn
8f0ab72bc8 Remove Duplicate trove_auth_url Property
Remove duplicate trove_auth_url property from
trove-taskmanager.conf.sample

Change-Id: Ie0cfb08b8ba808647184fb1a343c6773a107cfd7
Closes-Bug: #1234909
2013-10-03 13:01:13 -07:00
Jenkins
52506396dd Merge "Pydev remote debugging support added." 2013-10-03 08:38:09 +00:00
Michael Basnight
0805d0a008 fixing symlink attack bug present in the application.
fixes bug 1233305

Change-Id: I14a94b3b5cb27e8d6c5848c212b3b88053aa8aca
2013-10-01 15:10:22 -07:00
Dmitriy Ukhlov
f642220909 Pydev remote debugging support added.
Change-Id: I2649ba4be2b375b42bf16957dc685d970d0bcd7d
Implements: blueprint task-manager-debug
2013-09-24 21:08:04 +03:00
amcrn
f77aab57e1 Support Optional Super User in Instance Create
The creation of initial users and/or databases is supported in an
instance-create request, but the creation of a super/root user is
not. Granted, it's possible to create or reset the root user, but it
must be done as a separate request, after the instance has completely
initialized.

Changeset: If CONF.root_on_create == True, a UUID is generated for
the root user's password and is returned in the instance-create
response as the "password" property/field.

Change-Id: I300d3f019766445b90411d5ab8651b1aa34a77e9
Implements: blueprint instance-initial-super-user
Closes-Bug: #1219624
2013-09-20 14:29:20 -07:00
Nikhil Manchanda
5da9c62b91 Set sane defaults for required conf params in trove/common/cfg.py
The following conf options are required and should have their defaults
set to sane values which make sense for the reference implementation:
ignore_dbs, ignore_users, admin_roles, and api_extensions_path

Change-Id: I2d78e9a06cb56832297d38a8fc4608964bca6976
Fixes: bug 1226496
2013-09-17 14:36:12 -07:00
Denis M
797fe9c2d3 Add and associate security group rule with group.
Fixes: bug #1176095 #1176098
Change-Id: I254aca213ae40326ed6e9c00bc35d63ff0805c9f
2013-09-01 22:03:25 +03:00
Auston McReynolds
0815de500b Update nova_volume_url to cinder_url in CONF files
"Replace nova client with cinder client to use volume" for
bp/implement-volume-extend replaced nova_volume_url with cinder_url.
The purpose of the change was to support Cinder's recently acquired
ability to extend volumes. The original changeset missed the CONF
files, leaving the nova_volume_url artifact.

Change-Id: Ic814d8cef424c4d1e18e531beb9302da9e273eb6
Closes-Bug: #1218152
2013-08-28 19:49:09 -07:00
Andrey Shestakov
d523f31c57 Add instance cloudinit support
implements blueprint guestagent-through-userdata

Change-Id: Ifb33f149e63d7b9b7ed676da8ff05085ceceffeb
2013-08-16 21:27:39 +03:00
Jenkins
ce6c35e55c Merge "Moves extension files to routes" 2013-08-13 18:25:41 +00:00
Paul Marshall
7d022b4651 Moves extension files to routes
This allows extensions to be loaded properly without interfering with
directories in trove/extensions that are loaded as python modules.

Change-Id: Iad1bdc9b7548c46b0e5b8694693b4456ac548f14
Implements: Blueprint fix-extensions-imports
2013-08-09 14:59:15 -05:00
Steve Leon
7e57dbddcd Configurable network labels used for showing IPs in instance details
The ip shown in the instance detail was hard coded to be obtained from
a nova netwok label 'private' or 'usenet'. With this change, the labels
is configurable based on a regex pattern.

Fixes bug 1206303

Change-Id: I73d896e6b85bdebe342a777219b9b60d6954f8b6
2013-08-08 19:38:05 -07:00
Haomai Wang
4907ccca2a Replace nova client with cinder client to use volume
Now cinder support a few new features like extend volume which used in Trove.
We can't use nova client to enjoy this new feature, so we should change to use
cinder client as volume management.

implement bp implement-volume-extend

Change-Id: I4f9139bacd7d8b4c2538bff6aa54416b27c9026e
2013-08-04 22:31:34 -07:00
Michael Basnight
0a44fc273c Migrating the create/resize code to use flavor obj
The flavor objects used to use memory_ram and flavor_id. The
change now passes around objects so any other flavor properties
can be used.

implements blueprint refactor-flavor-taskmanager

Change-Id: I2520e4e4eba430338445bff4d358eef9fb16f0d5
2013-07-15 09:43:44 -07:00
justin-hopper
b0834124e8 Fix Notifications
Conditionally include Service ID for create/delete instance
    Removed old configuration for Exists Notifications

Change-Id: Id2d87b6dffff00479c9ef0ecd8dd77e3e1e3eb47
Fixes: bug #1192384
2013-06-27 00:12:15 -07:00
Michael Basnight
7ab80b554d Rename from reddwarf to trove.
Implements Blueprint reddwarf-trove-rename

Change-Id: Ia9ee609bbc06a1d8b9d6917642529f30347541fd
2013-06-24 14:11:15 -07:00
Dror Kagan
4eef8d9a70 Adding support for encrypted backups.
We'd like to enable the backups that are taken and stored as files in Swift, to
be encrypted. We'll add some new config flags, to mark whether or not
encryption is enabled. At this point, the encryption key will also be stored as
a config value. When configured to encrypt, the whole process will be streamed
to/from Swift, doing backup -> zip -> encrypt -> Swift and Swift -> decrypt ->
unzip -> restore all during streaming, so we don't use up more disk space than
needed.

Blueprint: encrypted-backups
Change-Id: I05447306f4249bfd8e02de7b008ebda3387b2fbd
2013-06-17 13:12:50 -07:00
justin-hopper
3a276f77c3 Adding Exists Event Publishing
TaskManager periodically sends notifications for active instances

Implements: blueprint notification-exists-event

Change-Id: If9ec0a6b89ee28c550297e5a7450b0b927e034f2
2013-06-10 16:49:00 -07:00
Robert Myers
3edc50a637 Allow remote implementations to be overridden.
* Adds new config settings for default remote clients
* Removes monkey patching during test runs
* Add fake implementations to test config.

Implements: blueprint: custom-remotes
Change-Id: Ic1fa423d9192eceb64f0de54bad869e73fb3a1e5
2013-06-07 11:52:47 -05:00
DJ Johnstone
b8dc6399db Adding missing config value
fixes bug # 1186360

Change-Id: I24d8e4833b7bc078ca238222f8dcee0cdfb2bf26
2013-05-31 12:49:44 -05:00
Jenkins
ce0d39fd2a Merge "Ephemeral volume support" 2013-05-23 23:26:24 +00:00
Steve Leon
301cdf245c Ephemeral volume support
This feature enables reddwarf to create instance and run mysql on ephemeral disk.
To enable this feature, set the flag "reddwarf_volume_support to False and specify the device_path and mount_point variables.

Also added int tests for ephemeral support

fixes LP bug# 1175719
BP: https://blueprints.launchpad.net/reddwarf/+spec/ephemeral-storage-volume

Change-Id: I869297e7da288ac42b359c8cdb731e8b7281d51b
2013-05-23 14:18:10 -07:00
Michael Basnight
8ccc5211a4 Changes the conf files so redstack doesnt clobber them anymore.
fixes bug 1183474

Change-Id: Ic5a9597f916e3633eaead77cbdae71780200342e
2013-05-23 10:40:40 -07:00
daniel-a-nguyen
16b42c9579 Added optional arg to launch child processes
Removed unnecessary conditional stmts
Commented out reddwarf-api-workers in configs

Change-Id: I80505fbe2dfe84c2ad77d4f41cd0d876b90187ef
Implements: blueprint preforkreddwarf
2013-05-21 16:05:15 -07:00
Nikhil Manchanda
595125ac84 Backup and Restore for reddwarf instances.
Implemented backup and restore for reddwarf instances.

Implements spec/consistent-snapshots

Change-Id: Ic1e78545f9e90ab986665a58f524081dcde6894b
2013-05-20 14:16:00 -07:00
Jenkins
51523dbf94 Merge "Refresh Oslo code - add support for ssl" 2013-05-20 18:27:24 +00:00
Dror Kagan
9b4279d2eb Refresh Oslo code - add support for ssl
We want to add ssl support for the reddwarf api server.
For this, updating the openstack/common/wsgi module, and
all it's dependencies as a result of using:
$> python update.py --base reddwarf --dest-dir ../reddwarf --modules wsgi
(details:https://wiki.openstack.org/wiki/Oslo)

I'm commenting out the "six" update, since it seems to break
our fake mode testing with regard to reddwarf-cli.

I'll open a separate bug for it.

Change-Id: I763d06658488bd1ca1eac5a2ba1ffde5629f842f
Fixes: Bug #1178421
2013-05-16 12:43:36 -07:00
Robert Myers
4a06e08c05 Adding the start of notifications
* Adds a nofity mixin for the taskmanager models
* Adding a usage verifier test
* Adding tests for usage notifications
* Adding extra parameters to match Nova notifications

Implements: blueprint reddwarf-notifications
Change-Id: I61193c238fac6e14d360f3e17baeb5302aa7d720
2013-05-10 14:48:55 -05:00