foreman_remote_execution 13.0.0 → 13.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/.eslintrc +4 -1
  3. data/.github/workflows/release.yml +4 -2
  4. data/app/assets/javascripts/foreman_remote_execution/locale/de/foreman_remote_execution.js +1000 -973
  5. data/app/assets/javascripts/foreman_remote_execution/locale/en/foreman_remote_execution.js +553 -526
  6. data/app/assets/javascripts/foreman_remote_execution/locale/en_GB/foreman_remote_execution.js +584 -557
  7. data/app/assets/javascripts/foreman_remote_execution/locale/es/foreman_remote_execution.js +1043 -1016
  8. data/app/assets/javascripts/foreman_remote_execution/locale/fr/foreman_remote_execution.js +1047 -1020
  9. data/app/assets/javascripts/foreman_remote_execution/locale/ja/foreman_remote_execution.js +1041 -1014
  10. data/app/assets/javascripts/foreman_remote_execution/locale/ka/foreman_remote_execution.js +1015 -988
  11. data/app/assets/javascripts/foreman_remote_execution/locale/ko/foreman_remote_execution.js +886 -859
  12. data/app/assets/javascripts/foreman_remote_execution/locale/pt_BR/foreman_remote_execution.js +1047 -1020
  13. data/app/assets/javascripts/foreman_remote_execution/locale/ru/foreman_remote_execution.js +901 -874
  14. data/app/assets/javascripts/foreman_remote_execution/locale/zh_CN/foreman_remote_execution.js +1041 -1014
  15. data/app/assets/javascripts/foreman_remote_execution/locale/zh_TW/foreman_remote_execution.js +886 -859
  16. data/app/lib/actions/remote_execution/run_host_job.rb +0 -14
  17. data/app/models/concerns/foreman_remote_execution/host_extensions.rb +8 -0
  18. data/app/models/job_invocation_composer.rb +4 -3
  19. data/app/views/api/v2/job_invocations/base.json.rabl +5 -3
  20. data/app/views/templates/script/convert2rhel_analyze.erb +1 -12
  21. data/app/views/templates/script/package_action.erb +15 -2
  22. data/app/views/templates/script/puppet_run_once.erb +3 -3
  23. data/lib/foreman_remote_execution/version.rb +1 -1
  24. data/locale/de/foreman_remote_execution.po +27 -0
  25. data/locale/en/foreman_remote_execution.po +27 -0
  26. data/locale/en_GB/foreman_remote_execution.po +27 -0
  27. data/locale/es/foreman_remote_execution.po +27 -0
  28. data/locale/foreman_remote_execution.pot +177 -141
  29. data/locale/fr/foreman_remote_execution.po +27 -0
  30. data/locale/ja/foreman_remote_execution.po +27 -0
  31. data/locale/ka/foreman_remote_execution.po +27 -0
  32. data/locale/ko/foreman_remote_execution.po +27 -0
  33. data/locale/pt_BR/foreman_remote_execution.po +27 -0
  34. data/locale/ru/foreman_remote_execution.po +27 -0
  35. data/locale/zh_CN/foreman_remote_execution.po +27 -0
  36. data/locale/zh_TW/foreman_remote_execution.po +27 -0
  37. data/package.json +6 -6
  38. data/test/unit/job_invocation_composer_test.rb +31 -3
  39. data/webpack/JobInvocationDetail/JobInvocationConstants.js +10 -0
  40. data/webpack/JobInvocationDetail/JobInvocationDetail.scss +38 -0
  41. data/webpack/JobInvocationDetail/JobInvocationOverview.js +13 -25
  42. data/webpack/JobInvocationDetail/JobInvocationSystemStatusChart.js +153 -0
  43. data/webpack/JobInvocationDetail/index.js +48 -10
  44. data/webpack/JobWizard/Footer.js +5 -1
  45. data/webpack/JobWizard/JobWizardPageRerun.js +4 -1
  46. data/webpack/JobWizard/StartsBeforeErrorAlert.js +1 -0
  47. data/webpack/JobWizard/index.js +1 -0
  48. data/webpack/JobWizard/steps/AdvancedFields/DescriptionField.js +8 -1
  49. data/webpack/JobWizard/steps/AdvancedFields/Fields.js +7 -0
  50. data/webpack/JobWizard/steps/CategoryAndTemplate/CategoryAndTemplate.js +16 -3
  51. data/webpack/JobWizard/steps/HostsAndInputs/HostPreviewModal.js +11 -5
  52. data/webpack/JobWizard/steps/HostsAndInputs/SelectedChips.js +8 -1
  53. data/webpack/JobWizard/steps/HostsAndInputs/index.js +7 -2
  54. data/webpack/JobWizard/steps/ReviewDetails/index.js +4 -0
  55. data/webpack/JobWizard/steps/Schedule/PurposeField.js +1 -0
  56. data/webpack/JobWizard/steps/Schedule/QueryType.js +2 -0
  57. data/webpack/JobWizard/steps/Schedule/RepeatCron.js +1 -0
  58. data/webpack/JobWizard/steps/Schedule/RepeatHour.js +2 -0
  59. data/webpack/JobWizard/steps/Schedule/RepeatMonth.js +1 -0
  60. data/webpack/JobWizard/steps/Schedule/RepeatWeek.js +1 -0
  61. data/webpack/JobWizard/steps/Schedule/ScheduleFuture.js +2 -0
  62. data/webpack/JobWizard/steps/Schedule/ScheduleRecurring.js +6 -0
  63. data/webpack/JobWizard/steps/Schedule/ScheduleType.js +3 -0
  64. data/webpack/JobWizard/steps/form/FormHelpers.js +1 -0
  65. data/webpack/JobWizard/steps/form/GroupedSelectField.js +1 -0
  66. data/webpack/JobWizard/steps/form/NumberInput.js +1 -0
  67. data/webpack/JobWizard/steps/form/ResourceSelect.js +1 -0
  68. data/webpack/JobWizard/steps/form/SearchSelect.js +1 -0
  69. data/webpack/JobWizard/steps/form/SelectField.js +1 -0
  70. data/webpack/JobWizard/steps/form/WizardTitle.js +6 -1
  71. data/webpack/__mocks__/foremanReact/Root/Context/ForemanContext/index.js +2 -0
  72. data/webpack/__mocks__/foremanReact/routes/Hosts/constants.js +1 -0
  73. data/webpack/react_app/components/FeaturesDropdown/index.js +1 -0
  74. data/webpack/react_app/components/RecentJobsCard/RecentJobsCard.js +3 -0
  75. data/webpack/react_app/components/RecentJobsCard/RecentJobsTable.js +2 -1
  76. data/webpack/react_app/components/RegistrationExtension/RexInterface.js +1 -0
  77. data/webpack/react_app/components/RegistrationExtension/RexPull.js +1 -0
  78. data/webpack/react_app/components/RegistrationExtension/__tests__/__snapshots__/RexInterface.test.js.snap +1 -0
  79. metadata +9 -6
