project-config/nodepool/elements/cache-devstack
Ian Wienand c70cf77969 Update remote refs in early devstack clone
In another confusing addendum to
I41e81d6bac98875eecde2376e0865784626e11a8 (which was already a
confusing addendum to Ieb6a6e9f55bd93f63c3d0a71828c276c2d02e1b9), we
have decided that the refspec used to fetch here is not sufficient to
clear out remote branches everything when updating.

"+refs/heads/*:refs/heads/*" says to replicate everything from the
remote refs/heads into our local refs/heads, but leaves out
refs/remotes/*

The upshot of this is that I41e81d6bac98875eecde2376e0865784626e11a8
will remove the local branches (refs/heads/stable/icehouse, say) but
not remove the remote branches (refs/remotes/origin/stable/icehouse).
The devstack caching script keeps picking up these remote branches,
checking them out, and consequently trying to download old images.

*Nothing* ever removes these branches.  In the main dib cache git
update, we also have --prune, but our refspec there is even more
limited (+master:master).  This explains why these branches never seem
to die.

Note, an even better mirror would be "+refs/*:refs/*" (in fact, if you
do git clone --mirror, this is what the repo would be setup with to
fetch by default).  However, this drags in "refs/changes/*" and all
sorts of other gerrit things.  We don't really need them so we just
keep the limiting on.

Change-Id: Ia9c3ffdb2b5f72a45d629961338b415308d6dd21
2016-01-19 11:06:12 +11:00
..
extra-data.d Update remote refs in early devstack clone 2016-01-19 11:06:12 +11:00
install.d Remove CentOS6 from nodepool scripts 2015-12-04 22:11:22 +01:00
element-deps Reorganizes project-config 2014-09-25 11:41:04 -04:00
README.rst Reorganizes project-config 2014-09-25 11:41:04 -04:00
source-repository-pip Cache get-pip.py in dib element cache-devstack 2015-01-23 12:05:19 -08:00

Pre-cache all of the things devstack might need