foreman_remote_execution 13.2.1 → 13.2.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 473900c99e054678a879651060b7596221f32c7f2713d28efb472957b7ac73ed
4
- data.tar.gz: 14e55ba559f96def212e56aad5087b3e171fceb0cae2209b2ba1ef0566bda620
3
+ metadata.gz: 96681556d3f5a6992e71260803846de43b28006b4c6632dc8def7772ae8c42b5
4
+ data.tar.gz: 13fffbea7ed8fa8a9556db7ce1c251ab4a879de339f85a5fb4e0f83977a12bfc
5
5
  SHA512:
6
- metadata.gz: 715de4ec99b4f17450ec02cca4db12e7778001098f49c1a733fae18c84d72855dd59e8dc86c1a6edddd72856a26c345c1397b2e2c1a66f14b0e605497f59e747
7
- data.tar.gz: 7dd731683f6f68d5c9f32c14b9411cbde8a65e0de38de249f691cd70447b2ff936bac8f7413b4edad8bb776ae0612ccbcb487650a20a16c35e37fc2ded3b4af2
6
+ metadata.gz: e2f596ae2c2dd3ed2483ee32f78104b26fe39e6e4faa60ba50dfefac947346bd639bad3714a5c89e9df47f0a81389ca59c7c05c7915432985bf1ab03ec53e71a
7
+ data.tar.gz: c81d5218ffceb943120ed6c141bad17d7ed87e8feaff517b984fde44684ffffe72598f2adc7f350e187139f8e68c521d8c296a53ec9a88baf2f2987176b2d857
data/.gitignore CHANGED
@@ -15,3 +15,4 @@ Gemfile.lock
15
15
  node_modules/
16
16
  package-lock.json
17
17
  coverage/
18
+ public/
@@ -49,7 +49,8 @@ module Actions
49
49
  provider_type = provider.proxy_feature
50
50
  proxy = determine_proxy!(proxy_selector, provider_type, host)
51
51
  link!(proxy)
52
- input[:proxy_id] = proxy.id
52
+ template_invocation.smart_proxy_id = proxy.id
53
+ template_invocation.save!
53
54
 
54
55
  renderer = InputTemplateRenderer.new(template_invocation.template, host, template_invocation)
55
56
  script = renderer.render
@@ -75,6 +75,7 @@ module Actions
75
75
  end
76
76
 
77
77
  def on_planning_finished
78
+ trigger_remote_batch
78
79
  plan_event(Actions::TriggerProxyBatch::TriggerLastBatch, nil, step_id: input[:trigger_run_step_id])
79
80
  super
80
81
  end
@@ -3,6 +3,7 @@ module ForemanRemoteExecution
3
3
  def self.prepended(base)
4
4
  base.instance_eval do
5
5
  has_many :host_proxy_invocations, :dependent => :destroy
6
+ has_many :template_invocations, :dependent => :nullify
6
7
  end
7
8
  end
8
9
 
@@ -18,6 +18,7 @@ class TemplateInvocation < ApplicationRecord
18
18
  belongs_to :run_host_job_task, :class_name => 'ForemanTasks::Task'
19
19
  has_many :remote_execution_features, :through => :template
20
20
  has_many :template_invocation_events, :dependent => :destroy
21
+ belongs_to :smart_proxy, :class_name => '::SmartProxy', :inverse_of => :template_invocations
21
22
 
22
23
  validates_associated :input_values
23
24
  validate :provides_required_input_values
@@ -28,10 +28,10 @@ end
28
28
  </div>
29
29
  </div>
30
30
  <% if @host %>
31
- <% proxy_id = @template_invocation_task.input[:proxy_id] %>
31
+ <% proxy = @template_invocation.smart_proxy %>
32
32
  <h3>
33
33
  <%= _('Target: ') %><%= link_to(@host, current_host_details_path(@host)) %>
34
- <% if proxy_id && proxy = SmartProxy.find_by(id: proxy_id) %>
34
+ <% if proxy %>
35
35
  <%= _('using Smart Proxy') %> <%= link_to(proxy.name, smart_proxy_path(proxy)) %>
36
36
  <% end %>
37
37
  </h3>
@@ -0,0 +1,7 @@
1
+ class AddSmartProxyIdToTemplateInvocation < ActiveRecord::Migration[6.0]
2
+ def change
3
+ change_table :template_invocations do |t|
4
+ t.references :smart_proxy, foreign_key: true
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,16 @@
1
+ class MigrateSmartProxyIdsToTemplateInvocations < ActiveRecord::Migration[6.0]
2
+ def up
3
+ ForemanTasks::Link.joins(:task)
4
+ .where(resource_type: 'SmartProxy', task: { label: 'Actions::RemoteExecution::RunHostJob' })
5
+ .where.not(resource_id: nil)
6
+ .find_in_batches do |batch|
7
+ batch.group_by(&:resource_id).each do |resource_id, links|
8
+ template_invocation_ids = ForemanTasks::Link.where(resource_type: 'TemplateInvocation', task_id: links.map(&:task_id)).select(:resource_id)
9
+ TemplateInvocation.where(id: template_invocation_ids).update_all(smart_proxy_id: resource_id)
10
+ end
11
+ end
12
+ end
13
+
14
+ def down
15
+ end
16
+ end
@@ -1,3 +1,3 @@
1
1
  module ForemanRemoteExecution
2
- VERSION = '13.2.1'.freeze
2
+ VERSION = '13.2.2'.freeze
3
3
  end
@@ -61,14 +61,20 @@ describe('Hosts', () => {
61
61
  await act(async () => {
62
62
  fireEvent.click(screen.getByText('Host groups'));
63
63
  });
64
- fireEvent.click(select('host groups'));
64
+ await act(async () => {
65
+ fireEvent.click(select('host groups'));
66
+ });
65
67
  await act(async () => {
66
68
  fireEvent.click(screen.getByText('host_group1'));
67
69
  });
68
70
 
69
- fireEvent.click(
70
- screen.getByText('Host groups', { selector: '.pf-c-select__toggle-text' })
71
- );
71
+ await act(async () => {
72
+ fireEvent.click(
73
+ screen.getByText('Host groups', {
74
+ selector: '.pf-c-select__toggle-text',
75
+ })
76
+ );
77
+ });
72
78
  await act(async () => {
73
79
  fireEvent.click(screen.getByText('Host collections'));
74
80
  });
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_remote_execution
3
3
  version: !ruby/object:Gem::Version
4
- version: 13.2.1
4
+ version: 13.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Foreman Remote Execution team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-20 00:00:00.000000000 Z
11
+ date: 2024-07-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: deface
@@ -350,6 +350,8 @@ files:
350
350
  - db/migrate/20220822155946_add_time_to_pickup_to_job_invocation.rb
351
351
  - db/migrate/20221129170145_redefine_template_invocation_events_index.rb
352
352
  - db/migrate/20230816154510_drop_time_span_from_job_invocations.rb
353
+ - db/migrate/20240522093412_add_smart_proxy_id_to_template_invocation.rb
354
+ - db/migrate/20240522093413_migrate_smart_proxy_ids_to_template_invocations.rb
353
355
  - db/seeds.d/100-assign_features_with_templates.rb
354
356
  - db/seeds.d/20-permissions.rb
355
357
  - db/seeds.d/50-notification_blueprints.rb