-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
Background:
Cloudstack has global settings in which there are around 672 configuration parameters. Using these parameters one can adjust the values according to the need of the environment. For example "allow.duplicate.networkname" default value of this parameter is true, which means networks can be created with same name in an account. If the value is set to false then duplicate network names are not allowed.
Problem statement:
When admin wants to change the API behaviour or during debugging an issue, admin has to search for the corresponding configuration parameter. The only way currently everyone is using is by using string search or looking into corresponding documentation. Searching over 672 configuration parameters which is a huge list is not straight forward or may lead to missing few parameters.
Solution:
To address this problem I would like to propose the solution which maps the configurations parameters to the corresponding APIs. One can know what are the configuration parameters involved for a specific API. For example "createNetwork" API will be mapped to "allow.duplicate.networkname". When admin wants to see what are the configuration parameters used for "createNetwork" API , this mapping will help. In the final result we will have a table with APIs in one column and configuration parameters in another column.
Proposed Tasks
- Get started on basic CloudStack codebase and development (building and running CloudStack)
- Understand the marvin test framework on how to setup and run tests
- Setup any hypervisor (VMware/KVM/XenServer) based CloudStack dev/test environment
- Understand how global configurations are defined and used in CloudStack
- Use marvin tests to call all the APIs and record the configuration parameters used for each API call by using wrapper around configuration framework
- Deliverables: documentation and community pull request, end-to-end demo of feature
Relevant Skills
- Java and Python
- Virtualization/Cloud domain knowledge and usage
Proposed Mentor
Harikrishna Patnala - Committer Apache CloudStack
Difficulty
Major
Potential Mentors
Harikrishna Patnala - Committer Apache CloudStack
Any developer from the community
Example and references
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Configuration
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Marvin+-+Testing+with+Python#MarvinTestingwithPython-Installation
ISSUE TYPE
- Feature Idea