@@ -6,7 +6,8 @@ Integration Tests using Teuthology Workflow
66Infrastructure
77--------------
88
9- Components:
9+ Components
10+ **********
1011
11121. `ceph-ci `_: Clone of the main Ceph repository, used for triggering Jenkins
1213 Ceph builds for development.
@@ -44,7 +45,27 @@ Components:
4445Each Teuthology test *run * contains multiple test *jobs *. Each job runs in an
4546environment isolated from other jobs, on a different collection of test nodes.
4647
47- To test a change in Ceph, follow these steps:
48+ Workflow Overview
49+ *****************
50+
51+ .. image :: workflow.png
52+
53+
54+ To test a change in Ceph, start by pushing a branch with your changes to the
55+ `ceph-ci `_ repository. This will automatically trigger the Jenkins process
56+ to build Ceph binaries - the status of the build can be observed on `Shaman `_.
57+ These built packages will be uploaded on `Chacra `_.
58+
59+ To schedule a Teuthology integration test against this new build, you will
60+ need access to the Sepia lab. Once you have access, log into the Teuthology
61+ machine and complete the one-time initial Teuthology setup required to run
62+ Teuthology commands. After the setup, use the ``teuthology-suite `` command to schedule
63+ a Teuthology run. In this command, use the ``-c <ceph-ci branch name> `` option to
64+ specify your build. The results of your test can be observed on `Pulpito `_.
65+ Log into a `developer playground machine `_ to review the Teuthology run's archive logs.
66+
67+
68+ The rest of the document will explain these steps in detail:
4869
49701. Getting binaries - Build Ceph.
50712. Scheduling Test Run:
@@ -98,6 +119,31 @@ Ceph binaries must be built for your branch before you can use teuthology to run
98119.. _the Chacra site : https://shaman.ceph.com/api/search/?status=ready&project=ceph
99120
100121
122+ Pushing to the ceph-ci repository
123+ *********************************
124+
125+ Follow these steps to push to the ceph-ci repository. After pushing, a new build will
126+ automatically be scheduled.
127+
128+ 1. Add the ceph-ci repository as a remote to your local clone of the Ceph repository:
129+
130+ .. prompt :: bash $
131+
132+ git remote add ceph-ci
[email protected] :ceph/ceph-ci.git
133+
134+ $ git remote -v
135+ origin
[email protected] :ceph/ceph.git (fetch)
136+ origin
[email protected] :ceph/ceph.git (push)
137+ ceph-ci
[email protected] :ceph/ceph-ci.git (fetch)
138+ ceph-ci
[email protected] :ceph/ceph-ci.git (push)
139+
140+ 2. Push your branch upstream by running a command of the following form:
141+
142+ .. prompt :: bash $
143+
144+ $ git push ceph-ci wip-yourname-feature-x
145+
146+
101147Naming the ceph-ci branch
102148*************************
103149Prepend your branch with your name before you push it to ceph-ci. For example,
@@ -110,15 +156,14 @@ the name of that stable branch in your ceph-ci branch name.
110156For example, the ``feature-x `` PR branch should be named
111157``wip-feature-x-nautilus ``. *This is not just a convention. This ensures that your branch is built in the correct environment. *
112158
113- You can choose to only trigger a CentOS 9.Stream build (excluding other distro like ubuntu)
114- by adding "centos9-only" at the end of the ceph-ci branch name. For example,
115- ``wip-$yourname-feature-centos9-only ``. This helps to get quicker builds and save resources
116- when you don't require binaries for other distros.
117-
118159Delete the branch from ceph-ci when you no longer need it. If you are
119160logged in to GitHub, all your branches on ceph-ci can be found here:
120161https://github.com/ceph/ceph-ci/branches.
121162
163+ .. note :: You can choose to only trigger a CentOS 9.Stream build (excluding other
164+ distro like ubuntu) by adding "centos9-only" at the end of the ceph-ci branch name.
165+ For example, ``wip-$yourname-feature-centos9-only ``. This helps to get quicker builds
166+ and save resources when you don't require binaries for other distros.
122167
123168Scheduling Test Run
124169-------------------
0 commit comments