1BKR(1)                              Beaker                              BKR(1)
2
3
4

NAME

6       bkr - Beaker client
7

SYNOPSIS

9       bkr <subcommand> [options] ...
10

DESCRIPTION

12       Provides a scriptable command-line interface to the Beaker server.
13
14       The  following subcommands are supported. Each subcommand is documented
15       in its own man page. This man page is reserved for common  options  and
16       features.
17
18       orphan
19
20   Subcommands
21       · bkr-distro-trees-list(1) -- List Beaker distro trees
22
23       · bkr-distro-trees-verify(1) -- Check Beaker distro trees for problems
24
25       · bkr-distros-edit-version(1) -- Edit the version of Beaker distros
26
27       · bkr-distros-list(1) -- List Beaker distros
28
29       · bkr-distros-tag(1) -- Tag Beaker distros
30
31       · bkr-distros-untag(1) -- Untag Beaker distros
32
33       · bkr-group-create(1) -- Create a group
34
35       · bkr-group-list(1) -- List groups
36
37       · bkr-group-members(1) -- List members of a group
38
39       · bkr-group-modify(1) -- Modify a group
40
41       · bkr-harness-test(1)  -- Generate Beaker job to test harness installa‐
42         tion
43
44       · bkr-job-cancel(1) -- Cancel running Beaker jobs
45
46       · bkr-job-clone(1) -- Clone existing Beaker jobs
47
48       · bkr-job-comment(1) -- Add a comment to a job
49
50       · bkr-job-delete(1) -- Delete Beaker jobs
51
52       · bkr-job-list(1) -- List Beaker jobs
53
54       · bkr-job-logs(1) -- Print URLs of Beaker recipe log files
55
56       · bkr-job-modify(1) -- Modify Beaker jobs
57
58       · bkr-job-results(1) -- Export Beaker job results as XML
59
60       · bkr-job-submit(1) -- Submit job XML to Beaker
61
62       · bkr-job-watch(1) -- Watch the progress of a Beaker job
63
64       · bkr-labcontroller-create(1) -- Create a new lab controller
65
66       · bkr-labcontroller-list(1) -- List Beaker lab controllers
67
68       · bkr-labcontroller-modify(1) -- Modify a lab controller
69
70       · bkr-list-labcontrollers(1) --
71
72       · bkr-list-systems(1) --
73
74       · bkr-loan-grant(1) -- Grant a loan for a Beaker system
75
76       · bkr-loan-return(1) -- Return a current Beaker system loan
77
78       · bkr-machine-test(1) -- Generate Beaker job to test a system
79
80       · bkr-policy-grant(1) -- Grant permissions in an access policy
81
82       · bkr-policy-list(1) -- Lists access policy rules for a system
83
84       · bkr-policy-revoke(1) -- Revoke permissions in an access policy
85
86       · bkr-pool-add(1) -- Add systems to a system pool
87
88       · bkr-pool-create(1) -- Create a system pool
89
90       · bkr-pool-delete(1) -- Delete a system pool
91
92       · bkr-pool-list(1) -- List system pools
93
94       · bkr-pool-modify(1) -- Modify a system pool
95
96       · bkr-pool-remove(1) -- Remove systems from a pool
97
98       · bkr-pool-systems(1) -- List systems in a pool
99
100       · bkr-remove-account(1) -- Remove user accounts
101
102       · bkr-system-create(1) -- Create a system
103
104       · bkr-system-delete(1) -- Delete a Beaker system permanently
105
106       · bkr-system-details(1) -- Export RDF/XML description of a Beaker  sys‐
107         tem
108
109       · bkr-system-list(1) -- List Beaker systems
110
111       · bkr-system-modify(1) -- Modify system attributes
112
113       · bkr-system-power(1) -- Control power for a Beaker system
114
115       · bkr-system-provision(1) -- Provision a Beaker system
116
117       · bkr-system-release(1) -- Release a reserved Beaker system
118
119       · bkr-system-reserve(1) -- Manually reserve a Beaker system
120
121       · bkr-system-status(1) --  Return the current status of a system
122
123       · bkr-task-add(1) -- Upload tasks to Beaker's task library
124
125       · bkr-task-details(1) -- Export details of a Beaker task
126
127       · bkr-task-list(1) -- List tasks in Beaker's task library
128
129       · bkr-update-inventory(1) -- Submits a inventory job for the system
130
131       · bkr-update-openstack-trust(1) -- Update OpenStack Keystone trust
132
133       · bkr-update-prefs(1) -- Update user preferences
134
135       · bkr-user-modify(1) -- Modify Beaker users
136
137       · bkr-watchdog-extend(1) -- Extend Beaker watchdog time
138
139       · bkr-watchdog-show(1) -- Show time remaining on Beaker watchdogs
140
141       · bkr-watchdogs-extend(1) -- Extend Beaker watchdogs time
142
143       · bkr-whoami(1) -- Show your Beaker username
144
145       · bkr-workflow-installer-test(1)  --  DEPRECATED workflow to generate a
146         kickstart for testing Anaconda
147
148       · bkr-workflow-simple(1) -- Simple workflow to generate Beaker jobs
149
150   Specifying tasks
151       Some bkr subcommands accept one or  more  <taskspec>  arguments.   This
152       allows the user to identify a job, or any subcomponent of a job, by its
153       id. The format is <type>:<id> where <type>  is  one  of  the  following
154       abbreviations, in descending hierarchical order:
155
156          J      job
157
158          RS     recipe set
159
160          R      recipe
161
162          T      recipe-task
163
164          TR     task-result
165
166       For  example,  J:123  might  contain RS:456, which might contain R:789,
167       which might contain T:1234 and T:5678.
168
169       This format is also used in the Beaker web  UI  to  identify  jobs  and
170       their subcomponents.
171

