hammer_cli_foreman_bootdisk 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +60 -0
- data/lib/hammer_cli_foreman_bootdisk.rb +20 -0
- data/lib/hammer_cli_foreman_bootdisk/bootdisk.rb +27 -0
- data/lib/hammer_cli_foreman_bootdisk/commands.rb +36 -0
- data/lib/hammer_cli_foreman_bootdisk/i18n.rb +24 -0
- data/lib/hammer_cli_foreman_bootdisk/version.rb +5 -0
- data/locale/Makefile +65 -0
- data/locale/README.md +18 -0
- data/locale/en/LC_MESSAGES/hammer_cli_foreman_bootdisk.mo +0 -0
- data/locale/en/hammer_cli_foreman_bootdisk.po +57 -0
- data/locale/hammer_cli_foreman_bootdisk.pot +57 -0
- metadata +69 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 0602d92eda12db552f671b531a7a0b59ebbbb0a4
|
4
|
+
data.tar.gz: c135ff0152ff4de4fe36b792d55cc81d18e743b9
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 8a332fb880b7a42c0f1d91d74fbef22626182184ebc725ded9eb26f154f6edacf51e59166e69a9039b4790b22b9e851b9fc4364f318eb1216bdca7c5a44f9511
|
7
|
+
data.tar.gz: 9d111df3681cf2f66d9cefc00ec10ea139ab0b2e4396c21640bbdc1a69d73e39814c24b65b2290df01106a483c30712961349613227738fce98b94a80a2cd20a
|
data/README.md
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
Foreman boot disk commands for Hammer CLI
|
2
|
+
=========================================
|
3
|
+
|
4
|
+
This [Hammer CLI](https://github.com/theforeman/hammer-cli) plugin contains
|
5
|
+
set of commands for [foreman_bootdisk](https://github.com/theforeman/foreman_bootdisk),
|
6
|
+
a plugin to [Foreman](http://theforeman.org/) for ISO/USB booting support
|
7
|
+
|
8
|
+
Documentation
|
9
|
+
-------------
|
10
|
+
|
11
|
+
Basic configuration of Hammer to communicate with Foreman is covered in the
|
12
|
+
hammer-cli-foreman documentation:
|
13
|
+
|
14
|
+
- [Hammer CLI Foreman configuration](https://github.com/theforeman/hammer-cli-foreman/blob/master/doc/configuration.md)
|
15
|
+
|
16
|
+
To download the generic disk (ISO/USB) image, run:
|
17
|
+
|
18
|
+
hammer bootdisk generic
|
19
|
+
|
20
|
+
Or to download a per-host disk, run:
|
21
|
+
|
22
|
+
hammer bootdisk host --host client.example.com
|
23
|
+
|
24
|
+
Files will be downloaded into the current directory unless `--file` is used to set the
|
25
|
+
destination:
|
26
|
+
|
27
|
+
hammer bootdisk generic --file /tmp/generic.iso
|
28
|
+
|
29
|
+
If a device is given to `--file`, you can write the image directly to it by adding the
|
30
|
+
`--force` option. Needless to say, but **double check** the device name is correct to
|
31
|
+
avoid overwriting the wrong disk.
|
32
|
+
|
33
|
+
hammer bootdisk generic --file /dev/sdb --force
|
34
|
+
|
35
|
+
When running hammer as an unprivileged user with no access to the device, add `--sudo`
|
36
|
+
to execute `sudo dd` for the copy. Password prompts may be shown if NOPASSWD is not
|
37
|
+
configured.
|
38
|
+
|
39
|
+
hammer bootdisk generic --file /dev/sdb --force --sudo
|
40
|
+
|
41
|
+
|
42
|
+
How to run
|
43
|
+
----------
|
44
|
+
|
45
|
+
We build rpms, debs and gems. Alternatively you can install hammer from a git checkout.
|
46
|
+
See our [Hammer CLI installation and configuration instuctions](https://github.com/theforeman/hammer-cli/blob/master/doc/installation.md#installation).
|
47
|
+
|
48
|
+
Having issues?
|
49
|
+
--------------
|
50
|
+
|
51
|
+
If one of hammer commands doesn't work as you would expect, you can run `hammer -d ...` to get
|
52
|
+
full debug output from the loggers. It should give you an idea what went wrong.
|
53
|
+
|
54
|
+
If you have questions, don't hesitate to contact us on `foreman-users@googlegroups.com` or
|
55
|
+
`Freenode#theforeman` IRC channel.
|
56
|
+
|
57
|
+
License
|
58
|
+
-------
|
59
|
+
|
60
|
+
This project is licensed under the GPLv3+.
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'pry'
|
2
|
+
require 'hammer_cli_foreman'
|
3
|
+
|
4
|
+
module HammerCLIForemanBootdisk
|
5
|
+
def self.exception_handler_class
|
6
|
+
HammerCLIForeman::ExceptionHandler
|
7
|
+
end
|
8
|
+
|
9
|
+
begin
|
10
|
+
require 'hammer_cli_foreman_bootdisk/commands'
|
11
|
+
|
12
|
+
HammerCLI::MainCommand.lazy_subcommand('bootdisk', _("Download boot disks"),
|
13
|
+
'HammerCLIForemanBootdisk::Bootdisk', 'hammer_cli_foreman_bootdisk/bootdisk'
|
14
|
+
)
|
15
|
+
rescue => e
|
16
|
+
handler = HammerCLIForeman::ExceptionHandler.new(:context => {}, :adapter => :base)
|
17
|
+
handler.handle_exception(e)
|
18
|
+
raise HammerCLI::ModuleLoadingError.new(e)
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module HammerCLIForemanBootdisk
|
2
|
+
class Bootdisk < HammerCLIForeman::Command
|
3
|
+
resource :disks
|
4
|
+
|
5
|
+
class GenericCommand < HammerCLIForemanBootdisk::DownloadCommand
|
6
|
+
action :generic
|
7
|
+
|
8
|
+
command_name 'generic'
|
9
|
+
success_message _('Successfully downloaded generic disk image to %s')
|
10
|
+
failure_message _('Failed to download generic disk image')
|
11
|
+
|
12
|
+
build_options
|
13
|
+
end
|
14
|
+
|
15
|
+
class HostCommand < HammerCLIForemanBootdisk::DownloadCommand
|
16
|
+
action :host
|
17
|
+
|
18
|
+
command_name 'host'
|
19
|
+
success_message _('Successfully downloaded host disk image to %s')
|
20
|
+
failure_message _('Failed to download host disk image')
|
21
|
+
|
22
|
+
build_options
|
23
|
+
end
|
24
|
+
|
25
|
+
autoload_subcommands
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'tempfile'
|
2
|
+
require 'hammer_cli_foreman/commands'
|
3
|
+
|
4
|
+
module HammerCLIForemanBootdisk
|
5
|
+
class DownloadCommand < HammerCLIForeman::Command
|
6
|
+
option "--file", "PATH", _("File or device to write image to")
|
7
|
+
option "--force", :flag, _("Force writing to existing destination (device etc.)")
|
8
|
+
option "--sudo", :flag, _("Use sudo to write to device")
|
9
|
+
|
10
|
+
def print_data(record)
|
11
|
+
server_filename = $1 if record.headers[:content_disposition] =~ /filename=["']?([^\s,;"']+)/
|
12
|
+
file = options[HammerCLI.option_accessor_name('file')] || server_filename || 'bootdisk.iso'
|
13
|
+
if !options[HammerCLI.option_accessor_name('force')] && File.exist?(file) && !File.file?(file)
|
14
|
+
raise(HammerCLIForeman::OperationNotSupportedError, _("Destination %s already exists and isn't a regular file, use '--force' if you are sure you wish to write to it") % file)
|
15
|
+
end
|
16
|
+
|
17
|
+
if options[HammerCLI.option_accessor_name('sudo')]
|
18
|
+
temp_file = Tempfile.new('bootdisk')
|
19
|
+
begin
|
20
|
+
File.write(temp_file, record)
|
21
|
+
system('sudo', 'dd', "if=#{temp_file.path}", "of=#{file}", 'bs=1024')
|
22
|
+
ensure
|
23
|
+
temp_file.close
|
24
|
+
temp_file.unlink
|
25
|
+
end
|
26
|
+
else
|
27
|
+
File.write(file, record)
|
28
|
+
end
|
29
|
+
print_message (success_message % file) if success_message
|
30
|
+
end
|
31
|
+
|
32
|
+
def request_options
|
33
|
+
{:response => :raw}
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'hammer_cli/i18n'
|
2
|
+
|
3
|
+
module HammerCLIForemanBootdisk
|
4
|
+
module I18n
|
5
|
+
|
6
|
+
class LocaleDomain < HammerCLI::I18n::LocaleDomain
|
7
|
+
|
8
|
+
def translated_files
|
9
|
+
Dir.glob(File.join(File.dirname(__FILE__), '../**/*.rb'))
|
10
|
+
end
|
11
|
+
|
12
|
+
def locale_dir
|
13
|
+
File.join(File.dirname(__FILE__), '../../locale')
|
14
|
+
end
|
15
|
+
|
16
|
+
def domain_name
|
17
|
+
'hammer_cli_foreman_bootdisk'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
HammerCLI::I18n.add_domain(HammerCLIForemanBootdisk::I18n::LocaleDomain.new)
|
data/locale/Makefile
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
#
|
2
|
+
# Makefile for PO merging and MO generation. More info in the README.
|
3
|
+
#
|
4
|
+
# make all-mo (default) - generate MO files
|
5
|
+
# make check - check translations using translate-tool
|
6
|
+
# make tx-update - download and merge translations from Transifex
|
7
|
+
# make clean - clean everything
|
8
|
+
#
|
9
|
+
DOMAIN = hammer_cli_foreman_bootdisk
|
10
|
+
VERSION = $(shell ruby -e 'require "rubygems";spec = Gem::Specification::load("../hammer_cli_foreman_bootdisk.gemspec");puts spec.version')
|
11
|
+
POTFILE = $(DOMAIN).pot
|
12
|
+
MOFILE = $(DOMAIN).mo
|
13
|
+
POFILES = $(shell find . -name '*.po')
|
14
|
+
MOFILES = $(patsubst %.po,%.mo,$(POFILES))
|
15
|
+
POXFILES = $(patsubst %.po,%.pox,$(POFILES))
|
16
|
+
|
17
|
+
%.mo: %.po
|
18
|
+
mkdir -p $(shell dirname $@)/LC_MESSAGES
|
19
|
+
msgfmt -o $(shell dirname $@)/LC_MESSAGES/$(MOFILE) $<
|
20
|
+
|
21
|
+
# Generate MO files from PO files
|
22
|
+
all-mo: $(MOFILES)
|
23
|
+
|
24
|
+
# Check for malformed strings
|
25
|
+
%.pox: %.po
|
26
|
+
msgfmt -c $<
|
27
|
+
pofilter --nofuzzy -t variables -t blank -t urls -t emails -t long -t newlines \
|
28
|
+
-t endwhitespace -t endpunc -t puncspacing -t options -t printf -t validchars --gnome $< > $@
|
29
|
+
cat $@
|
30
|
+
! grep -q msgid $@
|
31
|
+
|
32
|
+
check: $(POXFILES)
|
33
|
+
msgfmt -c ${POTFILE}
|
34
|
+
|
35
|
+
# Merge PO files
|
36
|
+
update-po:
|
37
|
+
for f in $(shell find ./ -name "*.po") ; do \
|
38
|
+
msgmerge -N --backup=none -U $$f ${POTFILE} ; \
|
39
|
+
done
|
40
|
+
|
41
|
+
# Unify duplicate translations
|
42
|
+
uniq-po:
|
43
|
+
for f in $(shell find ./ -name "*.po") ; do \
|
44
|
+
msguniq $$f -o $$f ; \
|
45
|
+
done
|
46
|
+
|
47
|
+
tx-pull:
|
48
|
+
tx pull -f
|
49
|
+
for f in $(POFILES) ; do \
|
50
|
+
sed -i 's/^\("Project-Id-Version: \).*$$/\1$(DOMAIN) $(VERSION)\\n"/' $$f; \
|
51
|
+
done
|
52
|
+
-git commit -a -m "i18n - extracting new, pulling from tx"
|
53
|
+
|
54
|
+
extract-strings:
|
55
|
+
bundle exec rake gettext:find
|
56
|
+
|
57
|
+
reset-po:
|
58
|
+
# merging po files is unnecessary when using transifex.com
|
59
|
+
git checkout -- ../locale/*/*po
|
60
|
+
|
61
|
+
tx-update: tx-pull extract-strings reset-po $(MOFILES)
|
62
|
+
# amend mo files
|
63
|
+
git add ../locale/*/LC_MESSAGES
|
64
|
+
git commit -a --amend -m "i18n - extracting new, pulling from tx"
|
65
|
+
-echo Changes commited!
|
data/locale/README.md
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
Updating the translations
|
2
|
+
-------------------------
|
3
|
+
|
4
|
+
1. Check if there are any new languages with progress more than 50% on [transifex](https://www.transifex.com/projects/p/foreman/resource/hammer_cli_foreman_bootdisk/). If so, do the following for each of the new languages:
|
5
|
+
|
6
|
+
```
|
7
|
+
mkdir locale/<lang>
|
8
|
+
cp locale/hammer_cli_foreman_bootdisk.pot locale/<lang>/hammer_cli_foreman_bootdisk.po
|
9
|
+
```
|
10
|
+
2. Make sure you have `transifex-client` installed
|
11
|
+
|
12
|
+
3. Update the translations. From GIT repo root directory run:
|
13
|
+
|
14
|
+
```
|
15
|
+
make -C locale tx-update
|
16
|
+
```
|
17
|
+
|
18
|
+
It will download translations from transifex, generates `mo` files, updates strings in `pot` file and wraps all the changes in a new commit. Transifex automatically updates its strings when the commit is pushed to Github.
|
Binary file
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# Hammer CLI Foreman Bootdisk
|
2
|
+
# Copyright (C) 2014
|
3
|
+
# This file is distributed under the same license as the hammer_cli_foreman_bootdisk package.
|
4
|
+
# Dominic Cleal <dcleal@redhat.com>, 2014
|
5
|
+
#
|
6
|
+
#, fuzzy
|
7
|
+
msgid ""
|
8
|
+
msgstr ""
|
9
|
+
"Project-Id-Version: hammer_cli_foreman_bootdisk 0.1.0\n"
|
10
|
+
"Report-Msgid-Bugs-To: \n"
|
11
|
+
"POT-Creation-Date: 2014-08-08 14:31+0100\n"
|
12
|
+
"PO-Revision-Date: 2014-08-08 14:24+0100\n"
|
13
|
+
"Last-Translator: Foreman Team <foreman-dev@googlegroups.com>\n"
|
14
|
+
"Language-Team: Foreman Team <foreman-dev@googlegroups.com>\n"
|
15
|
+
"Language: \n"
|
16
|
+
"MIME-Version: 1.0\n"
|
17
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
18
|
+
"Content-Transfer-Encoding: 8bit\n"
|
19
|
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
20
|
+
|
21
|
+
#: lib/hammer_cli_foreman_bootdisk/commands.rb:6
|
22
|
+
msgid "File or device to write image to"
|
23
|
+
msgstr ""
|
24
|
+
|
25
|
+
#: lib/hammer_cli_foreman_bootdisk/commands.rb:7
|
26
|
+
msgid "Force writing to existing destination (device etc.)"
|
27
|
+
msgstr ""
|
28
|
+
|
29
|
+
#: lib/hammer_cli_foreman_bootdisk/commands.rb:8
|
30
|
+
msgid "Use sudo to write to device"
|
31
|
+
msgstr ""
|
32
|
+
|
33
|
+
#: lib/hammer_cli_foreman_bootdisk/commands.rb:14
|
34
|
+
msgid ""
|
35
|
+
"Destination %s already exists and isn't a regular file, use '--force' if you "
|
36
|
+
"are sure you wish to write to it"
|
37
|
+
msgstr ""
|
38
|
+
|
39
|
+
#: lib/hammer_cli_foreman_bootdisk/bootdisk.rb:9
|
40
|
+
msgid "Successfully downloaded generic disk image to %s"
|
41
|
+
msgstr ""
|
42
|
+
|
43
|
+
#: lib/hammer_cli_foreman_bootdisk/bootdisk.rb:10
|
44
|
+
msgid "Failed to download generic disk image"
|
45
|
+
msgstr ""
|
46
|
+
|
47
|
+
#: lib/hammer_cli_foreman_bootdisk/bootdisk.rb:19
|
48
|
+
msgid "Successfully downloaded host disk image to %s"
|
49
|
+
msgstr ""
|
50
|
+
|
51
|
+
#: lib/hammer_cli_foreman_bootdisk/bootdisk.rb:20
|
52
|
+
msgid "Failed to download host disk image"
|
53
|
+
msgstr ""
|
54
|
+
|
55
|
+
#: lib/hammer_cli_foreman_bootdisk.rb:12
|
56
|
+
msgid "Download boot disks"
|
57
|
+
msgstr ""
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# Hammer CLI Foreman Bootdisk
|
2
|
+
# Copyright (C) 2014
|
3
|
+
# This file is distributed under the same license as the hammer_cli_foreman_bootdisk package.
|
4
|
+
# Dominic Cleal <dcleal@redhat.com>, 2014
|
5
|
+
#
|
6
|
+
#, fuzzy
|
7
|
+
msgid ""
|
8
|
+
msgstr ""
|
9
|
+
"Project-Id-Version: hammer_cli_foreman_bootdisk 0.1.0\n"
|
10
|
+
"Report-Msgid-Bugs-To: \n"
|
11
|
+
"POT-Creation-Date: 2014-08-08 14:31+0100\n"
|
12
|
+
"PO-Revision-Date: 2014-08-08 14:24+0100\n"
|
13
|
+
"Last-Translator: Foreman Team <foreman-dev@googlegroups.com>\n"
|
14
|
+
"Language-Team: Foreman Team <foreman-dev@googlegroups.com>\n"
|
15
|
+
"Language: \n"
|
16
|
+
"MIME-Version: 1.0\n"
|
17
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
18
|
+
"Content-Transfer-Encoding: 8bit\n"
|
19
|
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
20
|
+
|
21
|
+
#: lib/hammer_cli_foreman_bootdisk/commands.rb:6
|
22
|
+
msgid "File or device to write image to"
|
23
|
+
msgstr ""
|
24
|
+
|
25
|
+
#: lib/hammer_cli_foreman_bootdisk/commands.rb:7
|
26
|
+
msgid "Force writing to existing destination (device etc.)"
|
27
|
+
msgstr ""
|
28
|
+
|
29
|
+
#: lib/hammer_cli_foreman_bootdisk/commands.rb:8
|
30
|
+
msgid "Use sudo to write to device"
|
31
|
+
msgstr ""
|
32
|
+
|
33
|
+
#: lib/hammer_cli_foreman_bootdisk/commands.rb:14
|
34
|
+
msgid ""
|
35
|
+
"Destination %s already exists and isn't a regular file, use '--force' if you "
|
36
|
+
"are sure you wish to write to it"
|
37
|
+
msgstr ""
|
38
|
+
|
39
|
+
#: lib/hammer_cli_foreman_bootdisk/bootdisk.rb:9
|
40
|
+
msgid "Successfully downloaded generic disk image to %s"
|
41
|
+
msgstr ""
|
42
|
+
|
43
|
+
#: lib/hammer_cli_foreman_bootdisk/bootdisk.rb:10
|
44
|
+
msgid "Failed to download generic disk image"
|
45
|
+
msgstr ""
|
46
|
+
|
47
|
+
#: lib/hammer_cli_foreman_bootdisk/bootdisk.rb:19
|
48
|
+
msgid "Successfully downloaded host disk image to %s"
|
49
|
+
msgstr ""
|
50
|
+
|
51
|
+
#: lib/hammer_cli_foreman_bootdisk/bootdisk.rb:20
|
52
|
+
msgid "Failed to download host disk image"
|
53
|
+
msgstr ""
|
54
|
+
|
55
|
+
#: lib/hammer_cli_foreman_bootdisk.rb:12
|
56
|
+
msgid "Download boot disks"
|
57
|
+
msgstr ""
|
metadata
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: hammer_cli_foreman_bootdisk
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Dominic Cleal
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-08-08 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: hammer_cli_foreman
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.1.1
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.1.1
|
27
|
+
description: Foreman boot disk commands for Hammer CLI
|
28
|
+
email: dcleal@redhat.com
|
29
|
+
executables: []
|
30
|
+
extensions: []
|
31
|
+
extra_rdoc_files:
|
32
|
+
- README.md
|
33
|
+
files:
|
34
|
+
- lib/hammer_cli_foreman_bootdisk/version.rb
|
35
|
+
- lib/hammer_cli_foreman_bootdisk/i18n.rb
|
36
|
+
- lib/hammer_cli_foreman_bootdisk/commands.rb
|
37
|
+
- lib/hammer_cli_foreman_bootdisk/bootdisk.rb
|
38
|
+
- lib/hammer_cli_foreman_bootdisk.rb
|
39
|
+
- locale/README.md
|
40
|
+
- locale/Makefile
|
41
|
+
- locale/en/hammer_cli_foreman_bootdisk.po
|
42
|
+
- locale/en/LC_MESSAGES/hammer_cli_foreman_bootdisk.mo
|
43
|
+
- locale/hammer_cli_foreman_bootdisk.pot
|
44
|
+
- README.md
|
45
|
+
homepage: http://github.com/theforeman/hammer_cli_foreman_bootdisk
|
46
|
+
licenses:
|
47
|
+
- GPL v3+
|
48
|
+
metadata: {}
|
49
|
+
post_install_message:
|
50
|
+
rdoc_options: []
|
51
|
+
require_paths:
|
52
|
+
- lib
|
53
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - '>='
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '0'
|
58
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
requirements: []
|
64
|
+
rubyforge_project:
|
65
|
+
rubygems_version: 2.0.6
|
66
|
+
signing_key:
|
67
|
+
specification_version: 4
|
68
|
+
summary: Foreman boot disk commands for Hammer
|
69
|
+
test_files: []
|