← Back to team overview

yellow team mailing list archive

lpsetup notes

 

0) Benji and I Tuesday radically simplified "get".  It only inits the
repo and makes a lightweight checkout for launchpad from a local
no-trees branch.  It is useful for people wanting a vanilla install of
what we believe to be the best way to develop.  Other people can use
simple commands (e.g. bzr init-repo .  && bzr branch lp:launchpad devel)
to get different setups, and they should work fine with our other tools.

1) Brad and I renamed "get" to "initrepo" because we thought this was
more descriptive.  We also moved the bzr locale.conf initialization from
inithost/install to initrepo, because that was more appropriate now.

2) We agreed that we would in fact make an inituser.  We thought that
something well factored now would be easy to combine into "do
everything" commands.  On the other hand, something poorly factored
would be harder to divide later.  That said, I did realize that I wanted
to be able to use "testing" (-> "initall" or something?) myself.

3) In order to get rid of the install command, which only really has a
responsibility to lxcinstall in our plans, we will move everything out
of it except for the last bits that have to happen, largely as root
(setting up the database and make install).  These are the things that
eventually Robert wants to fold into inithost.  Because it is a wart
from his perspective but useful, my suggested rename for this minimal
install command is something like "finishinithost" (clearly warty but
kinda usable).

4) We talked about how commands overlapped.  This might be useful to
make things clearer for everyone.

Story: assiduous, careful developer wants to use lxc with lightweight
checkouts

lp-setup initlxc # this calls inithost in the container; SUDO
ssh `lp-lxc-ip -i eth0 -n lpdev`
lp-setup inituser # SUDO
lp-setup initrepo
cd launchpad/sandbox
lp-setup update
lp-setup finishinithost # SUDO; eventually will go away


Story: developer wants lxc with lightweight checkouts and the defaults.
NICE TO HAVE

lp-setup initall # SUDO


Story: developer wants lxc with branches

lp-setup initlxc # this calls inithost in the container
ssh `lp-lxc-ip -i eth0 -n lpdev`
lp-setup inituser
OPTIONAL: lp-setup initrepo -s setup_bzr_locations
bzr initrepo launchpad
cd launchpad
bzr branch lp:launchpad devel
cd devel
lp-setup update
lp-setup finishinithost # SUDO; eventually will go away

(ALTERNATE/NICE TO HAVE: we support lp-setup initrepo --no-checkout)


Story: we want a testing environment for juju buildbot (this sets up a
branch, not a lightweight checkout)

lp-setup initall --testing # SUDO


Story: webops people set testing environment up in data center

# Webops runs the equivalent to lp-setup initlxc with puppet and manual
changes
ssh `lp-lxc-ip -i eth0 -n lpdev`
lp-setup inithost # SUDO; detects lxc and installs necessary bits
lp-setup inituser
bzr init-repo launchpad
cd launchpad
bzr branch lp:launchpad devel
cd devel
lp-setup update
lp-setup finishinithost # SUDO; eventually will go away


Story: developer wants lightweight checkout without lxc

lp-setup inithost # SUDO
lp-setup inituser
lp-setup initrepo
cd launchpad/sandbox
lp-setup update
lp-setup finishinithost # SUDO; eventually will go away


Story: developer wants branches without lxc

lp-setup inithost # SUDO
lp-setup inituser
OPTIONAL: lp-setup initrepo -s setup_bzr_locations
bzr init-repo launchpad
cd launchpad
bzr branch lp:launchpad devel
cd devel
lp-setup update
lp-setup finishinithost # SUDO; eventually will go away



Maybe initrepo should be init-repo to match bzr; and then make the
others match too (hyphens).