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
@@ -16,7 +16,7 @@ module ForemanNetbox
16
16
  let(:expected) do
17
17
  {
18
18
  name: 'Tenant Name',
19
- slug: 'tenant-name'
19
+ slug: 'tenant-name',
20
20
  }
21
21
  end
22
22
 
@@ -33,7 +33,7 @@ module ForemanNetbox
33
33
  let(:expected) do
34
34
  {
35
35
  name: 'device_name',
36
- serial: 'abc123'
36
+ serial: 'abc123',
37
37
  }
38
38
  end
39
39
 
@@ -62,7 +62,7 @@ module ForemanNetbox
62
62
  let(:expected) do
63
63
  {
64
64
  model: 'Product Name',
65
- slug: 'product-name'
65
+ slug: 'product-name',
66
66
  }
67
67
  end
68
68
 
@@ -74,7 +74,7 @@ module ForemanNetbox
74
74
  let(:expected) do
75
75
  {
76
76
  model: 'Unknown',
77
- slug: 'unknown'
77
+ slug: 'unknown',
78
78
  }
79
79
  end
80
80
 
@@ -120,7 +120,7 @@ module ForemanNetbox
120
120
  let(:expected) do
121
121
  {
122
122
  name: 'Site Name',
123
- slug: 'site-name'
123
+ slug: 'site-name',
124
124
  }
125
125
  end
126
126
 
@@ -137,7 +137,7 @@ module ForemanNetbox
137
137
  :nic_base,
138
138
  identifier: expected.first[:name],
139
139
  mac: expected.first[:mac_address]
140
- )
140
+ ),
141
141
  ]
142
142
  )
143
143
  end
@@ -147,8 +147,8 @@ module ForemanNetbox
147
147
  name: 'eth1',
148
148
  mac_address: 'FE:13:C6:44:29:24',
149
149
  type: {
150
- value: 'virtual'
151
- }
150
+ value: 'virtual',
151
+ },
152
152
  ]
153
153
  end
154
154
 
@@ -178,7 +178,7 @@ module ForemanNetbox
178
178
  :subnet_ipv6,
179
179
  cidr: expected.second[:address].split('/').second
180
180
  )
181
- )
181
+ ),
182
182
  ]
183
183
  )
184
184
  end
@@ -188,15 +188,15 @@ module ForemanNetbox
188
188
  {
189
189
  address: '10.0.0.1/24',
190
190
  interface: {
191
- name: 'eth1'
192
- }
191
+ name: 'eth1',
192
+ },
193
193
  },
194
194
  {
195
195
  address: '1500:0:2d0:201::1/64',
196
196
  interface: {
197
- name: 'eth2'
198
- }
199
- }
197
+ name: 'eth2',
198
+ },
199
+ },
200
200
  ]
201
201
  end
202
202
 
@@ -213,7 +213,7 @@ module ForemanNetbox
213
213
  memory_mb: expected[:memory],
214
214
  volumes: [
215
215
  OpenStruct.new(size_gb: expected[:disk] / 2),
216
- OpenStruct.new(size_gb: expected[:disk] / 2)
216
+ OpenStruct.new(size_gb: expected[:disk] / 2),
217
217
  ]
218
218
  )
219
219
  )
@@ -225,7 +225,7 @@ module ForemanNetbox
225
225
  name: 'virtual_machine_name',
226
226
  vcpus: 2,
227
227
  memory: 128,
228
- disk: 20
228
+ disk: 20,
229
229
  }
230
230
  end
231
231
 
@@ -10,8 +10,8 @@ module ForemanNetbox
10
10
  let(:my_hash) do
11
11
  {
12
12
  device: {
13
- name: 'My device'
14
- }
13
+ name: 'My device',
14
+ },
15
15
  }
16
16
  end
17
17
  let(:old_hash) { my_hash }
@@ -25,82 +25,82 @@ module ForemanNetbox
25
25
  let(:old_hash) do
26
26
  {
27
27
  device: {
28
- name: 'Old name'
28
+ name: 'Old name',
29
29
  },
30
30
  device_role: {
31
- name: 'SERVER'
31
+ name: 'SERVER',
32
32
  },
33
33
  manufacturer: {
34
- name: 'Manufacturer'
34
+ name: 'Manufacturer',
35
35
  },
36
36
  interfaces: [
37
37
  {
38
38
  name: 'eth0',
39
39
  type: {
40
- value: 'virtual'
41
- }
40
+ value: 'virtual',
41
+ },
42
42
  },
43
43
  {
44
44
  name: 'eth1',
45
45
  type: {
46
- value: 'virtual'
47
- }
46
+ value: 'virtual',
47
+ },
48
48
  },
49
49
  {
50
50
  name: 'eth2',
51
51
  type: {
52
- value: 'virtual'
53
- }
52
+ value: 'virtual',
53
+ },
54
54
  },
55
55
  {
56
56
  name: 'eth4',
57
57
  mac_address: '00:50:56:84:6D:84',
58
58
  type: {
59
- value: 'virtual'
60
- }
61
- }
62
- ]
59
+ value: 'virtual',
60
+ },
61
+ },
62
+ ],
63
63
  }
64
64
  end
65
65
 
66
66
  let(:new_hash) do
67
67
  {
68
68
  device: {
69
- name: 'New name'
69
+ name: 'New name',
70
70
  },
71
71
  device_type: {
72
- model: 'Model name'
72
+ model: 'Model name',
73
73
  },
74
74
  manufacturer: {
75
- name: 'Manufacturer'
75
+ name: 'Manufacturer',
76
76
  },
77
77
  interfaces: [
78
78
  {
79
79
  name: 'eth0',
80
80
  type: {
81
- value: 'virtual'
82
- }
81
+ value: 'virtual',
82
+ },
83
83
  },
84
84
  {
85
85
  name: 'eth1',
86
86
  type: {
87
- value: 'new_type'
88
- }
87
+ value: 'new_type',
88
+ },
89
89
  },
90
90
  {
91
91
  name: 'eth3',
92
92
  type: {
93
- value: 'virtual'
94
- }
93
+ value: 'virtual',
94
+ },
95
95
  },
96
96
  {
97
97
  name: 'eth4',
98
98
  mac_address: '00:50:56:84:6D:84',
99
99
  type: {
100
- value: 'virtual'
101
- }
102
- }
103
- ]
100
+ value: 'virtual',
101
+ },
102
+ },
103
+ ],
104
104
  }
105
105
  end
106
106
 
@@ -111,12 +111,12 @@ module ForemanNetbox
111
111
  device: {
112
112
  name: {
113
113
  old: old_hash.dig(:device, :name), new: new_hash.dig(:device, :name)
114
- }
114
+ },
115
115
  },
116
116
  interfaces: {
117
117
  added: new_hash[:interfaces].select { |i| %w[eth1 eth3].include?(i[:name]) },
118
- removed: old_hash[:interfaces].select { |i| %w[eth1 eth2].include?(i[:name]) }
119
- }
118
+ removed: old_hash[:interfaces].select { |i| %w[eth1 eth2].include?(i[:name]) },
119
+ },
120
120
  }
121
121
  end
122
122
 
metadata CHANGED
@@ -1,163 +1,99 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_netbox
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - dmTECH GmbH
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-10 00:00:00.000000000 Z
11
+ date: 2023-04-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: dry-configurable
14
+ name: dry-validation
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0.13'
20
- - - "<"
17
+ - - "~>"
21
18
  - !ruby/object:Gem::Version
22
- version: '0.17'
19
+ version: 1.8.1
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: '0.13'
30
- - - "<"
24
+ - - "~>"
31
25
  - !ruby/object:Gem::Version
32
- version: '0.17'
26
+ version: 1.8.1
33
27
  - !ruby/object:Gem::Dependency
34
- name: dry-container
28
+ name: interactor
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- version: '0.7'
40
- - - "<"
31
+ - - "~>"
41
32
  - !ruby/object:Gem::Version
42
- version: '0.12'
33
+ version: 3.1.1
43
34
  type: :runtime
44
35
  prerelease: false
45
36
  version_requirements: !ruby/object:Gem::Requirement
46
37
  requirements:
47
- - - ">="
48
- - !ruby/object:Gem::Version
49
- version: '0.7'
50
- - - "<"
38
+ - - "~>"
51
39
  - !ruby/object:Gem::Version
52
- version: '0.12'
40
+ version: 3.1.1
53
41
  - !ruby/object:Gem::Dependency
54
- name: dry-core
42
+ name: netbox-client-ruby
55
43
  requirement: !ruby/object:Gem::Requirement
56
44
  requirements:
57
- - - ">="
58
- - !ruby/object:Gem::Version
59
- version: '0.6'
60
- - - "<"
45
+ - - "~>"
61
46
  - !ruby/object:Gem::Version
62
- version: '0.9'
47
+ version: 0.6.0
63
48
  type: :runtime
64
49
  prerelease: false
65
50
  version_requirements: !ruby/object:Gem::Requirement
66
51
  requirements:
67
- - - ">="
68
- - !ruby/object:Gem::Version
69
- version: '0.6'
70
- - - "<"
52
+ - - "~>"
71
53
  - !ruby/object:Gem::Version
72
- version: '0.9'
54
+ version: 0.6.0
73
55
  - !ruby/object:Gem::Dependency
74
- name: dry-inflector
56
+ name: dry-container
75
57
  requirement: !ruby/object:Gem::Requirement
