foreman_bootdisk 19.0.2 → 19.0.5

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.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/app/lib/foreman_bootdisk/scope/bootdisk.rb +2 -2
  3. data/app/models/concerns/foreman_bootdisk/host_ext.rb +2 -2
  4. data/app/models/setting/bootdisk.rb +1 -25
  5. data/app/services/foreman_bootdisk/iso_generator.rb +1 -2
  6. data/app/views/foreman_bootdisk/generic_efi_host.erb +8 -0
  7. data/app/views/foreman_bootdisk/generic_host.erb +14 -9
  8. data/app/views/foreman_bootdisk/generic_static_host.erb +9 -4
  9. data/app/views/foreman_bootdisk/host.erb +9 -4
  10. data/db/migrate/20140522185700_change_templatekind_to_bootdisk.rb +3 -4
  11. data/lib/foreman_bootdisk/engine.rb +77 -12
  12. data/lib/foreman_bootdisk/version.rb +1 -1
  13. metadata +2 -30
  14. data/locale/ca/foreman_bootdisk.edit.po +0 -393
  15. data/locale/ca/foreman_bootdisk.po.time_stamp +0 -0
  16. data/locale/de/foreman_bootdisk.edit.po +0 -398
  17. data/locale/de/foreman_bootdisk.po.time_stamp +0 -0
  18. data/locale/en/foreman_bootdisk.edit.po +0 -388
  19. data/locale/en/foreman_bootdisk.po.time_stamp +0 -0
  20. data/locale/en_GB/foreman_bootdisk.edit.po +0 -394
  21. data/locale/en_GB/foreman_bootdisk.po.time_stamp +0 -0
  22. data/locale/es/foreman_bootdisk.edit.po +0 -394
  23. data/locale/es/foreman_bootdisk.po.time_stamp +0 -0
  24. data/locale/fr/foreman_bootdisk.edit.po +0 -394
  25. data/locale/fr/foreman_bootdisk.po.time_stamp +0 -0
  26. data/locale/it/foreman_bootdisk.edit.po +0 -391
  27. data/locale/it/foreman_bootdisk.po.time_stamp +0 -0
  28. data/locale/ja/foreman_bootdisk.edit.po +0 -393
  29. data/locale/ja/foreman_bootdisk.po.time_stamp +0 -0
  30. data/locale/ko/foreman_bootdisk.edit.po +0 -390
  31. data/locale/ko/foreman_bootdisk.po.time_stamp +0 -0
  32. data/locale/pt_BR/foreman_bootdisk.edit.po +0 -394
  33. data/locale/pt_BR/foreman_bootdisk.po.time_stamp +0 -0
  34. data/locale/ru/foreman_bootdisk.edit.po +0 -395
  35. data/locale/ru/foreman_bootdisk.po.time_stamp +0 -0
  36. data/locale/sv_SE/foreman_bootdisk.edit.po +0 -392
  37. data/locale/sv_SE/foreman_bootdisk.po.time_stamp +0 -0
  38. data/locale/zh_CN/foreman_bootdisk.edit.po +0 -391
  39. data/locale/zh_CN/foreman_bootdisk.po.time_stamp +0 -0
  40. data/locale/zh_TW/foreman_bootdisk.edit.po +0 -391
  41. data/locale/zh_TW/foreman_bootdisk.po.time_stamp +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 288a501e1dc3e32cc0d29175e498c1f6f3c04869e51ab755b8d4c69c1aa68ef2
4
- data.tar.gz: 9180766afc55ffa712ac164688c02fe6edcf322f23c6b3f1e8dafae1e7295c4c
3
+ metadata.gz: c50d87e902b43ec4b94df5845e8f5f660663e9d9220285401e223e2e2cdf3624
4
+ data.tar.gz: 3b1092081bda0337d725ecb66ce3e2acd2ffbf2e32fd179e34f11ee3bc137b28
5
5
  SHA512:
6
- metadata.gz: 73ab12281dc578414885ab788023b80f499cb075d53c365597561d1f7c02b32cbd31234ed4cd4e73ae81a23309e2c723f603b5a7d139fed5a8dd53aca52aee0b
7
- data.tar.gz: 7e2eae93d56bc434ca4a7a845a05ff909f6b116e137b6525463acace00a9671fa4600043cbae86f92a10441031e975525dac3381cadbfb536539ce4898839a9a
6
+ metadata.gz: eaa41fe654e374bc71a02a8fd30b5b74cb50e15cded72af4375e4df943dd890f086abe973a376dc84bb5f307bd8e1c62bb5f27505176ff5299229110434b1760
7
+ data.tar.gz: 978d4631aa89857baf2a8b1e26fd19917e5118fb482f03ddfe7a3ac5b52ed78f71f85142a2d3a8a0b17eb4aebbda2e6f9b081e6fe8075c6490c32f85a4d3cd68
@@ -14,8 +14,8 @@ module ForemanBootdisk
14
14
  optional :mac, String, 'MAC address of the host', default: 'MAC address of the current host'
15
15
  optional :action, String, 'Bootloader to use', default: 'iPXE'
16
16
  returns String, desc: 'URL for boot chain'
17
- example 'bootdisk_chain_url #=> "http://foreman.some.host.fqdn/unattended/iPXE?mac=00%3A11%3A22%3A33%3A44%3A55"'
18
- example 'bootdisk_chain_url("00:11:22:33:44:55") #=> "http://foreman.some.host.fqdn/unattended/iPXE?mac=00%3A11%3A22%3A33%3A44%3A55"'
17
+ example 'bootdisk_chain_url #=> "http://foreman.example.com/unattended/iPXE?mac=00%3A11%3A22%3A33%3A44%3A55"'
18
+ example 'bootdisk_chain_url("00:11:22:33:44:55") #=> "http://foreman.example.com/unattended/iPXE?mac=00%3A11%3A22%3A33%3A44%3A55"'
19
19
  end
20
20
  def bootdisk_chain_url(mac = host.try(:mac), action = 'iPXE')
21
21
  url = foreman_url(action)
@@ -24,7 +24,7 @@ module ForemanBootdisk
24
24
  end
25
25
 
26
26
  def bootdisk?
27
- managed? && bootdisk_build? && SETTINGS[:unattended]
27
+ managed? && bootdisk_build?
28
28
  end
29
29
 
30
30
  def bootdisk_downloadable?
@@ -36,7 +36,7 @@ module ForemanBootdisk
36
36
  end
37
37
 
38
38
  def can_be_built?
39
- super || (managed? && SETTINGS[:unattended] && bootdisk_build? && !build?)
39
+ super || (managed? && bootdisk_build? && !build?)
40
40
  end
41
41
 
42
42
  apipie_update :class do
@@ -1,31 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Setting
4
- class Bootdisk < ::Setting
5
- def self.default_settings
6
- ipxe = ['/usr/lib/ipxe'].find { |p| File.exist?(p) } || '/usr/share/ipxe'
7
- isolinux = ['/usr/lib/ISOLINUX'].find { |p| File.exist?(p) } || '/usr/share/syslinux'
8
- syslinux = ['/usr/lib/syslinux/modules/bios', '/usr/lib/syslinux'].find { |p| File.exist?(p) } || '/usr/share/syslinux'
9
- grub2 = ['/var/lib/tftpboot/grub2'].find { |p| File.exist?(p) } || '/var/lib/foreman/bootdisk'
10
- templates = -> { Hash[ProvisioningTemplate.where(template_kind: TemplateKind.where(name: 'Bootdisk')).map { |temp| [temp[:name], temp[:name]] }] }
11
-
12
- [
13
- set('bootdisk_ipxe_dir', N_('Path to directory containing iPXE images'), ipxe, N_('iPXE directory')),
14
- set('bootdisk_isolinux_dir', N_('Path to directory containing isolinux images'), isolinux, N_('ISOLINUX directory')),
15
- set('bootdisk_syslinux_dir', N_('Path to directory containing syslinux images'), syslinux, N_('SYSLINUX directory')),
16
- set('bootdisk_grub2_dir', N_('Path to directory containing grubx64.efi and shimx64.efi'), grub2, N_('Grub2 directory')),
17
- set('bootdisk_host_template', N_('iPXE template to use for host-specific boot disks'),
18
- 'Boot disk iPXE - host', N_('Host image template'), nil, collection: templates),
19
- set('bootdisk_generic_host_template', N_('iPXE template to use for generic host boot disks'),
20
- 'Boot disk iPXE - generic host', N_('Generic image template'), nil, collection: templates),
21
- set('bootdisk_generic_efi_host_template', N_('Grub2 template to use for generic EFI host boot disks'),
22
- 'Boot disk Grub2 EFI - generic host', N_('Generic Grub2 EFI image template'), nil, collection: templates),
23
- set('bootdisk_mkiso_command', N_('Command to generate ISO image, use genisoimage or mkisofs'), 'genisoimage', N_('ISO generation command')),
24
- set('bootdisk_cache_media', N_('Installation media files will be cached for full host images'), true, N_('Installation media caching')),
25
- set('bootdisk_allowed_types', N_('List of allowed bootdisk types, remove type to disable it'), Setting::Bootdisk.bootdisk_types, N_('Allowed bootdisk types'))
26
- ]
27
- end
28
-
4
+ class Bootdisk
29
5
  def self.humanized_category