@@ -204,20 +204,6 @@ module Actions
204
204
  host.refresh_global_status!
205
205
  end
206
206
 
207
- def delegated_output
208
- if input[:delegated_action_id]
209
- super
210
- elsif phase?(Present)
211
- # for compatibility with old actions
212
- old_action = all_planned_actions.first
213
- if old_action
214
- old_action.output.fetch('proxy_output', {})
215
- else
216
- {}
217
- end
218
- end
219
- end
220
-
221
207
  def verify_permissions(host, template_invocation)
222
208
  raise _('User can not execute job on host %s') % host.name unless User.current.can?(:view_hosts, host)
223
209
  raise _('User can not execute this job template') unless User.current.can?(:view_job_templates, template_invocation.template)
@@ -152,3 +152,11 @@ module ForemanRemoteExecution
152
152
  end
153
153
  end
154
154
  end
155
+
156
+ module Host
157
+ class Managed
158
+ class Jail < Safemode::Jail
159
+ allow :execution_interface
160
+ end
161
+ end
162
+ end
@@ -569,9 +569,10 @@ class JobInvocationComposer
569
569
  # builds input values for a given templates id based on params
570
570
  # omits inputs that belongs to unavailable templates
571
571
  def build_input_values_for(template_invocation, job_template_base)
572
- template_invocation.input_values = job_template_base.fetch('input_values', {}).map do |attributes|
573
- input = template_invocation.template.template_inputs_with_foreign.find { |i| i.id.to_s == attributes[:template_input_id].to_s }
574
- input ? input.template_invocation_input_values.build(attributes) : nil
572
+ template_invocation.input_values = template_invocation.template.template_inputs_with_foreign.map do |input|
573
+ attributes = job_template_base.fetch('input_values', {}).find { |i| i[:template_input_id].to_s == input.id.to_s }
574
+ attributes = { "template_input_id" => input.id, "value" => input.default } if attributes.nil? && input.default
575
+ attributes ? input.template_invocation_input_values.build(attributes) : nil
575
576
  end.compact
