How to categorize this issue?
/area testing
/kind enhancement
Issue Description:
Currently, all MCM integration tests (IT) run only with an actual cloud provider, making it difficult to validate changes or perform stress tests with a large number of machines. Moreover, the tests don't run as part of the repository's CI/CD workflows since that requires a running kubernetes cluster with actual backing infrastructure.
What would you like to be added:
Having a simulation provider that could emulate CSP (cloud service provider) responses for the Machine Driver interface with support for injection of various constraints such as instance quota, mock delays or targeted failures.
The introduction of the simulation provider would be achieved in multiple stages:
Why is this needed:
This would allow for testing any MCM changes by having automated workflows that run the IT with the simulation provider without needing real infrastructure.
Furthermore, this would greatly increase developer productivity by reducing the friction of manually testing the changes since the CSP responses can be mocked and additional constraints be introduced as per their need.
How to categorize this issue?
/area testing
/kind enhancement
Issue Description:
Currently, all MCM integration tests (IT) run only with an actual cloud provider, making it difficult to validate changes or perform stress tests with a large number of machines. Moreover, the tests don't run as part of the repository's CI/CD workflows since that requires a running kubernetes cluster with actual backing infrastructure.
What would you like to be added:
Having a simulation provider that could emulate CSP (cloud service provider) responses for the Machine
Driverinterface with support for injection of various constraints such as instance quota, mock delays or targeted failures.The introduction of the simulation provider would be achieved in multiple stages:
Add proposal for simulation provider for testing #1121
simulationmodification hooks to improve and standardize the process of extending the testing scenarios.Why is this needed:
This would allow for testing any MCM changes by having automated workflows that run the IT with the simulation provider without needing real infrastructure.
Furthermore, this would greatly increase developer productivity by reducing the friction of manually testing the changes since the CSP responses can be mocked and additional constraints be introduced as per their need.