30
6
  N_('Boot disk')
31
7
  end
@@ -170,8 +170,7 @@ module ForemanBootdisk
170
170
  # Also we cannot rely on systemd-tmpfiles-clean as private temporary files are not subject
171
171
  # of scheduled cleanups. Let's clean bootdisks from prevous requests manually by finding
172
172
  # and deleting all directories created 30 minutes ago.
173
- delete_older_than = Time.now.to_i - (60 * 30)
174
- Rails.root.glob('tmp/bootdisk-iso-*').select { |f| File.ctime(f) < delete_older_than }.each { |f| FileUtils.rm_f(f) }
173
+ Rails.root.glob('tmp/bootdisk-iso-*').select { |f| File.ctime(f) < (Time.now.getlocal - 30.minutes) }.each { |f| FileUtils.rm_rf(f) }
175
174
  end
176
175
 
177
176
  def self.build_mkiso_command(output_file:, source_directory:, extra_commands:)
@@ -1,3 +1,11 @@
1
+ <%#
2
+ name: Boot disk Grub2 EFI - generic host
3
+ snippet: false
4
+ model: ProvisioningTemplate
5
+ kind: Bootdisk
6
+ description: |
7
+ Boot disk Grub2 EFI - generic host
8
+ -%>
1
9
  #
2
10
  # Boot disk Grub2 EFI - generic host
3
11
  #
@@ -1,13 +1,18 @@
1
+ <%#
2
+ name: Boot disk iPXE - generic host
3
+ snippet: false
4
+ model: ProvisioningTemplate
5
+ kind: Bootdisk
6
+ description: |
7
+ Example foreman_bootdisk generic host template
8
+
9
+ This template is generic, but it will chainload to Foreman so expects the
10
+ host to be registered already.
11
+
12
+ It loops through all interfaces using DHCP, requesting a template from
13
+ Foreman in the hope that one of the MACs or IPs matches.
14
+ -%>
1
15
  #!ipxe
2
- # Example foreman_bootdisk generic host template
3
- #
4
- # This template is generic, but it will chainload to Foreman so expects the
5
- # host to be registered already.
6
- #
7
- # It loops through all interfaces using DHCP, requesting a template from
8
- # Foreman in the hope that one of the MACs or IPs matches.
9
- #
10
- # Copy this template to customize it, the original is read-only.
11
16
 
12
17
  echo Foreman Bootdisk: Generic image
13
18
 
@@ -1,8 +1,13 @@
1
+ <%#
2
+ name: Boot disk iPXE - generic static host
3
+ snippet: false
4
+ model: ProvisioningTemplate
5
+ kind: Bootdisk
6
+ description: |
7
+ Generic host template with interactive static IP configuration. Tokens
8
+ must be disabled in order to access templates via MAC addresses.
9
+ -%>
1
10
  #!ipxe
2
- #
3
- # Generic host template with interactive static IP configuration. Tokens
4
- # must be disabled in order to access templates via MAC addresses.
5
- #
6
11
 
7
12
  <% (0..32).each do |i| -%>
8
13
  :net<%= i %>
@@ -1,8 +1,13 @@
1
+ <%#
2
+ name: Boot disk iPXE - host
3
+ snippet: false
4
+ model: ProvisioningTemplate
5
+ kind: Bootdisk
6
+ description: |
7
+ Example foreman_bootdisk host template
8
+ This template is rendered for use inside a host-specific boot disk.
9
+ -%>
1
10
  #!ipxe