576
577
  template_invocation.provider_input_values.build job_template_base.fetch('provider_input_values', [])
577
578
  end
@@ -8,11 +8,13 @@ node do |invocation|
8
8
  :template_id => pattern_template&.template_id,
9
9
  :template_name => pattern_template&.template_name,
10
10
  :effective_user => pattern_template&.effective_user,
11
- :succeeded => invocation_count(invocation, :output_key => :success_count),
12
- :failed => invocation_count(invocation, :output_key => :failed_count),
13
- :pending => invocation_count(invocation, :output_key => :pending_count),
11
+ :succeeded => invocation.progress_report[:success],
12
+ :failed => invocation.progress_report[:error],
13
+ :pending => invocation.progress_report[:pending],
14
+ :cancelled => invocation.progress_report[:cancelled],
14
15
  :total => invocation_count(invocation, :output_key => :total_count),
15
16
  :missing => invocation.missing_hosts_count,
17
+ :total_hosts => invocation.total_hosts_count,
16
18
  }
17
19
  end
18
20
 
@@ -1,15 +1,6 @@
1
1
  <%#
2
2
  name: Convert2RHEL analyze
3
3
  snippet: false
4
- template_inputs:
5
- - name: Data telemetry
6
- required: false
7
- input_type: user
8
- options: "yes\r\nno"
9
- advanced: false
10
- value_type: plain
11
- default: 'yes'
12
- hidden_value: false
13
4
  model: JobTemplate
14
5
  job_category: Convert 2 RHEL
15
6
  provider_type: script
@@ -25,9 +16,7 @@ if ! rpm -q convert2rhel &> /dev/null; then
25
16
  yum install -y convert2rhel
26
17
  fi
27
18
 
28
- <% if input('Data telemetry') != "yes" -%>
29
- export CONVERT2RHEL_DISABLE_TELEMETRY=1
30
- <% end -%>
19
+ export CONVERT2RHEL_THROUGH_FOREMAN=1
31
20
 
32
21
  /usr/bin/convert2rhel analyze -y
33
22
 
