2. #CCCEU14 | #CloudStackWorks
Agenda
• Challenges related to product quality
in the community
• Solution to address some of them
• What is the simulator? Benefits?
• Demo
• Q & A
3. #CCCEU14 | #CloudStackWorks
Challenges related to quality
• Release getting delayed due to quality
issues
• Concern in community to merge big
changes as no easy way to identify
regressions
• Complex to develop test scenarios due
to distributed nature of the product
6. #CCCEU14 | #CloudStackWorks
Simulator – What is it?
• Mock library, intercepts all provisioning
requests from orchestration layer
• Developed as a plugin that sits on the
resource layer
• Ability to simulate success, failure, timeout
• Ability to define scope for simulation or mock
– specific agent command, host, cluster, pod,
data center, number of executions
7. #CCCEU14 | #CloudStackWorks
Benefits of Simulator
• Software based approach, no need for
hypervisors/hardware
• Apart from happy-path scenarios, very easy to test
for failure scenarios by injecting faults and delays
• Almost 70-80% of existing tests can run using
Simulator
• More automated tests resulting in improved code
coverage
• Easy to test for scale and performance
• API support – helps in automation
8. #CCCEU14 | #CloudStackWorks
Simulator APIs
• configureSimulator - define a mock
behaviour based on specified criteria
• queryMock - query the status of existing
mock. This is useful for checking if the
mock actually got executed during the
test.
• cleanupMock – remove mock once done
with it, so that subsequent tests can
start from a fresh state.