2
- # Example foreman_bootdisk host template
3
- # This template is rendered for use inside a host-specific boot disk.
4
- #
5
- # Copy this template to customize it, the original is read-only.
6
11
 
7
12
  <%
8
13
  interface = @host.provision_interface
@@ -7,6 +7,7 @@ class ChangeTemplatekindToBootdisk < ActiveRecord::Migration[4.2]
7
7
  else
8
8
  'templates'
9
9
  end
10
+ self.inheritance_column = :_type_disabled
10
11
  end
11
12
 
12
13
  def self.up
@@ -15,10 +16,8 @@ class ChangeTemplatekindToBootdisk < ActiveRecord::Migration[4.2]
15
16
  tmpl_h = Setting.find_by(name: 'bootdisk_host_template').try(:value)
16
17
  tmpl_g = Setting.find_by(name: 'bootdisk_generic_host_template').try(:value)
17
18
 
18
- (FakeConfigTemplate.unscoped.where('name LIKE ?', '%Boot disk%') |
19
- FakeConfigTemplate.unscoped.where(name: [tmpl_h, tmpl_g].compact)).each do |tmpl|
20
- tmpl.update_attribute(:template_kind_id, kind.id)
21
- end
19
+ FakeConfigTemplate.unscoped.where('name LIKE ?', '%Boot disk%').update_all(template_kind_id: kind.id)
20
+ FakeConfigTemplate.unscoped.where(name: [tmpl_h, tmpl_g].compact).update_all(template_kind_id: kind.id)
22
21
  end
23
22
 
24
23
  def self.down
@@ -17,15 +17,6 @@ module ForemanBootdisk
17
17
  app.routes_reloader.paths << "#{ForemanBootdisk::Engine.root}/config/routes/mount_engine.rb"
18
18
  end
19
19
 
20
- initializer 'foreman_bootdisk.load_default_settings', before: :load_config_initializers do |_app|
21
- table_exists = begin
22
- Setting.table_exists?
23
- rescue StandardError
24
- false
25
- end
26
- require_dependency File.expand_path('../../app/models/setting/bootdisk.rb', __dir__) if table_exists
27
- end
28
-
29
20
  initializer 'foreman_bootdisk.load_app_instance_data' do |app|
30
21
  ForemanBootdisk::Engine.paths['db/migrate'].existent.each do |path|
31
22
  app.config.paths['db/migrate'] << path
@@ -38,7 +29,7 @@ module ForemanBootdisk
38
29
 
39
30
  initializer 'foreman_bootdisk.register_plugin', before: :finisher_hook do |_app|
40
31
  Foreman::Plugin.register :foreman_bootdisk do
41
- requires_foreman '>= 3.1'
32
+ requires_foreman '>= 3.3'
42
33
  # Add Global files for extending foreman-core components and routes
43
34
  register_global_js_file 'global'
44
35
 
@@ -50,7 +41,6 @@ module ForemanBootdisk
50
41
  end
51
42
 
52
43
  role 'Boot disk access', [:download_bootdisk], 'Role granting permissions to download bootdisks'
53
-
54
44
  add_all_permissions_to_default_roles
55
45
 
56
46
  apipie_documented_controllers ["#{ForemanBootdisk::Engine.root}/app/controllers/foreman_bootdisk/api/v2/*.rb"]
@@ -65,6 +55,81 @@ module ForemanBootdisk
65
55
  cx.add_pagelet :subnet_index_action_buttons, name: 'Bootdisk', partial: 'subnets/bootdisk_action_buttons'
66
56
  cx.add_pagelet :subnet_index_title_buttons, name: 'Bootdisk', partial: 'subnets/bootdisk_title_buttons'
67
57
  end
