foreman_m2 0.0.1
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 +7 -0
- data/LICENSE +619 -0
- data/README.md +48 -0
- data/Rakefile +47 -0
- data/app/controllers/foreman_m2/hosts_controller.rb +19 -0
- data/app/helpers/concerns/foreman_m2/hosts_helper_extensions.rb +12 -0
- data/app/helpers/concerns/foreman_m2/images_helper_extensions.rb +24 -0
- data/app/lib/proxy_api/m2.rb +35 -0
- data/app/models/concerns/foreman_m2/compute_resource_extensions.rb +23 -0
- data/app/models/concerns/foreman_m2/host_extensions.rb +110 -0
- data/app/models/concerns/foreman_m2/host_orchestration_extensions.rb +52 -0
- data/app/models/concerns/foreman_m2/nic_extensions.rb +17 -0
- data/app/models/concerns/foreman_m2/nic_orchestration_extensions.rb +75 -0
- data/app/models/foreman_m2/m2.rb +20 -0
- data/app/overrides/give_ids.rb +14 -0
- data/app/overrides/hybrid_js.rb +4 -0
- data/app/overrides/update_media_selection.rb +6 -0
- data/app/views/compute_resources/edit/_m2.html.erb +0 -0
- data/app/views/compute_resources/form/_m2.html.erb +1 -0
- data/app/views/compute_resources/show/_m2.html.erb +0 -0
- data/app/views/compute_resources_vms/form/m2/_base.html.erb +16 -0
- data/app/views/dashboard/_foreman_m2_widget.erb +2 -0
- data/app/views/foreman_m2/hosts/hosts/new_action.html.erb +1 -0
- data/app/views/foreman_m2/hosts/new_action.html.erb +15 -0
- data/app/views/foreman_m2/layouts/layouts/new_layout.html.erb +0 -0
- data/app/views/foreman_m2/layouts/new_layout.html.erb +0 -0
- data/app/views/hosts/provisioning_method/hybrid/_form.html.erb +6 -0
- data/app/views/images/form/_m2.html.erb +6 -0
- data/app/views/overrides/host_creation/_add_bm_div.html.erb +12 -0
- data/app/views/overrides/host_creation/_add_hybrid_js.html.erb +85 -0
- data/app/views/overrides/host_creation/_add_ptable_div.html.erb +4 -0
- data/app/views/overrides/image_selection/_host_media_type_select.html.erb +28 -0
- data/app/views/unattended/provisioning_templates/PXELinux/m2_default_pxelinux.erb +18 -0
- data/app/views/unattended/provisioning_templates/iPXE/m2_default_ipxe.erb +22 -0
- data/config/routes.rb +3 -0
- data/db/seeds.d/071-m2_prov_templates.rb +59 -0
- data/db/seeds.d/111-m2_sp_features.rb +6 -0
- data/lib/foreman_m2/engine.rb +80 -0
- data/lib/foreman_m2/version.rb +3 -0
- data/lib/foreman_m2.rb +5 -0
- data/lib/tasks/foreman_m2_tasks.rake +47 -0
- data/locale/Makefile +60 -0
- data/locale/en/foreman_m2.po +19 -0
- data/locale/foreman_m2.pot +19 -0
- data/locale/gemspec.rb +2 -0
- data/test/factories/foreman_m2_factories.rb +2 -0
- data/test/test_plugin_helper.rb +7 -0
- data/test/unit/foreman_m2_test.rb +11 -0
- metadata +136 -0
@@ -0,0 +1,28 @@
|
|
1
|
+
<% media_selection = using_hostgroups_page? ? use_install_media(@hostgroup) : use_install_media(@host, :selected_host_group => @hostgroup)
|
2
|
+
install_media_radio = media_selection ? 'checked="checked"':''
|
3
|
+
synced_content_radio = media_selection ? '' : 'checked="checked"'
|
4
|
+
install_media_disabled = os_media.empty? ? 'disabled = true' : ''
|
5
|
+
kickstart_options = using_hostgroups_page? ? kickstart_repository_options(@hostgroup) : kickstart_repository_options(@host, :selected_host_group => @hostgroup)
|
6
|
+
synced_content_disabled = kickstart_options.empty? ? 'disabled = true' : ''
|
7
|
+
%>
|
8
|
+
|
9
|
+
<div class="clear-fix" id="media_selection_section">
|
10
|
+
<div class="form-group ">
|
11
|
+
<label class="col-md-2 control-label" for="use_install_media">Media Selection</label>
|
12
|
+
<div class="col-md-4">
|
13
|
+
<label class="radio-inline">
|
14
|
+
<input data-media-selector="true" id="host_use_synced_content" name="media_selector" value="synced_content" type="radio" <%= synced_content_radio %> <%= synced_content_disabled %>/> <%= _('Synced Content') %>
|
15
|
+
</label>
|
16
|
+
<label class="radio-inline">
|
17
|
+
<input data-media-selector="true" id="host_use_install_media" name="media_selector" value="install_media" type="radio" <%= install_media_radio %> <%= install_media_disabled %>/> <%= _('All Media') %>
|
18
|
+
</label>
|
19
|
+
<label class="radio-inline">
|
20
|
+
<input data-media-selector="true" id="host_use_m2_media" name="media_selector" value="m2_media" type="radio" <%= synced_content_radio %> <%= synced_content_disabled %>/> <%= _('M2 Media') %>
|
21
|
+
</label>
|
22
|
+
<span class="help-block">
|
23
|
+
<%= _("Select the installation media that will be used to provision this host. Choose 'Synced Content' for Synced Kickstart Repositories or 'All Media' for other media.") %>
|
24
|
+
</span>
|
25
|
+
</div>
|
26
|
+
<span class="help-block help-inline"></span>
|
27
|
+
</div>
|
28
|
+
</div>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<%#
|
2
|
+
kind: PXELinux
|
3
|
+
name: M2 default PXELinux
|
4
|
+
model: ProvisioningTemplate
|
5
|
+
%>
|
6
|
+
<%#
|
7
|
+
Chainboots iPXE/gPXE from PXELinux. Make sure the OS has iPXE template
|
8
|
+
associated and file ipxe.lkrn was copied in the TFTP directory (e.g. from
|
9
|
+
/usr/share/ipxe/ipxe.lkrn or iPXE project web site).
|
10
|
+
|
11
|
+
For more info visit:
|
12
|
+
http://projects.theforeman.org/projects/foreman/wiki/Fetch_boot_files_via_http_instead_of_TFTP
|
13
|
+
%>
|
14
|
+
DEFAULT linux
|
15
|
+
LABEL linux
|
16
|
+
KERNEL ipxe.lkrn
|
17
|
+
APPEND sleep 23 && dhcp && chain <%= foreman_url('iPXE') %>
|
18
|
+
IPAPPEND 2
|
@@ -0,0 +1,22 @@
|
|
1
|
+
#!gpxe
|
2
|
+
<%#
|
3
|
+
kind: iPXE
|
4
|
+
name: M2 default iPXE
|
5
|
+
model: ProvisioningTemplate
|
6
|
+
oses:
|
7
|
+
-All
|
8
|
+
%>
|
9
|
+
<% subnet = @host.subnet -%>
|
10
|
+
<% if subnet.respond_to?(:dhcp_boot_mode?) && subnet.dhcp_boot_mode? -%>
|
11
|
+
<% static = '' -%>
|
12
|
+
<% else -%>
|
13
|
+
<% static_arg = 'static=yes' -%>
|
14
|
+
<% static = (@host.token.nil? ? '?' : '&') + static_arg -%>
|
15
|
+
<% end -%>
|
16
|
+
|
17
|
+
# Assuming we're using the M2 PXELinux BIOS template...
|
18
|
+
|
19
|
+
#sleep 23
|
20
|
+
set keep-san 1
|
21
|
+
sanboot --keep <%= @host.iscsi_target %> || shell
|
22
|
+
boot
|
data/config/routes.rb
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
# Provisioning templates
|
2
|
+
pxelinux_kind = TemplateKind.unscoped.where(:name => 'PXELinux').first_or_create
|
3
|
+
ipxe_kind = TemplateKind.unscoped.where(:name => 'iPXE').first_or_create
|
4
|
+
organizations = Organization.unscoped.all
|
5
|
+
locations = Location.unscoped.all
|
6
|
+
created = []
|
7
|
+
|
8
|
+
ProvisioningTemplate.without_auditing do
|
9
|
+
contents_pxelinux = File.read(File.join(ForemanM2::Engine.root, 'app',
|
10
|
+
'views', 'unattended',
|
11
|
+
'provisioning_templates', 'PXELinux',
|
12
|
+
'm2_default_pxelinux.erb'))
|
13
|
+
created << 'M2 default PXELinux' unless
|
14
|
+
ProvisioningTemplate.find_by(name: 'M2 default PXELinux')
|
15
|
+
temp_pxelinux = ProvisioningTemplate.unscoped
|
16
|
+
.where(:name => 'M2 default PXELinux')
|
17
|
+
.first_or_create do |template|
|
18
|
+
template.attributes = {
|
19
|
+
:template_kind_id => pxelinux_kind.id,
|
20
|
+
:snippet => false,
|
21
|
+
:template => contents_pxelinux
|
22
|
+
}
|
23
|
+
end
|
24
|
+
temp_pxelinux.attributes = {
|
25
|
+
:template => contents_pxelinux,
|
26
|
+
:default => true,
|
27
|
+
:vendor => 'Foreman M2'
|
28
|
+
}
|
29
|
+
temp_pxelinux.locked = true
|
30
|
+
temp_pxelinux.save!(:validate => false) if temp_pxelinux.changes.present?
|
31
|
+
|
32
|
+
contents_ipxe = File.read(File.join(ForemanM2::Engine.root, 'app',
|
33
|
+
'views', 'unattended',
|
34
|
+
'provisioning_templates', 'iPXE',
|
35
|
+
'm2_default_ipxe.erb'))
|
36
|
+
created << 'M2 default iPXE' unless
|
37
|
+
ProvisioningTemplate.find_by(name: 'M2 default iPXE')
|
38
|
+
temp_ipxe = ProvisioningTemplate.unscoped.where(:name => 'M2 default iPXE')
|
39
|
+
.first_or_create do |template|
|
40
|
+
template.attributes = {
|
41
|
+
:template_kind_id => ipxe_kind.id,
|
42
|
+
:snippet => false,
|
43
|
+
:template => contents_ipxe
|
44
|
+
}
|
45
|
+
end
|
46
|
+
temp_ipxe.attributes = {
|
47
|
+
:template => contents_ipxe,
|
48
|
+
:default => true,
|
49
|
+
:vendor => 'Foreman M2'
|
50
|
+
}
|
51
|
+
temp_ipxe.locked = true
|
52
|
+
temp_ipxe.save!(:validate => false) if temp_ipxe.changes.present?
|
53
|
+
|
54
|
+
ProvisioningTemplate.unscoped.where(:name => created,
|
55
|
+
:default => true).each do |template|
|
56
|
+
template.organizations = organizations if SETTINGS[:organizations_enabled]
|
57
|
+
template.locations = locations if SETTINGS[:locations_enabled]
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
module ForemanM2
|
2
|
+
# class BareMetalM2 < ComputeResource
|
3
|
+
# end
|
4
|
+
|
5
|
+
class Engine < ::Rails::Engine
|
6
|
+
engine_name 'foreman_m2'
|
7
|
+
|
8
|
+
config.autoload_paths += Dir["#{config.root}/app/controllers/concerns"]
|
9
|
+
config.autoload_paths += Dir["#{config.root}/app/helpers/concerns"]
|
10
|
+
config.autoload_paths += Dir["#{config.root}/app/models/concerns"]
|
11
|
+
config.autoload_paths += Dir["#{config.root}/app/models/foreman_m2"]
|
12
|
+
config.autoload_paths += Dir["#{config.root}/app/overrides"]
|
13
|
+
|
14
|
+
# Add any db migrations
|
15
|
+
initializer 'foreman_m2.load_app_instance_data' do |app|
|
16
|
+
ForemanM2::Engine.paths['db/migrate'].existent.each do |path|
|
17
|
+
app.config.paths['db/migrate'] << path
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
initializer 'foreman_m2.register_plugin',
|
22
|
+
:before => :finisher_hook do |_app|
|
23
|
+
Foreman::Plugin.register :foreman_m2 do
|
24
|
+
requires_foreman '>= 1.16'
|
25
|
+
|
26
|
+
compute_resource M2
|
27
|
+
parameter_filter ComputeResource, :url, :user, :password
|
28
|
+
|
29
|
+
# Add permissions
|
30
|
+
security_block :foreman_m2 do
|
31
|
+
permission :view_foreman_m2, :'foreman_m2/hosts' => [:new_action]
|
32
|
+
end
|
33
|
+
|
34
|
+
# Add a new role called 'Discovery' if it doesn't exist
|
35
|
+
role 'ForemanM2', [:view_foreman_m2]
|
36
|
+
|
37
|
+
# add menu entry
|
38
|
+
menu :top_menu, :template,
|
39
|
+
url_hash: { controller: :'foreman_m2/hosts', action: :new_action },
|
40
|
+
caption: 'ForemanM2',
|
41
|
+
parent: :hosts_menu,
|
42
|
+
after: :hosts
|
43
|
+
|
44
|
+
# add dashboard widget
|
45
|
+
widget 'foreman_m2_widget', name: N_('Foreman plugin template widget'),
|
46
|
+
sizex: 4, sizey: 1
|
47
|
+
|
48
|
+
provision_method 'hybrid', 'Network & Image Based'
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
# Include concerns in this config.to_prepare block
|
53
|
+
config.to_prepare do
|
54
|
+
begin
|
55
|
+
ComputeResource.send(:prepend, ForemanM2::ComputeResourceExtensions)
|
56
|
+
Host::Managed.send(:prepend, ForemanM2::HostExtensions)
|
57
|
+
Nic::Managed.send(:prepend, ForemanM2::NicOrchestrationExtensions)
|
58
|
+
Nic::Managed.send(:prepend, ForemanM2::NicExtensions)
|
59
|
+
Host::Managed.send(:prepend, ForemanM2::HostOrchestrationExtensions)
|
60
|
+
HostsHelper.send(:include, ForemanM2::HostsHelperExtensions)
|
61
|
+
ImagesHelper.send(:prepend, ForemanM2::ImagesHelperExtensions)
|
62
|
+
rescue StandardError => e
|
63
|
+
Rails.logger.warn "ForemanM2: skipping engine hook (#{e})"
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
rake_tasks do
|
68
|
+
Rake::Task['db:seed'].enhance do
|
69
|
+
ForemanM2::Engine.load_seed
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
initializer 'foreman_m2.register_gettext',
|
74
|
+
after: :load_config_initializers do |_app|
|
75
|
+
locale_dir = File.join(File.expand_path('../..', __dir__), 'locale')
|
76
|
+
locale_domain = 'foreman_m2'
|
77
|
+
Foreman::Gettext::Support.add_text_domain locale_domain, locale_dir
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
data/lib/foreman_m2.rb
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'rake/testtask'
|
2
|
+
|
3
|
+
# Tasks
|
4
|
+
namespace :foreman_m2 do
|
5
|
+
namespace :example do
|
6
|
+
desc 'Example Task'
|
7
|
+
task task: :environment do
|
8
|
+
# Task goes here
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
# Tests
|
14
|
+
namespace :test do
|
15
|
+
desc 'Test ForemanM2'
|
16
|
+
Rake::TestTask.new(:foreman_m2) do |t|
|
17
|
+
test_dir = File.join(File.dirname(__FILE__), '../..', 'test')
|
18
|
+
t.libs << ['test', test_dir]
|
19
|
+
t.pattern = "#{test_dir}/**/*_test.rb"
|
20
|
+
t.verbose = true
|
21
|
+
t.warning = false
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
namespace :foreman_m2 do
|
26
|
+
task :rubocop do
|
27
|
+
begin
|
28
|
+
require 'rubocop/rake_task'
|
29
|
+
RuboCop::RakeTask.new(:rubocop_foreman_m2) do |task|
|
30
|
+
task.patterns = ["#{ForemanM2::Engine.root}/app/**/*.rb",
|
31
|
+
"#{ForemanM2::Engine.root}/lib/**/*.rb",
|
32
|
+
"#{ForemanM2::Engine.root}/test/**/*.rb"]
|
33
|
+
end
|
34
|
+
rescue StandardError
|
35
|
+
puts 'Rubocop not loaded.'
|
36
|
+
end
|
37
|
+
|
38
|
+
Rake::Task['rubocop_foreman_m2'].invoke
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
Rake::Task[:test].enhance ['test:foreman_m2']
|
43
|
+
|
44
|
+
load 'tasks/jenkins.rake'
|
45
|
+
if Rake::Task.task_defined?(:'jenkins:unit')
|
46
|
+
Rake::Task['jenkins:unit'].enhance ['test:foreman_m2', 'foreman_m2:rubocop']
|
47
|
+
end
|
data/locale/Makefile
ADDED
@@ -0,0 +1,60 @@
|
|
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 = foreman_m2
|
10
|
+
VERSION = $(shell ruby -e 'require "rubygems";spec = Gem::Specification::load(Dir.glob("../*.gemspec")[0]);puts spec.version')
|
11
|
+
POTFILE = $(DOMAIN).pot
|
12
|
+
MOFILE = $(DOMAIN).mo
|
13
|
+
POFILES = $(shell find . -name '$(DOMAIN).po')
|
14
|
+
MOFILES = $(patsubst %.po,%.mo,$(POFILES))
|
15
|
+
POXFILES = $(patsubst %.po,%.pox,$(POFILES))
|
16
|
+
EDITFILES = $(patsubst %.po,%.edit.po,$(POFILES))
|
17
|
+
|
18
|
+
%.mo: %.po
|
19
|
+
mkdir -p $(shell dirname $@)/LC_MESSAGES
|
20
|
+
msgfmt -o $(shell dirname $@)/LC_MESSAGES/$(MOFILE) $<
|
21
|
+
|
22
|
+
# Generate MO files from PO files
|
23
|
+
all-mo: $(MOFILES)
|
24
|
+
|
25
|
+
# Check for malformed strings
|
26
|
+
%.pox: %.po
|
27
|
+
msgfmt -c $<
|
28
|
+
pofilter --nofuzzy -t variables -t blank -t urls -t emails -t long -t newlines \
|
29
|
+
-t endwhitespace -t endpunc -t puncspacing -t options -t printf -t validchars --gnome $< > $@
|
30
|
+
cat $@
|
31
|
+
! grep -q msgid $@
|
32
|
+
|
33
|
+
%.edit.po:
|
34
|
+
touch $@
|
35
|
+
|
36
|
+
check: $(POXFILES)
|
37
|
+
|
38
|
+
# Unify duplicate translations
|
39
|
+
uniq-po:
|
40
|
+
for f in $(shell find ./ -name "*.po") ; do \
|
41
|
+
msguniq $$f -o $$f ; \
|
42
|
+
done
|
43
|
+
|
44
|
+
tx-pull: $(EDITFILES)
|
45
|
+
tx pull -f
|
46
|
+
for f in $(EDITFILES) ; do \
|
47
|
+
sed -i 's/^\("Project-Id-Version: \).*$$/\1$(DOMAIN) $(VERSION)\\n"/' $$f; \
|
48
|
+
done
|
49
|
+
|
50
|
+
tx-update: tx-pull
|
51
|
+
@echo
|
52
|
+
@echo Run rake plugin:gettext[$(DOMAIN)] from the Foreman installation, then make -C locale mo-files to finish
|
53
|
+
@echo
|
54
|
+
|
55
|
+
mo-files: $(MOFILES)
|
56
|
+
git add $(POFILES) $(POTFILE) ../locale/*/LC_MESSAGES
|
57
|
+
git commit -m "i18n - pulling from tx"
|
58
|
+
@echo
|
59
|
+
@echo Changes commited!
|
60
|
+
@echo
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# foreman_m2
|
2
|
+
#
|
3
|
+
# This file is distributed under the same license as foreman_m2.
|
4
|
+
#
|
5
|
+
#, fuzzy
|
6
|
+
msgid ""
|
7
|
+
msgstr ""
|
8
|
+
"Project-Id-Version: version 0.0.1\n"
|
9
|
+
"Report-Msgid-Bugs-To: \n"
|
10
|
+
"POT-Creation-Date: 2014-08-20 08:46+0100\n"
|
11
|
+
"PO-Revision-Date: 2014-08-20 08:54+0100\n"
|
12
|
+
"Last-Translator: Foreman Team <foreman-dev@googlegroups.com>\n"
|
13
|
+
"Language-Team: Foreman Team <foreman-dev@googlegroups.com>\n"
|
14
|
+
"Language: \n"
|
15
|
+
"MIME-Version: 1.0\n"
|
16
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
17
|
+
"Content-Transfer-Encoding: 8bit\n"
|
18
|
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
19
|
+
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# foreman_m2
|
2
|
+
#
|
3
|
+
# This file is distributed under the same license as foreman_m2.
|
4
|
+
#
|
5
|
+
#, fuzzy
|
6
|
+
msgid ""
|
7
|
+
msgstr ""
|
8
|
+
"Project-Id-Version: version 0.0.1\n"
|
9
|
+
"Report-Msgid-Bugs-To: \n"
|
10
|
+
"POT-Creation-Date: 2014-08-20 08:46+0100\n"
|
11
|
+
"PO-Revision-Date: 2014-08-20 08:46+0100\n"
|
12
|
+
"Last-Translator: Foreman Team <foreman-dev@googlegroups.com>\n"
|
13
|
+
"Language-Team: Foreman Team <foreman-dev@googlegroups.com>\n"
|
14
|
+
"Language: \n"
|
15
|
+
"MIME-Version: 1.0\n"
|
16
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
17
|
+
"Content-Transfer-Encoding: 8bit\n"
|
18
|
+
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
|
19
|
+
|
data/locale/gemspec.rb
ADDED
metadata
ADDED
@@ -0,0 +1,136 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: foreman_m2
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Ian Ballou
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2018-09-18 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rdoc
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rubocop
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: deface
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
description: M2 bare metal provisioning plugin for Foreman
|
56
|
+
email:
|
57
|
+
- iballou@redhat.com
|
58
|
+
executables: []
|
59
|
+
extensions: []
|
60
|
+
extra_rdoc_files: []
|
61
|
+
files:
|
62
|
+
- LICENSE
|
63
|
+
- README.md
|
64
|
+
- Rakefile
|
65
|
+
- app/controllers/foreman_m2/hosts_controller.rb
|
66
|
+
- app/helpers/concerns/foreman_m2/hosts_helper_extensions.rb
|
67
|
+
- app/helpers/concerns/foreman_m2/images_helper_extensions.rb
|
68
|
+
- app/lib/proxy_api/m2.rb
|
69
|
+
- app/models/concerns/foreman_m2/compute_resource_extensions.rb
|
70
|
+
- app/models/concerns/foreman_m2/host_extensions.rb
|
71
|
+
- app/models/concerns/foreman_m2/host_orchestration_extensions.rb
|
72
|
+
- app/models/concerns/foreman_m2/nic_extensions.rb
|
73
|
+
- app/models/concerns/foreman_m2/nic_orchestration_extensions.rb
|
74
|
+
- app/models/foreman_m2/m2.rb
|
75
|
+
- app/overrides/give_ids.rb
|
76
|
+
- app/overrides/hybrid_js.rb
|
77
|
+
- app/overrides/update_media_selection.rb
|
78
|
+
- app/views/compute_resources/edit/_m2.html.erb
|
79
|
+
- app/views/compute_resources/form/_m2.html.erb
|
80
|
+
- app/views/compute_resources/show/_m2.html.erb
|
81
|
+
- app/views/compute_resources_vms/form/m2/_base.html.erb
|
82
|
+
- app/views/dashboard/_foreman_m2_widget.erb
|
83
|
+
- app/views/foreman_m2/hosts/hosts/new_action.html.erb
|
84
|
+
- app/views/foreman_m2/hosts/new_action.html.erb
|
85
|
+
- app/views/foreman_m2/layouts/layouts/new_layout.html.erb
|
86
|
+
- app/views/foreman_m2/layouts/new_layout.html.erb
|
87
|
+
- app/views/hosts/provisioning_method/hybrid/_form.html.erb
|
88
|
+
- app/views/images/form/_m2.html.erb
|
89
|
+
- app/views/overrides/host_creation/_add_bm_div.html.erb
|
90
|
+
- app/views/overrides/host_creation/_add_hybrid_js.html.erb
|
91
|
+
- app/views/overrides/host_creation/_add_ptable_div.html.erb
|
92
|
+
- app/views/overrides/image_selection/_host_media_type_select.html.erb
|
93
|
+
- app/views/unattended/provisioning_templates/PXELinux/m2_default_pxelinux.erb
|
94
|
+
- app/views/unattended/provisioning_templates/iPXE/m2_default_ipxe.erb
|
95
|
+
- config/routes.rb
|
96
|
+
- db/seeds.d/071-m2_prov_templates.rb
|
97
|
+
- db/seeds.d/111-m2_sp_features.rb
|
98
|
+
- lib/foreman_m2.rb
|
99
|
+
- lib/foreman_m2/engine.rb
|
100
|
+
- lib/foreman_m2/version.rb
|
101
|
+
- lib/tasks/foreman_m2_tasks.rake
|
102
|
+
- locale/Makefile
|
103
|
+
- locale/en/foreman_m2.po
|
104
|
+
- locale/foreman_m2.pot
|
105
|
+
- locale/gemspec.rb
|
106
|
+
- test/factories/foreman_m2_factories.rb
|
107
|
+
- test/test_plugin_helper.rb
|
108
|
+
- test/unit/foreman_m2_test.rb
|
109
|
+
homepage: https://github.com/ianballou/foreman_m2
|
110
|
+
licenses:
|
111
|
+
- GPL-3.0
|
112
|
+
metadata: {}
|
113
|
+
post_install_message:
|
114
|
+
rdoc_options: []
|
115
|
+
require_paths:
|
116
|
+
- lib
|
117
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
118
|
+
requirements:
|
119
|
+
- - ">="
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: '0'
|
122
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
|
+
requirements:
|
124
|
+
- - ">="
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '0'
|
127
|
+
requirements: []
|
128
|
+
rubyforge_project:
|
129
|
+
rubygems_version: 2.6.14
|
130
|
+
signing_key:
|
131
|
+
specification_version: 4
|
132
|
+
summary: M2 bare metal provisioning plugin for Foreman
|
133
|
+
test_files:
|
134
|
+
- test/test_plugin_helper.rb
|
135
|
+
- test/unit/foreman_m2_test.rb
|
136
|
+
- test/factories/foreman_m2_factories.rb
|