Hello James, On Wed, 29 May 2013 16:57:50 +0100 James Tunnicliffe <james.tunnicli...@linaro.org> wrote:
> Hi Paul, > > Thanks for this. I need a mechanism for publishing from CI runtime > jobs so this is important to me. I did look into using SSH/SFTP and it > is simple to do in a reasonably insecure way, it would be much better > to have an HTTP[S] based solution that uses temporary authentication > tokens. > > I was looking at this today because I woke up early worrying about it. > Clearly I need more interesting stuff to think about! (and now, more > sleep). Well, I guess each of us (individual engineers) was hit by publishing issues already, so that's clearly a thing to worry about and I share your concerns. So, thanks for joining the discussion (and let's nag Tyler for spec together ;-) ). > > Anyway, it should be possible to do in Django: > > https://docs.djangoproject.com/en/dev/topics/http/file-uploads/ > https://pypi.python.org/pypi/django-transfer/0.2-2 > http://wiki.nginx.org/HttpUploadModule > > My own notes are more focused on an internal server that would upload > files to releases/snapshots but could retain files until disk space > was needed to act as a cache. I was going to look at extending > linaro-licenese-protection for this so there was no way to use the > cache to avoid licenses. I was also going to have completely private > files that you could only access if you had the authentication token > that a job was given. > > https://docs.google.com/a/linaro.org/document/d/1_ewb-xFDJc8Adk7AijV95XthGMvYVtlSLozbJxsyI4o/edit# > > Feel free to add comments or insert more information and thoughts. I'll look in more detail later. Just having a small window before restarting work on Crowd API auth ;-). > > Note that for high performance uploads we probably want to hand off > the upload to a web server. That django-transfer module doesn't > support any Apache related upload stuff, which may mean that it > doesn't exist. Moving to an nginx based solution would be easy enough > if we needed to (we could replace the mod-xsendfile with the > equivalent nginx call). Yeah, I had experience with all that stuff at SourceForge.net, where high availability and extra features (like progress indicator on web page) were a must. I'd think that we can start with simple Django-level PUT handler, but yes, we should be prepared that it'll have performance issues and for need to upgrade architecture. > I think a prototype branch is ~1 day of engineering effort (no nginx, > token based upload call in place, probably some kind of token request > call, probably limited security, no proxy-publishing). Adding the rest > of the features, testing etc probably takes it to more like 1 week. Well, I'd really like us (all) to first consider architecture well enough. I also lean towards having that as a web service, but I'd like someone who has other opinion to have their say too. > > James > > > On 29 May 2013 16:26, Paul Sokolovsky <paul.sokolov...@linaro.org> > wrote: > > > > > > Begin forwarded message: > > > > Date: Wed, 29 May 2013 17:19:31 +0300 > > From: Paul Sokolovsky <paul.sokolov...@linaro.org> > > To: Tyler Baker <tyler.ba...@linaro.org>, Alan Bennett > > <alan.benn...@linaro.org> Cc: Senthil Kumaran > > <senthil.kuma...@linaro.org>, Fathi Boudra <fathi.bou...@linaro.org> > > Subject: Re: New publishing infra prototype report > > > > > > Hello Tyler, > > > > As brought up today on IRC, it's a month since the below report and > > proposal for further steps, and I don't remember any reply. This > > whole publishing thing is peculiar, as it sits still when its not > > needed, but it's actually in ambush there to cause havoc at any > > time. > > > > For example, today Senthil came up with the question on how to > > publish to snapshots. Fortunately, it turned out that it was > > request for publishing a single file manually. But I know the guys > > are working on Fedora builds, and that definitely will need > > automated publishing (unless initial requirements as provided by > > Fathi changed). And it's definitely needed for CBuild migration, > > which I assume will be worked on next month. > > > > Btw, I discovered that a BP for that was submitted yet by Danilo: > > https://blueprints.launchpad.net/linaro-infrastructure-misc/+spec/file-publishing-api > > > > > > Thanks, > > Paul > > > > > > On Mon, 29 Apr 2013 18:58:39 +0300 > > Paul Sokolovsky <paul.sokolov...@linaro.org> wrote: > > > >> Hello, > >> > >> Last month I worked on a blueprint > >> https://blueprints.launchpad.net/linaro-android-infrastructure/+spec/prototype-new-publishing > >> to prototype an implementation of publishing framework which > >> wouldn't depend on particular Jenkins features (and misfeatures) > >> and could be reused for other services across Linaro CI > >> infrastructure. Among these other projects are: > >> > >> 1. OpenEmbedded builds - efficient ("fresh only") publishing of > >> source tarballs and cache files. > >> 2. CBuild - publishing of toolchain build artifacts and logs. > >> 3. Fedora/Lava - publishing of build artifacts and logs. > >> > >> So, the good news is that was possible to implement a publishing > >> system whose interface is a single script which hides all the > >> publishing complexity underneath. Implementation was a cumbersome, > >> because existing publishing backend was reused, but it already > >> opens possibility for better logging, debugging, profiling, etc. > >> > >> With proof-of-concept client-side available, the main complexity > >> still lies in server-side backend. It's clear that current "SFTP + > >> SSH trigger script" approach doesn't scale well in terms of ease > >> of setup and security. I added my considerations to address that > >> topic in " Conclusions and Future Work" section of > >> http://bazaar.launchpad.net/~linaro-automation/linaro-android-build-tools/trunk/view/head:/utils/new-publish/README > >> > >> So, action items I suggest based on this report: > >> > >> 1. Tyler to consult with Fathi (Fedora), Marcin (OE) and me > >> (CBuild) and prepare architecture/spec for the general publishing > >> system. It would be nice to BP this task to start in 13.05. > >> 2. Depending on the time required to prepare spec, implementation > >> can be scheduled right away, or postponed until LCE13, so we had > >> another chance to discuss it face to face (as adhoc meeting, or as > >> a session, if it's really worth it). > >> > >> > >> Thanks, > >> Paul > >> > >> Linaro.org | Open source software for ARM SoCe > >> Follow Linaro: http://www.facebook.com/pages/Linaro > >> http://twitter.com/#!/linaroorg - http://www.linaro.org/linaro-blog > > > > > > > > -- > > Best Regards, > > Paul > > > > Linaro.org | Open source software for ARM SoCs > > Follow Linaro: http://www.facebook.com/pages/Linaro > > http://twitter.com/#!/linaroorg - http://www.linaro.org/linaro-blog > > > > > > -- > > Best Regards, > > Paul > > > > Linaro.org | Open source software for ARM SoCs > > Follow Linaro: http://www.facebook.com/pages/Linaro > > http://twitter.com/#!/linaroorg - http://www.linaro.org/linaro-blog > > > -- Best Regards, Paul Linaro.org | Open source software for ARM SoCs Follow Linaro: http://www.facebook.com/pages/Linaro http://twitter.com/#!/linaroorg - http://www.linaro.org/linaro-blog _______________________________________________ linaro-validation mailing list linaro-validation@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-validation