upgrading charms from oneiric to precise
Kapil Thangavelu
kapil.thangavelu at canonical.com
Tue May 22 14:13:06 UTC 2012
This appears to have broken all the official oneiric charms. Why where they
renamed as opposed to merged/copied into the correct location? The oneiric
charms should still be promulgated for the oneiric series. Which series trunk
branch lp:charms/<name> points to is controlled by the current series on lp,
not by the promulgation process alone.
we need to figure out how to restore the oneiric charms.
-kapil
Excerpts from Mark Mims's message of 2012-05-04 15:35:02 -0400:
> Capturing notes on how we did this so when we're changing from p to q on
> October we have some clue as to what we did here.
>
> ----------8<----------------
>
> # lp changes
>
> So this started with the lp team running `branch-distro` for charms.
>
> This took all branches in the store `lp:charms/<charm-name>`
> (which are aliases to `lp:~charmers/charms/oneiric/<charm-name>/trunk`) and:
> - renamed them to `lp:~charmers/charms/precise/<charm-name>/precise`
> - created `lp:charms/<charm-name>` aliases pointing to these new branches
>
>
> # the problem
>
> This naming scheme doesn't fit into our naming scheme for juju and the
> charmstore...
> namely `lp:~charmers/charms/<series>/<charm-name>/trunk`
>
>
> # renames
>
> To fix this, we rename from `/precise` to `/trunk` across the board:
>
> #!/usr/bin/python
>
> from launchpadlib.launchpad import Launchpad
>
> lp = Launchpad.login_with('rename-charms',
> service_root='production', version='1.0')
>
> for branch in lp.people['charmers'].getBranches():
> if branch.unique_name.startswith('~charmers/charms/precise/')
> and branch.name == 'precise':
> print "Renaming " + branch.unique_name
> branch.name = 'trunk'
> try:
> branch.lp_save()
> except:
> print "couldn't do "
> print branch
>
>
> # more problems
>
> which barfs when there are existing branches with that name.
>
> Example:
> - before `branch-distro`
> - `lp:charms/nova-compute` points to
> `lp:~charmers/charms/oneiric/nova-compute/trunk` (r28)
> - `lp:~charmers/charms/precise/nova-compute/trunk` (r34) exists for
> development on precise
> - after `branch-distro`
> - `lp:charms/nova-compute` points to
> `lp:~charmers/charms/precise/nova-compute/precise` (r28)
> - `lp:~charmers/charms/precise/nova-compute/trunk` (r34) exists and
> should be the official aliased charm but isn't
>
>
> # repromulgation
>
> Clint wrote `charm unpromulgate` which would allow us to:
>
> bzr branch lp:charms/nova-compute
> cd nova-compute
> bzr push :parent
> edit .bzr/branch/branch.conf and replace everything with
> bzr+ssh://bazaar.launchpad.net/~charmers/charms/precise/nova-compute/precise
> charm unpromulgate
>
> cd ..
> mv nova-compute nova-compute-barfed
>
>
>
> and then promulgate the correct branch
>
> bzr branch lp:~charmers/charms/precise/nova-compute/trunk nova-compute
> cd nova-compute
> bzr push :parent
> charm promulgate
>
> ----------8<----------------
>
> (logs captured in `lp:~mark-mims/+junk/charm-branch-distro-notes`)
>
> --
> Mark Mims, Ph.D.
> Canonical Ltd.
> mark.mims at canonical.com
> +1(512)981-6467
>
More information about the Juju
mailing list