Merge lp:~fginther/ubuntu-ci-services-itself/usage-doc-updates into lp:ubuntu-ci-services-itself

Proposed by Francis Ginther
Status: Merged
Approved by: Vincent Ladeuil
Approved revision: 385
Merged at revision: 388
Proposed branch: lp:~fginther/ubuntu-ci-services-itself/usage-doc-updates
Merge into: lp:ubuntu-ci-services-itself
Diff against target: 136 lines (+96/-15)
1 file modified
docs/usage.rst (+96/-15)
To merge this branch: bzr merge lp:~fginther/ubuntu-ci-services-itself/usage-doc-updates
Reviewer Review Type Date Requested Status
Andy Doan (community) Approve
PS Jenkins bot (community) continuous-integration Approve
Francis Ginther Needs Resubmitting
Review via email: mp+210911@code.launchpad.net

Commit message

Add usage documentation to cover creating a launchpad account, creating source packages and other usage updates.

Description of the change

Add usage documentation to cover creating a launchpad account, creating source packages and other usage updates.

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

PASSED: Continuous integration, rev:383
http://s-jenkins.ubuntu-ci:8080/job/uci-engine-ci/412/
Executed test runs:

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/uci-engine-ci/412/rebuild

review: Approve (continuous-integration)
Revision history for this message
Chris Johnston (cjohnston) wrote :

On Thu, Mar 13, 2014 at 5:24 PM, Francis Ginther <
<email address hidden>> wrote:

> +* Download a source package of interest
> +
> +.. code-block:: none
> +
> + apt-get download <package_name>
> +
>

This only works if the user is on saucy I believe. Are we guaranteed that
all users will be on saucy?

+Ubuntu CI Engine requests, known as tickets, are created through a command
> line
> +interface.
> +
> +.. code-block:: none
> +
> + python ubuntu-ci create_ticket -t "Ticket name" -d "Ticket description"
> -b 123 -o <email address hidden> -a "foo,bar" -r "baz" -s
> /full/path/to/_source.changes -s /full/path/to/_source.changes
>
>
If the CLI is actually packaged, I don't believe they would need the
'python' portion of the command. How are we handling the ~/.ubuntu-ci
requirement? Unless it's shipped and ready to go with the package, we need
to document something about it.

Revision history for this message
Francis Ginther (fginther) wrote :

> On Thu, Mar 13, 2014 at 5:24 PM, Francis Ginther <
> <email address hidden>> wrote:
>
> > +* Download a source package of interest
> > +
> > +.. code-block:: none
> > +
> > + apt-get download <package_name>
> > +
> >
>
> This only works if the user is on saucy I believe. Are we guaranteed that
> all users will be on saucy?

Correct. There are some deeper assumptions in setting up an environment for creating source packages. I'm now considering removing this. If I can't concisely describe the setup in a handful of steps, then it really doesn't belong in this document. Better documentation for generating source packages exists elsewhere, I should just link to that.

> +Ubuntu CI Engine requests, known as tickets, are created through a command
> > line
> > +interface.
> > +
> > +.. code-block:: none
> > +
> > + python ubuntu-ci create_ticket -t "Ticket name" -d "Ticket description"
> > -b 123 -o <email address hidden> -a "foo,bar" -r "baz" -s
> > /full/path/to/_source.changes -s /full/path/to/_source.changes
> >
> >
> If the CLI is actually packaged, I don't believe they would need the
> 'python' portion of the command. How are we handling the ~/.ubuntu-ci
> requirement? Unless it's shipped and ready to go with the package, we need
> to document something about it.

Good point. I need to mention the ~/.ubuntu-ci file because it's not part of the package and needs to be configured based on the deployed system the user is interacting with.

Revision history for this message
Andy Doan (doanac) wrote :

93 + python ubuntu-ci

if ubuntu-ci is installed you shouldn't need to prefix with "python"

384. By Francis Ginther

Remove the source package tutorial, add details for .ubuntu-ci.

385. By Francis Ginther

Remove 'python' from ubuntu-ci command.

Revision history for this message
Francis Ginther (fginther) wrote :

This should address the comments:

1) removed python from ubuntu-ci command line.
2) removed mini source package guide
3) added info on the ~/.ubuntu-ci file

review: Needs Resubmitting
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

PASSED: Continuous integration, rev:384
http://s-jenkins.ubuntu-ci:8080/job/uci-engine-ci/416/
Executed test runs:

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/uci-engine-ci/416/rebuild

