foreman_netbox 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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