58
+
59
+ settings do
60
+ category :bootdisk, N_("Boot disk") do
61
+ ipxe = ['/usr/lib/ipxe'].find { |p| File.exist?(p) } || '/usr/share/ipxe'
62
+ isolinux = ['/usr/lib/ISOLINUX'].find { |p| File.exist?(p) } || '/usr/share/syslinux'
63
+ syslinux = ['/usr/lib/syslinux/modules/bios', '/usr/lib/syslinux'].find { |p| File.exist?(p) } || '/usr/share/syslinux'
64
+ grub2 = ['/var/lib/tftpboot/grub2'].find { |p| File.exist?(p) } || '/var/lib/foreman/bootdisk'
65
+ templates = -> {
66
+ Hash[ProvisioningTemplate.where(template_kind: TemplateKind.where(name: 'Bootdisk')).map { |temp| [temp[:name], temp[:name]] }]
67
+ }
68
+
69
+ setting "bootdisk_ipxe_dir",
70
+ type: :string,
71
+ default: ipxe,
72
+ full_name: N_("iPXE directory"),
73
+ description: N_("Path to directory containing iPXE images")
74
+
75
+ setting "bootdisk_isolinux_dir",
76
+ type: :string,
77
+ default: isolinux,
78
+ full_name: N_("ISOLINUX directory"),
79
+ description: N_("Path to directory containing isolinux images")
80
+
81
+ setting "bootdisk_syslinux_dir",
82
+ type: :string,
83
+ default: syslinux,
84
+ full_name: N_("SYSLINUX directory"),
85
+ description: N_("Path to directory containing syslinux images")
86
+
87
+ setting "bootdisk_grub2_dir",
88
+ type: :string,
89
+ default: grub2,
90
+ full_name: N_("Grub2 directory"),
91
+ description: N_("Path to directory containing grubx64.efi and shimx64.efi")
92
+
93
+ setting "bootdisk_host_template",
94
+ type: :string,
95
+ collection: templates,
96
+ default: "Boot disk iPXE - host",
97
+ full_name: N_("Host image template"),
98
+ description: N_("iPXE template to use for host-specific boot disks")
99
+
100
+ setting "bootdisk_generic_host_template",
101
+ type: :string,
102
+ collection: templates,
103
+ default: "Boot disk iPXE - generic host",
104
+ full_name: N_("Generic image template"),
105
+ description: N_("iPXE template to use for generic host boot disks")
106
+
107
+ setting "bootdisk_generic_efi_host_template",
108
+ type: :string,
109
+ collection: templates,
110
+ default: "Boot disk Grub2 EFI - generic host",
111
+ full_name: N_("Generic Grub2 EFI image template"),
112
+ description: N_("iPXE template to use for generic EFI host boot disks")
113
+
114
+ setting "bootdisk_mkiso_command",
115
+ type: :string,
116
+ default: "genisoimage",
117
+ full_name: N_("ISO generation command"),
118
+ description: N_("Command to generate ISO image, use genisoimage or mkisofs")
119
+
120
+ setting "bootdisk_cache_media",
121
+ type: :boolean,
122
+ default: true,
123
+ full_name: N_("Installation media caching"),
124
+ description: N_("Installation media files will be cached for full host images")
125
+
126
+ setting "bootdisk_allowed_types",
127
+ type: :string,
128
+ default: Setting::Bootdisk.bootdisk_types,
129
+ full_name: N_("Allowed bootdisk types"),
130
+ description: N_("List of allowed bootdisk types, remove type to disable it")
131
+ end
132
+ end
68
133
  end
69
134
  end
70
135
 
@@ -77,7 +142,7 @@ module ForemanBootdisk
77
142
  config.to_prepare do
78
143
  begin
79
144
  Host::Managed.prepend ForemanBootdisk::HostExt
80
- Host::Managed.include ForemanBootdisk::Orchestration::Compute if SETTINGS[:unattended]
145
+ Host::Managed.include ForemanBootdisk::Orchestration::Compute
81
146
  HostsHelper.prepend ForemanBootdisk::HostsHelperExt
82
147
  SubnetsHelper.prepend ForemanBootdisk::SubnetsHelperExt
83
148
  Foreman::Model::Vmware.prepend ForemanBootdisk::ComputeResources::Vmware if Foreman::Model::Vmware.available?
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ForemanBootdisk
4
- VERSION = '19.0.2'
4
+ VERSION = '19.0.5'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_bootdisk
3
3
  version: !ruby/object:Gem::Version
4
- version: 19.0.2
4
+ version: 19.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dominic Cleal
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-14 00:00:00.000000000 Z
11
+ date: 2022-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: theforeman-rubocop
@@ -96,64 +96,36 @@ files:
96
96
  - locale/Makefile
97
97
  - locale/action_names.rb
98
98
  - locale/ca/LC_MESSAGES/foreman_bootdisk.mo
