All,

I've made few changes which allows for a standalone Marvin. We currently have 
Marvin in the CloudStack repository because of the 'cloudstackAPI' code 
generation that is done during build time. Marvin allows 'cloudstackAPI' to be 
generated at runtime if a URL end-point is provided.


Some of the known build/test environments such as Travis, Trillian (upcoming) 
[1], bubble [2] etc. have Marvin dependency that is tied to the 
repository/branch. By splitting Marvin apart, build/test environments such as 
Trillian can simply get Marvin, generate cloudstackAPI against a running mgmt 
server and then run Marvin based tests. This is useful as Trillian, bubble etc 
perform tests on CloudStack packages (rpm/deb) instead of the maven.


The only cons of this approach is that Marvin library (if split) will need to 
be backward compatible wrt tests and CloudStack versions, and looking at the 
core Marvin library history it seems Marvin from latest-master branch is 
backward compatible to at least 4.5.2 (tested today). (Note: integration tests 
may be still tied to branch/version).


As an experiment, in the following PR the marvin library is not installed from 
the maven build but rather after CloudStack mgmt server runs, we use the Marvin 
codegenerator to generate `cloudstackAPI` from the API end-point 
(unauthenticated, on port 8096): https://github.com/apache/cloudstack/pull/1599


As an example, here is the marvin library with git history use-able as a 
separate repository: github.com/rhtyd/marvin


Thoughts, comments?


Regards.


[1] https://github.com/shapeblue/Trillian

[2] https://github.com/MissionCriticalCloud/bubble-toolkit

[https://avatars3.githubusercontent.com/u/16591787?v=3&s=400]<https://github.com/MissionCriticalCloud/bubble-toolkit>

GitHub - MissionCriticalCloud/bubble-toolkit: Shared repo 
...<https://github.com/MissionCriticalCloud/bubble-toolkit>
github.com
README.md Bubble Toolkit. This repository contains all tools used with 
so-called Bubbles. To setup a Bubble, follow the instructions here. This repo 
is available om ...



<https://github.com/shapeblue/Trillian>
[https://avatars3.githubusercontent.com/u/6001764?v=3&s=400]<https://github.com/shapeblue/Trillian>

shapeblue/Trillian<https://github.com/shapeblue/Trillian>
github.com
Trillian - flexible monkey powered CI/CD



rohit.ya...@shapeblue.comĀ 
www.shapeblue.com
53 Chandos Place, Covent Garden, London  WC2N 4HSUK
@shapeblue
  
 

Reply via email to