Luke Kanies wrote:
> On Jul 1, 2009, at 11:06 AM, Christian Hofstaedtler wrote:
> 
>> * Luke Kanies <l...@madstop.com> [090701 18:01]:
>>> On Jul 1, 2009, at 3:19 AM, David Schmitt wrote:
>>>
>>>> Luke Kanies wrote:
>>>>>> I can actually think of *two* new states that one might want:  
>>>>>> add to
>>>>>> fstab
>>>>>> and remount an existing mount with new flags, and add to fstab but
>>>>>> don't
>>>>>> touch an existing mount at all.  One might for example want to  
>>>>>> have
>>>>>> a line
>>>>>> in fstab for a USB stick, which defaults to mounting read-only,  
>>>>>> but
>>>>>> if the
>>>>>> sysadmin wants to she can mount it read-write.  If Puppet suddenly
>>>>>> remounts
>>>>>> it read-only, she might be a bit miffed...
>>>>> I'm fine with this, I think, although I actually really hate the
>>>>> 'enabled => true' stuff in services.  I think I've come to the
>>>>> conclusion most parameters whose values are only true and false
>>>>> should
>>>>> probably be renamed.  E.g., services should be enabled/disabled as
>>>>> values, although I don't know what the parameter name should be.
>>>>> Can't reuse 'ensure', of course.
>>>>>
>>>>> Maybe we could use ensure, but support multiple values?  E.g., you
>>>>> could do:
>>>>>
>>>>> mount { foo:
>>>>>  ensure => [present, mounted]
>>>>> }
>>>>>
>>>>> Would that be too confusing?
>>>> I am often confused by service's ensure/enabled rift (i.e. forget to
>>>> set
>>>> the latter). I think I'd prefer this version.
>>>>
>>>> service:
>>>>
>>>>  ensure => [ start_on_runlevel, running ]
>>>>  ensure => [ no_start, stopped ]
>>>>
>>>> mount:
>>>>
>>>>  ensure => present
>>>>  ensure => [ present, remount_only ]
>>>>  ensure => [ present, unmounted ]
>>>>  ensure => [ present, ignore_mount ]
>>>>
>>>>  ensure => absent
>>>>  ensure => [ absent, remount_only ]   # doesn't make sense
>>>>  ensure => [ absent, unmounted ]
>>>>  ensure => [ absent, ignore_mount ]
>>> Any other opinions on this?  It has real potential for confusion, but
>>> I think we could make it simple enough for the most common cases that
>>> people would be fine.
>> I only can support Davids proposal. It would make at least service
>> and mount resources way more descriptive and thus easier to  
>> understand.
>> Maybe also easier to write :-)
>>
>> Maybe also don't do [ absent, mounted ], but [ configured,  
>> mounted ], so
>> it's even more clear what the author intended. 'present' and  
>> 'absent' are
>> too generic for such combined types.
> 
> 
> This brings up a ticket for a refactor I wanted to do ages ago:
> 
> http://projects.reductivelabs.com/issues/625
> 
> I don't know exactly how these two goals meet, if at all, but it'd be  
> pretty awesome if someone wanted to tackle the whole problem.
> 

That could also tie in formalizing the type/provider interface more, 
since the provider would be both the source of the current state and the 
mechanism to move to the next state.


Regards, DavidS

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to puppet-dev@googlegroups.com
To unsubscribe from this group, send email to 
puppet-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to