99
- - locale/ca/foreman_bootdisk.edit.po
100
99
  - locale/ca/foreman_bootdisk.po
101
- - locale/ca/foreman_bootdisk.po.time_stamp
102
100
  - locale/de/LC_MESSAGES/foreman_bootdisk.mo
103
- - locale/de/foreman_bootdisk.edit.po
104
101
  - locale/de/foreman_bootdisk.po
105
- - locale/de/foreman_bootdisk.po.time_stamp
106
102
  - locale/en/LC_MESSAGES/foreman_bootdisk.mo
107
- - locale/en/foreman_bootdisk.edit.po
108
103
  - locale/en/foreman_bootdisk.po
109
- - locale/en/foreman_bootdisk.po.time_stamp
110
104
  - locale/en_GB/LC_MESSAGES/foreman_bootdisk.mo
111
- - locale/en_GB/foreman_bootdisk.edit.po
112
105
  - locale/en_GB/foreman_bootdisk.po
113
- - locale/en_GB/foreman_bootdisk.po.time_stamp
114
106
  - locale/es/LC_MESSAGES/foreman_bootdisk.mo
115
- - locale/es/foreman_bootdisk.edit.po
116
107
  - locale/es/foreman_bootdisk.po
117
- - locale/es/foreman_bootdisk.po.time_stamp
118
108
  - locale/foreman_bootdisk.pot
119
109
  - locale/fr/LC_MESSAGES/foreman_bootdisk.mo
120
- - locale/fr/foreman_bootdisk.edit.po
121
110
  - locale/fr/foreman_bootdisk.po
122
- - locale/fr/foreman_bootdisk.po.time_stamp
123
111
  - locale/gemspec.rb
124
112
  - locale/it/LC_MESSAGES/foreman_bootdisk.mo
125
- - locale/it/foreman_bootdisk.edit.po
126
113
  - locale/it/foreman_bootdisk.po
127
- - locale/it/foreman_bootdisk.po.time_stamp
128
114
  - locale/ja/LC_MESSAGES/foreman_bootdisk.mo
129
- - locale/ja/foreman_bootdisk.edit.po
130
115
  - locale/ja/foreman_bootdisk.po
131
- - locale/ja/foreman_bootdisk.po.time_stamp
132
116
  - locale/ko/LC_MESSAGES/foreman_bootdisk.mo
133
- - locale/ko/foreman_bootdisk.edit.po
134
117
  - locale/ko/foreman_bootdisk.po
135
- - locale/ko/foreman_bootdisk.po.time_stamp
136
118
  - locale/pt_BR/LC_MESSAGES/foreman_bootdisk.mo
137
- - locale/pt_BR/foreman_bootdisk.edit.po
138
119
  - locale/pt_BR/foreman_bootdisk.po
139
- - locale/pt_BR/foreman_bootdisk.po.time_stamp
140
120
  - locale/ru/LC_MESSAGES/foreman_bootdisk.mo
141
- - locale/ru/foreman_bootdisk.edit.po
142
121
  - locale/ru/foreman_bootdisk.po
143
- - locale/ru/foreman_bootdisk.po.time_stamp
144
122
  - locale/sv_SE/LC_MESSAGES/foreman_bootdisk.mo
145
- - locale/sv_SE/foreman_bootdisk.edit.po
146
123
  - locale/sv_SE/foreman_bootdisk.po
147
- - locale/sv_SE/foreman_bootdisk.po.time_stamp
148
124
  - locale/zanata.xml
149
125
  - locale/zh_CN/LC_MESSAGES/foreman_bootdisk.mo
150
- - locale/zh_CN/foreman_bootdisk.edit.po
151
126
  - locale/zh_CN/foreman_bootdisk.po
152
- - locale/zh_CN/foreman_bootdisk.po.time_stamp
153
127
  - locale/zh_TW/LC_MESSAGES/foreman_bootdisk.mo
154
- - locale/zh_TW/foreman_bootdisk.edit.po
155
128
  - locale/zh_TW/foreman_bootdisk.po
156
- - locale/zh_TW/foreman_bootdisk.po.time_stamp
157
129
  - package.json
158
130
  - webpack/__mocks__/foremanReact/common/HOC.js
159
131
  - webpack/__mocks__/foremanReact/common/I18n.js