Prasanna Santhanam created CLOUDSTACK-980: ---------------------------------------------
Summary: marvin integration lib: make the library consistent with API Key: CLOUDSTACK-980 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-980 Project: CloudStack Issue Type: Improvement Security Level: Public (Anyone can view this level - this is the default.) Affects Versions: 4.0.0 Reporter: Prasanna Santhanam Assignee: Prasanna Santhanam Fix For: 4.1.0 While the marvin integration libraries in marvin.integration simplify test writing to quite a good extent we need to simplify the library methods so they are consistent with api behaviour. Some points that came up during code review: 1. Most Entity.create() methods take services and some (or all) of the arguments passed to the corresponding entity's resource creation API. But the logic within the create() checks for some args to be present in services and some others to be passed through as optional args. 2. Also if the api calls the arg 'account' then can we should retain the same in the create/delete/update methods. Not name that as accountid for example. This is the case in virtualmachine.create for instance 3. When creating StaticNAT rule we typically only enable static nat for an IP and then open up firewall rules using Firewall.create. Since create static nat actually opens firewall and enable does enable. 4. Better to have create of entities follow the form as shown below Entity.create(services=None, requiredArg1, requiredArg2, **kwargs) : .... Where **kwargs will be the possilbe list of args that are optional for the entity's corresponding API cmd. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira