> On May 20, 2020, at 3:35 PM, Alan Carroll <[email protected]>
> wrote:
>
> Dang, you guys were all "flat name space!" at the hackathon.
>
> As you can see from my example, I did clean up the name space a bit and
> removed a "config" from those (e.g. "proxy.config.http.cache" is the current
> name). We could remove "proxy" as well.
Pretty sure I would not have agreed to keep the existing name space. I don’t
consider the one we have “flat” though, it’s definitely a hierarchy. However,
that hierarchy is not well designed, definitely not well maintained and
absolutely not consistent.
My suggestion is, when we do this, lets also clean this up. As a bonus, it’s
likely that the same hierarchy could be incorporated into how we use Debug(),
to make it a lot more easy to trace on some particular portion of the
feature/configuration hierarchy, and have it do so reliably. The bonus here
then is that we have one name space to maintain, and document.
— Leif
>
> Sudheer's question is a good one that I"ve been pondering.
>
> 1) This would only be "records.config". It's too much to convert everything
> to YAML, but every file we change is one step closer to full YAML. ("Never go
> full YAML" - Leif)
>
> 2) Overrides would need to use the full name. For the flat style this is
> trivial because that's the same as the key name. For the tree, we'd need a
> notation to indicate descent along the objects. A simple rule would be to
> forbid a name to contain "." and then use "." as a separator that indicates
> to descend. Then the names would again be exactly as they are now and no
> changes would be needed. This isn't really any different from file system
> paths or FQDNs, so I don't think it will be a large hurdle for ATS ops people.
>
> On Wed, May 20, 2020 at 3:22 PM Leif Hedstrom <[email protected]
> <mailto:[email protected]>> wrote:
> IF we are going down this path, we should restructure the configuration name
> space now too. A lot of things makes no sense any more, including the proxy.
> prefix.
>
> I do agree with Randal though, we should use proper YAML structure for the
> name spaces, for both configurations and metrics.
>
> — leif
>
>
>> On May 20, 2020, at 1:18 PM, Randall Meyer <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>> I vote for #2, though I could live with either.
>>
>> -r
>>
>> On Wednesday, May 20, 2020, 11:09:25 AM PDT, Alan Carroll
>> <[email protected] <mailto:[email protected]>>
>> wrote:
>>
>>
>> If "records.config" is changed to be YAML for ATS 10, there are two
>> reasonable approaches to changing it.
>>
>> Option 1) Use a flat namespace. The file would look something like
>>
>> config:
>> proxy.http.cache: true
>> proxy.http.insert_request_via_str: 2
>> proxy.http.chunking_enabled: true
>> proxy.dns.resolv_conf: "/etc/resolv.conf"
>> # .... etc.
>>
>> Option 2) Use a tree. The file would look something like
>>
>> config:
>> proxy:
>> http:
>> cache: true
>> insert_request_via: 2
>> chunking_enabled: true
>> dns:
>> resolv_conf: "/etc/resolv.conf"
>>
>> From an automation point of view these are not really different - there is
>> an obvious isomorphism between them such that converting between them is
>> trivial.
>>
>> Any comments?
>>
>