[chef] Re: Re: Re: Roles and Versioning


Chronological Thread 
  • From: Jay Feldblum < >
  • To:
  • Subject: [chef] Re: Re: Re: Roles and Versioning
  • Date: Wed, 21 Nov 2012 11:37:55 -0500

Kevin,

The boundary between interface and implementation depends on the context or on the viewpoint, and we need to be able to discover where that boundary is in the various cases we actually end up dealing with.

For me, default and override attributes in a role seem generally to lie on the implementation side of that boundary. That much seems, in most cases, open-and-shut. But the content of the run-list is more of an open question to me, and I suppose that, at least for now, I would end up deciding that on a case-by-case basis.

Keep in mind that something might, from one viewpoint, be an interface but, from another viewpoint, be an implementation.

This is of course applicable to code-type roles (roles that you keep in git), and not applicable to data-type roles (roles that are not kept in git).

Cheers,
Jay

On Wed, Nov 21, 2012 at 10:25 AM, Kevin Christen < " target="_blank"> > wrote:
Jay,

Can you elaborate on what you mean by treating a role as interface? It seems to me that a run_list is implementation. Or are you thinking that a run_list containing other roles is an interface, while a run_list containing recipes is an implementation?

Thanks,
Kevin Christen


On Tue, Nov 20, 2012 at 12:47 PM, Jay Feldblum < " target="_blank"> > wrote:
Kevin,

If you treat roles as implementation, then you will need to start versioning them.

If you treat roles as interface, as a declaration of intent only, and remove all implementation from them, then you will need to implement them with an implementation cookbook, so to speak. The role will not need to be versioned itself; only the implementation cookbook will need to be versioned.

Cheers,
Jay




Archive powered by MHonArc 2.6.16.

§