LocalSetup

Differences between revisions 2 and 12 (spanning 10 versions)
Revision 2 as of 2015-11-17 07:19:22
Size: 3058
Editor: pitti
Comment: add instructions for stage 1
Revision 12 as of 2023-08-11 15:29:52
Size: 4007
Editor: tsimonq2
Comment: yakkety is ancient
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
In the simplest case you just want to reproduce the "first stage" of [[https://code.launchpad.net/~ubuntu-release/britney/britney2-ubuntu|britney2-ubuntu]], which checks that `-proposed` packages were built on all expected architectures, are installable by themselves, issue autopkgtests, collect their test results, and produce a production-like [[http://people.canonical.com/~ubuntu-archive/proposed-migration/update_excuses.html|excuses.html]] and [[people.canonical.com/~ubuntu-archive/proposed-migration/update_excuses.yaml|excuses.yaml]]. In the simplest case you just want to reproduce the "first stage" of [[https://code.launchpad.net/~ubuntu-release/+git/britney2-ubuntu|britney2-ubuntu]], which checks that `-proposed` packages were built on all expected architectures, are installable by themselves, issue autopkgtests, collect their test results, and produce a production-like [[http://people.canonical.com/~ubuntu-archive/proposed-migration/update_excuses.html|excuses.html]] and [[people.canonical.com/~ubuntu-archive/proposed-migration/update_excuses.yaml|excuses.yaml]].
Line 10: Line 10:
bzr branch lp:~ubuntu-release/britney/britney2-ubuntu git clone https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu britney2-ubuntu
git clone https://git.launchpad.net/bileto
Line 12: Line 13:
wget http://people.canonical.com/~pitti/scripts/britney-indexes
Line 15: Line 15:
 The [[http://people.canonical.com/~pitti/scripts/britney-indexes|britney-indexes]] script downloads the source and binary package indexes to `data/<series>` and `data/<series>-proposed`.  The [[https://git.launchpad.net/bileto/tree/britney/fetch-indexes|fetch-indexes]] script inside the bileto repository downloads the source and binary package indexes to `data/<series>` and `data/<series>-proposed`.
Line 17: Line 17:
 * The default [[http://bazaar.launchpad.net/~ubuntu-release/britney/britney2-ubuntu/view/head:/britney.conf|./britney.conf]] contains the production values for the architecture list, autopkgtest AMQP server (but without the actual password) and swift. For a purely local run you need to install the `rabbitmq-server` package, either locally or into a container, and adjust `ADT_AMQP` accordingly; use `amqp://localhost` or `amqp://10.0.3.XXX` respectively (this will use the default `guest` user of RabbitMQ).  * The default [[https://git.launchpad.net/~ubuntu-release/+git/britney2-ubuntu/tree/britney.conf|./britney.conf]] contains the production values for the architecture list, autopkgtest AMQP server (but without the actual password) and swift. For a purely local run you need to install the `rabbitmq-server` package, either locally or into a container, and adjust `ADT_AMQP` accordingly; use `amqp://guest:guest@localhost` or `amqp://guest:guest@10.0.3.XXX` respectively (this will use the default `guest` user of RabbitMQ).
Line 19: Line 19:
 * If care about inspecting the issued autopkgtest requests in the AMQP queues, you need to declare them for a particular Ubuntu series:  * If you care about inspecting the issued autopkgtest requests in the AMQP queues, you need to declare them for a particular Ubuntu series:
Line 22: Line 22:
sudo apt-get install -y amqp-tools
for arch in i386 amd64 armhf ppc64el; do amqp-declare-queue -u amqp://<server IP> -d -q debci-xenial-$arch; done
sudo apt install -y amqp-tools
for arch in i386 amd64 armhf ppc64el; do
   
amqp-declare-queue -u amqp://<server IP> -d -q debci-mantic-$arch
done
Line 26: Line 28:
 You can skip this step, then the test requests will simply go into the void. You can  You can skip this step, then the test requests will simply go into the void.
Line 31: Line 33:
./britney-indexes xenial ../bileto/britney/fetch-indexes mantic
Line 37: Line 39:
./britney.py -c britney.conf --series=xenial -v ./britney.py -c britney.conf --series=mantic -v
Line 40: Line 42:
 You will then have the `excuses.*` and some other files in `output/xenial/`.  You will then have the `excuses.*` and some other files in `output/mantic/`.
Line 42: Line 44:
 * The list of issued test requests can be found in `data/xenial-proposed/autopkgtest/pending.txt`. If you declared AMQP queues above, you can also read/flush them, e. g.  * The list of issued test requests can be found in `data/mantic-proposed/autopkgtest/pending.txt`. If you declared AMQP queues above, you can also read/flush them, e. g.
Line 45: Line 47:
while amqp-get -u amqp://<server IPP> -q debci-xenial-armhf; do echo; done while amqp-get -u amqp://<server IPP> -q debci-mantic-armhf; do echo; done
Line 48: Line 50:
== Installability checks and autopkgtests against a PPA ==

This works similarly to the above, except that the PPA is now playing the role of ''series''`-proposed`. Download and use the [[http://people.canonical.com/~pitti/scripts/britney-indexes-ppa|britney-indexes-ppa]] scripts instead and run it with the PPA's archive URL:

{{{
wget http://people.canonical.com/~pitti/scripts/britney-indexes-ppa
./britney-indexes-ppa vivid http://ppa.launchpad.net/ci-train-ppa-service/stable-phone-overlay/ubuntu
./britney.py -c britney.conf --series=vivid -v
}}}

If you have a PPA which only builds packages for i386 and amd64, you need to run britney's build/installability checks against this reduced list:

{{{
./britney-indexes-ppa xenial http://ppa.launchpad.net/pitti/systemd/ubuntu/
./britney.py -c britney.conf --series=xenial -v --architectures='i386 amd64'
}}}

This page describes how to set up proposed-migration on a clean system.

Installability checks and autopkgtests

In the simplest case you just want to reproduce the "first stage" of britney2-ubuntu, which checks that -proposed packages were built on all expected architectures, are installable by themselves, issue autopkgtests, collect their test results, and produce a production-like excuses.html and excuses.yaml.

  • Check out the code:
    git clone https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu britney2-ubuntu
    git clone https://git.launchpad.net/bileto
    cd britney2-ubuntu

    The fetch-indexes script inside the bileto repository downloads the source and binary package indexes to data/<series> and data/<series>-proposed.

  • The default ./britney.conf contains the production values for the architecture list, autopkgtest AMQP server (but without the actual password) and swift. For a purely local run you need to install the rabbitmq-server package, either locally or into a container, and adjust ADT_AMQP accordingly; use amqp://guest:guest@localhost or amqp://guest:guest@10.0.3.XXX respectively (this will use the default guest user of RabbitMQ).

  • If you care about inspecting the issued autopkgtest requests in the AMQP queues, you need to declare them for a particular Ubuntu series:
    sudo apt install -y amqp-tools
    for arch in i386 amd64 armhf ppc64el; do
        amqp-declare-queue -u amqp://<server IP> -d -q debci-mantic-$arch
    done
    You can skip this step, then the test requests will simply go into the void.
  • Download archive indexes for the desired Ubuntu series:
    ../bileto/britney/fetch-indexes mantic
  • Run britney for the same series:
    ./britney.py -c britney.conf --series=mantic -v

    You will then have the excuses.* and some other files in output/mantic/.

  • The list of issued test requests can be found in data/mantic-proposed/autopkgtest/pending.txt. If you declared AMQP queues above, you can also read/flush them, e. g.

    while amqp-get -u amqp://<server IPP> -q debci-mantic-armhf; do echo; done

Installability checks and autopkgtests against a PPA

This works similarly to the above, except that the PPA is now playing the role of series-proposed. Download and use the britney-indexes-ppa scripts instead and run it with the PPA's archive URL:

wget http://people.canonical.com/~pitti/scripts/britney-indexes-ppa
./britney-indexes-ppa vivid http://ppa.launchpad.net/ci-train-ppa-service/stable-phone-overlay/ubuntu
./britney.py -c britney.conf --series=vivid -v

If you have a PPA which only builds packages for i386 and amd64, you need to run britney's build/installability checks against this reduced list:

./britney-indexes-ppa xenial http://ppa.launchpad.net/pitti/systemd/ubuntu/
./britney.py -c britney.conf --series=xenial -v --architectures='i386 amd64'

Full Ubuntu production setup

The full Ubuntu production setup is done by britney1-ubuntu. This creates the archive index lists, per-series configuration files, calls the first and second stages of britney2-ubuntu, and issues the actual copying of packages from -proposed to -release. It assumes having a local mirror and a helper script promote-to-release which does the actual copying.

TODO: Fully document and/or provide charm for this.

ProposedMigration/LocalSetup (last edited 2023-08-11 15:29:52 by tsimonq2)