<div dir="ltr"><div>Hi all,</div><div><br></div><div>Anastasia raised an issue in <a href="http://reviews.vapour.ws/r/885/">http://reviews.vapour.ws/r/885/</a> about how to cut down on struct conversions between params, state, and domain packages. In this case we're talking about storage. The following API server facades currently participate in storage:<br></div><div>   - client</div><div>   - storage<br></div><div>   - provisioner</div><div>   - diskmanager (to be renamed, this lists block devices on machines)</div><div>   - diskformatter</div><div>   - storageworker (to be renamed, this is the dynamic storage provisioner)</div><div><br></div><div>Each facade have some overlap in dealing with storage entities, e.g. the diskformatter and diskmanager each need to deal with block devices. This leads to much duplication of struct copying/conversion code when toing and froing between state and clients.</div><div><br></div><div>I don't want to go adding conversion code to the params, state or storage packages, as they really shouldn't have dependencies on each other. Does anyone have a good idea about where to put this common functionality? Maybe "api/common/storage", "apiserver/common/storage"? Does not appeal, but I can't think of a better option.</div><div><br></div><div>Cheers,</div><div>Andrew</div></div>