Re: [BuildStream] BuildStream 2.0 planning: bst-artifact-server



On Tue, Jul 7, 2020 at 10:11 AM William Salmon <will salmon codethink co uk> wrote:


On 07/07/2020 08:23, Jürg Billeter wrote:
> On Wed, 2020-04-15 at 19:37 +0900, Tristan Van Berkom wrote:
>>    * Replacement of artifact cache server.
>>
>>      Blocker.
>>
>>      Our preference is to not maintain an artifact server, and to recommend
>>      better, more scalable CAS services in the REAPI space for this purpose.
>>
>>      In the event that there is not yet a good replacement for the artifact
>>      cache server provided by a third party project in the REAPI space
>>      by the time we are ready to release, then then we will keep bst-artifact-server
>>      as a thin layer around buildbox-casd.
>
> bst-artifact-server in BuildStream master still supports the
> ReferenceStorage service used by BuildStream 1.x clients as convenience
> to support 1.x and master clients with the same server.
>
> However, as our goal for 2.x is anyway to replace bst-artifact-server,
> maybe it's now time to drop this. Are there any objections to
> completely removing support for the ReferenceStorage service in bst-
> artifact-server master as part of the move towards the Remote Asset API
> (WIP MR !1978¹)?

Not supporting the bst1.x api would be very inconvenient for early
adopters who already use bst1.x

Many members of the bst community that i know have there own bst cache
server that they define in there ~/.config/buildstream.conf

Having to have to run two servers and two ~/.config/buildstream.conf and
all the added cli to use them would be a real faf, and add quite a lot
of real friction.

Can we walk through the steps of what that will actually look like?
 
I would be strongly in favor of keeping this as at least optional
behavior in the server until a good bit after bst2 is released as it is
unlikely that all downstream projects will just switch imitatively.

-1.  I'd like the 2.0 release to actually be a point where we can shed old APIs and interfaces.  Keeping ReferenceServer in signs up for supporting it throughout 2.x.
 
Especially if they have stable branches that will not want to swap but
will need maintaining for a period of time. So quite a few members of
our community will be likely to be running bst1 and bst2 for some time
to come. But certainly until bst2 is released we will have lots of
people using both.

I always get a bit concerned when I see terms like "many members..", "quite a few members..", "lots of people" without knowing what that actually means :/
 
A compromise may be to have a bst2 version of ~/.config/buildstream.conf
but that would still require users to run two cache servers..

How do these people invoke bst?  Assuming they have a bst2 wrapper script, it can point to a different config file?

Cheers,

Sander
 

>
> Cheers,
> Jürg
>
> ¹ https://gitlab.com/BuildStream/buildstream/-/merge_requests/1978
>
>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]