OPTIONS

173   Common options
174       These options are applicable to all bkr subcommands.
175
176       --hub <url>
177              Connect  to  the  Beaker server at the given URL. This overrides
178              the HUB_URL setting from the configuration file. The URL  should
179              not include a trailing slash.
180
181       --insecure
182              Skip all SSL certificate validity checks. This allows the client
183              to connect to a Beaker  server  with  an  invalid,  expired,  or
184              untrusted SSL certificate.
185
186       --username <username>
187              Authenticate  using password authentication, with <username>. If
188              a password is not given using --password, the user  is  prompted
189              for the password on stdin.
190
191              This  option  overrides the authentication type specified in the
192              configuration file, forcing password authentication to be used.
193
194       --password <password>
195              Authenticate using <password>. This option  is  only  applicable
196              when --username is also passed.
197
198       --proxy-user <username>
199              Impersonate  <username>  in  order  to  perform actions on their
200              behalf.
201
202              This option can only be used when the authenticating user  is  a
203              member of a group which has been granted 'proxy_user' permission
204              by  the  Beaker  administrator.  Typically  this  permission  is
205              granted to service accounts so that a trusted script can perform
206              actions on behalf of any other Beaker user.
207
208       --help Show a brief summary of the command and  its  available  options
209              then exit.
210
211   Workflow options
212       These  options  are applicable to bkr workflow subcommands, such as bkr
213       workflow-simple.
214
215       --dry-run, --dryrun
216              Don't submit the job(s) to Beaker.
217
218       --debug
219              Print the generated job XML before submitting it to Beaker.
220
221       --pretty-xml, --prettyxml
222              Pretty-print the generated job  XML  in  a  human-readable  form
223              (with indentation and line breaks).
224
225       --wait Watch  the  newly  submitted  job(s) for state changes and print
226              them to stdout.  The command will not exit until  all  submitted
227              jobs have finished. See bkr-job-watch(1).
228
229       --no-wait, --nowait
230              Do not wait on job completion [default].
231
232       --quiet
233              Be quiet, don't print warnings.
234
235       Options for selecting distro tree(s):
236
237       --family <family>
238              Run  the  job  with  the latest distro in <family> (for example:
239              RedHatEnterpriseLinux6).
240
241       --tag <tag>
242              Run the job with the latest distro tagged  with  <tag>.  Combine
243              this with --family. By default the STABLE tag is used.
244
245       --distro <name>
246              Run the job with distro named <name>. If the given name includes
247              a % character, it is interpreted as a SQL LIKE  pattern  (the  %
248              character matches any substring).
249
250       --variant <variant>
251              Run  the  job with distro variant <variant>, for example Server.
252              Combine this with --family.
253
254       --arch <arch>
255              Use only <arch> in job. By default, a recipe  set  is  generated
256              for  each arch supported by the selected distro. This option may
257              be specified multiple times.
258
259       Options for selecting system(s):
260
261       --machine <fqdn>
262              Run the job on system  with  <fqdn>.  This  option  will  always
263              select a single system, and so does not make sense combined with
264              any other system options.
265
266       --ignore-system-status
267              Always use the system given by --machine, regardless of its sta‐
268              tus.
269
270       --systype <type>
271              Run  the  job  on  system(s)  of  type  <type>. This defaults to
272              Machine which is almost always what you  want.  Other  supported
273              values  are Laptop, Prototype and Resource. Laptop type would be
274              used to select a system from  the  available  laptop  computers.
275              Similarly,  Resource  and Prototype would be used in cases where
276              you would want to schedule your job against a system whose  type
277              has been set as such.
278
279       --hostrequire <tag> <operator> <value>
280              Additional  <hostRequires/>  for  the  job. For example, labcon‐
281              troller=lab.example.com  would  become   <labcontroller   op="="
282              value="lab.example.com"/> in the job XML.
283
284              For  more  advanced  filtering (for example using <device/>) you
285              can also pass raw XML directly to this option. Any value  start‐
286              ing  with < is parsed as XML and inserted directly into <hostRe‐
287              quires/>.
288
289              See job-xml for more information about the <hostRequires/>  ele‐
290              ment.
291
292       --host-filter <name>
293              Look  up the pre-defined host filter with the given name,and add
294              the corresponding XML snippet to <hostRequires/>.
295
296              You can use pre-defined host filters as a short-hand for compli‐
297              cated  or  difficult  to remember XML snippets.  Beaker includes
298              many pre-defined filters for different types  of  hardware.  For
299              example,  pass  --host-filter=INTEL__FAM15_CELERON to filter for
300              hosts with an Intel Celeron CPU.
301
302              Filter definitions are read  from  the  following  configuration
303              files:
304
305              · /usr/lib/python2.x/site-packages/bkr/client/host-fil‐
306                ters/*.conf
307
308              · /etc/beaker/host-filters/*.conf
309
310              · ~/.beaker_client/host-filter
311
312              Files within each directory  are  processed  in  lexicographical
313              order.  The  files  contain one filter definition per line, con‐
314              sisting of the filter name and the associated XML snippet  sepa‐
315              rated  by whitespace.  If the same filter name appears in multi‐
316              ple files, the last definition overrides earlier definitions.
317
318       --keyvalue <name> <operator> <value>
319              Run the job on system(s)  which  have  the  key  <name>  set  to
320              <value> (for example: NETWORK=e1000).
321
322       --random
323              Select  a  system  at  random. The systems owned by the user are
324              first checked for availability, followed by the systems owned by
325              the user's group and finally all other systems.
326
327       Options for selecting tasks:
328
329       --task <task>
330              Include <task> in the job. This option may be specified multiple
331              times.
332
333       --taskfile <filename>
334              Include tasks listed in <filename>, each line contains one  task
335              name. Lines not starting with '/' are ignored.
336
337       --package <package>
338              Include tests for <package> in the job. This option may be spec‐
339              ified multiple times.
340
341       --task-type <type>
342              Include tasks of type <type> in the  job.  This  option  may  be
343              specified multiple times.
344
345       --install <package>
346              Install  additional  package  <package> after provisioning. This
347              uses the /distribution/pkginstall task. This option may be spec‐
348              ified multiple times.
349
350       --kdump
351              Enable kdump using using /kernel/networking/kdump.
352
353       --ndump
354              Enable ndnc using using /kernel/networking/ndnc.
355
356       --suppress-install-task
357              Omit the installation checking task.
358
359              By  default,  the  first  task  in the recipe will be /distribu‐
360              tion/check-install (or the  previous  implementation  /distribu‐
361              tion/install on RHEL7 and older). The purpose of this task is to
362              check that the operating system was installed  successfully  and
363              report  back  on any potential problems, and to collect informa‐
364              tion about the installed system for debugging.
365
366              Pass this option if you do not want this task to  be  implicitly
367              inserted at the start of the recipe.
368
369       Options for job configuration:
370
371       --job-owner <username>
372              Submit the job on behalf of <username>. The job will be owned by
373              <username> rather than the submitting user.
374
375              The submitting user must be a submission delegate of <username>.
376              Users can add other users as submission delegates on their Pref‐
377              erences page in Beaker's web UI.
378
379       --job-group <group>
380              Associate the job with <group>. This will allow other group mem‐
381              bers to modify the job.
382
383       --whiteboard <whiteboard>
384              Set the job's whiteboard to <whiteboard>.
385
386       --taskparam <name>=<value>
387              Sets parameter <name> to <value> for all tasks in the job.
388
389              New in version 0.14.3.
390
391
392       --ignore-panic
393              Disable kernel panic detection and install failure detection for
394              the recipe.  By default if a kernel panic appears on the  serial
395              console, or a fatal installer error appears during installation,
396              the recipe is aborted. When this option is given,  the  messages
397              are ignored and the recipe is not aborted.
398
399       --reserve
400              Reserve the system at the end of the recipe, for further testing
401              or examination. The system will be reserved when all tasks  have
402              completed  executing, or if the recipe ends abnormally. Refer to
403              reservesys.
404
405       --reserve-duration <seconds>
406              When --reserve is used, this option controls  the  duration  for
407              the  reservation.  The  default  duration  is  86400 seconds (24
408              hours).
409
410       --cc <email>
411              Add <email> to the cc list for the  job(s).  The  cc  list  will
412              receive  the  job  completion  notification.  This option may be
413              specified multiple times.
414
415       --priority <priority>
416              Set job priority to <priority>.  Can  be  Low,  Medium,  Normal,
417              High, or Urgent. The default is Normal.
418
419       --retention-tag <tag>
420              Specify data retention policy for this job [default: Scratch]
421
422       --product <product>
423              Associate job with <product> for data retention purposes.
424
425       Options for installation:
426
427       --method <method>
428              Installation source method (nfs, http, ftp) [default: nfs].
429
430       --kernel-options <opts>
431              Pass  additional  kernel  options  for  during installation. The
432              options string is applied on  top  of  any  install-time  kernel
433              options  which are set by default for the chosen system and dis‐
434              tro.
435
436       --kernel-options-post <opts>
437              Pass additional  kernel  options  for  after  installation.  The
438              options  string  is  applied  on  top of any post-install kernel
439              options which are set by default for the chosen system and  dis‐
440              tro.
441
442       --ks-append <commands>
443              Specify  additional  kickstart commands to add to the base kick‐
444              start file.
445
446       --ks-meta <options>
447              Pass kickstart metadata <options> when generating kickstart.
448
449       --repo <url>
450              Make the  yum  repository  at  <url>  available  during  initial
451              installation  of  the  system and afterwards. This option may be
452              specified multiple times.  The installation may fail if the repo
453              is not actually available.
454
455       --repo-post <url>
456              Make  the  yum repository at <url> available AFTER the installa‐
457              tion. This option may be specified multiple times. The repo con‐
458              fig  will  be appended to the kickstart's %post section. Whether
459              or not the installation succeeds is not affected by  the  avail‐
460              ability of the repo.
461
462       --kickstart <filename>
463              Use this kickstart template for installation. Templates are ren‐
464              dered on the server. Refer to the custom-kickstarts  section  in
465              Beaker's documentation for details about the templating language
466              and available variables. You can also pass raw kickstarts  in  -
467              if  you  don't  use any Jinja2 variable substitution syntax, the
468              rendering process will reproduce the template verbatim.
469
470              If the template provides the following line:
471
472                 ## kernel_options: <options>
473
474              the specified kernel options will be appended to  existing  ones
475              defined with --kernel-options.
476
477       Options for multi-host testing:
478
479       --clients <number>
480              Use <number> clients in the job.
481
482       --servers <number>
483              Use <number> servers in the job.
484

FILES

486       On  startup  bkr searches the following locations in order for its con‐
487       fig:
488          ~/.beaker_client/config
489
490          /etc/beaker/client.conf
491

ENVIRONMENT

493       The following environment variables affect the operation of bkr.
494
495       BEAKER_CLIENT_CONF
496              If set to a non-empty value, this overrides the usual configura‐
497              tion  search paths. This must be the full path to the configura‐
498              tion file.
499

AUTHOR

501       The Beaker team <beaker-devel@lists.fedorahosted.org>
502
504       2013, Red Hat, Inc
505
506
507
508
50926.3                             Jan 31, 2019                           BKR(1)
Impressum