On Mon, Aug 12, 2019 at 1:53 PM Daniel Smith <
dbs...@google.com> wrote:
>
>
>
> On Mon, Aug 12, 2019 at 1:47 PM Tim Hockin <
tho...@google.com> wrote:
>>
>> Hit send too fast
>>
>> On Mon, Aug 12, 2019 at 1:45 PM Tim Hockin <
tho...@google.com> wrote:
>> >
>> > On Mon, Aug 12, 2019 at 12:54 PM Daniel Smith <
dbs...@google.com> wrote:
>> > >
>> > >
>> > >
>> > > On Mon, Aug 12, 2019 at 12:49 PM Tim Hockin <
tho...@google.com> wrote:
>> > >>
>> > >> On Mon, Aug 12, 2019 at 12:41 PM Daniel Smith <
dbs...@google.com> wrote:
>> > >> >
>> > >> >
>> > >> >
>> > >> > On Mon, Aug 12, 2019 at 12:37 PM Jordan Liggitt <
lig...@google.com> wrote:
>> > >> >>
>> > >> >> I agree that it is better to make the previously implicit behavior explicit (ideally with a more descriptive enum value than "Default").
>> > >> >
>> > >> >
>> > >> > Yeah, agreed-- if you can give a name to the old semantic, it's best to do so; "Default" doesn't help people understand the behavior they're about to get.
>> > >> >
>> > >> >>
>> > >> >>
>> > >> >> There are two patterns we see frequently:
>> > >> >>
>> > >> >> Original version v1 has implicit default behavior Foo. New version v2 has improved default behavior Bar.
>> > >> >> Original version v1 has implicit default behavior Foo. New version v2 requires API consumers to specify what behavior they want (v2 has no default value and the field is required)
>> > >> >>
>> > >> >> Both of those require v1 to assign an explicit default value.
>> > >>
>> > >> In this case, v1 has implicit default behavior which depends on some
>> > >> config that was determined by cluster admin, and we're now offering
>> > >> users control over that. They can choose A or B or "don't care" (aka
>> > >> "Default").
>> > >
>> > >
>> > > What happens in practice if they choose "don't care"? Name this behavior. If e.g. the system admin chose and they had two choices, name each choice and present that in this field.
>> >
>> > That may be possible - I'll have to look.
>>
>> The problem is that the config for that is not present in defaulting
>> logic - do we want defaulting logic in apiserver examining things like
>> flags? Is there a sane way to do that?
>
>
> I'm not sure if we have done that in other contexts... But maybe first answer this question: if the config changes, do you want all objects to instantly get the configured behavior? or do you want existing objects to continue with the behavior they're getting?
ClusterIP and LoadBalancer IP get allocated. So it will not adapt if
re-allocated, despite us documenting it as immutable. I don't know
what we want here. This is a corner-case. In general we will NOT