@@ -66,6 +66,7 @@ exit_with_message () {
66
66
  <% if package_manager == 'zypper' -%>
67
67
  handle_zypp_res_codes () {
68
68
  RETVAL=$1
69
+ ACTION=$2
69
70
 
70
71
  # See https://github.com/openSUSE/zypper/blob/master/src/main.h
71
72
  declare -A ZYPP_RES_CODES
@@ -83,6 +84,8 @@ handle_zypp_res_codes () {
83
84
  fi
84
85
  if [[ $RETVAL -ge 100 && $RETVAL -le 103 ]]; then
85
86
  RETVAL=0
87
+ elif [ "$ACTION" = "remove" ] && [ "$RETVAL" -eq 104 ]; then
88
+ RETVAL=0
86
89
  fi
87
90
 
88
91
  return $RETVAL
@@ -115,9 +118,19 @@ handle_zypp_res_codes () {
115
118
  end
116
119
  end
117
120
  -%>
121
+ OUTFILE=$(mktemp)
122
+ trap "rm -f $OUTFILE" EXIT
123
+ set -o pipefail
118
124
  export DEBIAN_FRONTEND=noninteractive
119
125
  apt-get -y update
120
- apt-get -o APT::Get::Upgrade-Allow-New="true" -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" -y <%= input("options") %> <%= action %> <%= input("package") %>
126
+ LANG=C apt-get -o APT::Get::Upgrade-Allow-New="true" -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" -y <%= input("options") %> <%= action %> <%= input("package") %> 2>&1 | tee $OUTFILE
127
+ RETVAL=$?
128
+ if grep -q "Unable to locate" $OUTFILE && [ "$action" = "remove" ]; then
129
+ true
130
+ else
131
+ setReturnValue() { RETVAL=$1; return $RETVAL; }
132
+ setReturnValue $RETVAL
133
+ fi
121
134
  <% elsif package_manager == 'zypper' -%>
122
135
  <%-
123
136
  if action == "group install"
@@ -128,7 +141,7 @@ handle_zypp_res_codes () {
128
141
  -%>
129
142
  zypper refresh
130
143
  zypper -n <%= action %> <%= input("options") %> <%= input("package") %>
131
- handle_zypp_res_codes $?
144
+ handle_zypp_res_codes $? $action
132
145
  <% end -%>
133
146
  RETVAL=$?
134
147
  [ $RETVAL -eq 0 ] || exit_with_message "Package action failed" $RETVAL
@@ -12,7 +12,7 @@ template_inputs:
12
12
  required: false
13
13
  feature: puppet_run_host
14
14
  %>
15
- <% if @host.operatingsystem.family == 'Debian' -%>
16
- export PATH=/opt/puppetlabs/bin:$PATH
17
- <% end -%>
15
+ if [ -f /etc/profile.d/puppet-agent.sh ]; then
16
+ . /etc/profile.d/puppet-agent.sh
17
+ fi
18
18
  puppet agent --onetime --no-usecacheonfailure --no-daemonize <%= input("puppet_options") %>
@@ -1,3 +1,3 @@
1
1
  module ForemanRemoteExecution
2
- VERSION = '13.0.0'.freeze
2
+ VERSION = '13.1.1'.freeze
3
3
  end
@@ -22,6 +22,9 @@ msgstr ""
22
22
  "Language: de\n"
23
23
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
24
24
 
25
+ msgid "${d.title} ${d.count} hosts"
26
+ msgstr ""
27
+
25
28
  msgid "%s"
26
29
  msgstr "%s"
27
30
 
@@ -156,6 +159,9 @@ msgstr "Job abbrechen"
156
159
  msgid "Cancel job invocation"
157
160
  msgstr "Job-Aufruf abbrechen"
158
161
 
162
+ msgid "Canceled:"
163
+ msgstr ""
164
+
159
165
  msgid "Cancelled"
160
166
  msgstr "Abgebrochen"
161
167
 
@@ -441,6 +447,9 @@ msgstr ""
441
447
  msgid "Failed rendering template: %s"
442
448
  msgstr "Rendern der Vorlage fehlgeschlagen: %s"
443
449
 
450
+ msgid "Failed:"
451
+ msgstr ""
452
+
444
453
  msgid "Fallback to Any Proxy"
445
454
  msgstr "Fallback auf einen beliebigen Proxy"
446
455
 
@@ -543,6 +552,9 @@ msgstr "Import"
543
552
  msgid "Import a job template from ERB"
544
553
  msgstr "Job-Vorlage aus ERB importieren"
545
554
 
555
+ msgid "In Progress:"
556
+ msgstr ""
557
+
546
558
  msgid "Include all inputs from the foreign template"
547
559
  msgstr "Alle Eingaben aus Fremdvorlage einschließen"
548
560
 
@@ -1040,12 +1052,18 @@ msgstr ""
1040
1052
  msgid "Scheduled"
1041
1053
  msgstr "Geplant"
1042
1054
 
1055
+ msgid "Scheduled at:"
1056
+ msgstr ""
1057
+
1043
1058
  msgid "Scheduled to start at"
1044
1059
  msgstr "Geplanter Start um"
1045
1060
 
1046
1061
  msgid "Scheduled to start before"
1047
1062
  msgstr "Geplanter Start vor"
1048
1063
 
1064
+ msgid "Scheduled: ${totalHosts} hosts"
1065
+ msgstr ""
1066
+
1049
1067
  msgid "Script"
1050
1068
  msgstr "Skript"
1051
1069
 
@@ -1190,6 +1208,9 @@ msgstr ""
1190
1208
  msgid "Succeeded"
1191
1209
  msgstr "Erfolgreich"
1192
1210
 
1211
+ msgid "Succeeded:"
1212
+ msgstr ""
1213
+
1193
1214
  msgid "Success"
1194
1215
  msgstr "Erfolg"
1195
1216
 
@@ -1199,6 +1220,12 @@ msgstr ""
1199
1220
  msgid "Sync Job Templates"
1200
1221
  msgstr "Synchronisations Job-Vorlage"
1201
1222
 
1223
+ msgid "System status"
1224
+ msgstr ""
1225
+
1226
+ msgid "Systems"
1227
+ msgstr ""
1228
+
1202
1229
  msgid "Target hosts"
1203
1230
  msgstr "Zielhosts"
1204
1231
 
@@ -17,6 +17,9 @@ msgstr ""
17
17
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
18
18
  "\n"
19
19
 
20
+ msgid "${d.title} ${d.count} hosts"
21
+ msgstr ""
22
+
20
23
  msgid "%s"
21
24
  msgstr ""
22
25
 
@@ -151,6 +154,9 @@ msgstr ""
151
154
  msgid "Cancel job invocation"
152
155
  msgstr ""
153
156
 
157
+ msgid "Canceled:"
158
+ msgstr ""
159
+
154
160
  msgid "Cancelled"
155
161
  msgstr ""
156
162
 
@@ -436,6 +442,9 @@ msgstr ""
436
442
  msgid "Failed rendering template: %s"
437
443
  msgstr ""
438
444
 
445
+ msgid "Failed:"
446
+ msgstr ""
447
+
439
448
  msgid "Fallback to Any Proxy"
440
449
  msgstr ""
441
450
 
@@ -538,6 +547,9 @@ msgstr ""
538
547
  msgid "Import a job template from ERB"
539
548
  msgstr ""
540
549
 
550
+ msgid "In Progress:"
551
+ msgstr ""
552
+
541
553
  msgid "Include all inputs from the foreign template"
542
554
  msgstr ""
543
555
 
@@ -1033,12 +1045,18 @@ msgstr ""
1033
1045
  msgid "Scheduled"
1034
1046
  msgstr ""
1035
1047
 
1048
+ msgid "Scheduled at:"
1049
+ msgstr ""
1050
+
1036
1051
  msgid "Scheduled to start at"
1037
1052
  msgstr ""
1038
1053
 
1039
1054
  msgid "Scheduled to start before"
1040
1055
  msgstr ""
1041
1056
 
1057
+ msgid "Scheduled: ${totalHosts} hosts"
1058
+ msgstr ""
1059
+
1042
1060
  msgid "Script"
1043
1061
  msgstr ""
1044
1062
 
@@ -1183,6 +1201,9 @@ msgstr ""
1183
1201
  msgid "Succeeded"
1184
1202
  msgstr ""
1185
1203
 
1204
+ msgid "Succeeded:"
1205
+ msgstr ""
1206
+
1186
1207
  msgid "Success"
1187
1208
  msgstr ""
1188
1209
 
@@ -1192,6 +1213,12 @@ msgstr ""
1192
1213
  msgid "Sync Job Templates"
1193
1214
  msgstr ""
1194
1215
 
1216
+ msgid "System status"
1217
+ msgstr ""
1218
+
1219
+ msgid "Systems"
1220
+ msgstr ""
1221
+
1195
1222
  msgid "Target hosts"
1196
1223
  msgstr ""
1197
1224
 
@@ -18,6 +18,9 @@ msgstr ""
18
18
  "Language: en_GB\n"
19
19
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
20
20
 
21
+ msgid "${d.title} ${d.count} hosts"
22
+ msgstr ""
23
+
21
24
  msgid "%s"
22
25
  msgstr ""
23
26
 
@@ -152,6 +155,9 @@ msgstr ""
152
155
  msgid "Cancel job invocation"
153
156
  msgstr ""
154
157
 
158
+ msgid "Canceled:"
159
+ msgstr ""
160
+
155
161
  msgid "Cancelled"
156
162
  msgstr ""
157
163
 
@@ -437,6 +443,9 @@ msgstr ""
437
443
  msgid "Failed rendering template: %s"
438
444
  msgstr ""
439
445
 
446
+ msgid "Failed:"
447
+ msgstr ""
448
+
440
449
  msgid "Fallback to Any Proxy"
441
450
  msgstr ""
442
451
 
@@ -539,6 +548,9 @@ msgstr ""
539
548
  msgid "Import a job template from ERB"
540
549
  msgstr ""
541
550
 
551
+ msgid "In Progress:"
552
+ msgstr ""
553
+
542
554
  msgid "Include all inputs from the foreign template"
543
555
  msgstr ""
544
556
 
@@ -1034,12 +1046,18 @@ msgstr ""
1034
1046
  msgid "Scheduled"
1035
1047
  msgstr ""
1036
1048
 
1049
+ msgid "Scheduled at:"
1050
+ msgstr ""
1051
+
1037
1052
  msgid "Scheduled to start at"
1038
1053
  msgstr ""
1039
1054
 
1040
1055
  msgid "Scheduled to start before"
1041
1056
  msgstr ""
1042
1057
 
1058
+ msgid "Scheduled: ${totalHosts} hosts"
1059
+ msgstr ""
1060
+
1043
1061
  msgid "Script"
1044
1062
  msgstr ""
1045
1063
 
@@ -1184,6 +1202,9 @@ msgstr ""
1184
1202
  msgid "Succeeded"
1185
1203
  msgstr ""
1186
1204
 
1205
+ msgid "Succeeded:"
1206
+ msgstr ""
1207
+
1187
1208
  msgid "Success"
1188
1209
  msgstr "Success"
1189
1210
 
@@ -1193,6 +1214,12 @@ msgstr ""
1193
1214
  msgid "Sync Job Templates"
1194
1215
  msgstr ""
1195
1216
 
1217
+ msgid "System status"
1218
+ msgstr ""
1219
+
1220
+ msgid "Systems"
1221
+ msgstr ""
1222
+
1196
1223
  msgid "Target hosts"
1197
1224
  msgstr ""
1198
1225
 
@@ -18,6 +18,9 @@ msgstr ""
18
18
  "Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 :"
19
19
  " 2;\n"
20
20
 
21
+ msgid "${d.title} ${d.count} hosts"
22
+ msgstr ""
23
+
21
24
  msgid "%s"
22
25
  msgstr "%s"
23
26
 
@@ -152,6 +155,9 @@ msgstr "Cancelar tarea"
152
155
  msgid "Cancel job invocation"
153
156
  msgstr "Cancelar invocación de trabajo"
154
157
 
158
+ msgid "Canceled:"
159
+ msgstr ""
160
+
155
161
  msgid "Cancelled"
156
162
  msgstr "Cancelado"
157
163
 
@@ -437,6 +443,9 @@ msgstr "Anfitriones fallidos"
437
443
  msgid "Failed rendering template: %s"
438
444
  msgstr "Falló la reproducción de la plantilla: %s."
439
445
 
446
+ msgid "Failed:"
447
+ msgstr ""
448
+
440
449
  msgid "Fallback to Any Proxy"
441
450
  msgstr "Acción de reserva en cualquier proxy"
442
451
 
@@ -539,6 +548,9 @@ msgstr "Importar"
539
548
  msgid "Import a job template from ERB"
540
549
  msgstr "Importar una plantilla de trabajo desde ERB"
541
550
 
551
+ msgid "In Progress:"
552
+ msgstr ""
553
+
542
554
  msgid "Include all inputs from the foreign template"
543
555
  msgstr "Incluir todas las entradas de la plantilla externa"
544
556
 
@@ -1034,12 +1046,18 @@ msgstr "Tipo de horario"
1034
1046
  msgid "Scheduled"
1035
1047
  msgstr "Programado"
1036
1048
 
1049
+ msgid "Scheduled at:"
1050
+ msgstr ""
1051
+
1037
1052
  msgid "Scheduled to start at"
1038
1053
  msgstr "Programado para comenzar a las"
1039
1054
 
1040
1055
  msgid "Scheduled to start before"
1041
1056
  msgstr "Programado para iniciar antes"
1042
1057
 
1058
+ msgid "Scheduled: ${totalHosts} hosts"
1059
+ msgstr ""
1060
+
1043
1061
  msgid "Script"
1044
1062
  msgstr "Guión"
1045
1063
 
@@ -1184,6 +1202,9 @@ msgstr "Suscríbase a mis trabajos con éxito"
1184
1202
  msgid "Succeeded"
1185
1203
  msgstr "exitoso"
1186
1204
 
1205
+ msgid "Succeeded:"
1206
+ msgstr ""
1207
+
1187
1208
  msgid "Success"
1188
1209
  msgstr "Éxito"
1189
1210
 
@@ -1193,6 +1214,12 @@ msgstr ""
1193
1214
  msgid "Sync Job Templates"
1194
1215
  msgstr "Sincronizar plantillas de trabajo"
1195
1216
 
1217
+ msgid "System status"
1218
+ msgstr ""
1219
+
1220
+ msgid "Systems"
1221
+ msgstr ""
1222
+
1196
1223
  msgid "Target hosts"
1197
1224
  msgstr "Hosts de destino"
1198
1225