review: Approve (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

PASSED: Continuous integration, rev:385
http://s-jenkins.ubuntu-ci:8080/job/uci-engine-ci/418/
Executed test runs:

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/uci-engine-ci/418/rebuild

review: Approve (continuous-integration)
Revision history for this message
Andy Doan (doanac) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'docs/usage.rst'
2--- docs/usage.rst 2014-03-13 18:35:32 +0000
3+++ docs/usage.rst 2014-03-14 04:33:31 +0000
4@@ -5,12 +5,64 @@
5 As the Ubuntu CI Engine evolves through development, the usage will become
6 more user friendly and more robust.
7
8-Submitting a Ticket
9--------------------
10-
11-CI requests, known as tickets, are created through a command line interface. ::
12-
13- python ubuntu-ci create_ticket -t "Ticket name" -d "Ticket description" -b 123 -o user@example.com -a "foo,bar" -r "baz" -s /full/path/to/_source.changes -s /full/path/to/_source.changes
14+Prerequisites
15+-------------
16+
17+The Ubuntu CI Engine current only processes source packages as input. These
18+source packages will be uploaded unmodified into a Launchpad PPA. As a result,
19+the source packages used as input must be signed by a user with permission to
20+upload to the PPAs used by the Ubuntu CI Engine. These teams will be managed
21+through Launchpad team membership granted via a CI team member.
22+
23+**Launchpad Setup**
24+
25+Prior to creating a source package to upload and a ticket, a user will need
26+setup a Launchpad account and OpenPGP key:
27+
28+* Create an https://launchpad.net/ account.
29+* Create and upload an OpenPGP key to Launchpad. Instructions are available
30+ at https://help.launchpad.net/YourAccount/ImportingYourPGPKey.
31+
32+**Creating a Source Package**
33+
34+Once the account setup is complete, users can create source packages. A full
35+tutorial on creating and modifying source packages are beyond the scope of this
36+document. There are many Ubuntu development and packaging guides available
37+including:
38+
39+* http://packaging.ubuntu.com/html/
40+* https://wiki.ubuntu.com/UbuntuDevelopment
41+
42+Configuring the Ubuntu CI Engine Client
43+---------------------------------------
44+
45+The Ubuntu CI Engine is deployed as a cloud service. The client module must be
46+configured with a settings file to connect to the service running in the cloud
47+and supply the necessary credentials. These settings are saved under the file
48+*~/.ubuntu-ci* with the following format:
49+
50+.. code-block:: none
51+
52+ auth_url: <nova $OS_AUTH_URL>
53+ auth_user: <nova $OS_USERNAME>
54+ auth_password: <nova $OS_PASSWORD>
55+ auth_tenant_name: <nova $OS_TENANT_NAME>
56+ auth_region: <nova $OS_REGION_NAME>
57+ ci_url: <URL for the ts-django service>
58+
59+.. note::
60+ All of these settings are obtained by the Ubuntu CI Engine administrator
61+ once the services have been deployed to the cloud.
62+
63+Creating a Ticket
64+-----------------
65+
66+Ubuntu CI Engine requests, known as tickets, are created through a command line
67+interface.
68+
69+.. code-block:: none
70+
71+ ubuntu-ci create_ticket -t "Ticket name" -d "Ticket description" -b 123 -o user@example.com -a "foo,bar" -r "baz" -s /full/path/to/_source.changes -s /full/path/to/_source.changes
72
73 This returns a ticket ID which can later be used to monitor and check for
74 results. Once the ticket is created, the Ubuntu CI Engine does the rest. The
75@@ -18,17 +70,47 @@
76 First Out) order. As the system is limited to processing one ticket at a time,
77 it may take multiple hours for a single ticket to be completed.
78
79-Parts of a ticket specification
80-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
81-
82-The input for a ticket is one or more source packages and optionally, a list
83-of binary package names to add to or remove from the image that will be
84-generated.
85+Parts of a ticket submission
86+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
87+
88+The general input specification for a ticket is one or more source packages and
89+a list of binary package names to add to or remove from the image that will be
90+generated. These are specified with the appropriate create_ticket arguments.
91+The full set of required and optional create_ticket arguments are:
92+
93+.. code-block:: none
94+
95+ usage: ubuntu-ci create_ticket [-h] -t TITLE -d DESCRIPTION [-b BUG] -o OWNER
96+ -a ADD [-r REMOVE] -s SOURCES
97+
98+ optional arguments:
99+ -h, --help show this help message and exit
100+ -t TITLE, --title TITLE
101+ Ticket title
102+ -d DESCRIPTION, --description DESCRIPTION
103+ Ticket description
104+ -b BUG, --bug BUG Related bug number
105+ -o OWNER, --owner OWNER
106+ Email address of the ticket owner
107+ -a ADD, --add ADD Binaries to be added to the install
108+ -r REMOVE, --remove REMOVE
109+ Binaries to be removed from the install
110+ -s SOURCES, --sources SOURCES
111+ Path to source.changes files. Source package files
112+ (e.g. source.dsc, source.orig.tar.gz, etc.) are
113+ required to be in the same directory as their
114+ respective source.changes.
115+
116+.. note::
117+ The -t and -d arguments can be specified with a quoted text string. The -a and
118+ -r arguments can be used to specify a single package or a list of comma
119+ separated packages.
120
121 Ticket Defaults
122 ~~~~~~~~~~~~~~~
123
124-Images are produced from a default source image and series.
125+Images are produced from a default source image and series, which is currently
126+based on Ubuntu 13.10 (saucy).
127
128 Specification of a source package
129 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
130@@ -127,5 +209,4 @@
131
132 $ subunit-1to2 <subunit.stream | subunit2junitxml >results.xml
133
134-This produces a 'results.xml' file suitable for jenkins.
135-
136+This produces a 'results.xml' file in the junitxml format.

Subscribers

People subscribed via source and target branches