Re: Welcome and discussion starter

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 12 Feb 2013 23:50:25 -0700
Clint Savage <herlo1@xxxxxxxxx> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> I'd like to throw my ideas into the ring. I've spent a bunch of time
> thinking about this from a slightly different perspective, one of
> flexibility and usefulness to the Formula contributor.
> 
> I've taken the time to put together a github repository with some code
> (the code is just a prototype and should not be considered yet) and a
> fairly thought out README file. You can read this at
> https://github.com/herlo/formulas/blob/master/README.rst at your
> leisure.
> 
> So far, I agree with pretty much everything put forward with a few
> exceptions. Here is my take on this...
> 
> - - Delivery and Development -
> 
> Using git is definitely a must! It should be used to develop formulas
> and submit them for approval. This works well with the github fork and
> pull request model. Take an 'approved' formula and improve upon it. Or
> make a new one, it doesn't matter. The value is gained in a pull
> request, code review and approval. This definitely helps speed
> development of formulas.

Sure. I'm not sure we want to host all the formulas at github though. 
I guess thats something to think about. 

> A GUI is definitely a must as well. Integrating with Anaconda is a
> great idea, but may take a bit longer than desired to get in place. A
> simple GUI that can be searched is a definite must. But how do you
> test new formulas using the GUI? Just something to consider here.

Yep. I want a command line version as well. Testing gui's can be
tricky, I think our only option there is to use a peer review type
setup where a formula maintainer reviews someone elses formula and
provides feedback. With a command line tool we could run automated
testing to some degree as well as script some checking/linting on the
playbooks themselves. 

> - - Flexibility is Key -
> 
> Being flexible is important, both to those who create as well as those
> who will use formulas. If we stick to one configuration management
> system, we lose some flexibility and choice. It seems ansible is the
> choice most want, but what is the harm in having alternates available?

I think the harm is confusion, spreading of resources and difficulty in
testing/qa/infrastructure. If we have a base set of templates for say
ansible, and someone makes a formula in puppet, that could very well
behave differently. 

> Limiting the choices here limits what a formulas developer could
> create because even though it seems like it, all CM systems are not
> created equal.

Well, in the same way limiting Fedora to rpms is limiting. ;) Sure, we
could ship debs too, but... 
 
> - - Contributor and End User Friendly -
> 
> At the risk of becoming the straw man (please be gentle), I suggest we
> consider an approach that allows for any number of backends. In other
> words, I would like to develop formula in the CM system I choose, or
> at least have a choice between a number of them.

Well, I suppose if you really really had to use cfengine for a formula
you could write a small ansible wrapper that installed cfengine and ran
it's commands. However, I am not sure this really has that many
advantages. 

> This suggestion is not without its challenges. For one, there's the
> consideration of the presentation and the user. How would the user
> know which backend it's using. Hopefully they wouldn't, nor would they
> care. It may require installing yet another package to work. I'm not
> sure how this would work yet, but think it's worth considering.

Well, or collection of packages. I don't think this is the big
hurdle... 

> Additionally, there would have to be considerations made in the
> repository for how to determine which backend said formula is using.
> This problem could be easily overcome in many ways, however, simply
> using a configuration value in the manifest Pete suggested below would
> be simple enough.

Sure. I don't think thats the problem though. 

I think QA, impossible documentation requirements,  differing behavior,
lack of area knowledge in all the various possibly CM's, dependency on
many more tools/stacks are all the problems. 

I don't like the idea we would have:

"Hey, contributor, you want to contribute a formula! great! So, first
look at all the docs of ansible, puppet, cfengine, chef, salt, bcfg2,
cdist, juju, and pick which one you want write your formula in"

> If the end user is the most important thing, we'd need to make a way
> to filter for the installed backend(s), or inform them of a need for
> additional packages. Maybe requiring them to use yum or package kit to
> install said packages.
>
> In terms of contributors, we want more, right? So let's consider a way
> that makes it easier for them to contribute something simple to use in
> their own way. Let's be flexible about it and make it easy to
> contribute. If they want to use puppet instead of ansible, or salt
> instead or bcfg2 for that matter, let's figure out a way to make that
> possible and make it easy on our end users to boot.

I think this might lead to lots of confusion... 

> It seems logical to me that we could use a limited set of CM engines
> to accomplish this goal. Maybe we should consider some criteria for
> what CM tool(s) would be useful with formulas.

I think we should look at picking one. ;) 

kevin

Attachment: signature.asc
Description: PGP signature

_______________________________________________
formulas-devel mailing list
formulas-devel@xxxxxxxxxxxxxxxxxxxxxx
https://lists.fedorahosted.org/mailman/listinfo/formulas-devel

[Index of Archives]     [Fedora&nbdp;Development]     [Virt Tools]     [Libvirt Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux