foreman_netbox 1.1.1 → 1.2.0

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 (81) hide show
  1. checksums.yaml +4 -4
  2. data/app/interactors/foreman_netbox/delete_host/organizer.rb +1 -1
  3. data/app/interactors/foreman_netbox/sync_host/organizer.rb +1 -1
  4. data/app/interactors/foreman_netbox/sync_host/sync_device/find.rb +0 -2
  5. data/app/interactors/foreman_netbox/sync_host/sync_device/organizer.rb +10 -10
  6. data/app/interactors/foreman_netbox/sync_host/sync_device/sync_device_role/organizer.rb +1 -1
  7. data/app/interactors/foreman_netbox/sync_host/sync_device/sync_device_type/organizer.rb +3 -3
  8. data/app/interactors/foreman_netbox/sync_host/sync_device/sync_device_type/sync_manufacturer/find.rb +2 -3
  9. data/app/interactors/foreman_netbox/sync_host/sync_device/sync_device_type/sync_manufacturer/organizer.rb +1 -1
  10. data/app/interactors/foreman_netbox/sync_host/sync_device/sync_interfaces/find.rb +1 -1
  11. data/app/interactors/foreman_netbox/sync_host/sync_device/sync_interfaces/organizer.rb +4 -4
  12. data/app/interactors/foreman_netbox/sync_host/sync_device/sync_interfaces/sync_ip_addresses/delete.rb +3 -1
  13. data/app/interactors/foreman_netbox/sync_host/sync_device/sync_interfaces/sync_ip_addresses/find.rb +1 -1
  14. data/app/interactors/foreman_netbox/sync_host/sync_device/sync_interfaces/sync_ip_addresses/organizer.rb +3 -3
  15. data/app/interactors/foreman_netbox/sync_host/sync_device/sync_interfaces/update.rb +3 -1
  16. data/app/interactors/foreman_netbox/sync_host/sync_device/sync_site/organizer.rb +2 -2
  17. data/app/interactors/foreman_netbox/sync_host/sync_tags/organizer.rb +2 -2
  18. data/app/interactors/foreman_netbox/sync_host/sync_tenant/organizer.rb +2 -2
  19. data/app/interactors/foreman_netbox/sync_host/sync_virtual_machine/find.rb +0 -2
  20. data/app/interactors/foreman_netbox/sync_host/sync_virtual_machine/organizer.rb +8 -8
  21. data/app/interactors/foreman_netbox/sync_host/sync_virtual_machine/sync_cluster/organizer.rb +3 -3
  22. data/app/interactors/foreman_netbox/sync_host/sync_virtual_machine/sync_cluster/sync_cluster_type/organizer.rb +1 -1
  23. data/app/interactors/foreman_netbox/sync_host/sync_virtual_machine/sync_interfaces/find.rb +1 -1
  24. data/app/interactors/foreman_netbox/sync_host/sync_virtual_machine/sync_interfaces/organizer.rb +4 -4
  25. data/app/interactors/foreman_netbox/sync_host/sync_virtual_machine/sync_interfaces/sync_ip_addresses/delete.rb +3 -1
  26. data/app/interactors/foreman_netbox/sync_host/sync_virtual_machine/sync_interfaces/sync_ip_addresses/find.rb +1 -1
  27. data/app/interactors/foreman_netbox/sync_host/sync_virtual_machine/sync_interfaces/sync_ip_addresses/organizer.rb +3 -3
  28. data/app/interactors/foreman_netbox/sync_host/sync_virtual_machine/sync_interfaces/update.rb +3 -1
  29. data/app/models/orchestration/netbox.rb +2 -4
  30. data/app/services/foreman_netbox/cached_netbox_parameters.rb +11 -11
  31. data/app/services/foreman_netbox/netbox_parameters.rb +27 -27
  32. data/app/services/foreman_netbox/netbox_parameters_comparator.rb +12 -6
  33. data/lib/foreman_netbox/engine.rb +20 -20
  34. data/lib/foreman_netbox/version.rb +1 -1
  35. data/lib/tasks/foreman_netbox_tasks.rake +0 -2
  36. data/test/integration/foreman_netbox/sync_k8s_physical_host_test.rb +7 -7
  37. data/test/integration/foreman_netbox/sync_rhel_physical_host_test.rb +7 -7
  38. data/test/integration/foreman_netbox/sync_rhel_virtual_host_test.rb +7 -7
  39. data/test/interactors/foreman_netbox/sync_host/organizer_test.rb +9 -9
  40. data/test/interactors/foreman_netbox/sync_host/sync_device/create_test.rb +1 -1
  41. data/test/interactors/foreman_netbox/sync_host/sync_device/sync_device_role/create_test.rb +1 -1
  42. data/test/interactors/foreman_netbox/sync_host/sync_device/sync_device_role/find_test.rb +4 -4
  43. data/test/interactors/foreman_netbox/sync_host/sync_device/sync_device_type/create_test.rb +1 -1
  44. data/test/interactors/foreman_netbox/sync_host/sync_device/sync_device_type/find_test.rb +4 -4
  45. data/test/interactors/foreman_netbox/sync_host/sync_device/sync_device_type/sync_manufacturer/create_test.rb +1 -1
  46. data/test/interactors/foreman_netbox/sync_host/sync_device/sync_device_type/sync_manufacturer/find_test.rb +6 -6
  47. data/test/interactors/foreman_netbox/sync_host/sync_device/sync_device_type/update_test.rb +1 -1
  48. data/test/interactors/foreman_netbox/sync_host/sync_device/sync_interfaces/create_test.rb +3 -3
  49. data/test/interactors/foreman_netbox/sync_host/sync_device/sync_interfaces/delete_test.rb +1 -1
  50. data/test/interactors/foreman_netbox/sync_host/sync_device/sync_interfaces/find_test.rb +4 -4
  51. data/test/interactors/foreman_netbox/sync_host/sync_device/sync_interfaces/sync_ip_addresses/create_test.rb +5 -5
  52. data/test/interactors/foreman_netbox/sync_host/sync_device/sync_interfaces/sync_ip_addresses/delete_test.rb +5 -5
  53. data/test/interactors/foreman_netbox/sync_host/sync_device/sync_interfaces/sync_ip_addresses/find_test.rb +3 -3
  54. data/test/interactors/foreman_netbox/sync_host/sync_device/sync_interfaces/sync_ip_addresses/update_test.rb +4 -4
  55. data/test/interactors/foreman_netbox/sync_host/sync_device/sync_interfaces/update_test.rb +8 -8
  56. data/test/interactors/foreman_netbox/sync_host/sync_device/sync_site/create_test.rb +1 -1
  57. data/test/interactors/foreman_netbox/sync_host/sync_device/sync_site/find_test.rb +3 -3
  58. data/test/interactors/foreman_netbox/sync_host/sync_device/sync_site/update_test.rb +1 -1
  59. data/test/interactors/foreman_netbox/sync_host/sync_device/update_test.rb +9 -9
  60. data/test/interactors/foreman_netbox/sync_host/sync_tenant/create_test.rb +1 -1
  61. data/test/interactors/foreman_netbox/sync_host/sync_tenant/find_test.rb +3 -3
  62. data/test/interactors/foreman_netbox/sync_host/sync_tenant/update_test.rb +1 -1
  63. data/test/interactors/foreman_netbox/sync_host/sync_virtual_machine/create_test.rb +2 -2
  64. data/test/interactors/foreman_netbox/sync_host/sync_virtual_machine/sync_cluster/create_test.rb +1 -1
  65. data/test/interactors/foreman_netbox/sync_host/sync_virtual_machine/sync_cluster/find_test.rb +2 -2
  66. data/test/interactors/foreman_netbox/sync_host/sync_virtual_machine/sync_cluster/sync_cluster_type/find_test.rb +4 -4
  67. data/test/interactors/foreman_netbox/sync_host/sync_virtual_machine/sync_cluster/update_test.rb +1 -1
  68. data/test/interactors/foreman_netbox/sync_host/sync_virtual_machine/sync_interfaces/create_test.rb +3 -3
  69. data/test/interactors/foreman_netbox/sync_host/sync_virtual_machine/sync_interfaces/delete_test.rb +1 -1
  70. data/test/interactors/foreman_netbox/sync_host/sync_virtual_machine/sync_interfaces/find_test.rb +4 -4
  71. data/test/interactors/foreman_netbox/sync_host/sync_virtual_machine/sync_interfaces/sync_ip_addresses/create_test.rb +5 -5
  72. data/test/interactors/foreman_netbox/sync_host/sync_virtual_machine/sync_interfaces/sync_ip_addresses/delete_test.rb +5 -5
  73. data/test/interactors/foreman_netbox/sync_host/sync_virtual_machine/sync_interfaces/sync_ip_addresses/find_test.rb +3 -3
  74. data/test/interactors/foreman_netbox/sync_host/sync_virtual_machine/sync_interfaces/sync_ip_addresses/update_test.rb +6 -6
  75. data/test/interactors/foreman_netbox/sync_host/sync_virtual_machine/sync_interfaces/update_test.rb +8 -8
  76. data/test/interactors/foreman_netbox/sync_host/sync_virtual_machine/update_test.rb +8 -8
  77. data/test/models/foreman_netbox/netbox_facet_test.rb +1 -1
  78. data/test/models/foreman_netbox/nics/base_test.rb +1 -1
  79. data/test/services/foreman_netbox/netbox_attributes_test.rb +16 -16
  80. data/test/services/foreman_netbox/netbox_parameters_comparator_test.rb +31 -31
  81. metadata +33 -111
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4b8ad442bf38c2bf5ac0ed5b94580b108a16d267a2ae2a37f456a73ebb1f8cd6
4
- data.tar.gz: e31f39d22ea73a0bda27093a4f8474740836899c4d0379cc8763a1b9ec766e24
3
+ metadata.gz: 0c6e291e619bba70de7b1c7c67832419452ef5342d2bd008961be87a2152ee86
4
+ data.tar.gz: 9bad853a3329b00878bfaea36939fa2ab02b0957540d2b2bae1b30781a7ddc0c
5
5
  SHA512:
6
- metadata.gz: ab087e119d4a0fd10f4847a4e6aaa829e55e2b1036393058ccc90363a098ea12fa156fd7f62c1eba98d0e2a15e0f3fd0aeec77d65f4a78a515ff6b16b6739f13
7
- data.tar.gz: 47561411ae532f4229a45ce71443f89fadc94aae271d25be9e201148500cfa7f013ff7e24c94c1134738e95f7a200ed204378a4dee65cd72e7694e64f81c5911
6
+ metadata.gz: 3612479271e7bec9c1499e482691cae0e4e2f7aed0b3d8de93085d98630d3faef83fd82ba4200c377b4ab497ebba63106c6ef4542c28a4c6cecd0c4d638161c9
7
+ data.tar.gz: ca1bfcace00f154324c72738a75059f66103ad200548c5314e5303ce6be656d1e21a2627f95f4c648ecf26c8e821cd6a28ebc92d78c381c49b78dce0acc267b2
@@ -6,7 +6,7 @@ module ForemanNetbox
6
6
  include ::Interactor::Organizer
7
7
 
8
8
  organize DeleteHost::DeleteVirtualMachine,
9
- DeleteHost::DeleteDevice
9
+ DeleteHost::DeleteDevice
10
10
  end
11
11
  end
12
12
  end
@@ -11,7 +11,7 @@ module ForemanNetbox
11
11
  end
12
12
 
13
13
  organize SyncHost::SyncVirtualMachine::Organizer,
14
- SyncHost::SyncDevice::Organizer
14
+ SyncHost::SyncDevice::Organizer
15
15
 
16
16
  def call
17
17
  super
@@ -7,9 +7,7 @@ module ForemanNetbox
7
7
  include ::Interactor
8
8
 
9
9
  def call
10
- # rubocop:disable Rails/DynamicFindBy
11
10
  context.device = find_by_serial || find_by_mac || find_by_name
12
- # rubocop:enable Rails/DynamicFindBy
13
11
  rescue NetboxClientRuby::LocalError, NetboxClientRuby::ClientError, NetboxClientRuby::RemoteError => e
14
12
  ::Foreman::Logging.logger('foreman_netbox/import').error("#{self.class} error #{e}: #{e.backtrace}")
15
13
  context.fail!(error: "#{self.class}: #{e}")
@@ -15,16 +15,16 @@ module ForemanNetbox
15
15
  end
16
16
 
17
17
  organize SyncDevice::Validate,
18
- SyncHost::SyncTags::Organizer,
19
- SyncHost::SyncTenant::Organizer,
20
- SyncDevice::SyncSite::Organizer,
21
- SyncDevice::SyncDeviceRole::Organizer,
22
- SyncDevice::SyncDeviceType::Organizer,
23
- SyncDevice::Find,
24
- SyncDevice::Create,
25
- SyncDevice::SyncInterfaces::Organizer,
26
- SyncDevice::Update,
27
- SyncDevice::SaveNetboxUrl
18
+ SyncHost::SyncTags::Organizer,
19
+ SyncHost::SyncTenant::Organizer,
20
+ SyncDevice::SyncSite::Organizer,
21
+ SyncDevice::SyncDeviceRole::Organizer,
22
+ SyncDevice::SyncDeviceType::Organizer,
23
+ SyncDevice::Find,
24
+ SyncDevice::Create,
25
+ SyncDevice::SyncInterfaces::Organizer,
26
+ SyncDevice::Update,
27
+ SyncDevice::SaveNetboxUrl
28
28
  end
29
29
  end
30
30
  end
@@ -12,7 +12,7 @@ module ForemanNetbox
12
12
  end
13
13
 
14
14
  organize SyncDeviceRole::Find,
15
- SyncDeviceRole::Create
15
+ SyncDeviceRole::Create
16
16
  end
17
17
  end
18
18
  end
@@ -12,9 +12,9 @@ module ForemanNetbox
12
12
  end
13
13
 
14
14
  organize SyncDeviceType::SyncManufacturer::Organizer,
15
- SyncDeviceType::Find,
16
- SyncDeviceType::Update,
17
- SyncDeviceType::Create
15
+ SyncDeviceType::Find,
16
+ SyncDeviceType::Update,
17
+ SyncDeviceType::Create
18
18
  end
19
19
  end
20
20
  end
@@ -9,10 +9,9 @@ module ForemanNetbox
9
9
  include ::Interactor
10
10
 
11
11
  def call
12
- # rubocop:disable Rails/DynamicFindBy
13
12
  context.manufacturer = find_by_slug || find_by_name
14
- # rubocop:enable Rails/DynamicFindBy
15
- rescue NetboxClientRuby::LocalError, NetboxClientRuby::ClientError, NetboxClientRuby::RemoteError => e
13
+ rescue NetboxClientRuby::LocalError, NetboxClientRuby::ClientError,
14
+ NetboxClientRuby::RemoteError => e
16
15
  ::Foreman::Logging.logger('foreman_netbox/import').error("#{self.class} error #{e}: #{e.backtrace}")
17
16
  context.fail!(error: "#{self.class}: #{e}")
18
17
  end
@@ -13,7 +13,7 @@ module ForemanNetbox
13
13
  end
14
14
 
15
15
  organize SyncManufacturer::Find,
16
- SyncManufacturer::Create
16
+ SyncManufacturer::Create
17
17
  end
18
18
  end
19
19
  end
@@ -20,7 +20,7 @@ module ForemanNetbox
20
20
 
21
21
  def params
22
22
  {
23
- device_id: device.id
23
+ device_id: device.id,
24
24
  }
25
25
  end
26
26
  end
@@ -12,10 +12,10 @@ module ForemanNetbox
12
12
  end
13
13
 
14
14
  organize SyncInterfaces::Find,
15
- SyncInterfaces::Delete,
16
- SyncInterfaces::Create,
17
- SyncInterfaces::SyncIpAddresses::Organizer,
18
- SyncInterfaces::Update
15
+ SyncInterfaces::Delete,
16
+ SyncInterfaces::Create,
17
+ SyncInterfaces::SyncIpAddresses::Organizer,
18
+ SyncInterfaces::Update
19
19
  end
20
20
  end
21
21
  end
@@ -21,7 +21,9 @@ module ForemanNetbox
21
21
  ip_addresses_netbox_params = netbox_params.fetch(:ip_addresses, [])
22
22
 
23
23
  context.interfaces.each do |netbox_interface|
24
- host_interface_ips = ip_addresses_netbox_params.select { |i| i.dig(:interface, :name) == netbox_interface.name }
24
+ host_interface_ips = ip_addresses_netbox_params.select do |i|
25
+ i.dig(:interface, :name) == netbox_interface.name
26
+ end
25
27
  .map { |i| i.fetch(:address) }
26
28
 
27
29
  context.ip_addresses
@@ -21,7 +21,7 @@ module ForemanNetbox
21
21
 
22
22
  def params
23
23
  {
24
- device_id: device.id
24
+ device_id: device.id,
25
25
  }
26
26
  end
27
27
  end
@@ -13,9 +13,9 @@ module ForemanNetbox
13
13
  end
14
14
 
15
15
  organize SyncIpAddresses::Find,
16
- SyncIpAddresses::Delete,
17
- SyncIpAddresses::Update,
18
- SyncIpAddresses::Create
16
+ SyncIpAddresses::Delete,
17
+ SyncIpAddresses::Update,
18
+ SyncIpAddresses::Create
19
19
  end
20
20
  end
21
21
  end
@@ -22,7 +22,9 @@ module ForemanNetbox
22
22
 
23
23
  return unless new_params
24
24
 
25
- netbox_interface.mac_address = new_params[:mac_address] if netbox_interface.mac_address != new_params[:mac_address]
25
+ if netbox_interface.mac_address != new_params[:mac_address]
26
+ netbox_interface.mac_address = new_params[:mac_address]
27
+ end
26
28
  assign_tags_to(netbox_interface)
27
29
 
28
30
  netbox_interface.save
@@ -16,8 +16,8 @@ module ForemanNetbox
16
16
  end
17
17
 
18
18
  organize SyncSite::Find,
19
- SyncSite::Update,
20
- SyncSite::Create
19
+ SyncSite::Update,
20
+ SyncSite::Create
21
21
  end
22
22
  end
23
23
  end
@@ -7,7 +7,7 @@ module ForemanNetbox
7
7
  include ::Interactor::Organizer
8
8
 
9
9
  DEFAULT_TAGS = [
10
- { name: 'foreman', slug: 'foreman' }
10
+ { name: 'foreman', slug: 'foreman' },
11
11
  ].freeze
12
12
 
13
13
  after do
@@ -15,7 +15,7 @@ module ForemanNetbox
15
15
  end
16
16
 
17
17
  organize SyncTags::Find,
18
- SyncTags::Create
18
+ SyncTags::Create
19
19
  end
20
20
  end
21
21
  end
@@ -11,8 +11,8 @@ module ForemanNetbox
11
11
  end
12
12
 
13
13
  organize SyncTenant::Find,
14
- SyncTenant::Update,
15
- SyncTenant::Create
14
+ SyncTenant::Update,
15
+ SyncTenant::Create
16
16
  end
17
17
  end
18
18
  end
@@ -7,9 +7,7 @@ module ForemanNetbox
7
7
  include ::Interactor
8
8
 
9
9
  def call
10
- # rubocop:disable Rails/DynamicFindBy
11
10
  context.virtual_machine = find_by_mac || find_by_name
12
- # rubocop:enable Rails/DynamicFindBy
13
11
  rescue NetboxClientRuby::LocalError, NetboxClientRuby::ClientError, NetboxClientRuby::RemoteError => e
14
12
  ::Foreman::Logging.logger('foreman_netbox/import').error("#{self.class} error #{e}: #{e.backtrace}")
15
13
  context.fail!(error: "#{self.class}: #{e}")
@@ -15,14 +15,14 @@ module ForemanNetbox
15
15
  end
16
16
 
17
17
  organize SyncVirtualMachine::Validate,
18
- SyncHost::SyncTags::Organizer,
19
- SyncHost::SyncTenant::Organizer,
20
- SyncVirtualMachine::SyncCluster::Organizer,
21
- SyncVirtualMachine::Find,
22
- SyncVirtualMachine::Create,
23
- SyncVirtualMachine::SyncInterfaces::Organizer,
24
- SyncVirtualMachine::Update,
25
- SyncVirtualMachine::SaveNetboxUrl
18
+ SyncHost::SyncTags::Organizer,
19
+ SyncHost::SyncTenant::Organizer,
20
+ SyncVirtualMachine::SyncCluster::Organizer,
21
+ SyncVirtualMachine::Find,
22
+ SyncVirtualMachine::Create,
23
+ SyncVirtualMachine::SyncInterfaces::Organizer,
24
+ SyncVirtualMachine::Update,
25
+ SyncVirtualMachine::SaveNetboxUrl
26
26
  end
27
27
  end
28
28
  end
@@ -12,9 +12,9 @@ module ForemanNetbox
12
12
  end
13
13
 
14
14
  organize SyncCluster::SyncClusterType::Organizer,
15
- SyncCluster::Find,
16
- SyncCluster::Update,
17
- SyncCluster::Create
15
+ SyncCluster::Find,
16
+ SyncCluster::Update,
17
+ SyncCluster::Create
18
18
  end
19
19
  end
20
20
  end
@@ -13,7 +13,7 @@ module ForemanNetbox
13
13
  end
14
14
 
15
15
  organize SyncClusterType::Find,
16
- SyncClusterType::Create
16
+ SyncClusterType::Create
17
17
  end
18
18
  end
19
19
  end
@@ -20,7 +20,7 @@ module ForemanNetbox
20
20
 
21
21
  def params
22
22
  {
23
- virtual_machine_id: virtual_machine.id
23
+ virtual_machine_id: virtual_machine.id,
24
24
  }
25
25
  end
26
26
  end
@@ -12,10 +12,10 @@ module ForemanNetbox
12
12
  end
13
13
 
14
14
  organize SyncInterfaces::Find,
15
- SyncInterfaces::Delete,
16
- SyncInterfaces::Create,
17
- SyncInterfaces::SyncIpAddresses::Organizer,
18
- SyncInterfaces::Update
15
+ SyncInterfaces::Delete,
16
+ SyncInterfaces::Create,
17
+ SyncInterfaces::SyncIpAddresses::Organizer,
18
+ SyncInterfaces::Update
19
19
  end
20
20
  end
21
21
  end
@@ -21,7 +21,9 @@ module ForemanNetbox
21
21
  ip_addresses_netbox_params = netbox_params.fetch(:ip_addresses, [])
22
22
 
23
23
  context.interfaces.each do |netbox_interface|
24
- host_interface_ips = ip_addresses_netbox_params.select { |ip| ip.dig(:interface, :name) == netbox_interface.name }
24
+ host_interface_ips = ip_addresses_netbox_params.select do |ip|
25
+ ip.dig(:interface, :name) == netbox_interface.name
26
+ end
25
27
  .map { |ip| ip.fetch(:address) }
26
28
 
27
29
  context.ip_addresses
@@ -17,7 +17,7 @@ module ForemanNetbox
17
17
 
18
18
  def params
19
19
  {
20
- virtual_machine_id: context.virtual_machine.id
20
+ virtual_machine_id: context.virtual_machine.id,
21
21
  }
22
22
  end
23
23
  end
@@ -13,9 +13,9 @@ module ForemanNetbox
13
13
  end
14
14
 
15
15
  organize SyncIpAddresses::Find,
16
- SyncIpAddresses::Delete,
17
- SyncIpAddresses::Update,
18
- SyncIpAddresses::Create
16
+ SyncIpAddresses::Delete,
17
+ SyncIpAddresses::Update,
18
+ SyncIpAddresses::Create
19
19
  end
20
20
  end
21
21
  end
@@ -22,7 +22,9 @@ module ForemanNetbox
22
22
 
23
23
  return unless new_params
24
24
 
25
- netbox_interface.mac_address = new_params[:mac_address] if netbox_interface.mac_address != new_params[:mac_address]
25
+ if netbox_interface.mac_address != new_params[:mac_address]
26
+ netbox_interface.mac_address = new_params[:mac_address]
27
+ end
26
28
  assign_tags_to(netbox_interface)
27
29
 
28
30
  netbox_interface.save
@@ -23,8 +23,7 @@ module Orchestration
23
23
  ::Foreman::Logging.logger('foreman_netbox/import')
24
24
  .info("Queued import of #{name} to Netbox. Changes that will be sent: #{netbox_params_diff}")
25
25
 
26
- post_queue.create(name: _('Push host %s to Netbox') % self, priority: 100,
27
- action: [self, :set_netbox])
26
+ post_queue.create(name: _('Push host %s to Netbox') % self, priority: 100, action: [self, :set_netbox])
28
27
  end
29
28
 
30
29
  def queue_netbox_destroy
@@ -33,8 +32,7 @@ module Orchestration
33
32
  ::Foreman::Logging.logger('foreman_netbox/import')
34
33
  .info("Queued delete of #{name} from Netbox.")
35
34
 
36
- queue.create(name: _('Delete host %s from Netbox') % self, priority: 60,
37
- action: [self, :del_netbox])
35
+ queue.create(name: _('Delete host %s from Netbox') % self, priority: 60, action: [self, :del_netbox])
38
36
  end
39
37
 
40
38
  def set_netbox
@@ -25,7 +25,7 @@ module ForemanNetbox
25
25
  attr_accessor :result
26
26
 
27
27
  def read_interfaces
28
- return unless data.keys.include?(:interfaces)
28
+ return unless data.key?(:interfaces)
29
29
 
30
30
  result[:interfaces] = data.fetch(:interfaces, {}).fetch(:results, []).map do |interface|
31
31
  interface.slice(:name, :mac_address)
@@ -35,7 +35,7 @@ module ForemanNetbox
35
35
  end
36
36
 
37
37
  def read_ip_addresses
38
- return unless data.keys.include?(:ip_addresses)
38
+ return unless data.key?(:ip_addresses)
39
39
 
40
40
  result[:ip_addresses] = data.fetch(:ip_addresses, {}).fetch(:results, []).map do |ip_address|
41
41
  ip_address.slice(:address)
@@ -44,31 +44,31 @@ module ForemanNetbox
44
44
  end
45
45
 
46
46
  def read_virtual_machine
47
- return unless data.keys.include?(:virtual_machine)
47
+ return unless data.key?(:virtual_machine)
48
48
 
49
49
  result[:virtual_machine] = data.fetch(:virtual_machine, {}).slice(:name, :vcpus, :memory, :disk)
50
50
  end
51
51
 
52
52
  def read_tenant
53
- return unless data.keys.include?(:tenant)
53
+ return unless data.key?(:tenant)
54
54
 
55
55
  result[:tenant] = data.fetch(:tenant, {}).slice(:name, :slug)
56
56
  end
57
57
 
58
58
  def read_cluster
59
- return unless data.keys.include?(:cluster)
59
+ return unless data.key?(:cluster)
60
60
 
61
61
  result[:cluster] = data.fetch(:cluster, {}).slice(:name)
62
62
  end
63
63
 
64
64
  def read_cluster_type
65
- return unless data.keys.include?(:cluster_type)
65
+ return unless data.key?(:cluster_type)
66
66
 
67
67
  result[:cluster_type] = data.fetch(:cluster_type, {}).slice(:name, :slug)
68
68
  end
69
69
 
70
70
  def read_device
71
- return unless data.keys.include?(:device)
71
+ return unless data.key?(:device)
72
72
 
73
73
  result[:device] = data.fetch(:device, {})
74
74
  .slice(:name, :serial)
@@ -77,25 +77,25 @@ module ForemanNetbox
77
77
  end
78
78
 
79
79
  def read_device_role
80
- return unless data.keys.include?(:device_role)
80
+ return unless data.key?(:device_role)
81
81
 
82
82
  result[:device_role] = data.fetch(:device_role, {}).slice(:name, :color, :slug)
83
83
  end
84
84
 
85
85
  def read_device_type
86
- return unless data.keys.include?(:device_type)
86
+ return unless data.key?(:device_type)
87
87
 
88
88
  result[:device_type] = data.fetch(:device_type, {}).slice(:model, :slug)
89
89
  end
90
90
 
91
91
  def read_manufacturer
92
- return unless data.keys.include?(:manufacturer)
92
+ return unless data.key?(:manufacturer)
93
93
 
94
94
  result[:manufacturer] = data.fetch(:manufacturer, {}).slice(:name, :slug)
95
95
  end
96
96
 
97
97
  def read_site
98
- return unless data.keys.include?(:site)
98
+ return unless data.key?(:site)
99
99
 
100
100
  result[:site] = data.fetch(:site, {}).slice(:name, :slug)
101
101
  end
@@ -6,15 +6,15 @@ module ForemanNetbox
6
6
  UNKNOWN = 'Unknown'
7
7
  DEFAULT_INTERFACE_TYPE = 'virtual'
8
8
  CLUSTER_TYPES = {
9
- :'Foreman::Model::Vmware' => {
9
+ 'Foreman::Model::Vmware': {
10
10
  name: 'VMware ESXi',
11
- slug: 'vmware-esxi'
12
- }
11
+ slug: 'vmware-esxi',
12
+ },
13
13
  }.freeze
14
14
  DEVICE_ROLE = {
15
15
  name: 'SERVER',
16
16
  color: '9e9e9e',
17
- slug: 'server'
17
+ slug: 'server',
18
18
  }.freeze
19
19
 
20
20
  def self.call(host)
@@ -46,7 +46,7 @@ module ForemanNetbox
46
46
  vcpus: compute_object&.cpus,
47
47
  memory: compute_object&.memory_mb,
48
48
  disk: compute_object&.volumes&.map(&:size_gb)&.reduce(&:+),
49
- cluster: compute_object&.cluster
49
+ cluster: compute_object&.cluster,
50
50
  }.compact
51
51
  end
52
52
  end
@@ -55,8 +55,8 @@ module ForemanNetbox
55
55
  {
56
56
  tenant: {
57
57
  name: host.owner&.netbox_tenant_name,
58
- slug: host.owner&.netbox_tenant_slug
59
- }
58
+ slug: host.owner&.netbox_tenant_slug,
59
+ },
60
60
  }
61
61
  end
62
62
 
@@ -64,14 +64,14 @@ module ForemanNetbox
64
64
  {
65
65
  device: {
66
66
  name: host.name,
67
- serial: host.facts.deep_symbolize_keys[:serialnumber]
68
- }
67
+ serial: host.facts.deep_symbolize_keys[:serialnumber],
68
+ },
69
69
  }
70
70
  end
71
71
 
72
72
  def device_role
73
73
  {
74
- device_role: DEVICE_ROLE
74
+ device_role: DEVICE_ROLE,
75
75
  }
76
76
  end
77
77
 
@@ -81,8 +81,8 @@ module ForemanNetbox
81
81
  {
82
82
  device_type: {
83
83
  model: model,
84
- slug: model.parameterize
85
- }
84
+ slug: model.parameterize,
85
+ },
86
86
  }
87
87
  end
88
88
 
@@ -92,8 +92,8 @@ module ForemanNetbox
92
92
  {
93
93
  manufacturer: {
94
94
  name: name,
95
- slug: cached_netbox_params.dig(:manufacturer, :slug) || name.parameterize
96
- }
95
+ slug: cached_netbox_params.dig(:manufacturer, :slug) || name.parameterize,
96
+ },
97
97
  }
98
98
  end
99
99
 
@@ -101,8 +101,8 @@ module ForemanNetbox
101
101
  {
102
102
  site: {
103
103
  name: host.location&.netbox_site_name,
104
- slug: host.location&.netbox_site_slug
105
- }
104
+ slug: host.location&.netbox_site_slug,
105
+ },
106
106
  }
107
107
  end
108
108
 
@@ -116,10 +116,10 @@ module ForemanNetbox
116
116
  name: identifier || (mac_address && "Interface #{mac_address}"),
117
117
  mac_address: mac_address,
118
118
  type: {
119
- value: DEFAULT_INTERFACE_TYPE
120
- }
119
+ value: DEFAULT_INTERFACE_TYPE,
120
+ },
121
121
  }
122
- end
122
+ end,
123
123
  }
124
124
  end
125
125
 
@@ -129,7 +129,7 @@ module ForemanNetbox
129
129
  ip_addresses: host.interfaces.map do |interface|
130
130
  [
131
131
  interface.ip && interface.subnet && "#{interface.ip}/#{interface.subnet.cidr}",
132
- interface.ip6 && interface.subnet6 && "#{interface.ip6}/#{interface.subnet6.cidr}"
132
+ interface.ip6 && interface.subnet6 && "#{interface.ip6}/#{interface.subnet6.cidr}",
133
133
  ].compact.map do |ip_address|
134
134
  identifier = interface.identifier.present? && interface.identifier
135
135
  mac_address = interface.mac&.upcase
@@ -137,11 +137,11 @@ module ForemanNetbox
137
137
  {
138
138
  address: ip_address,
139
139
  interface: {
140
- name: identifier || (mac_address && "Interface #{mac_address}")
141
- }
140
+ name: identifier || (mac_address && "Interface #{mac_address}"),
141
+ },
142
142
  }
143
143
  end
144
- end.flatten
144
+ end.flatten,
145
145
  }
146
146
  end
147
147
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
@@ -152,15 +152,15 @@ module ForemanNetbox
152
152
  :vcpus, :memory, :disk
153
153
  ).merge(
154
154
  name: host.name
155
- )
155
+ ),
156
156
  }
157
157
  end
158
158
 
159
159
  def cluster
160
160
  {
161
161
  cluster: {
162
- name: netbox_compute_attributes[:cluster]
163
- }.compact
162
+ name: netbox_compute_attributes[:cluster],
163
+ }.compact,
164
164
  }
165
165
  end
166
166
 
@@ -168,7 +168,7 @@ module ForemanNetbox
168
168
  type = host.compute_resource&.type&.to_sym
169
169
 
170
170
  {
171
- cluster_type: CLUSTER_TYPES.fetch(type, nil)
171
+ cluster_type: CLUSTER_TYPES.fetch(type, nil),
172
172
  }
173
173
  end
174
174
  end