[OpenStack-Infra] Log storage/serving
Monty Taylor
mordred at inaugust.com
Tue Sep 17 13:00:18 UTC 2013
On 09/16/2013 07:22 PM, Joshua Hesketh wrote:
> So if zuul dictates where a log goes and we place the objects in swift
> with that path (change / patchset / pipeline / job / run) then zuul
> could also handle placing indexes as it should know which objects to
> expect.
>
> That said, if the path is deterministic (such as that) and the workers
> provide the index for a run then I'm not sure how useful an index for
> patchsets would be. I'd be interested to know if anybody uses the link
> http://logs.openstack.org/34/45334/ without having come from gerrit or
> another source where it is published.
https://pypi.python.org/pypi/git-os-job
> Because of its deterministic
> nature perhaps the use case where it is needed could be served otherhow?
>
> Cheers,
> Josh
>
> --
> Rackspace Australia
>
> On 9/13/13 2:49 AM, James E. Blair wrote:
>> Joshua Hesketh <joshua.hesketh at rackspace.com> writes:
>>
>>> We could then use either psuedo folders[0] or have the worker generate
>>> an index. For example, why not create an index object with links to
>>> the other objects (using the known serving application URL prepended)?
>>> In fact, the reporter can choose whether to generate an index file or
>>> just send the psuedo folder to be served up.
>> This is one of the main reasons we don't use swift today. Consider this
>> directory:
>>
>> http://logs.openstack.org/34/45334/
>>
>> It contains all of the runs of all of the jobs for all of the patchsets
>> for change 45334. That's very useful for discoverability; the
>> alternative is to read the comments in gerrit and examine the links
>> one-by-one. A full-depth example:
>>
>> http://logs.openstack.org/34/45334/7/check/gate-zuul-python27/7c48ee3/
>>
>> (That's change / patchset / pipeline / job / run.)
>>
>> Each individual job is concerned with only the last component of that
>> hierarchy, and has no knowledge of what other related jobs may have run
>> before or will run after, so creating an index under those circumstances
>> is difficult. Moreover, if you consider that in the new system, we
>> won't be able to trust a job with access to any pseudo-directory level
>> higher than its individual run, there is actually no way for it to
>> create any of the higher-level indexes.
>>
>> If we want to maintain that level of discoverability, then I think we
>> need something outside of the job to create indexes (in my earlier
>> email, the artifact-serving component does this). If we are okay losing
>> that, then yes, we can just sort of shove everything related to a run
>> into a certain arbitrary location whose path won't be important anymore.
>> Within the area written to by a single run, however, we may still have
>> subdirectories. Whether and how to create swift directory markers for
>> those is still an issue (see my other email). But perhaps they are not
>> necessary, and yes, certainly _within the directory for a run_, we could
>> create index files for as needed.
>>
>> Note the following implementation quirks we have observed:
>>
>> * Rackspace does not perform autoindex-like functionality for directory
>> markers unless you are using the CDN (which has its own complications
>> related to cache timeouts, dns hostnames, etc).
>>
>> * HPCloud does not recognize directory markers when generating index
>> pages for the public view of containers.
>>
>> We may want and indeed be able to use the staticweb feature, along with
>> the CDN -- but there's enough complication here that we'll need to get
>> fairly detailed in the design and validate our assumptions.
>>
>> -Jim
>>
>> _______________________________________________
>> OpenStack-Infra mailing list
>> OpenStack-Infra at lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra
>
>
> _______________________________________________
> OpenStack-Infra mailing list
> OpenStack-Infra at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra
>
More information about the OpenStack-Infra
mailing list