This form of testing has been nearly available for awhile but was not
turned on because it will increase the time of a full tox test run by
eight seconds. However there has recently been new features which do
not work at all with XML, so the time loss seems like a silly reason
to not gate on this.
implements blueprint test-with-xml
Change-Id: I98d892bb5c1a0c16425f80a28a296c70120318c8
Quota check for create/delete/resize volume
Quota is implemented as a decorator, which can be easy enabled and disabled if wanted.
The quota feature uses a reservation system that reserves resources prior to usage.
BP https://blueprints.launchpad.net/reddwarf/+spec/quotas
Change-Id: I5df82c8f1d7b40311b5d5d7301992607f98e9b2a
Addresses comments from a previous review
Leave configs in configs!
Cleaned up unit test, removed mock too
Implements: blueprint create-restricted-root-account
Change-Id: I43327c97c7b80dc99a2cfe071562d01f2d0f54a4
Grant, revoke, list user access.
Change user password and get single user.
Partially implements blueprint modify-users
Change-Id: I0001a7a9d1c527b88a1ed965f0f077c864e602cf
* Revert barrier should be right after Verify_RESIZE is confirmed, but
before confirming flavor for a resize action.
* Verify nova server status before restarting mysql.
If anything goes wrong during resize/migrate actions, taskmanager
first checks that the Nova server status is ACTIVE and only then make
the call to restart MySQL.
Fixes: bug #1102523
Change-Id: Ibca436d7fdcdef9f1afcec111da84891cd15353c
During a migration, waits for the guest and service to start up
following the status change to VERIFY_RESIZE. Confirms if everything
is all right, or reverts if not.
Implements blueprint migration-check-guest-status
Change-Id: Ia7c7ed1fd0070429fed93323ca559d1c0742bd8f
* Updated logging,cfg,setup to new oslo
* Split out the paste ini from the conf files
* Modified reddwarf-api/server to use new modules
* Modified reddwarf-manage to use new cfg
* Added rpc helper for rpc services
* Modified reddwarf-taskmanager to use rpc helper
* Modified reddwarf-guestagent to use new rpc helper
* Fixed guestagent api to use rpc proxy
* Fixed taskmanager module to conform to new rpc
* Updated guestagent manager/pkg to use new rpc
* Updated api paste to use keystoneclient auth_token
* Updated managers to use periodic tasks
Implements: blueprint reddwarf/upgrade-oslo
Change-Id: I9ad1b441eca855a4304454014ae746ec51bef8f3
The default value for block_device_mapping should not be a path, rather should be the name of the actual device in /dev. The device_path should also be defaulted to the fully qualified path to that device. This patch fixes volume support and does not require you to set reddwarf_volume_support=False to get a guest to boot sucessfully.
fixes bug: 1084802
Change-Id: I8aa8582da7b400c91f761a2974f859df8cd45003
* Changes the reddwarf.conf.test flag so "use_nova_server_volume"
is turned off, as it should be, and fixes a resulting fake mode bug.
* Fixes tests to not check for volume when
"reddwarf_main_instance_has_volume" is specified in the test config.
* Changes poll_until to reuse Reddwarf implementation instead of
rewriting it just for the tests.
* Adds tests to confirm its possible to log into a real MySQL instance.
These are only run for "real mode" in a VM or other environment, but
it's necessary that they live here.
* Changes the "get_address" method of the InstanceTestInfo object to
get pulled from the test config (necessary when hitting other
environments).
* Fixes some bugs in guest agent models.
* Deleted the pagination test. It can't run very quickly in the tox
fake mode, so there's no point in keeping it here (it still exists
in Reddwarf-Integration).
Change-Id: I2835762c4180e1ca594b27194564b8f993aa4066
Fixes: bug #1085188
This codebase used to be reddwarf_lite, it is now stackforge/reddwarf,
let's make sure naming conventions follow suit
Fixes bug 1081321
Change-Id: I9d56a1ec5274f49285992a2264b0e6d7a2a6c27f
The tests come from the Reddwarf Integration repository. wsgi_intercept
is used to allow the test code to hit the server code directly. It also
properly sets up the SqlLite database before each run.
* Adds an "event simulator" which queues up functions that would
normally be spawned with eventlet. The various sleep functions are
then swapped with a method that runs these faux-events.
* Adds many of the Reddwarf Integration tests. The idea is these
could still run in a richer, real environment, but are running here
enables us to quickly check feature breaks for each commit and
lowers the learning curve necessary to test the API. The downside
is some of these tests still have artifacts of their origins, such
as (unused) classes to connect to MySQL databases. Some more work
will be necessary to separate the "real mode" functionality of these
tests further.
Implements: blueprint tox-tests
Change-Id: I9857f265c1cb46832906ef5e6a0c7bb4a092e637
* Changed reddwarf.conf.test to reflect local mode.
* Updated fake keystone. Any token is treated as the tenant ID, and any tenant id starting with "admin" is treated as an admin.
* Added some comments for the wsgi stuff.
* Changed WSGI code to log in the event results can not be serialized, since the base class swallows the exceptions and hides nasty bugs.
* No longer return wsgi.Resulti for instance get and delete, since it doesn't work with XML serialization.
* Also fixed fake mode test conf.
* Added ComputeInstanceNotFound to HTTPNotFound in exception map.
* Fixed Fake Mode by adding another flavor type (this should probably be data driven...).
added some helper code to make sure the mysql service is up
add a config value to turn on volume support
moving around the lines to be dependent on volume support
trying to stop volume support
fixes with the merge
imported and raised exceptions in guest correctly
fixed the config get values as boolean and not just the string
deleting the serivce status entry on delete of the instance so that the
guest can not update the instance to active again.
made the create and update times saved correctly for an instance
check if mysql is already installed in the guest
clean up instance model
using _(i8n)
adding the populate databases back in
pep8 compliance
updated apt get version method
moved the volumeHelper class to a new module
made the start/stop mysql methods public
created a method to create volume for instances and readability
created a new client for volume calls
added the volume and size to the create/list/show instance api calls
removing the mount_point and device_path from the MysqlApp class
removing code that deleted the instance status entry
adding volume service to the reddwarf.conf.test file
set volumes to not be disabled by default
* Changed reddwarf-server to load the paste config first so the config file valeus would be read during start up.
* Made the Config class update the dictionary values instead of replace them all.
* Added a test conf file for running the server locally.
* Added a fake version of Nova and the Guest API.
* Changed Guest API to not require every single method to pass context and ID. This also makes it easier to fake.
* Changed some instances of uuid to id.
* Added "BUILD" server status to list of statuses which should be returned instantly in Instance status code.
* Fixes Github issues #46 and #45
* Created a middleware for context
* Commented out a bug that was introduced
* Updated context in all services
* Turned a few straggling 201s into 200s