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