machinery-tool 1.17.0 → 1.18.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.git_revision +1 -1
- data/NEWS +17 -1
- data/bin/machinery +1 -1
- data/export_helpers/merge_users_and_groups.pl.erb +1 -1
- data/html/comparison.html.haml +14 -9
- data/html/index.html.haml +5 -2
- data/html/landing_page.html.haml +4 -1
- data/html/partials/changed_managed_files.html.haml +2 -0
- data/html/partials/compare/alert.html.haml +1 -1
- data/html/partials/compare/unmanaged_file_list.html.haml +12 -0
- data/html/partials/config_files.html.haml +2 -0
- data/html/partials/landing_page/alert.html.haml +1 -1
- data/html/partials/unmanaged_files.html.haml +14 -0
- data/inspect_helpers/changed_files.sh +1 -1
- data/inspect_helpers/dpkg_unmanaged_files.sh +1 -1
- data/inspect_helpers/yum_repositories.py +1 -1
- data/lib/analyze_config_file_diffs_task.rb +1 -1
- data/lib/array.rb +1 -1
- data/lib/autoyast.rb +34 -34
- data/lib/build_task.rb +1 -1
- data/lib/cli.rb +21 -6
- data/lib/compare_task.rb +1 -1
- data/lib/comparison.rb +1 -1
- data/lib/config.rb +1 -1
- data/lib/config_base.rb +1 -1
- data/lib/config_task.rb +1 -1
- data/lib/constants.rb +2 -2
- data/lib/containerize_task.rb +1 -1
- data/lib/containerized_app.rb +1 -1
- data/lib/copy_task.rb +1 -1
- data/lib/current_user.rb +1 -1
- data/lib/deploy_task.rb +1 -1
- data/lib/docker_system.rb +4 -5
- data/lib/dpkg_database.rb +2 -2
- data/lib/element_filter.rb +1 -1
- data/lib/exceptions.rb +2 -2
- data/lib/export_task.rb +1 -1
- data/lib/exporter.rb +1 -1
- data/lib/file_diff.rb +1 -1
- data/lib/file_scope.rb +1 -1
- data/lib/file_validator.rb +1 -1
- data/lib/filter.rb +1 -1
- data/lib/filter_option_parser.rb +1 -1
- data/lib/helper.rb +1 -1
- data/lib/hint.rb +1 -1
- data/lib/html.rb +1 -1
- data/lib/inspect_task.rb +1 -1
- data/lib/inspector.rb +1 -1
- data/lib/json_schema_monkey_patch.rb +35 -0
- data/lib/json_validation_error_cleaner.rb +1 -1
- data/lib/json_validator.rb +1 -1
- data/lib/kiwi_config.rb +69 -67
- data/lib/list_task.rb +1 -1
- data/lib/local_system.rb +1 -1
- data/lib/logged_cheetah.rb +1 -1
- data/lib/machinery.rb +6 -2
- data/lib/machinery_helper.rb +28 -8
- data/lib/machinery_logger.rb +1 -1
- data/lib/man_task.rb +50 -5
- data/lib/managed_files_database.rb +24 -17
- data/lib/manifest.rb +3 -2
- data/lib/migration.rb +1 -1
- data/lib/mountpoints.rb +1 -1
- data/lib/move_task.rb +1 -1
- data/lib/object.rb +1 -1
- data/lib/remote_system.rb +2 -2
- data/lib/remove_task.rb +1 -1
- data/lib/renderer.rb +1 -1
- data/lib/renderer_helper.rb +1 -1
- data/lib/rpm.rb +1 -1
- data/lib/rpm_database.rb +1 -1
- data/lib/scope.rb +1 -1
- data/lib/scope_file_store.rb +1 -1
- data/lib/serve_html_task.rb +1 -1
- data/lib/server.rb +32 -2
- data/lib/show_task.rb +1 -1
- data/lib/system.rb +1 -1
- data/lib/system_description.rb +2 -2
- data/lib/system_description_memory_store.rb +1 -1
- data/lib/system_description_store.rb +1 -1
- data/lib/system_file.rb +1 -1
- data/lib/tarball.rb +1 -1
- data/lib/tee_io.rb +39 -0
- data/lib/try.rb +1 -1
- data/lib/ui.rb +1 -1
- data/lib/upgrade_format_task.rb +1 -1
- data/lib/validate_task.rb +1 -1
- data/lib/version.rb +2 -2
- data/lib/workload_mapper.rb +1 -1
- data/lib/workload_mapper_dsl.rb +1 -1
- data/lib/zypper.rb +3 -3
- data/machinery-helper/Rakefile +2 -8
- data/machinery-helper/file_utils.go +28 -0
- data/machinery-helper/file_utils_test.go +21 -0
- data/machinery-helper/machinery_helper.go +121 -8
- data/machinery-helper/machinery_helper_test.go +102 -0
- data/machinery-helper/mountpoints_test.go +33 -33
- data/machinery-helper/version.go +1 -1
- data/man/generated/machinery.1.gz +0 -0
- data/manual/custom_theme/base.html +42 -0
- data/manual/docs/CNAME +1 -0
- data/manual/docs/README.md +128 -0
- data/manual/docs/css/bootstrap.min.css +7 -0
- data/manual/docs/css/custom.css +788 -0
- data/manual/docs/css/fixed-positioning.css +45 -0
- data/manual/docs/custom.css +804 -0
- data/manual/docs/docs.md +7 -0
- data/manual/docs/favicon.png +0 -0
- data/manual/docs/hand3.png +0 -0
- data/manual/docs/img/arrow.png +0 -0
- data/manual/docs/img/background/1.png +0 -0
- data/manual/docs/img/background/2.png +0 -0
- data/manual/docs/img/background/3.png +0 -0
- data/manual/docs/img/background/4.png +0 -0
- data/manual/docs/img/background/5.png +0 -0
- data/manual/docs/img/background/6.png +0 -0
- data/manual/docs/img/background/7.png +0 -0
- data/manual/docs/img/bk-cloud.png +0 -0
- data/manual/docs/img/bk-sec-15.png +0 -0
- data/manual/docs/img/book.png +0 -0
- data/manual/docs/img/configuration-discovery.png +0 -0
- data/manual/docs/img/dot-line-left.png +0 -0
- data/manual/docs/img/dot-line-right.png +0 -0
- data/manual/docs/img/gear.png +0 -0
- data/manual/docs/img/gear2.png +0 -0
- data/manual/docs/img/gear3.png +0 -0
- data/manual/docs/img/hand.png +0 -0
- data/manual/docs/img/hand2.png +0 -0
- data/manual/docs/img/hand3.png +0 -0
- data/manual/docs/img/home2.png +0 -0
- data/manual/docs/img/moustache.png +0 -0
- data/manual/docs/img/navig.png +0 -0
- data/manual/docs/img/philo.png +0 -0
- data/manual/docs/img/service-migration.png +0 -0
- data/manual/docs/img/system-validation.png +0 -0
- data/manual/docs/img/ticket2.png +0 -0
- data/manual/docs/img/usecase-default.png +0 -0
- data/manual/docs/img/usecase1.png +0 -0
- data/manual/docs/img/usecase2.png +0 -0
- data/manual/docs/img/usecase3.png +0 -0
- data/manual/docs/img/usecase4.png +0 -0
- data/manual/docs/img/wheels.png +0 -0
- data/manual/docs/index.html +402 -0
- data/manual/docs/js/bootstrap.min.js +6 -0
- data/manual/docs/js/custom.js +148 -0
- data/manual/docs/js/jquery.js +4 -0
- data/manual/docs/js/jquery.nicescroll.min.js +116 -0
- data/manual/docs/js/jquery.pageslide.min.js +11 -0
- data/manual/docs/js/parallaxImg.js +146 -0
- data/manual/docs/js/skrollr.min.js +2 -0
- data/manual/docs/machinery-analyze.1.md +37 -0
- data/manual/docs/machinery-build.1.md +62 -0
- data/manual/docs/machinery-compare.1.md +63 -0
- data/manual/docs/machinery-config.1.md +45 -0
- data/manual/docs/machinery-copy.1.md +31 -0
- data/manual/docs/machinery-deploy.1.md +71 -0
- data/manual/docs/machinery-export-autoyast.1.md +58 -0
- data/manual/docs/machinery-export-kiwi.1.md +38 -0
- data/manual/docs/machinery-inspect-docker.1.md +108 -0
- data/manual/docs/machinery-inspect.1.md +145 -0
- data/manual/docs/machinery-list.1.md +51 -0
- data/manual/docs/machinery-man.1.md +16 -0
- data/manual/docs/machinery-move.1.md +29 -0
- data/manual/docs/machinery-remove.1.md +44 -0
- data/manual/docs/machinery-serve.1.md +45 -0
- data/manual/docs/machinery-show.1.md +63 -0
- data/manual/docs/machinery-upgrade-format.1.md +47 -0
- data/manual/docs/machinery-validate.1.md +34 -0
- data/manual/docs/machinery.ymp +114 -0
- data/manual/docs/machinery_main_general.1.md +139 -0
- data/manual/docs/machinery_main_scopes.1.md +98 -0
- data/manual/docs/machinery_main_usecases.1.md +49 -0
- data/manual/docs/machinery_security_implications.1.md +89 -0
- data/manual/docs/subcommand-template.1.md +46 -0
- data/manual/docs/wheels.png +0 -0
- data/manual/mkdocs.yml +30 -0
- data/manual/site/CNAME +1 -0
- data/manual/site/base.html +42 -0
- data/manual/site/css/bootstrap.min.css +7 -0
- data/manual/site/css/custom.css +788 -0
- data/manual/site/css/fixed-positioning.css +45 -0
- data/manual/site/custom.css +804 -0
- data/manual/site/docs/index.html +144 -0
- data/manual/site/favicon.png +0 -0
- data/manual/site/hand3.png +0 -0
- data/manual/site/img/arrow.png +0 -0
- data/manual/site/img/background/1.png +0 -0
- data/manual/site/img/background/2.png +0 -0
- data/manual/site/img/background/3.png +0 -0
- data/manual/site/img/background/4.png +0 -0
- data/manual/site/img/background/5.png +0 -0
- data/manual/site/img/background/6.png +0 -0
- data/manual/site/img/background/7.png +0 -0
- data/manual/site/img/bk-cloud.png +0 -0
- data/manual/site/img/bk-sec-15.png +0 -0
- data/manual/site/img/book.png +0 -0
- data/manual/site/img/configuration-discovery.png +0 -0
- data/manual/site/img/dot-line-left.png +0 -0
- data/manual/site/img/dot-line-right.png +0 -0
- data/manual/site/img/gear.png +0 -0
- data/manual/site/img/gear2.png +0 -0
- data/manual/site/img/gear3.png +0 -0
- data/manual/site/img/hand.png +0 -0
- data/manual/site/img/hand2.png +0 -0
- data/manual/site/img/hand3.png +0 -0
- data/manual/site/img/home2.png +0 -0
- data/manual/site/img/moustache.png +0 -0
- data/manual/site/img/navig.png +0 -0
- data/manual/site/img/philo.png +0 -0
- data/manual/site/img/service-migration.png +0 -0
- data/manual/site/img/system-validation.png +0 -0
- data/manual/site/img/ticket2.png +0 -0
- data/manual/site/img/usecase-default.png +0 -0
- data/manual/site/img/usecase1.png +0 -0
- data/manual/site/img/usecase2.png +0 -0
- data/manual/site/img/usecase3.png +0 -0
- data/manual/site/img/usecase4.png +0 -0
- data/manual/site/img/wheels.png +0 -0
- data/manual/site/index.html +402 -0
- data/manual/site/js/bootstrap.min.js +6 -0
- data/manual/site/js/custom.js +148 -0
- data/manual/site/js/jquery.js +4 -0
- data/manual/site/js/jquery.nicescroll.min.js +116 -0
- data/manual/site/js/jquery.pageslide.min.js +11 -0
- data/manual/site/js/parallaxImg.js +146 -0
- data/manual/site/js/skrollr.min.js +2 -0
- data/manual/site/machinery-analyze.1/index.html +167 -0
- data/manual/site/machinery-build.1/index.html +198 -0
- data/manual/site/machinery-compare.1/index.html +200 -0
- data/manual/site/machinery-config.1/index.html +175 -0
- data/manual/site/machinery-copy.1/index.html +164 -0
- data/manual/site/machinery-deploy.1/index.html +200 -0
- data/manual/site/machinery-export-autoyast.1/index.html +188 -0
- data/manual/site/machinery-export-kiwi.1/index.html +169 -0
- data/manual/site/machinery-inspect-docker.1/index.html +242 -0
- data/manual/site/machinery-inspect.1/index.html +283 -0
- data/manual/site/machinery-list.1/index.html +180 -0
- data/manual/site/machinery-man.1/index.html +148 -0
- data/manual/site/machinery-move.1/index.html +162 -0
- data/manual/site/machinery-remove.1/index.html +175 -0
- data/manual/site/machinery-serve.1/index.html +174 -0
- data/manual/site/machinery-show.1/index.html +199 -0
- data/manual/site/machinery-upgrade-format.1/index.html +173 -0
- data/manual/site/machinery-validate.1/index.html +161 -0
- data/manual/site/machinery.ymp +114 -0
- data/manual/site/machinery_main_general.1/index.html +260 -0
- data/manual/site/machinery_main_scopes.1/index.html +242 -0
- data/manual/site/machinery_main_usecases.1/index.html +182 -0
- data/manual/site/machinery_security_implications.1/index.html +223 -0
- data/manual/site/mkdocs/js/lunr-0.5.7.min.js +7 -0
- data/manual/site/mkdocs/js/mustache.min.js +1 -0
- data/manual/site/mkdocs/js/require.js +36 -0
- data/manual/site/mkdocs/js/search-results-template.mustache +4 -0
- data/manual/site/mkdocs/js/search.js +88 -0
- data/manual/site/mkdocs/js/text.js +390 -0
- data/manual/site/mkdocs/search_index.json +824 -0
- data/manual/site/sitemap.xml +152 -0
- data/manual/site/wheels.png +0 -0
- data/plugins/changed_managed_files/changed_managed_files_inspector.rb +1 -1
- data/plugins/changed_managed_files/changed_managed_files_model.rb +1 -1
- data/plugins/changed_managed_files/changed_managed_files_renderer.rb +1 -1
- data/plugins/changed_managed_files/schema/system-description-changed-managed-files.schema-v7.json +160 -0
- data/plugins/config_files/config_files_inspector.rb +1 -1
- data/plugins/config_files/config_files_model.rb +1 -1
- data/plugins/config_files/config_files_renderer.rb +1 -1
- data/plugins/config_files/schema/system-description-config-files.schema-v7.json +160 -0
- data/plugins/environment/environment_inspector.rb +1 -1
- data/plugins/environment/environment_model.rb +1 -1
- data/plugins/environment/schema/system-description-environment.schema-v7.json +17 -0
- data/plugins/groups/groups_inspector.rb +1 -1
- data/plugins/groups/groups_model.rb +1 -1
- data/plugins/groups/groups_renderer.rb +1 -1
- data/plugins/groups/schema/system-description-groups.schema-v7.json +49 -0
- data/plugins/os/os_inspector.rb +1 -1
- data/plugins/os/os_model.rb +1 -1
- data/plugins/os/os_renderer.rb +1 -1
- data/plugins/os/schema/system-description-os.schema-v7.json +21 -0
- data/plugins/packages/packages_inspector.rb +1 -1
- data/plugins/packages/packages_model.rb +1 -1
- data/plugins/packages/packages_renderer.rb +1 -1
- data/plugins/packages/schema/system-description-packages.schema-v7.json +115 -0
- data/plugins/patterns/patterns_inspector.rb +6 -6
- data/plugins/patterns/patterns_model.rb +1 -1
- data/plugins/patterns/patterns_renderer.rb +1 -1
- data/plugins/patterns/schema/system-description-patterns.schema-v7.json +58 -0
- data/plugins/repositories/repositories_inspector.rb +16 -16
- data/plugins/repositories/repositories_model.rb +1 -1
- data/plugins/repositories/repositories_renderer.rb +1 -1
- data/plugins/repositories/schema/system-description-repositories.schema-v7.json +165 -0
- data/plugins/services/schema/system-description-services.schema-v7.json +93 -0
- data/plugins/services/services_inspector.rb +1 -1
- data/plugins/services/services_model.rb +1 -1
- data/plugins/services/services_renderer.rb +1 -1
- data/plugins/unmanaged_files/schema/system-description-unmanaged-files.schema-v6.json +19 -61
- data/plugins/unmanaged_files/schema/system-description-unmanaged-files.schema-v7.json +124 -0
- data/plugins/unmanaged_files/unmanaged_files_inspector.rb +21 -436
- data/plugins/unmanaged_files/unmanaged_files_model.rb +2 -2
- data/plugins/unmanaged_files/unmanaged_files_renderer.rb +2 -2
- data/plugins/users/schema/system-description-users.schema-v7.json +86 -0
- data/plugins/users/users_inspector.rb +1 -1
- data/plugins/users/users_model.rb +1 -1
- data/plugins/users/users_renderer.rb +1 -1
- data/schema/migrations/migrate1to2.rb +1 -1
- data/schema/migrations/migrate6to7.rb +38 -0
- data/schema/system-description-global.schema-v7.json +43 -0
- data/tools/go.rb +92 -0
- data/tools/helper_builder.rb +16 -49
- metadata +182 -6
- data/man/generated/machinery.1.html +0 -1399
@@ -0,0 +1,62 @@
|
|
1
|
+
# build — Build Image from System Description
|
2
|
+
|
3
|
+
## SYNOPSIS
|
4
|
+
|
5
|
+
`machinery build` NAME -i IMAGE-DIR | --image-dir=IMAGE-DIR
|
6
|
+
|
7
|
+
`machinery` help build
|
8
|
+
|
9
|
+
|
10
|
+
## DESCRIPTION
|
11
|
+
|
12
|
+
The `build` command builds an image from a system description. The image is a
|
13
|
+
system image in the qcow2 format, which can be used with the KVM hypervisor.
|
14
|
+
It can be run locally or deployed to a cloud environment.
|
15
|
+
|
16
|
+
`machinery` uses the image building command line tool
|
17
|
+
[KIWI](http://en.opensuse.org/Portal:KIWI) to perform the actual build. KIWI
|
18
|
+
data is stored to a temporary directory and cleaned up after the build. The KIWI
|
19
|
+
log is shown as output of the `build` command format for showing progress and
|
20
|
+
diagnosing errors.
|
21
|
+
|
22
|
+
When building an image, Machinery filters out some files which would break the
|
23
|
+
built image. The list of filters is shown at the beginning of the build.
|
24
|
+
|
25
|
+
|
26
|
+
## ARGUMENTS
|
27
|
+
|
28
|
+
* `NAME` (required):
|
29
|
+
Use specified system description.
|
30
|
+
|
31
|
+
|
32
|
+
## OPTIONS
|
33
|
+
|
34
|
+
* `-i IMAGE-DIR`, `--image-dir=IMAGE-DIR` (required):
|
35
|
+
Save image file under specified path.
|
36
|
+
|
37
|
+
* `-d`, `--enable-dhcp` (optional):
|
38
|
+
Enable DHCP client on first network card of built image
|
39
|
+
|
40
|
+
* `-s`, `--enable-ssh` (optional):
|
41
|
+
Enable SSH service in built image
|
42
|
+
|
43
|
+
|
44
|
+
## PREREQUISITES
|
45
|
+
|
46
|
+
* The `build` command requires the packages `kiwi` and `kiwi-desc-vmxboot`.
|
47
|
+
|
48
|
+
* The necessary vmxboot template for the machinery being built must be
|
49
|
+
installed (i.e. if you want to build an openSUSE Leap machine then the
|
50
|
+
template `/usr/share/kiwi/image/vmxboot/suse-leap42.1` is required)
|
51
|
+
|
52
|
+
* All repositories in the system description must be accessible from the
|
53
|
+
build machine on which `machinery build` is called.
|
54
|
+
|
55
|
+
* Machinery can only build x86_64 images on x86_64 systems at the moment.
|
56
|
+
|
57
|
+
## EXAMPLES
|
58
|
+
|
59
|
+
* To build an image from the system description named "tux" and to save the
|
60
|
+
image under the `/tmp/tux/` directory:
|
61
|
+
|
62
|
+
$ `machinery` build tux -i /tmp/tux/
|
@@ -0,0 +1,63 @@
|
|
1
|
+
|
2
|
+
# compare — Compare System Descriptions
|
3
|
+
|
4
|
+
## SYNOPSIS
|
5
|
+
|
6
|
+
`machinery compare` [-s SCOPE | --scope=SCOPE] [-e EXCLUDE-SCOPE | --exclude-scope=EXCLUDE-SCOPE] [--no-pager] [--show-all] [--html] NAME1 NAME2
|
7
|
+
|
8
|
+
`machinery` help compare
|
9
|
+
|
10
|
+
|
11
|
+
## DESCRIPTION
|
12
|
+
|
13
|
+
The `compare` command compares stored system descriptions. The scope option can
|
14
|
+
be used to limit the output to the given scopes.
|
15
|
+
|
16
|
+
|
17
|
+
## ARGUMENTS
|
18
|
+
|
19
|
+
* `NAME1` (required):
|
20
|
+
First system description to compare.
|
21
|
+
|
22
|
+
* `NAME2` (required):
|
23
|
+
Second system description to compare.
|
24
|
+
|
25
|
+
|
26
|
+
## OPTIONS
|
27
|
+
|
28
|
+
* `-s SCOPE`, `--scope=SCOPE` (optional):
|
29
|
+
Limit output to the specified scope.
|
30
|
+
See the [Scope section](#Scopes) for more information.
|
31
|
+
|
32
|
+
* `-e SCOPE`, `--exclude-scope=EXCLUDE-SCOPE` (optional):
|
33
|
+
Skip output of the specified scope.
|
34
|
+
See the [Scope section](#Scopes) for more information.
|
35
|
+
|
36
|
+
* `--no-pager` (optional):
|
37
|
+
Do not pipe output into a pager.
|
38
|
+
|
39
|
+
* `--show-all` (optional):
|
40
|
+
Show also common properties of the descriptions (not only the differences).
|
41
|
+
|
42
|
+
* `--html` (optional):
|
43
|
+
Shows the comparison of two system descriptions in the web browser.
|
44
|
+
|
45
|
+
|
46
|
+
## EXAMPLES
|
47
|
+
|
48
|
+
* Compare system descriptions saved as `earth` and `moon`:
|
49
|
+
|
50
|
+
$ `machinery` compare earth moon
|
51
|
+
|
52
|
+
* Compare system descriptions, but limit the scope to repositories only:
|
53
|
+
|
54
|
+
$ `machinery` compare earth moon -s repositories
|
55
|
+
|
56
|
+
* Compare lists of changed managed files and include the common ones in the
|
57
|
+
list:
|
58
|
+
|
59
|
+
$ `machinery` compare earth moon --scope=changed-managed-files --show-all
|
60
|
+
|
61
|
+
* Compares system descriptions and shows the result in HTML format in your web browser:
|
62
|
+
|
63
|
+
$ `machinery` compare --html earth moon
|
@@ -0,0 +1,45 @@
|
|
1
|
+
|
2
|
+
# config — Configure Machinery
|
3
|
+
|
4
|
+
## SYNOPSIS
|
5
|
+
|
6
|
+
`machinery config`
|
7
|
+
|
8
|
+
`machinery config` KEY
|
9
|
+
|
10
|
+
`machinery config` KEY=VALUE
|
11
|
+
|
12
|
+
`machinery` help config
|
13
|
+
|
14
|
+
|
15
|
+
## DESCRIPTION
|
16
|
+
|
17
|
+
The `config` command shows or changes machinery's configuration.
|
18
|
+
|
19
|
+
If no arguments are passed the `config` command lists all configuration
|
20
|
+
entries and their values. If only the key is provided its value is shown.
|
21
|
+
If key and value are specified this configuration entry is set accordingly.
|
22
|
+
|
23
|
+
The configuration is stored in `~/.machinery/machinery.config`.
|
24
|
+
|
25
|
+
## ARGUMENTS
|
26
|
+
* `KEY`:
|
27
|
+
Name of the configuration entry.
|
28
|
+
|
29
|
+
* `VALUE`:
|
30
|
+
Value of the configuration entry.
|
31
|
+
|
32
|
+
|
33
|
+
## EXAMPLES
|
34
|
+
|
35
|
+
* Turn off hints:
|
36
|
+
|
37
|
+
$ `machinery` config hints=off
|
38
|
+
|
39
|
+
* Show current configuration of hints:
|
40
|
+
|
41
|
+
$ `machinery` config hints
|
42
|
+
|
43
|
+
* List all configuration entries and their values:
|
44
|
+
|
45
|
+
$ `machinery` config
|
@@ -0,0 +1,31 @@
|
|
1
|
+
|
2
|
+
# copy — Copy System Description
|
3
|
+
|
4
|
+
## SYNOPSIS
|
5
|
+
|
6
|
+
`machinery copy`
|
7
|
+
FROM_NAME TO_NAME
|
8
|
+
|
9
|
+
`machinery` help copy
|
10
|
+
|
11
|
+
|
12
|
+
## DESCRIPTION
|
13
|
+
|
14
|
+
The `copy` command copies a stored system description. It creates a new
|
15
|
+
description named TO_NAME containing the same content as the description
|
16
|
+
FROM_NAME.
|
17
|
+
|
18
|
+
|
19
|
+
## ARGUMENTS
|
20
|
+
* `FROM_NAME` (required):
|
21
|
+
Name of the source system description.
|
22
|
+
|
23
|
+
* `TO_NAME` (required):
|
24
|
+
Name of the target system description.
|
25
|
+
|
26
|
+
|
27
|
+
## EXAMPLES
|
28
|
+
|
29
|
+
* Create a copy of the system description `earth` under the name `moon`:
|
30
|
+
|
31
|
+
$ `machinery` copy earth moon
|
@@ -0,0 +1,71 @@
|
|
1
|
+
|
2
|
+
# deploy — Deploy Image to OpenStack Cloud
|
3
|
+
|
4
|
+
## SYNOPSIS
|
5
|
+
|
6
|
+
`machinery deploy` NAME -c CONFIG_FILE | --cloud-config=CONFIG_FILE
|
7
|
+
[-i IMAGE_DIR | --image-dir=IMAGE_DIR]
|
8
|
+
[-n CLOUD_IMAGE_NAME | --cloud-image-name=CLOUD_IMAGE_NAME]
|
9
|
+
[-s | --insecure ]
|
10
|
+
|
11
|
+
`machinery` help [deploy]
|
12
|
+
|
13
|
+
|
14
|
+
## DESCRIPTION
|
15
|
+
|
16
|
+
The `deploy` command builds and deploys an image to an OpenStack cloud.
|
17
|
+
This command is particularly useful for testing, debugging, or for validation.
|
18
|
+
|
19
|
+
|
20
|
+
> #### NOTE: Set Password for Unattended Work
|
21
|
+
> Machinery asks for a password when sourcing the configuration
|
22
|
+
> file. This interrupts the work flow and the user has to enter
|
23
|
+
> this password.
|
24
|
+
> If you prefer to leave it uninterrupted and unattented, remove
|
25
|
+
> the following line in your cloud configuration file (see the `-c` option):
|
26
|
+
>
|
27
|
+
> read -s OS_PASSWORD_INPUT
|
28
|
+
>
|
29
|
+
> and set the password in the `OS_PASSWORD` variable:
|
30
|
+
>
|
31
|
+
> export OS_PASSWORD=YOUR_PASSWORD
|
32
|
+
|
33
|
+
|
34
|
+
## ARGUMENTS
|
35
|
+
|
36
|
+
* `NAME` (required):
|
37
|
+
Name of the system description.
|
38
|
+
|
39
|
+
|
40
|
+
## OPTIONS
|
41
|
+
|
42
|
+
* `-c CONFIG_FILE`, `--cloud-config=CONFIG_FILE` (required):
|
43
|
+
Path to file where the cloud config (openrc.sh) is located.
|
44
|
+
The configuration file is sourced by Machinery.
|
45
|
+
|
46
|
+
* `-i IMAGE_DIR`, `--image-dir=IMAGE_DIR` (optional):
|
47
|
+
Image file under specific path.
|
48
|
+
|
49
|
+
* `-n CLOUD_IMAGE_NAME`, `--cloud-image-name=CLOUD_IMAGE_NAME` (required):
|
50
|
+
Name of the image in the cloud.
|
51
|
+
|
52
|
+
* `-s`, `--insecure` (optional):
|
53
|
+
Allow to make "insecure" HTTPS requests, without checking the SSL
|
54
|
+
certificate when uploading to the cloud.
|
55
|
+
|
56
|
+
## PREREQUISITES
|
57
|
+
|
58
|
+
* The `deploy` command requires the packages `kiwi` for building the image
|
59
|
+
and `python-glanceclient` for uploading the image to the cloud.
|
60
|
+
|
61
|
+
## SUPPORTED ARCHITECTURES
|
62
|
+
|
63
|
+
Machinery only supports deploying x86_64 images on x86_64 systems.
|
64
|
+
|
65
|
+
## EXAMPLES
|
66
|
+
|
67
|
+
* Build an image under the system description named `jeos`.
|
68
|
+
Deploy it to the OpenStack cloud name `tux-cloud` by using the
|
69
|
+
configuration file `openrc.sh` in directory `tux`:
|
70
|
+
|
71
|
+
$ `machinery` deploy jeos -n tux-cloud -c tux/openrc.sh
|
@@ -0,0 +1,58 @@
|
|
1
|
+
|
2
|
+
# export-autoyast — Export System Description as AutoYasST profile
|
3
|
+
|
4
|
+
## SYNOPSIS
|
5
|
+
|
6
|
+
`machinery export-autoyast` -a | --autoyast-dir NAME
|
7
|
+
--force
|
8
|
+
|
9
|
+
`machinery` help export-autoyast
|
10
|
+
|
11
|
+
|
12
|
+
## DESCRIPTION
|
13
|
+
|
14
|
+
The `export-autoyast` subcommand exports a stored system description as a AutoYaST
|
15
|
+
profile.
|
16
|
+
|
17
|
+
|
18
|
+
## ARGUMENTS
|
19
|
+
|
20
|
+
* `NAME` (required):
|
21
|
+
Name of the system description.
|
22
|
+
|
23
|
+
|
24
|
+
## OPTIONS
|
25
|
+
|
26
|
+
* `-a AUTOYAST_DIR`, `--autoyast-dir=AUTOYAST_DIR` (required):
|
27
|
+
Write the AutoYaST profile to a subdirectory at the specified directory. The directory
|
28
|
+
will be created if it does not exist yet.
|
29
|
+
|
30
|
+
* `--force` (optional):
|
31
|
+
Overwrite existing system description
|
32
|
+
|
33
|
+
|
34
|
+
## SYSTEM REGISTRATION
|
35
|
+
|
36
|
+
* To register a SLES 12 system automatically with AutoYaST, it is required to
|
37
|
+
edit the generated profile. The following example registers the system with
|
38
|
+
the SUSE Customer Center.
|
39
|
+
|
40
|
+
```xml
|
41
|
+
<suse_register>
|
42
|
+
<do_registration config:type="boolean">true</do_registration>
|
43
|
+
<email>tux@example.com</email>
|
44
|
+
<reg_code>MY_SECRET_REGCODE</reg_code>
|
45
|
+
<install_updates config:type="boolean">true</install_updates>
|
46
|
+
<slp_discovery config:type="boolean">false</slp_discovery>
|
47
|
+
</suse_register>
|
48
|
+
```
|
49
|
+
|
50
|
+
* More information can be found at the SUSE AutoYaST documentation.
|
51
|
+
https://www.suse.com/documentation/sles-12/singlehtml/book_autoyast/book_autoyast.html
|
52
|
+
|
53
|
+
|
54
|
+
## EXAMPLES
|
55
|
+
|
56
|
+
* Export the `myhost` system description to `/tmp/myhost-autoyast`:
|
57
|
+
|
58
|
+
$ `machinery` export-autoyast myhost --autoyast-dir=/tmp
|
@@ -0,0 +1,38 @@
|
|
1
|
+
|
2
|
+
# export-kiwi — Export System Description as KIWI Image Description
|
3
|
+
|
4
|
+
## SYNOPSIS
|
5
|
+
|
6
|
+
`machinery export-kiwi` -k | --kiwi-dir NAME
|
7
|
+
--force
|
8
|
+
|
9
|
+
`machinery` help export-kiwi
|
10
|
+
|
11
|
+
|
12
|
+
## DESCRIPTION
|
13
|
+
|
14
|
+
The `export-kiwi` subcommand exports a stored system description as a KIWI
|
15
|
+
image description.
|
16
|
+
|
17
|
+
|
18
|
+
## ARGUMENTS
|
19
|
+
|
20
|
+
* `NAME` (required):
|
21
|
+
Name of the system description.
|
22
|
+
|
23
|
+
|
24
|
+
## OPTIONS
|
25
|
+
|
26
|
+
* `-k KIWI_DIR`, `--kiwi-dir=KIWI_DIR` (required):
|
27
|
+
Write the KIWI image description to a subdirectory at the specified directory. The directory
|
28
|
+
will be created if it does not exist yet.
|
29
|
+
|
30
|
+
* `--force` (optional):
|
31
|
+
Overwrite existing system description
|
32
|
+
|
33
|
+
|
34
|
+
## EXAMPLES
|
35
|
+
|
36
|
+
* Export the `myhost` system description to `/tmp/myhost-kiwi`:
|
37
|
+
|
38
|
+
$ `machinery` export-kiwi myhost --kiwi-dir=/tmp
|
@@ -0,0 +1,108 @@
|
|
1
|
+
|
2
|
+
# inspect-container — Inspect Container
|
3
|
+
|
4
|
+
## SYNOPSIS
|
5
|
+
|
6
|
+
`machinery inspect-container` [OPTIONS] IMAGENAME
|
7
|
+
|
8
|
+
`machinery inspect-container` [OPTIONS] IMAGEID
|
9
|
+
|
10
|
+
`machinery` help inspect-container
|
11
|
+
|
12
|
+
|
13
|
+
## DESCRIPTION
|
14
|
+
|
15
|
+
The `inspect-container` command inspects a container image. It creates and starts the container from the provided image before inspection
|
16
|
+
and generates a system description from the gathered data. After the inspection the container will be killed and removed again.
|
17
|
+
This approach ensures that no containers and images are affected by the inspection.
|
18
|
+
|
19
|
+
Right now the container inspection only supports Docker images.
|
20
|
+
|
21
|
+
The system data is structured into scopes, controlled by the
|
22
|
+
`--scope` option.
|
23
|
+
|
24
|
+
**Note**:
|
25
|
+
Machinery will always inspect all specified scopes, and skip scopes which
|
26
|
+
trigger errors.
|
27
|
+
|
28
|
+
|
29
|
+
## ARGUMENTS
|
30
|
+
|
31
|
+
* `IMAGENAME / IMAGEID` (required):
|
32
|
+
The name or id of the image to be inspected. The provided name or id will also be
|
33
|
+
used as the name of the stored system description unless another name is
|
34
|
+
provided with the `--name` option.
|
35
|
+
|
36
|
+
|
37
|
+
## OPTIONS
|
38
|
+
|
39
|
+
* `-n NAME`, `--name=NAME` (optional):
|
40
|
+
Store the system description under the specified name.
|
41
|
+
|
42
|
+
* `-s SCOPE`, `--scope=SCOPE` (optional):
|
43
|
+
Inspect image for specified scope.
|
44
|
+
See the [Scope section](#Scopes) for more information.
|
45
|
+
|
46
|
+
* `-e SCOPE`, `--exclude-scope=EXCLUDE-SCOPE` (optional):
|
47
|
+
Inspect image for all scopes except the specified scope.
|
48
|
+
See the [Scope section](#Scopes) for more information.
|
49
|
+
|
50
|
+
* `-x`, `--extract-files` (optional):
|
51
|
+
Extract changed configuration and unmanaged files from the inspected container.
|
52
|
+
Shortcut for the combination of `--extract-changed-config-files`,
|
53
|
+
`--extract-unmanaged-files`, and `--extract-changed-managed-files`
|
54
|
+
|
55
|
+
* `--extract-changed-config-files` (optional):
|
56
|
+
Extract changed configuration files from the inspected image.
|
57
|
+
|
58
|
+
* `--extract-unmanaged-files` (optional):
|
59
|
+
Extract unmanaged files from the inspected image.
|
60
|
+
|
61
|
+
* `--extract-changed-managed-files` (optional):
|
62
|
+
Extract changed managed files from inspected image.
|
63
|
+
|
64
|
+
* `--skip-files` (optional):
|
65
|
+
Do not consider given files or directories during inspection. Either provide
|
66
|
+
one file or directory name or a list of names separated by commas. You can
|
67
|
+
also point to a file which contains a list of files to filter (one per line)
|
68
|
+
by adding an '@' before the path, e.g.
|
69
|
+
|
70
|
+
$ `machinery` inspect-container --skip-files=@/path/to/filter_file myimage
|
71
|
+
|
72
|
+
If a filename contains a comma it needs to be escaped, e.g.
|
73
|
+
|
74
|
+
$ `machinery` inspect-container --skip-files=/file\\,with_comma myimage
|
75
|
+
|
76
|
+
**Note**: File or directory names are not expanded, e.g. '../path' is taken
|
77
|
+
literally and not expanded.
|
78
|
+
|
79
|
+
* `--verbose` (optional):
|
80
|
+
Display the filters which are used during inspection.
|
81
|
+
|
82
|
+
|
83
|
+
## PREREQUISITES
|
84
|
+
|
85
|
+
* Inspecting a container requires an image specified by the name or id.
|
86
|
+
|
87
|
+
* The image to be inspected needs to have the following commands:
|
88
|
+
|
89
|
+
* `rpm` or `dpkg`
|
90
|
+
* `zypper`, `yum` or `apt-cache`
|
91
|
+
* `rsync`
|
92
|
+
* `cat`
|
93
|
+
* `sed`
|
94
|
+
* `find`
|
95
|
+
|
96
|
+
## EXAMPLES
|
97
|
+
|
98
|
+
* Inspect Docker container `myimage` and save system description under name 'MyContainer':
|
99
|
+
|
100
|
+
$ `machinery` inspect-container --name=MyContainer myimage
|
101
|
+
|
102
|
+
* Inspect Docker container `076f46c1bef1` and save system description under name 'MySecondContainer':
|
103
|
+
|
104
|
+
$ `machinery` inspect-container --name=MySecondContainer 076f46c1bef1
|
105
|
+
|
106
|
+
* Extract changed managed files and save them:
|
107
|
+
|
108
|
+
$ `machinery` inspect-container --scope=changed-managed-files --extract-files myimage
|