https://bugzilla.wikimedia.org/show_bug.cgi?id=71235

--- Comment #1 from Dan Duvall <[email protected]> ---
I've been thinking about the idea of role variants as well. In addition to the
conflicting-resources problem that you mentioned, there seems to be a need in
some cases to customize the behavior beyond the broad on/off pattern that roles
provide, the biggest example I can think of being the toggling of browser-test
dependencies. [1] Another example would be having 'full' or 'minimum' variants
of roles—the latter serving those who dream of a leaner and meaner MWV.

One way forward might be to add parameters to role classes so that certain
sub-features can be customized—leveraging hiera as the actual implementation.

To specifically solve the conflicting resource issue, we would reduce certain
sets of roles into singular ones that take a $provider parameter—e.g. `class
role::php($provider = 'hhvm')` or `class role::mysql($provider = 'mariadb')` or
`class role::cached($provider = 'redis')`. This pattern seems to be congruent
with pupppet's implementation of `service` and `package` providers.

Role parameters could either be set via the `vagrant hiera` command or, if
that's too cryptic for people, we could allow for parameters to be passed to
the `vagrant enable-role` command. (e.g. `vagrant enable-role php
--provider=hhvm`).

[1] https://gerrit.wikimedia.org/r/#/c/155861/

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to