76
58
  requirements:
77
59
  - - '='
78
60
  - !ruby/object:Gem::Version
79
- version: 0.3.0
61
+ version: 0.9.0
80
62
  type: :runtime
81
63
  prerelease: false
82
64
  version_requirements: !ruby/object:Gem::Requirement
83
65
  requirements:
84
66
  - - '='
85
67
  - !ruby/object:Gem::Version
86
- version: 0.3.0
87
- - !ruby/object:Gem::Dependency
88
- name: dry-schema
89
- requirement: !ruby/object:Gem::Requirement
90
- requirements:
91
- - - ">="
92
- - !ruby/object:Gem::Version
93
- version: '1.6'
94
- - - "<"
95
- - !ruby/object:Gem::Version
96
- version: '1.12'
97
- type: :runtime
98
- prerelease: false
99
- version_requirements: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '1.6'
104
- - - "<"
105
- - !ruby/object:Gem::Version
106
- version: '1.12'
68
+ version: 0.9.0
107
69
  - !ruby/object:Gem::Dependency
108
- name: dry-validation
109
- requirement: !ruby/object:Gem::Requirement
110
- requirements:
111
- - - ">="
112
- - !ruby/object:Gem::Version
113
- version: 1.5.2
114
- - - "<"
115
- - !ruby/object:Gem::Version
116
- version: 1.9.0
117
- type: :runtime
118
- prerelease: false
119
- version_requirements: !ruby/object:Gem::Requirement
120
- requirements:
121
- - - ">="
122
- - !ruby/object:Gem::Version
123
- version: 1.5.2
124
- - - "<"
125
- - !ruby/object:Gem::Version
126
- version: 1.9.0
127
- - !ruby/object:Gem::Dependency
128
- name: interactor
70
+ name: dry-core
129
71
  requirement: !ruby/object:Gem::Requirement
130
72
  requirements:
131
- - - "~>"
73
+ - - '='
132
74
  - !ruby/object:Gem::Version
133
- version: 3.1.1
75
+ version: 0.8.1
134
76
  type: :runtime
135
77
  prerelease: false
136
78
  version_requirements: !ruby/object:Gem::Requirement
137
79
  requirements:
138
- - - "~>"
80
+ - - '='
139
81
  - !ruby/object:Gem::Version
140
- version: 3.1.1
82
+ version: 0.8.1
141
83
  - !ruby/object:Gem::Dependency
142
- name: netbox-client-ruby
84
+ name: dry-schema
143
85
  requirement: !ruby/object:Gem::Requirement
144
86
  requirements:
145
- - - ">="
146
- - !ruby/object:Gem::Version
147
- version: 0.5.5
148
- - - "<"
87
+ - - '='
149
88
  - !ruby/object:Gem::Version
150
- version: 0.8.0
89
+ version: 1.10.6
151
90
  type: :runtime
152
91
  prerelease: false
153
92
  version_requirements: !ruby/object:Gem::Requirement
154
93
  requirements:
155
- - - ">="
156
- - !ruby/object:Gem::Version
157
- version: 0.5.5
158
- - - "<"
94
+ - - '='
159
95
  - !ruby/object:Gem::Version
160
- version: 0.8.0
96
+ version: 1.10.6
161
97
  - !ruby/object:Gem::Dependency
162
98
  name: rdoc
163
99
  requirement: !ruby/object:Gem::Requirement
@@ -173,33 +109,19 @@ dependencies:
173
109
  - !ruby/object:Gem::Version
174
110
  version: '0'
175
111
  - !ruby/object:Gem::Dependency
176
- name: rubocop
177
- requirement: !ruby/object:Gem::Requirement
178
- requirements:
179
- - - "~>"
180
- - !ruby/object:Gem::Version
181
- version: 1.45.1
182
- type: :development
183
- prerelease: false
184
- version_requirements: !ruby/object:Gem::Requirement
185
- requirements:
186
- - - "~>"
187
- - !ruby/object:Gem::Version
188
- version: 1.45.1
189
- - !ruby/object:Gem::Dependency
190
- name: rubocop-rails
112
+ name: theforeman-rubocop
191
113
  requirement: !ruby/object:Gem::Requirement
192
114
  requirements:
193
115
  - - "~>"
194
116
  - !ruby/object:Gem::Version
195
- version: 2.9.1
117
+ version: 0.1.2
196
118
  type: :development
197
119
  prerelease: false
198
120
  version_requirements: !ruby/object:Gem::Requirement
199
121
  requirements:
200
122
  - - "~>"
201
123
  - !ruby/object:Gem::Version
202
- version: 2.9.1
124
+ version: 0.1.2
203
125
  description:
204
126
  email:
205
127
  - opensource@dm.de