machinery-tool 1.0.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/NEWS +8 -0
- data/lib/cli.rb +2 -1
- data/lib/hint.rb +5 -0
- data/lib/kiwi_config.rb +4 -2
- data/lib/local_system.rb +4 -3
- data/lib/os.rb +12 -0
- data/lib/remote_system.rb +3 -1
- data/lib/renderer.rb +0 -7
- data/lib/version.rb +1 -1
- data/plugins/model/changed_managed_files_model.rb +2 -1
- data/plugins/model/config_files_model.rb +2 -1
- data/plugins/model/file_scope.rb +66 -0
- data/plugins/model/unmanaged_files_model.rb +29 -1
- data/plugins/show/changed_managed_files_renderer.rb +12 -5
- data/plugins/show/config_files_renderer.rb +13 -6
- data/plugins/show/unmanaged_files_renderer.rb +16 -10
- metadata +120 -120
- data/man/generated/machinery.1.gz +0 -0
- data/man/generated/machinery.1.html +0 -1056
Binary file
|
@@ -1,1056 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
<meta http-equiv='content-type' value='text/html;charset=utf8'>
|
5
|
-
<meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
|
6
|
-
<title>machinery(1) - Machinery — A Systems Management Toolkit for Linux</title>
|
7
|
-
<style type='text/css' media='all'>
|
8
|
-
/* style: man */
|
9
|
-
body#manpage {margin:0}
|
10
|
-
.mp {max-width:100ex;padding:0 9ex 1ex 4ex}
|
11
|
-
.mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
|
12
|
-
.mp h2 {margin:10px 0 0 0}
|
13
|
-
.mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
|
14
|
-
.mp h3 {margin:0 0 0 4ex}
|
15
|
-
.mp dt {margin:0;clear:left}
|
16
|
-
.mp dt.flush {float:left;width:8ex}
|
17
|
-
.mp dd {margin:0 0 0 9ex}
|
18
|
-
.mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
|
19
|
-
.mp pre {margin-bottom:20px}
|
20
|
-
.mp pre+h2,.mp pre+h3 {margin-top:22px}
|
21
|
-
.mp h2+pre,.mp h3+pre {margin-top:5px}
|
22
|
-
.mp img {display:block;margin:auto}
|
23
|
-
.mp h1.man-title {display:none}
|
24
|
-
.mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
|
25
|
-
.mp h2 {font-size:16px;line-height:1.25}
|
26
|
-
.mp h1 {font-size:20px;line-height:2}
|
27
|
-
.mp {text-align:justify;background:#fff}
|
28
|
-
.mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
|
29
|
-
.mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
|
30
|
-
.mp u {text-decoration:underline}
|
31
|
-
.mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
|
32
|
-
.mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
|
33
|
-
.mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
|
34
|
-
.mp b.man-ref {font-weight:normal;color:#434241}
|
35
|
-
.mp pre {padding:0 4ex}
|
36
|
-
.mp pre code {font-weight:normal;color:#434241}
|
37
|
-
.mp h2+pre,h3+pre {padding-left:0}
|
38
|
-
ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
|
39
|
-
ol.man-decor {width:100%}
|
40
|
-
ol.man-decor li.tl {text-align:left}
|
41
|
-
ol.man-decor li.tc {text-align:center;letter-spacing:4px}
|
42
|
-
ol.man-decor li.tr {text-align:right;float:right}
|
43
|
-
</style>
|
44
|
-
</head>
|
45
|
-
<!--
|
46
|
-
The following styles are deprecated and will be removed at some point:
|
47
|
-
div#man, div#man ol.man, div#man ol.head, div#man ol.man.
|
48
|
-
|
49
|
-
The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
|
50
|
-
.man-navigation should be used instead.
|
51
|
-
-->
|
52
|
-
<body id='manpage'>
|
53
|
-
<div class='mp' id='man'>
|
54
|
-
|
55
|
-
<div class='man-navigation' style='display:none'>
|
56
|
-
<a href="#SYNOPSIS">SYNOPSIS</a>
|
57
|
-
<a href="#DESCRIPTION">DESCRIPTION</a>
|
58
|
-
<a href="#WORK-FLOW-EXAMPLES">WORK FLOW EXAMPLES</a>
|
59
|
-
<a href="#CONCEPTUAL-OVERVIEW">CONCEPTUAL OVERVIEW</a>
|
60
|
-
<a href="#OPTIONS-FOR-ALL-SUBCOMMANDS">OPTIONS FOR ALL SUBCOMMANDS</a>
|
61
|
-
<a href="#build-Build-Image-from-System-Description">build — Build Image from System Description</a>
|
62
|
-
<a href="#compare-Compare-System-Descriptions">compare — Compare System Descriptions</a>
|
63
|
-
<a href="#config-Configure-Machinery">config — Configure Machinery</a>
|
64
|
-
<a href="#copy-Copy-System-Description">copy — Copy System Description</a>
|
65
|
-
<a href="#deploy-Deploy-Image-to-OpenStack-Cloud">deploy — Deploy Image to OpenStack Cloud</a>
|
66
|
-
<a href="#export-kiwi-Export-System-Description-as-KIWI-Image-Description">export-kiwi — Export System Description as KIWI Image Description</a>
|
67
|
-
<a href="#generate-html-Generate-an-HTML-view-of-a-System-Description">generate-html — Generate an HTML view of a System Description</a>
|
68
|
-
<a href="#inspect-Inspect-Running-System">inspect — Inspect Running System</a>
|
69
|
-
<a href="#list-List-System-Descriptions">list — List System Descriptions</a>
|
70
|
-
<a href="#remove-Remove-System-Description">remove — Remove System Description</a>
|
71
|
-
<a href="#show-Show-System-Description">show — Show System Description</a>
|
72
|
-
<a href="#upgrade-format-Upgrade-System-Description">upgrade-format — Upgrade System Description</a>
|
73
|
-
<a href="#validate-Validate-System-Description">validate — Validate System Description</a>
|
74
|
-
<a href="#FILES-AND-DEVICES">FILES AND DEVICES</a>
|
75
|
-
<a href="#ENVIRONMENT">ENVIRONMENT</a>
|
76
|
-
<a href="#COPYRIGHT">COPYRIGHT</a>
|
77
|
-
</div>
|
78
|
-
|
79
|
-
<ol class='man-decor man-head man head'>
|
80
|
-
<li class='tl'>machinery(1)</li>
|
81
|
-
<li class='tc'></li>
|
82
|
-
<li class='tr'>machinery(1)</li>
|
83
|
-
</ol>
|
84
|
-
|
85
|
-
<h1>Machinery — A Systems Management Toolkit for Linux</h1>
|
86
|
-
<!--
|
87
|
-
|
88
|
-
General procedure:
|
89
|
-
|
90
|
-
1. Add the short description of a new command into the COMMANDS section
|
91
|
-
2. Copy the subcommand-template.1.md to machinery-SUBCOMMAND.1.md
|
92
|
-
3. Insert your description in your machinery-SUBCOMMAND.1.md file
|
93
|
-
|
94
|
-
-->
|
95
|
-
|
96
|
-
|
97
|
-
<h2 id="SYNOPSIS">SYNOPSIS</h2>
|
98
|
-
|
99
|
-
<p><code>machinery</code> SUBCOMMAND [options] <br />
|
100
|
-
<code>machinery</code> help [SUBCOMMAND]</p>
|
101
|
-
|
102
|
-
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
103
|
-
|
104
|
-
<p>Machinery is a systems management toolkit for Linux. It supports configuration
|
105
|
-
discovery, system validation, and service migration. Machinery is based on the
|
106
|
-
idea of an universal system description. Machinery has a set of commands which
|
107
|
-
work with this system description. These commands can be combined to form work
|
108
|
-
flows. Machinery is targeted at the system administrator of the data center.</p>
|
109
|
-
|
110
|
-
<h2 id="WORK-FLOW-EXAMPLES">WORK FLOW EXAMPLES</h2>
|
111
|
-
|
112
|
-
<h3 id="Inspect-a-System-and-Show-Results">Inspect a System and Show Results</h3>
|
113
|
-
|
114
|
-
<ul>
|
115
|
-
<li><code>machinery inspect --extract-files --name=NAME HOSTNAME</code></li>
|
116
|
-
<li><code>machinery show NAME</code></li>
|
117
|
-
</ul>
|
118
|
-
|
119
|
-
|
120
|
-
<h3 id="Inspect-Two-Systems-and-Compare-Them">Inspect Two Systems and Compare Them</h3>
|
121
|
-
|
122
|
-
<ul>
|
123
|
-
<li><code>machinery inspect HOSTNAME1</code></li>
|
124
|
-
<li><code>machinery inspect HOSTNAME2</code></li>
|
125
|
-
<li><code>machinery compare HOSTNAME1 HOSTNAME2</code></li>
|
126
|
-
</ul>
|
127
|
-
|
128
|
-
|
129
|
-
<h3 id="Fully-Inspect-a-System-and-Export-a-Kiwi-Description">Fully Inspect a System and Export a Kiwi Description</h3>
|
130
|
-
|
131
|
-
<ul>
|
132
|
-
<li><code>machinery inspect --extract-files HOSTNAME</code></li>
|
133
|
-
<li><code>machinery export-kiwi --kiwi-dir=~/kiwi HOSTNAME</code></li>
|
134
|
-
</ul>
|
135
|
-
|
136
|
-
|
137
|
-
<h3 id="Fully-Inspect-a-System-and-Deploy-a-Replicate-to-the-Cloud">Fully Inspect a System and Deploy a Replicate to the Cloud</h3>
|
138
|
-
|
139
|
-
<ul>
|
140
|
-
<li><code>machinery inspect --extract-files HOSTNAME</code></li>
|
141
|
-
<li><code>machinery deploy --cloud-config=~/openrc.sh HOSTNAME</code></li>
|
142
|
-
</ul>
|
143
|
-
|
144
|
-
|
145
|
-
<h2 id="CONCEPTUAL-OVERVIEW">CONCEPTUAL OVERVIEW</h2>
|
146
|
-
|
147
|
-
<p>Machinery's core concept is the complete representation of a system by a
|
148
|
-
universal system description.
|
149
|
-
System descriptions are managed independently of the described
|
150
|
-
systems which allows for system state conservation and offline preparation of
|
151
|
-
modifications.</p>
|
152
|
-
|
153
|
-
<p>Machinery's subcommands work on the system description as the connecting
|
154
|
-
element.
|
155
|
-
System descriptions are obtained by inspecting systems, importing from other
|
156
|
-
formats, manual creation or merging other descriptions.
|
157
|
-
Machinery can store and modify system descriptions to allow changes to
|
158
|
-
described state of the system.
|
159
|
-
System descriptions can be compared to find similarities and differences
|
160
|
-
between them or analyzed to deepen the knowledge about particular aspects of
|
161
|
-
the system.
|
162
|
-
System descriptions may be exported to other formats and can be used to
|
163
|
-
migrate or replicate systems.</p>
|
164
|
-
|
165
|
-
<p>Subcommands can be combined in different ways to accomodate higher-level work
|
166
|
-
flows and use cases.
|
167
|
-
These are some implemented and planned use cases:</p>
|
168
|
-
|
169
|
-
<p>Migrate a physical system to a virtual environment:</p>
|
170
|
-
|
171
|
-
<ul>
|
172
|
-
<li>Inspect a system to obtain a system description</li>
|
173
|
-
<li>Export the system description to a Kiwi configuration</li>
|
174
|
-
<li>Build a cloud image from the configuration</li>
|
175
|
-
<li>Deploy the image to the cloud</li>
|
176
|
-
</ul>
|
177
|
-
|
178
|
-
|
179
|
-
<p>Migrate a system while changing the configuration:</p>
|
180
|
-
|
181
|
-
<ul>
|
182
|
-
<li>Inspect a system to obtain a system description</li>
|
183
|
-
<li>Modify the system description</li>
|
184
|
-
<li>Build image for deployment</li>
|
185
|
-
</ul>
|
186
|
-
|
187
|
-
|
188
|
-
<p>Using Machinery as an extension from other formats:</p>
|
189
|
-
|
190
|
-
<ul>
|
191
|
-
<li>Import AutoYaST profile as system description</li>
|
192
|
-
<li>Build image for deployment</li>
|
193
|
-
</ul>
|
194
|
-
|
195
|
-
|
196
|
-
<p>Machinery provides an extensible set of tools which can be combined to create
|
197
|
-
higher-level work flows.
|
198
|
-
It is designed for environments which focus on automation, integration
|
199
|
-
of diverse tools and accountable management.
|
200
|
-
Machinery integrates with existing configuration management solutions to
|
201
|
-
address use cases currently not covered by them.</p>
|
202
|
-
|
203
|
-
<h3 id="The-machinery-Command">The machinery Command</h3>
|
204
|
-
|
205
|
-
<p>Machinery is implemented as a command line tool named <code>machinery</code>. The
|
206
|
-
<code>machinery</code> command has several subcommands for specific tasks. All
|
207
|
-
subcommands work with the same system description identified by an optional
|
208
|
-
name which can be used by all subcommands.</p>
|
209
|
-
|
210
|
-
<h3 id="Scopes">Scopes</h3>
|
211
|
-
|
212
|
-
<p>The system description is structured into "scopes". A scope covers a specific
|
213
|
-
part of the configuration of the inspected system such as installed packages,
|
214
|
-
repositories, or configuration files.</p>
|
215
|
-
|
216
|
-
<p>For example, if you are only interested in the installed packages, limit the
|
217
|
-
scope to <code>packages</code>. This will output only the requested information.</p>
|
218
|
-
|
219
|
-
<p>Machinery supports the following scopes:</p>
|
220
|
-
|
221
|
-
<ul>
|
222
|
-
<li><p>changed-managed-files</p>
|
223
|
-
|
224
|
-
<p>Contains the names and contents of all non-configuration files which have
|
225
|
-
been changed compared to the files in the package.</p></li>
|
226
|
-
<li><p>config-files</p>
|
227
|
-
|
228
|
-
<p>Contains all configuration files which have been changed since they were
|
229
|
-
installed.
|
230
|
-
Configuration files are all those files which are marked as such in the
|
231
|
-
package which has installed them. A configuration file is considered changed
|
232
|
-
if either its content or its Linux permission bits have changed.</p></li>
|
233
|
-
<li><p>groups</p>
|
234
|
-
|
235
|
-
<p>Contains information about the system groups such as group attributes and the
|
236
|
-
list of group members.</p></li>
|
237
|
-
<li><p>os</p>
|
238
|
-
|
239
|
-
<p>Contains information about the operating system, name, version, and
|
240
|
-
architecture of the inspected system.</p></li>
|
241
|
-
<li><p>packages</p>
|
242
|
-
|
243
|
-
<p>Contains information on all installed RPM packages installed on the
|
244
|
-
inspected system.</p></li>
|
245
|
-
<li><p>patterns</p>
|
246
|
-
|
247
|
-
<p>Contains all patterns installed on the inspected system. A pattern is a
|
248
|
-
collection of software packages.
|
249
|
-
The meaning of software patterns depends on the package manager of the
|
250
|
-
distribution. Therefore, the pattern scope on SUSE based systems uses the
|
251
|
-
<code>zypper</code> command to obtain the information about installed pattern names.</p></li>
|
252
|
-
<li><p>repositories</p>
|
253
|
-
|
254
|
-
<p>Contains all information about software repositories configured on the
|
255
|
-
inspected system. The information about repositories depends on the package
|
256
|
-
manager of the distribution. Thus on SUSE-based systems the <code>zypper</code> command
|
257
|
-
is used. Machinery collects the following information from each configured repository:</p>
|
258
|
-
|
259
|
-
<ul>
|
260
|
-
<li><p>The alias name of the repository.</p></li>
|
261
|
-
<li><p>The repository type, rpm-md and YaST types that are used on SUSE systems.</p></li>
|
262
|
-
<li><p>The path to the repository. This could be a local path, a remote location,
|
263
|
-
a device, or a file.</p></li>
|
264
|
-
<li><p>A boolean flag that indicates if this repository is in use or not.</p></li>
|
265
|
-
<li><p>A boolean flag that indicates if this repository should update the locally
|
266
|
-
stored metadata files with metadata files from the origin automatically or
|
267
|
-
not.</p></li>
|
268
|
-
<li><p>A boolean flag that indicates if packages which would be installed from
|
269
|
-
this repository should be checked by their gpg key or not.</p></li>
|
270
|
-
<li><p>A numeric value for a priority. The priority of a repository is compared
|
271
|
-
to the priorities of all other activated repositories. Values can
|
272
|
-
range from 1 (highest) to 99 (lowest, default).</p></li>
|
273
|
-
</ul>
|
274
|
-
</li>
|
275
|
-
<li><p>services</p>
|
276
|
-
|
277
|
-
<p>Services are applications running in the background doing continuous work
|
278
|
-
or waiting for requests to do work.
|
279
|
-
The scope determines which services are configured to be started in which
|
280
|
-
runlevel. It uses the <code>chkconfig</code> command to obtain that information.
|
281
|
-
The xinetd services that are also displayed by <code>chkconfig</code> are switched
|
282
|
-
on/off by editing config files and are ignored in this context.</p></li>
|
283
|
-
<li><p>unmanaged-files</p>
|
284
|
-
|
285
|
-
<p>Contains the names and contents of all files which are not part of any RPM
|
286
|
-
package. The list of unmanaged files contains only plain files and
|
287
|
-
directories. Special files like device nodes, named pipes and Unix domain
|
288
|
-
sockets are ignored. The directories <code>/tmp</code>, <code>/var/tmp</code>, <code>/sys</code>, <code>/dev</code>,
|
289
|
-
<code>/.snapshots/</code>, and <code>/var/run</code> are ignored, too. If a directory is in this
|
290
|
-
list, no file or directory below it belongs to a RPM package.</p>
|
291
|
-
|
292
|
-
<p>Meta data information of unmanaged files is only available if the files were
|
293
|
-
extracted during inspection.</p>
|
294
|
-
|
295
|
-
<p>Using the <code>--extract-unmanaged-files</code> option, the files are transferred from
|
296
|
-
the system and stored in the system description. Depending on the content of
|
297
|
-
the inspected system, the amount of data stored may be huge.</p></li>
|
298
|
-
<li><p>users</p>
|
299
|
-
|
300
|
-
<p>Contains information about the system users including user and group ids,
|
301
|
-
login information, such as password hashes and - if available - additional
|
302
|
-
password properties.</p></li>
|
303
|
-
</ul>
|
304
|
-
|
305
|
-
|
306
|
-
<h3 id="System-Description">System Description</h3>
|
307
|
-
|
308
|
-
<p>The System Description format and file structure is documented in the machinery wiki: <a href="https://github.com/SUSE/machinery/wiki/System-Description-Format" data-bare-link="true">https://github.com/SUSE/machinery/wiki/System-Description-Format</a></p>
|
309
|
-
|
310
|
-
<h3 id="Use-Cases">Use Cases</h3>
|
311
|
-
|
312
|
-
<p>Some of the important use cases of Machinery are:</p>
|
313
|
-
|
314
|
-
<ul>
|
315
|
-
<li><p>Inspecting a System and Collecting Information</p>
|
316
|
-
|
317
|
-
<p>Collecting a variety of information. Limit the gathered
|
318
|
-
information with scopes (see section about scopes). Each inspection step
|
319
|
-
updates the system description.</p></li>
|
320
|
-
<li><p>Reviewing System Description</p>
|
321
|
-
|
322
|
-
<p>After a successful inspection, the system description can be displayed on
|
323
|
-
the console or the output can be fed into other tools.</p></li>
|
324
|
-
<li><p>Cloning a System</p>
|
325
|
-
|
326
|
-
<p>An inspected system can be cloned. The inspection step returns a system
|
327
|
-
description which is used as the basis for cloning physical or virtual
|
328
|
-
instances. Machinery can build a system image from the description, which
|
329
|
-
can then for example be deployed to a cloud.</p></li>
|
330
|
-
</ul>
|
331
|
-
|
332
|
-
|
333
|
-
<h2 id="OPTIONS-FOR-ALL-SUBCOMMANDS">OPTIONS FOR ALL SUBCOMMANDS</h2>
|
334
|
-
|
335
|
-
<dl>
|
336
|
-
<dt><code>--version</code></dt><dd><p>Displays version of <code>machinery</code> tool. Exit when done.</p></dd>
|
337
|
-
<dt class="flush"><code>--debug</code></dt><dd><p>Enable debug mode. Machinery writes additional information into the log
|
338
|
-
file which can be useful to track down problems.</p></dd>
|
339
|
-
</dl>
|
340
|
-
|
341
|
-
|
342
|
-
<h1>analyze — Analyze System Description</h1>
|
343
|
-
|
344
|
-
<h3 id="SYNOPSIS">SYNOPSIS</h3>
|
345
|
-
|
346
|
-
<p><code>machinery analyze</code> NAME -o | --operation=OPERATION</p>
|
347
|
-
|
348
|
-
<p><code>machinery</code> help analyze</p>
|
349
|
-
|
350
|
-
<h3 id="DESCRIPTION">DESCRIPTION</h3>
|
351
|
-
|
352
|
-
<p>The <code>analyze</code> subcommand analyzes an existing system description and enriches
|
353
|
-
it with additional information. Supported operations are:</p>
|
354
|
-
|
355
|
-
<dl>
|
356
|
-
<dt><code>config-file-diffs</code></dt><dd>Generates the diffs between the extracted changed config files from the
|
357
|
-
system and the original versions from the RPM packages.
|
358
|
-
The diffs can be shown using <code>machinery show --show-diffs</code></dd>
|
359
|
-
</dl>
|
360
|
-
|
361
|
-
|
362
|
-
<h3 id="ARGUMENTS">ARGUMENTS</h3>
|
363
|
-
|
364
|
-
<dl>
|
365
|
-
<dt><code>NAME</code> (required)</dt><dd>Name of the system description.</dd>
|
366
|
-
</dl>
|
367
|
-
|
368
|
-
|
369
|
-
<h3 id="OPTIONS">OPTIONS</h3>
|
370
|
-
|
371
|
-
<dl>
|
372
|
-
<dt><code>-o OPERATION</code>, <code>--operation=OPERATION</code> (required)</dt><dd>The analyze operation to perform.</dd>
|
373
|
-
</dl>
|
374
|
-
|
375
|
-
|
376
|
-
<h3 id="EXAMPLES">EXAMPLES</h3>
|
377
|
-
|
378
|
-
<dl>
|
379
|
-
<dt>Analyze the config file diffs for the <code>myhost</code> system description:</dt><dd><p></p>
|
380
|
-
|
381
|
-
<p>$ <code>machinery</code> analyze myhost --operation=config-file-diffs</p></dd>
|
382
|
-
</dl>
|
383
|
-
|
384
|
-
|
385
|
-
<h2 id="build-Build-Image-from-System-Description">build — Build Image from System Description</h2>
|
386
|
-
|
387
|
-
<h3 id="SYNOPSIS">SYNOPSIS</h3>
|
388
|
-
|
389
|
-
<p><code>machinery build</code> NAME -i IMAGE-DIR | --image-dir=IMAGE-DIR</p>
|
390
|
-
|
391
|
-
<p><code>machinery</code> help build</p>
|
392
|
-
|
393
|
-
<h3 id="DESCRIPTION">DESCRIPTION</h3>
|
394
|
-
|
395
|
-
<p>The <code>build</code> command builds an image from a system description. The image is a
|
396
|
-
system image in the qcow2 format, which can be used with the KVM hypervisor.
|
397
|
-
It can be run locally or deployed to a cloud environment.</p>
|
398
|
-
|
399
|
-
<p><code>machinery</code> uses the image building command line tool
|
400
|
-
<a href="http://en.opensuse.org/Portal:KIWI">KIWI</a> to perform the actual build. KIWI
|
401
|
-
data is stored to a temporary directory and cleaned up after the build. The KIWI
|
402
|
-
log is shown as output of the <code>build</code> command format for showing progress and
|
403
|
-
diagnosing errors.</p>
|
404
|
-
|
405
|
-
<p>When building an image, Machinery filters out some files which would break the
|
406
|
-
built image. The list of filters is shown at the beginning of the build.</p>
|
407
|
-
|
408
|
-
<h3 id="ARGUMENTS">ARGUMENTS</h3>
|
409
|
-
|
410
|
-
<dl>
|
411
|
-
<dt><code>NAME</code> (required)</dt><dd>Use specified system description.</dd>
|
412
|
-
</dl>
|
413
|
-
|
414
|
-
|
415
|
-
<h3 id="OPTIONS">OPTIONS</h3>
|
416
|
-
|
417
|
-
<dl>
|
418
|
-
<dt><code>-i IMAGE-DIR</code>, <code>--image-dir=IMAGE-DIR</code> (required)</dt><dd><p>Save image file under specified path.</p></dd>
|
419
|
-
<dt><code>-d</code>, <code>--enable-dhcp</code> (optional)</dt><dd><p>Enable DHCP client on first network card of built image</p></dd>
|
420
|
-
<dt><code>-s</code>, <code>--enable-ssh</code> (optional)</dt><dd><p>Enable SSH service in built image</p></dd>
|
421
|
-
</dl>
|
422
|
-
|
423
|
-
|
424
|
-
<h3 id="PREREQUISITES">PREREQUISITES</h3>
|
425
|
-
|
426
|
-
<ul>
|
427
|
-
<li><p>The <code>build</code> command requires the packages <code>kiwi</code> and <code>kiwi-desc-vmbxoot</code>.</p></li>
|
428
|
-
<li><p>All repositories in the system description must be accessible from the
|
429
|
-
build machine on which <code>machinery build</code> is called.</p></li>
|
430
|
-
</ul>
|
431
|
-
|
432
|
-
|
433
|
-
<h3 id="BUILD-SUPPORT-MATRIX">BUILD SUPPORT MATRIX</h3>
|
434
|
-
|
435
|
-
<p>The following combinations of build hosts and targets are supported:</p>
|
436
|
-
|
437
|
-
<ul>
|
438
|
-
<li><p>SUSE Linux Enterprise 12</p>
|
439
|
-
|
440
|
-
<p>Can build SUSE Linux Enterprise 12</p></li>
|
441
|
-
<li><p>openSUSE 13.1</p>
|
442
|
-
|
443
|
-
<p>Can build SUSE Linux Enterprise 11 and openSUSE 13.1</p></li>
|
444
|
-
</ul>
|
445
|
-
|
446
|
-
|
447
|
-
<h3 id="EXAMPLES">EXAMPLES</h3>
|
448
|
-
|
449
|
-
<ul>
|
450
|
-
<li><p>To build an image from the system description named "tux" and to save the
|
451
|
-
image under the <code>/tmp/tux/</code> directory:</p>
|
452
|
-
|
453
|
-
<p>$ <code>machinery</code> build tux -i /tmp/tux/</p></li>
|
454
|
-
</ul>
|
455
|
-
|
456
|
-
|
457
|
-
<h2 id="compare-Compare-System-Descriptions">compare — Compare System Descriptions</h2>
|
458
|
-
|
459
|
-
<h3 id="SYNOPSIS">SYNOPSIS</h3>
|
460
|
-
|
461
|
-
<p><code>machinery compare</code> [-s SCOPE | --scope=SCOPE] [-e EXCLUDE-SCOPE | --exclude-scope=EXCLUDE-SCOPE] [--no-pager] [--show-all] NAME1 NAME2</p>
|
462
|
-
|
463
|
-
<p><code>machinery</code> help compare</p>
|
464
|
-
|
465
|
-
<h3 id="DESCRIPTION">DESCRIPTION</h3>
|
466
|
-
|
467
|
-
<p>The <code>compare</code> command compares stored system descriptions. The scope option can
|
468
|
-
be used to limit the output to the given scopes.</p>
|
469
|
-
|
470
|
-
<h3 id="ARGUMENTS">ARGUMENTS</h3>
|
471
|
-
|
472
|
-
<dl>
|
473
|
-
<dt><code>NAME1</code> (required)</dt><dd><p>First system description to compare.</p></dd>
|
474
|
-
<dt><code>NAME2</code> (required)</dt><dd><p>Second system description to compare.</p></dd>
|
475
|
-
</dl>
|
476
|
-
|
477
|
-
|
478
|
-
<h3 id="OPTIONS">OPTIONS</h3>
|
479
|
-
|
480
|
-
<dl>
|
481
|
-
<dt><code>-s SCOPE</code>, <code>--scope=SCOPE</code> (optional)</dt><dd><p>Limit output to the specified scope.
|
482
|
-
See the <a href="#Scopes" data-bare-link="true">Scope section</a> for more information.</p></dd>
|
483
|
-
<dt><code>-e SCOPE</code>, <code>--exclude-scope=EXCLUDE-SCOPE</code> (optional)</dt><dd><p>Skip output of the specified scope.
|
484
|
-
See the <a href="#Scopes" data-bare-link="true">Scope section</a> for more information.</p></dd>
|
485
|
-
<dt><code>--no-pager</code> (optional)</dt><dd><p>Do not pipe output into a pager.</p></dd>
|
486
|
-
<dt><code>--show-all</code> (optional)</dt><dd><p>Show also common properties of the descriptions (not only the differences).</p></dd>
|
487
|
-
</dl>
|
488
|
-
|
489
|
-
|
490
|
-
<h3 id="EXAMPLES">EXAMPLES</h3>
|
491
|
-
|
492
|
-
<ul>
|
493
|
-
<li><p>Compare system descriptions saved as <code>earth</code> and <code>moon</code>:</p>
|
494
|
-
|
495
|
-
<p>$ <code>machinery</code> compare earth moon</p></li>
|
496
|
-
<li><p>Compare system descriptions, but limit the scope to repositories only:</p>
|
497
|
-
|
498
|
-
<p>$ <code>machinery</code> compare earth moon -s repositories</p></li>
|
499
|
-
<li><p>Compare lists of changed managed files and include the common ones in the
|
500
|
-
list:</p>
|
501
|
-
|
502
|
-
<p>$ <code>machinery</code> compare earth moon --scope=changed-managed-files --show-all</p></li>
|
503
|
-
</ul>
|
504
|
-
|
505
|
-
|
506
|
-
<h2 id="config-Configure-Machinery">config — Configure Machinery</h2>
|
507
|
-
|
508
|
-
<h3 id="SYNOPSIS">SYNOPSIS</h3>
|
509
|
-
|
510
|
-
<p><code>machinery config</code>
|
511
|
-
[KEY] [VALUE]</p>
|
512
|
-
|
513
|
-
<p><code>machinery</code> help config</p>
|
514
|
-
|
515
|
-
<h3 id="DESCRIPTION">DESCRIPTION</h3>
|
516
|
-
|
517
|
-
<p>The <code>config</code> command shows or changes machinery's configuration.</p>
|
518
|
-
|
519
|
-
<p>If no arguments are passed the <code>config</code> command lists all configuration
|
520
|
-
entries and their values. If only the key is provided its value is shown.
|
521
|
-
If key and value are specified this configuration entry is set accordingly.</p>
|
522
|
-
|
523
|
-
<p>The configuration is stored in <code>~/.machinery/machinery.config</code>.</p>
|
524
|
-
|
525
|
-
<h3 id="ARGUMENTS">ARGUMENTS</h3>
|
526
|
-
|
527
|
-
<dl>
|
528
|
-
<dt class="flush"><code>KEY</code></dt><dd><p>Name of the configuration entry.</p></dd>
|
529
|
-
<dt class="flush"><code>VALUE</code></dt><dd><p>Value of the configuration entry.</p></dd>
|
530
|
-
</dl>
|
531
|
-
|
532
|
-
|
533
|
-
<h3 id="EXAMPLES">EXAMPLES</h3>
|
534
|
-
|
535
|
-
<dl>
|
536
|
-
<dt>Turn off hints:</dt><dd><p></p>
|
537
|
-
|
538
|
-
<p>$ <code>machinery</code> config hints off</p></dd>
|
539
|
-
<dt>Show current configuration of hints:</dt><dd><p></p>
|
540
|
-
|
541
|
-
<p>$ <code>machinery</code> config hints</p></dd>
|
542
|
-
<dt>List all configuration entries and their values:</dt><dd><p></p>
|
543
|
-
|
544
|
-
<p>$ <code>machinery</code> config</p></dd>
|
545
|
-
</dl>
|
546
|
-
|
547
|
-
|
548
|
-
<h2 id="copy-Copy-System-Description">copy — Copy System Description</h2>
|
549
|
-
|
550
|
-
<h3 id="SYNOPSIS">SYNOPSIS</h3>
|
551
|
-
|
552
|
-
<p><code>machinery copy</code>
|
553
|
-
FROM_NAME TO_NAME</p>
|
554
|
-
|
555
|
-
<p><code>machinery</code> help copy</p>
|
556
|
-
|
557
|
-
<h3 id="DESCRIPTION">DESCRIPTION</h3>
|
558
|
-
|
559
|
-
<p>The <code>copy</code> command copies a stored system description. It creates a new
|
560
|
-
description named TO_NAME containing the same content as the description
|
561
|
-
FROM_NAME.</p>
|
562
|
-
|
563
|
-
<h3 id="ARGUMENTS">ARGUMENTS</h3>
|
564
|
-
|
565
|
-
<dl>
|
566
|
-
<dt><code>FROM_NAME</code> (required)</dt><dd><p>Name of the source system description.</p></dd>
|
567
|
-
<dt><code>TO_NAME</code> (required)</dt><dd><p>Name of the target system description.</p></dd>
|
568
|
-
</dl>
|
569
|
-
|
570
|
-
|
571
|
-
<h3 id="EXAMPLES">EXAMPLES</h3>
|
572
|
-
|
573
|
-
<dl>
|
574
|
-
<dt>Create a copy of the system description <code>earth</code> under the name <code>moon</code>:</dt><dd><p></p>
|
575
|
-
|
576
|
-
<p>$ <code>machinery</code> copy earth moon</p></dd>
|
577
|
-
</dl>
|
578
|
-
|
579
|
-
|
580
|
-
<h2 id="deploy-Deploy-Image-to-OpenStack-Cloud">deploy — Deploy Image to OpenStack Cloud</h2>
|
581
|
-
|
582
|
-
<h3 id="SYNOPSIS">SYNOPSIS</h3>
|
583
|
-
|
584
|
-
<p><code>machinery deploy</code> NAME -c CONFIG_FILE | --cloud-config=CONFIG_FILE
|
585
|
-
[-i IMAGE_DIR | --image-dir=IMAGE_DIR]
|
586
|
-
[-n CLOUD_IMAGE_NAME | --cloud-image-name=CLOUD_IMAGE_NAME]
|
587
|
-
[-s | --insecure ]</p>
|
588
|
-
|
589
|
-
<p><code>machinery</code> help [deploy]</p>
|
590
|
-
|
591
|
-
<h3 id="DESCRIPTION">DESCRIPTION</h3>
|
592
|
-
|
593
|
-
<p>The <code>deploy</code> command builds and deploys an image to an OpenStack cloud.
|
594
|
-
This command is particularly useful for testing, debugging, or for validation.</p>
|
595
|
-
|
596
|
-
<blockquote><h4 id="NOTE-Set-Password-for-Unattended-Work">NOTE: Set Password for Unattended Work</h4>
|
597
|
-
|
598
|
-
<p>Machinery asks for a password when sourcing the configuration
|
599
|
-
file. This interrupts the work flow and the user has to enter
|
600
|
-
this password.
|
601
|
-
If you prefer to leave it uninterrupted and unattented, remove
|
602
|
-
the following line in your cloud configuration file (see the <code>-c</code> option):</p>
|
603
|
-
|
604
|
-
<p> read -s OS_PASSWORD_INPUT</p>
|
605
|
-
|
606
|
-
<p>and set the password in the <code>OS_PASSWORD</code> variable:</p>
|
607
|
-
|
608
|
-
<pre><code>export OS_PASSWORD=YOUR_PASSWORD
|
609
|
-
</code></pre></blockquote>
|
610
|
-
|
611
|
-
<h3 id="ARGUMENTS">ARGUMENTS</h3>
|
612
|
-
|
613
|
-
<dl>
|
614
|
-
<dt><code>NAME</code> (required)</dt><dd>Name of the system description.</dd>
|
615
|
-
</dl>
|
616
|
-
|
617
|
-
|
618
|
-
<h3 id="OPTIONS">OPTIONS</h3>
|
619
|
-
|
620
|
-
<dl>
|
621
|
-
<dt><code>-c CONFIG_FILE</code>, <code>--cloud-config=CONFIG_FILE</code> (required)</dt><dd><p>Path to file where the cloud config (openrc.sh) is located.
|
622
|
-
The configuration file is sourced by Machinery.</p></dd>
|
623
|
-
<dt><code>-i IMAGE_DIR</code>, <code>--image-dir=IMAGE_DIR</code> (optional)</dt><dd><p>Image file under specific path.</p></dd>
|
624
|
-
<dt><code>-n CLOUD_IMAGE_NAME</code>, <code>--cloud-image-name=CLOUD_IMAGE_NAME</code> (required)</dt><dd><p>Name of the image in the cloud.</p></dd>
|
625
|
-
<dt><code>-s</code>, <code>--insecure</code> (optional)</dt><dd><p>Allow to make "insecure" HTTPS requests, without checking the SSL
|
626
|
-
certificate when uploading to the cloud.</p></dd>
|
627
|
-
</dl>
|
628
|
-
|
629
|
-
|
630
|
-
<h3 id="PREREQUISITES">PREREQUISITES</h3>
|
631
|
-
|
632
|
-
<ul>
|
633
|
-
<li>The <code>deploy</code> command requires the packages <code>kiwi</code> for building the image
|
634
|
-
and <code>python-glanceclient</code> for uploading the image to the cloud.</li>
|
635
|
-
</ul>
|
636
|
-
|
637
|
-
|
638
|
-
<h3 id="EXAMPLES">EXAMPLES</h3>
|
639
|
-
|
640
|
-
<ul>
|
641
|
-
<li><p>Build an image under the system description named <code>jeos</code>.
|
642
|
-
Deploy it to the OpenStack cloud name <code>tux-cloud</code> by using the
|
643
|
-
configuration file <code>openrc.sh</code> in directory <code>tux</code>:</p>
|
644
|
-
|
645
|
-
<p>$ <code>machinery</code> deploy jeos -n tux-cloud -c tux/openrc.sh</p></li>
|
646
|
-
</ul>
|
647
|
-
|
648
|
-
|
649
|
-
<h2 id="export-kiwi-Export-System-Description-as-KIWI-Image-Description">export-kiwi — Export System Description as KIWI Image Description</h2>
|
650
|
-
|
651
|
-
<h3 id="SYNOPSIS">SYNOPSIS</h3>
|
652
|
-
|
653
|
-
<p><code>machinery export-kiwi</code> -k | --kiwi-dir NAME
|
654
|
-
--force</p>
|
655
|
-
|
656
|
-
<p><code>machinery</code> help export-kiwi</p>
|
657
|
-
|
658
|
-
<h3 id="DESCRIPTION">DESCRIPTION</h3>
|
659
|
-
|
660
|
-
<p>The <code>export-kiwi</code> subcommand exports a stored system description as a KIWI
|
661
|
-
image description.</p>
|
662
|
-
|
663
|
-
<h3 id="ARGUMENTS">ARGUMENTS</h3>
|
664
|
-
|
665
|
-
<dl>
|
666
|
-
<dt><code>NAME</code> (required)</dt><dd>Name of the system description.</dd>
|
667
|
-
</dl>
|
668
|
-
|
669
|
-
|
670
|
-
<h3 id="OPTIONS">OPTIONS</h3>
|
671
|
-
|
672
|
-
<dl>
|
673
|
-
<dt><code>-k KIWI_DIR</code>, <code>--kiwi-dir=KIWI_DIR</code> (required)</dt><dd><p>Write the KIWI image description to the specified directory. The directory
|
674
|
-
will be created if it does not exist yet.</p></dd>
|
675
|
-
<dt><code>--force</code> (optional)</dt><dd><p>Overwrite existing system description</p></dd>
|
676
|
-
</dl>
|
677
|
-
|
678
|
-
|
679
|
-
<h3 id="EXAMPLES">EXAMPLES</h3>
|
680
|
-
|
681
|
-
<dl>
|
682
|
-
<dt>Export the <code>myhost</code> system description to <code>/tmp/export</code>:</dt><dd><p></p>
|
683
|
-
|
684
|
-
<p>$ <code>machinery</code> export-kiwi myhost --kiwi-dir=/tmp/export</p></dd>
|
685
|
-
</dl>
|
686
|
-
|
687
|
-
|
688
|
-
<h2 id="generate-html-Generate-an-HTML-view-of-a-System-Description">generate-html — Generate an HTML view of a System Description</h2>
|
689
|
-
|
690
|
-
<h3 id="SYNOPSIS">SYNOPSIS</h3>
|
691
|
-
|
692
|
-
<p><code>machinery generate-html</code> NAME</p>
|
693
|
-
|
694
|
-
<p><code>machinery</code> help generate-html</p>
|
695
|
-
|
696
|
-
<h3 id="DESCRIPTION">DESCRIPTION</h3>
|
697
|
-
|
698
|
-
<p>The <code>generate-html</code> generates an HTML view of a system description. The
|
699
|
-
index.html file can be found in the according system description directory, e.g.
|
700
|
-
~/.machinery/NAME/index.html.</p>
|
701
|
-
|
702
|
-
<h3 id="ARGUMENTS">ARGUMENTS</h3>
|
703
|
-
|
704
|
-
<dl>
|
705
|
-
<dt><code>NAME</code> (required)</dt><dd>Name of the system description.</dd>
|
706
|
-
</dl>
|
707
|
-
|
708
|
-
|
709
|
-
<h3 id="EXAMPLES">EXAMPLES</h3>
|
710
|
-
|
711
|
-
<dl>
|
712
|
-
<dt>Create an HTML view of the <code>moon</code> system description:</dt><dd><p></p>
|
713
|
-
|
714
|
-
<p>$ <code>machinery</code> generate-html moon</p></dd>
|
715
|
-
</dl>
|
716
|
-
|
717
|
-
|
718
|
-
<h2 id="inspect-Inspect-Running-System">inspect — Inspect Running System</h2>
|
719
|
-
|
720
|
-
<h3 id="SYNOPSIS">SYNOPSIS</h3>
|
721
|
-
|
722
|
-
<p><code>machinery inspect</code> <a href="#OPTIONS" title="OPTIONS" data-bare-link="true">OPTIONS</a> HOSTNAME</p>
|
723
|
-
|
724
|
-
<p><code>machinery</code> help inspect</p>
|
725
|
-
|
726
|
-
<h3 id="DESCRIPTION">DESCRIPTION</h3>
|
727
|
-
|
728
|
-
<p>The <code>inspect</code> command inspects a running system and generates a system
|
729
|
-
description from the gathered data.</p>
|
730
|
-
|
731
|
-
<p>The system data is structured into scopes, controlled by the
|
732
|
-
<code>--scope</code> option.</p>
|
733
|
-
|
734
|
-
<p><strong>Note</strong>:
|
735
|
-
Machinery will always inspect all specified scopes, and skip scopes which
|
736
|
-
trigger errors.</p>
|
737
|
-
|
738
|
-
<h3 id="ARGUMENTS">ARGUMENTS</h3>
|
739
|
-
|
740
|
-
<dl>
|
741
|
-
<dt><code>HOSTNAME</code> (required)</dt><dd>The host name of the system to be inspected. The host name will also be
|
742
|
-
used as the name of the stored system description unless another name is
|
743
|
-
provided with the <code>--name</code> option.</dd>
|
744
|
-
</dl>
|
745
|
-
|
746
|
-
|
747
|
-
<h3 id="OPTIONS">OPTIONS</h3>
|
748
|
-
|
749
|
-
<dl>
|
750
|
-
<dt><code>-n NAME</code>, <code>--name=NAME</code> (optional)</dt><dd><p>Store the system description under the specified name.</p></dd>
|
751
|
-
<dt><code>-s SCOPE</code>, <code>--scope=SCOPE</code> (optional)</dt><dd><p>Inspect system for specified scope.
|
752
|
-
See the <a href="#Scopes" data-bare-link="true">Scope section</a> for more information.</p></dd>
|
753
|
-
<dt><code>-e SCOPE</code>, <code>--exclude-scope=EXCLUDE-SCOPE</code> (optional)</dt><dd><p>Inspect system for all scopes except the specified scope.
|
754
|
-
See the <a href="#Scopes" data-bare-link="true">Scope section</a> for more information.</p></dd>
|
755
|
-
<dt><code>-x</code>, <code>--extract-files</code> (optional)</dt><dd><p>Extract changed configuration and unmanaged files from the inspected system.
|
756
|
-
Shortcut for the combination of <code>--extract-changed-config-files</code>,
|
757
|
-
<code>--extract-unmanaged-files</code>, and <code>--extract-changed-managed-files</code></p></dd>
|
758
|
-
<dt><code>--extract-changed-config-files</code> (optional)</dt><dd><p>Extract changed configuration files from the inspected system.</p></dd>
|
759
|
-
<dt><code>--extract-unmanaged-files</code> (optional)</dt><dd><p>Extract unmanaged files from the inspected system.</p></dd>
|
760
|
-
<dt><code>--extract-changed-managed-files</code> (optional)</dt><dd><p>Extract changed managed files from inspected system.</p></dd>
|
761
|
-
</dl>
|
762
|
-
|
763
|
-
|
764
|
-
<h3 id="PREREQUISITES">PREREQUISITES</h3>
|
765
|
-
|
766
|
-
<ul>
|
767
|
-
<li><p>Inspecting a local system requires running <code>machinery</code> as root.</p></li>
|
768
|
-
<li><p>Inspecting a remote system requires passwordless SSH login as root on the
|
769
|
-
inspected system.
|
770
|
-
Use <code>ssh-agent</code> or asymmetric keys (you can transfer the current SSH key
|
771
|
-
via <code>ssh-copy-id</code> to the inspected host, e.g.: <code>ssh-copy-id root@HOSTNAME</code>)</p></li>
|
772
|
-
<li><p>The system to be inspected needs to have the following commands:</p>
|
773
|
-
|
774
|
-
<ul>
|
775
|
-
<li><code>rpm</code></li>
|
776
|
-
<li><code>zypper</code></li>
|
777
|
-
<li><code>rsync</code></li>
|
778
|
-
<li><code>chkconfig</code></li>
|
779
|
-
<li><code>cat</code></li>
|
780
|
-
<li><code>sed</code></li>
|
781
|
-
<li><code>find</code></li>
|
782
|
-
<li><code>tar</code></li>
|
783
|
-
</ul>
|
784
|
-
</li>
|
785
|
-
</ul>
|
786
|
-
|
787
|
-
|
788
|
-
<h3 id="EXAMPLES">EXAMPLES</h3>
|
789
|
-
|
790
|
-
<ul>
|
791
|
-
<li><p>Inspect remote system <code>myhost</code> and save system description under name
|
792
|
-
'MySystem':</p>
|
793
|
-
|
794
|
-
<p>$ <code>machinery</code> inspect --name=MySystem myhost</p></li>
|
795
|
-
<li><p>Inspect the installed packages of your local system and save system description
|
796
|
-
under the name 'localhost' (you need to become root):</p>
|
797
|
-
|
798
|
-
<p># <code>machinery</code> inspect --scope="packages" localhost</p></li>
|
799
|
-
<li><p>Extracts changed managed files and saves them in the same way as changed
|
800
|
-
configuration files are saved:</p>
|
801
|
-
|
802
|
-
<p>$ <code>machinery</code> inspect --scope=changed-managed-files --extract-files myhost</p></li>
|
803
|
-
</ul>
|
804
|
-
|
805
|
-
|
806
|
-
<h2 id="list-List-System-Descriptions">list — List System Descriptions</h2>
|
807
|
-
|
808
|
-
<h3 id="SYNOPSIS">SYNOPSIS</h3>
|
809
|
-
|
810
|
-
<p><code>machinery list</code></p>
|
811
|
-
|
812
|
-
<p><code>machinery</code> help list</p>
|
813
|
-
|
814
|
-
<h3 id="DESCRIPTION">DESCRIPTION</h3>
|
815
|
-
|
816
|
-
<p>List all available system descriptions in the internal database.
|
817
|
-
The list is sorted alphabetically and contains a name and the
|
818
|
-
scopes for each system.</p>
|
819
|
-
|
820
|
-
<h3 id="OPTIONS">OPTIONS</h3>
|
821
|
-
|
822
|
-
<dl>
|
823
|
-
<dt><code>--verbose</code> (optional)</dt><dd>Print additional information about the origin of scopes.
|
824
|
-
Currently displays [HOSTNAME] and (DATE).</dd>
|
825
|
-
</dl>
|
826
|
-
|
827
|
-
|
828
|
-
<h3 id="EXAMPLES">EXAMPLES</h3>
|
829
|
-
|
830
|
-
<dl>
|
831
|
-
<dt>Lists all available system descriptions:</dt><dd><p></p>
|
832
|
-
|
833
|
-
<p>$ <code>machinery</code> list</p></dd>
|
834
|
-
<dt>Same as previous command, but additionally prints the date of each scope:</dt><dd><p></p>
|
835
|
-
|
836
|
-
<p>$ <code>machinery</code> list --verbose</p></dd>
|
837
|
-
</dl>
|
838
|
-
|
839
|
-
|
840
|
-
<h2 id="remove-Remove-System-Description">remove — Remove System Description</h2>
|
841
|
-
|
842
|
-
<h3 id="SYNOPSIS">SYNOPSIS</h3>
|
843
|
-
|
844
|
-
<p><code>machinery remove</code> [--all]
|
845
|
-
NAME</p>
|
846
|
-
|
847
|
-
<p><code>machinery</code> help remove</p>
|
848
|
-
|
849
|
-
<h3 id="DESCRIPTION">DESCRIPTION</h3>
|
850
|
-
|
851
|
-
<p>The <code>remove</code> command removes a stored system description.</p>
|
852
|
-
|
853
|
-
<h3 id="OPTIONS">OPTIONS</h3>
|
854
|
-
|
855
|
-
<dl>
|
856
|
-
<dt><code>--all</code> (optional)</dt><dd><p>Remove all stored system descriptions.</p></dd>
|
857
|
-
<dt><code>--verbose</code> (optional)</dt><dd><p>Explain what is being done.</p></dd>
|
858
|
-
</dl>
|
859
|
-
|
860
|
-
|
861
|
-
<h3 id="ARGUMENTS">ARGUMENTS</h3>
|
862
|
-
|
863
|
-
<dl>
|
864
|
-
<dt><code>NAME</code> (required)</dt><dd>Remove specified system description.</dd>
|
865
|
-
</dl>
|
866
|
-
|
867
|
-
|
868
|
-
<h3 id="EXAMPLES">EXAMPLES</h3>
|
869
|
-
|
870
|
-
<dl>
|
871
|
-
<dt>Remove the system description stored as <code>earth</code>:</dt><dd><p></p>
|
872
|
-
|
873
|
-
<p>$ <code>machinery</code> remove earth</p></dd>
|
874
|
-
<dt>Remove all stored system descriptions:</dt><dd><p></p>
|
875
|
-
|
876
|
-
<p>$ <code>machinery</code> remove --all</p></dd>
|
877
|
-
</dl>
|
878
|
-
|
879
|
-
|
880
|
-
<h2 id="show-Show-System-Description">show — Show System Description</h2>
|
881
|
-
|
882
|
-
<h3 id="SYNOPSIS">SYNOPSIS</h3>
|
883
|
-
|
884
|
-
<p><code>machinery show</code> [-s SCOPE | --scope=SCOPE] [-e EXCLUDE-SCOPE | --exclude-scope=EXCLUDE-SCOPE] [--no-pager] [--show-diffs] [--html] NAME</p>
|
885
|
-
|
886
|
-
<p><code>machinery</code> help show</p>
|
887
|
-
|
888
|
-
<h3 id="DESCRIPTION">DESCRIPTION</h3>
|
889
|
-
|
890
|
-
<p>The <code>show</code> command displays a stored system description.
|
891
|
-
Scopes are supported and limit the output to the given scope.
|
892
|
-
The hostname of the inspected system and the last modification
|
893
|
-
in local time are shown in the title of each scope section.</p>
|
894
|
-
|
895
|
-
<h3 id="ARGUMENTS">ARGUMENTS</h3>
|
896
|
-
|
897
|
-
<dl>
|
898
|
-
<dt><code>NAME</code> (required)</dt><dd>Use specified system description.</dd>
|
899
|
-
</dl>
|
900
|
-
|
901
|
-
|
902
|
-
<h3 id="OPTIONS">OPTIONS</h3>
|
903
|
-
|
904
|
-
<dl>
|
905
|
-
<dt><code>-s SCOPE</code>, <code>--scope=SCOPE</code> (optional)</dt><dd><p>Limit output to the specified scope.
|
906
|
-
See the <a href="#Scopes" data-bare-link="true">Scope section</a> for more information.
|
907
|
-
If displaying information related to a scope fails, <code>show</code> will print an error message what has failed.
|
908
|
-
In case of an error, no content is displayed.</p></dd>
|
909
|
-
<dt><code>-e EXCLUDE-SCOPE</code>, <code>--exclude-scope=EXCLUDE-SCOPE</code> (optional)</dt><dd><p>Skip output of the specified scope.
|
910
|
-
See the <a href="#Scopes" data-bare-link="true">Scope section</a> for more information.</p></dd>
|
911
|
-
<dt><code>--no-pager</code> (optional)</dt><dd><p>Do not pipe output into a pager.</p></dd>
|
912
|
-
<dt><code>--show-diffs</code> (optional)</dt><dd><p>Include the generated diffs in the output if available (see <code>machinery help analyze</code>
|
913
|
-
for more information).</p></dd>
|
914
|
-
<dt><code>--html</code> (optional)</dt><dd><p>Open the system description in HTML format in your web browser using the <code>xdg-open</code> command.</p></dd>
|
915
|
-
</dl>
|
916
|
-
|
917
|
-
|
918
|
-
<h3 id="EXAMPLES">EXAMPLES</h3>
|
919
|
-
|
920
|
-
<dl>
|
921
|
-
<dt>Show the system description taken from the last inspection, saved as <code>earth</code>:</dt><dd><p></p>
|
922
|
-
|
923
|
-
<p>$ <code>machinery</code> show earth</p></dd>
|
924
|
-
<dt>Show the system description, but limit the scope to repositories only:</dt><dd><p></p>
|
925
|
-
|
926
|
-
<p>$ <code>machinery</code> show earth -s repositories</p></dd>
|
927
|
-
<dt>Show the list of changed managed files:</dt><dd><p></p>
|
928
|
-
|
929
|
-
<p>$ <code>machinery</code> show earth --scope=changed-managed-files</p></dd>
|
930
|
-
</dl>
|
931
|
-
|
932
|
-
|
933
|
-
<h2 id="upgrade-format-Upgrade-System-Description">upgrade-format — Upgrade System Description</h2>
|
934
|
-
|
935
|
-
<h3 id="SYNOPSIS">SYNOPSIS</h3>
|
936
|
-
|
937
|
-
<p><code>machinery upgrade-format</code> --all</p>
|
938
|
-
|
939
|
-
<p><code>machinery upgrade-format</code> NAME</p>
|
940
|
-
|
941
|
-
<p><code>machinery</code> help upgrade-format</p>
|
942
|
-
|
943
|
-
<h3 id="DESCRIPTION">DESCRIPTION</h3>
|
944
|
-
|
945
|
-
<p>The <code>upgrade-format</code> command upgrades a system description to the latest format
|
946
|
-
version.</p>
|
947
|
-
|
948
|
-
<p>The <code>format</code> in this context is the structure of the internal system description
|
949
|
-
data. If the format version of a system description does not match the current
|
950
|
-
<code>machinery</code> format version, <code>machinery</code> is no longer able to work with the data
|
951
|
-
until it is upgraded. The current format version can be retrieved using
|
952
|
-
<code>machinery --version</code>. The format version of a system description can be found
|
953
|
-
in the <code>meta</code> section of the according <code>manifest.json</code> file.</p>
|
954
|
-
|
955
|
-
<p>If the <code>--all</code> switch is given all local descriptions will be upgraded.</p>
|
956
|
-
|
957
|
-
<h3 id="OPTIONS">OPTIONS</h3>
|
958
|
-
|
959
|
-
<dl>
|
960
|
-
<dt><code>--all</code> (optional)</dt><dd>Upgrade all stored system descriptions.</dd>
|
961
|
-
</dl>
|
962
|
-
|
963
|
-
|
964
|
-
<h3 id="ARGUMENTS">ARGUMENTS</h3>
|
965
|
-
|
966
|
-
<dl>
|
967
|
-
<dt><code>NAME</code> (optional)</dt><dd>Upgrade specified system description.</dd>
|
968
|
-
</dl>
|
969
|
-
|
970
|
-
|
971
|
-
<h3 id="EXAMPLES">EXAMPLES</h3>
|
972
|
-
|
973
|
-
<dl>
|
974
|
-
<dt>Upgrade the system description stored as <code>earth</code>:</dt><dd><p></p>
|
975
|
-
|
976
|
-
<p>$ <code>machinery</code> upgrade-format earth</p></dd>
|
977
|
-
<dt>Upgrade all stored system descriptions:</dt><dd><p></p>
|
978
|
-
|
979
|
-
<p>$ <code>machinery</code> upgrade-format --all</p></dd>
|
980
|
-
</dl>
|
981
|
-
|
982
|
-
|
983
|
-
<h2 id="validate-Validate-System-Description">validate — Validate System Description</h2>
|
984
|
-
|
985
|
-
<h3 id="SYNOPSIS">SYNOPSIS</h3>
|
986
|
-
|
987
|
-
<p><code>machinery validate</code> NAME</p>
|
988
|
-
|
989
|
-
<p><code>machinery</code> help validate</p>
|
990
|
-
|
991
|
-
<h3 id="DESCRIPTION">DESCRIPTION</h3>
|
992
|
-
|
993
|
-
<p>The <code>validate</code> subcommand validates an existing system description.
|
994
|
-
It checks, that the description has the correct structure and the data stored
|
995
|
-
there conforms to the required schema. It also verifies that all extracted files
|
996
|
-
are present on disk and that all files have meta information.</p>
|
997
|
-
|
998
|
-
<p>In case of issues errors are shown with additional information.</p>
|
999
|
-
|
1000
|
-
<p>The main purpose of this command is to verify the system description after
|
1001
|
-
manually editing it.</p>
|
1002
|
-
|
1003
|
-
<h3 id="ARGUMENTS">ARGUMENTS</h3>
|
1004
|
-
|
1005
|
-
<dl>
|
1006
|
-
<dt><code>NAME</code> (required)</dt><dd>Name of the system description.</dd>
|
1007
|
-
</dl>
|
1008
|
-
|
1009
|
-
|
1010
|
-
<h3 id="EXAMPLES">EXAMPLES</h3>
|
1011
|
-
|
1012
|
-
<dl>
|
1013
|
-
<dt>Validate the system description with the name <code>myhost</code>:</dt><dd><p></p>
|
1014
|
-
|
1015
|
-
<p>$ <code>machinery</code> validate myhost</p></dd>
|
1016
|
-
</dl>
|
1017
|
-
|
1018
|
-
|
1019
|
-
<h2 id="FILES-AND-DEVICES">FILES AND DEVICES</h2>
|
1020
|
-
|
1021
|
-
<dl>
|
1022
|
-
<dt><code>~/.machinery/machinery.config</code>:</dt><dd><p></p>
|
1023
|
-
|
1024
|
-
<p>Configuration file.</p></dd>
|
1025
|
-
<dt><code>~/.machinery/machinery.log</code>:</dt><dd><p></p>
|
1026
|
-
|
1027
|
-
<p>Central log file, in the format date, time, process id, and log message.</p></dd>
|
1028
|
-
<dt><code>eth0</code> (SLE11) and <code>lan0</code> (SLE12):</dt><dd><p></p>
|
1029
|
-
|
1030
|
-
<p>First network device is used when DHCP in built image is enabled.</p></dd>
|
1031
|
-
</dl>
|
1032
|
-
|
1033
|
-
|
1034
|
-
<h2 id="ENVIRONMENT">ENVIRONMENT</h2>
|
1035
|
-
|
1036
|
-
<dl>
|
1037
|
-
<dt><code>MACHINERY_LOG_FILE</code>:</dt><dd><p></p>
|
1038
|
-
|
1039
|
-
<p>Location of Machinery's log file (defaults to <code>~/.machinery/machinery.log</code>)</p></dd>
|
1040
|
-
</dl>
|
1041
|
-
|
1042
|
-
|
1043
|
-
<h2 id="COPYRIGHT">COPYRIGHT</h2>
|
1044
|
-
|
1045
|
-
<p>Copyright (c) 2013-2014 <a href="http://www.suse.com">SUSE LLC</a></p>
|
1046
|
-
|
1047
|
-
|
1048
|
-
<ol class='man-decor man-foot man foot'>
|
1049
|
-
<li class='tl'></li>
|
1050
|
-
<li class='tc'>November 2014</li>
|
1051
|
-
<li class='tr'>machinery(1)</li>
|
1052
|
-
</ol>
|
1053
|
-
|
1054
|
-
</div>
|
1055
|
-
</body>
|
1056
|
-
</html>
|