<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Jul 2, 2014 at 3:38 AM, Antonio Rosales <span dir="ltr"><<a href="mailto:antonio.rosales@canonical.com" target="_blank">antonio.rosales@canonical.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Suggest we make an environments.yaml key value of say "apt-get-update"<br>
set to a boolean with the default being "true". Existing charms are<br>
timing out[0] when apt-get update is turned off due to stale apt-get<br>
metadata. Users then can them make the choice, and we can make<br>
suggestions in the docs as to what this key value means and how it can<br>
improve performance especially in the developer scenario when the care<br>
more about fast iterative deploys.<br>
<br>
Thoughts?<br></blockquote><div><br></div><div>I'm not suggesting we turn off update, just upgrade. We add repos (cloud-tools, ppa), so we need to update for juju's dependencies anyway. I don't think my proposal will affect charms.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
[0] <a href="https://bugs.launchpad.net/juju-core/+bug/1336353" target="_blank">https://bugs.launchpad.net/juju-core/+bug/1336353</a><br>
<br>
-thanks,<br>
Antonio<br>
<div class="HOEnZb"><div class="h5"><br>
On Tue, Jul 1, 2014 at 4:43 AM, Andrew Wilkins<br>
<<a href="mailto:andrew.wilkins@canonical.com">andrew.wilkins@canonical.com</a>> wrote:<br>
> On Tue, Jul 1, 2014 at 5:45 PM, John Meinel <<a href="mailto:john@arbash-meinel.com">john@arbash-meinel.com</a>> wrote:<br>
>><br>
>> I would just caution that we'd really prefer behavior to be consistent<br>
>> across platforms and clouds, and if we can work with Microsoft to make<br>
>> 'apt-get update' faster in their cloud everyone wins who uses Ubuntu there,<br>
>> not just us.<br>
><br>
><br>
> I was meaning to disable it across all providers. It would be ideal to<br>
> improve upgrades for all Ubuntu users, but from what I can tell it's a case<br>
> of Azure's OS disks being a tad slow. If you start going up the<br>
> instance-type scale, then you do get more IOPS. I haven't measured how much<br>
> of a difference it makes.<br>
><br>
>><br>
>> Have we looked into why Upgrade is taking 3m+? Is it the time to download<br>
>> things, is it the time to install things? I've certainly heard things like<br>
>> "disk ops is a bit poor" on Azure (vs CPU is actually better than average).<br>
>> Given the variance of 6m+ to 3m20s with Eat my data, it would seem disk sync<br>
>> performance is at least a factor here.<br>
><br>
><br>
> I just looked, and it is mostly not network related (I assume mostly I/O<br>
> bound). On ec2 an upgrade fetches all the bits in 0s; on Azure it's taking<br>
> 5s.<br>
><br>
>> Given I believe apt-get update is also disabled for local (it is run on<br>
>> the initial template, and then not run for the other instances copied from<br>
>> that), there is certainly precedence. I think a big concern is that we would<br>
>> probably still want to do apt-get update for security related updates.<br>
>> Though perhaps that is all of the updates we are applying anyway...<br>
>><br>
>> If I read the "aws.json" file correctly, I see only 8 releases of the<br>
>> 'precise' image. 6 of 'trusty' and 32 total dates of released items. And<br>
>> some of the trusty releases are 2014-01-22.1 which means it is likely to be<br>
>> beta releases.<br>
>><br>
>> Anyway, that means that they are actually averaging an update only<br>
>> 1/month, which is a fairly big window of updates to apply by the end of<br>
>> month (I would imagine). And while that does mean it takes longer to boot,<br>
>> it also means you would be open to more security holes without it.<br>
><br>
><br>
> My contention is that if we don't *keep* it updated, we may as well just<br>
> leave it to the user. When you create an instance in ec2 or Azure or<br>
> whatever, it doesn't come fully up-to-date. You get the released image, and<br>
> then you can update it if you want to.<br>
><br>
>> John<br>
>> =:-><br>
>><br>
>><br>
>><br>
>><br>
>> On Mon, Jun 30, 2014 at 5:05 PM, Andrew Wilkins<br>
>> <<a href="mailto:andrew.wilkins@canonical.com">andrew.wilkins@canonical.com</a>> wrote:<br>
>>><br>
>>> Hi folks,<br>
>>><br>
>>> I've been debugging a bootstrap bug [0] that was caused by ssh timing out<br>
>>> (and the client not noticing), which was caused by "apt-get upgrade" taking<br>
>>> an awfully long time (6 minutes on Azure).<br>
>>>     [0] <a href="https://bugs.launchpad.net/juju-core/+bug/1316185" target="_blank">https://bugs.launchpad.net/juju-core/+bug/1316185</a><br>
>>><br>
>>> I just filed <a href="https://bugs.launchpad.net/juju-core/+bug/1335822" target="_blank">https://bugs.launchpad.net/juju-core/+bug/1335822</a>, and did a<br>
>>> quick and dirty hack that brought the upgrade down to 3 minutes on Azure. I<br>
>>> don't know the variance, so I can't be sure that it's all due to eatmydata,<br>
>>> but smoser's results are similar.<br>
>>><br>
>>> Even with eatmydata, a full bootstrap on Azure just took me 10 minutes.<br>
>>> That's roughly broken down into:<br>
>>>  - apt-get update: 20s<br>
>>>  - apt-get upgrade: 3m20s<br>
>>>  - apt-get install <various>: 10s<br>
>>>  - Download tools (from shared Azure storage account): 5s<br>
>>>  - jujud bootstrap: 1m50s<br>
>>><br>
>>> We could bring the 10m down to 6m40s. Still not brilliant, but<br>
>>> considerably better IMO.<br>
>>><br>
>>> I propose that we remove the "apt-get upgrade" altogether. Cloud images<br>
>>> are regularly updated and tested, and I think we should be able to rely on<br>
>>> that alone. If users want something more up-to-date, they can use the daily<br>
>>> images which are not tested as a whole, but are composed of SRUs, which is<br>
>>> effectively what users get today.<br>
>>><br>
>>> Cheers,<br>
>>> Andrew<br>
>>><br>
>>> --<br>
>>> Juju-dev mailing list<br>
>>> <a href="mailto:Juju-dev@lists.ubuntu.com">Juju-dev@lists.ubuntu.com</a><br>
>>> Modify settings or unsubscribe at:<br>
>>> <a href="https://lists.ubuntu.com/mailman/listinfo/juju-dev" target="_blank">https://lists.ubuntu.com/mailman/listinfo/juju-dev</a><br>
>>><br>
>><br>
><br>
><br>
> --<br>
> Juju-dev mailing list<br>
> <a href="mailto:Juju-dev@lists.ubuntu.com">Juju-dev@lists.ubuntu.com</a><br>
> Modify settings or unsubscribe at:<br>
> <a href="https://lists.ubuntu.com/mailman/listinfo/juju-dev" target="_blank">https://lists.ubuntu.com/mailman/listinfo/juju-dev</a><br>
><br>
<br>
<br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">--<br>
Antonio Rosales<br>
Juju Ecosystem<br>
Canonical<br>
</font></span></blockquote></div><br></div></div>