RFC: Dbomatic testability and performance
Richard Su
rwsu at redhat.com
Mon Apr 2 23:25:45 UTC 2012
Hello,
Here's a start of a feature outline. Contents of the wiki page is listed
below.
https://www.aeolusproject.org/redmine/projects/aeolus/wiki/Dbomatic_testability_and_performance
What I am unsure of is which part of dbomatic performance needs
addressing? From my limited experience, I have seen potential issues
with RHEV and the speed in which it starts instances. But that may have
been specific to the environment I was using.
If you have experienced issues with dbomatic, this would be a great time
to get them out in the open so that we may include them in this
refactoring of dbomatic.
Thanks.
----
# Summary
Dbomatic is currently responsible for updating instance statuses and ip
addresses and updating realms. It also starts freshly created RHEV
instances.
We do not have any test coverage for dbomatic and it is written in a way
that makes testing it difficult. We would like to refactor dbomatic to
make it more readable and in a way that allows us to plug in tests.
As part of the refactoring, we should also explore ways to improve its
performance. For example, there is currently a 30 second time window
allocated for each provider account where dbomatic communicates with
deltacloud to perform status update, launch instances, etc. This 30
second window may be too short especially if dbomatic is asked to launch
a large number of RHEV instances.
# Owner
Richard Su (rwsu)
and others who have interest
# Current status
Planning phase
# Screencast Demo
Run dbomatic tests.
Demonstrate dbomatic can handle status updates and launches where they
are a large number of instances. This can be through a unit test.
# Implementation tasks
This feature is being tracked at task #3094.
Tests to add
* State change reported by deltacloud is then reported in dbomatic
* Verify extraction and population of public and private ip addresses
* For RHEV, verify instance that is in STOPPED state and had previously
not been in running state is then started
* Realms refresh
* When provider is unavailable, dbomatic stays up and doesn't fail and exit
Performance related tasks
* Dbomatic should not timeout if is asked to launch a large number of
RHEV instances. Mock out a delay to simulate RHEV instance starts.
Eliminate the 30 second deltacloud timeouts.
* Profile RHEV instance launch performance from dbomatic, and optimize
code where needed.
# Open Questions
* Which part of dbomatic performance are we worried about?
More information about the aeolus-devel
mailing list