Skip to content

Commit cf2c47b

Browse files
authored
feat(client): Disable API registration check (#4388)
* Card ID: CCT-869 This update checks registration status using the `.registered` file instead of querying Inventory, which improves performance by reducing API calls. If the file exists, an upload proceeds. Signed-off-by: pkoprda <[email protected]>
1 parent 2a7834d commit cf2c47b

File tree

2 files changed

+4
-39
lines changed

2 files changed

+4
-39
lines changed

insights/client/phase/v1.py

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -230,12 +230,7 @@ def post_update(client, config):
230230
return
231231

232232
# check registration status before anything else
233-
if isfile(constants.machine_id_file):
234-
reg_check = client.get_registration_status()
235-
if reg_check is None:
236-
sys.exit(constants.sig_kill_bad)
237-
else:
238-
reg_check = False
233+
reg_check = isfile(constants.registered_files[0])
239234

240235
# --status
241236
if config.status:
@@ -262,13 +257,6 @@ def post_update(client, config):
262257

263258
# --register was called
264259
if config.register:
265-
# don't actually need to make a call to register() since
266-
# system creation and upload are a single event on the platform
267-
if reg_check is False and isfile(constants.machine_id_file):
268-
# Do not register if a machine_id file is found
269-
logger.info("Machine-id found, insights-client can not be registered."
270-
" Please, unregister insights-client first: `insights-client --unregister`")
271-
sys.exit(constants.sig_kill_bad)
272260
if reg_check:
273261
logger.info('This host has already been registered.')
274262
if not config.disable_schedule:

insights/tests/client/phase/test_post_update.py

Lines changed: 3 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,10 @@ def test_post_update_no_options_registered(insights_config, insights_client, _is
3838
Client run with no options.
3939
If registered, exit with 0 exit code (don't kill parent)
4040
"""
41-
insights_client.return_value.get_registration_status = MagicMock(return_value=True)
4241
with raises(SystemExit) as exc_info:
4342
post_update()
4443
assert exc_info.value.code == 0
4544
insights_client.return_value.get_machine_id.assert_called_once()
46-
insights_client.return_value.get_registration_status.assert_called_once()
4745
insights_client.return_value.clear_local_registration.assert_not_called()
4846
insights_client.return_value.set_display_name.assert_not_called()
4947

@@ -56,27 +54,24 @@ def test_post_update_no_options_unregistered(insights_config, insights_client, _
5654
Client run with no options.
5755
If unregistered, exit with 101 exit code (kill parent)
5856
"""
59-
insights_client.return_value.get_registration_status = MagicMock(return_value=False)
6057
with raises(SystemExit) as exc_info:
6158
post_update()
6259
assert exc_info.value.code == 101
6360
insights_client.return_value.clear_local_registration.assert_not_called()
6461
insights_client.return_value.set_display_name.assert_not_called()
6562

6663

67-
@patch("insights.client.phase.v1.isfile", side_effect=[True])
64+
@patch("insights.client.phase.v1.isfile", side_effect=[False])
6865
@patch("insights.client.phase.v1.InsightsClient")
6966
@patch_insights_config
7067
def test_post_update_no_options_err_reg_check(insights_config, insights_client, _isfile):
7168
"""
7269
Client run with no options.
7370
If registration check fails, exit with 101 exit code
7471
"""
75-
insights_client.return_value.get_registration_status = MagicMock(return_value=None)
7672
with raises(SystemExit) as exc_info:
7773
post_update()
7874
assert exc_info.value.code == 101
79-
insights_client.return_value.get_registration_status.assert_called_once()
8075
insights_client.return_value.clear_local_registration.assert_not_called()
8176
insights_client.return_value.set_display_name.assert_not_called()
8277

@@ -90,11 +85,9 @@ def test_post_update_check_status_registered(insights_config, insights_client, _
9085
If registered, exit with 100 exit code (kill parent)
9186
"""
9287
insights_config.return_value.load_all.return_value.status = True
93-
insights_client.return_value.get_registration_status = MagicMock(return_value=True)
9488
with raises(SystemExit) as exc_info:
9589
post_update()
9690
assert exc_info.value.code == 100
97-
insights_client.return_value.get_registration_status.assert_called_once()
9891
insights_client.return_value.clear_local_registration.assert_not_called()
9992
insights_client.return_value.set_display_name.assert_not_called()
10093

@@ -108,7 +101,6 @@ def test_post_update_check_status_unregistered(insights_config, insights_client,
108101
If unregistered, exit with 101 exit code (kill parent)
109102
"""
110103
insights_config.return_value.load_all.return_value.status = True
111-
insights_client.return_value.get_registration_status = MagicMock(return_value=False)
112104
with raises(SystemExit) as exc_info:
113105
post_update()
114106
assert exc_info.value.code == 101
@@ -126,12 +118,10 @@ def test_post_update_register_registered(insights_config, insights_client, get_s
126118
If registered, exit with 0 exit code
127119
"""
128120
insights_config.return_value.load_all.return_value.register = True
129-
insights_client.return_value.get_registration_status = MagicMock(return_value=True)
130121
with raises(SystemExit) as exc_info:
131122
post_update()
132123
assert exc_info.value.code == 0
133124
insights_client.return_value.get_machine_id.assert_called_once()
134-
insights_client.return_value.get_registration_status.assert_called_once()
135125
insights_client.return_value.clear_local_registration.assert_not_called()
136126
insights_client.return_value.set_display_name.assert_not_called()
137127
get_scheduler.return_value.schedule.assert_called_once()
@@ -166,15 +156,13 @@ def test_post_update_register_machineid(insights_config, insights_client, get_sc
166156
Also enable scheduling.
167157
"""
168158
insights_config.return_value.load_all.return_value.register = True
169-
insights_client.return_value.get_registration_status = MagicMock(return_value=False)
170159
with _mock_no_register_files_machineid_present():
171160
with raises(SystemExit) as exc_info:
172161
post_update()
173-
assert exc_info.value.code == 101
174-
insights_client.return_value.get_registration_status.assert_called_once()
162+
assert exc_info.value.code == 0
175163
insights_client.return_value.clear_local_registration.assert_not_called()
176164
insights_client.return_value.set_display_name.assert_not_called()
177-
get_scheduler.return_value.schedule.assert_not_called()
165+
get_scheduler.return_value.schedule.assert_called_once()
178166

179167

180168
@contextmanager
@@ -200,13 +188,11 @@ def test_post_update_register_unregistered(insights_config, insights_client, get
200188
Also enable scheduling.
201189
"""
202190
insights_config.return_value.load_all.return_value.register = True
203-
insights_client.return_value.get_registration_status = MagicMock(return_value=False)
204191
with _mock_no_machineid_present():
205192
with raises(SystemExit) as exc_info:
206193
post_update()
207194
assert exc_info.value.code == 0
208195
insights_client.return_value.get_machine_id.assert_called_once()
209-
insights_client.return_value.get_registration_status.assert_not_called()
210196
insights_client.return_value.clear_local_registration.assert_not_called()
211197
insights_client.return_value.set_display_name.assert_not_called()
212198
get_scheduler.return_value.schedule.assert_called_once()
@@ -223,12 +209,10 @@ def test_post_update_unregister_registered(insights_config, insights_client, get
223209
Also disable scheduling.
224210
"""
225211
insights_config.return_value.load_all.return_value.unregister = True
226-
insights_client.return_value.get_registration_status = MagicMock(return_value=True)
227212
insights_client.return_value.unregister = MagicMock(return_value=True)
228213
with raises(SystemExit) as exc_info:
229214
post_update()
230215
assert exc_info.value.code == 100
231-
insights_client.return_value.get_registration_status.assert_called_once()
232216
insights_client.return_value.unregister.assert_called_once()
233217
insights_client.return_value.clear_local_registration.assert_not_called()
234218
insights_client.return_value.set_display_name.assert_not_called()
@@ -245,7 +229,6 @@ def test_post_update_unregister_unregistered(insights_config, insights_client, g
245229
If unregistered, exit with 101 exit code
246230
"""
247231
insights_config.return_value.load_all.return_value.unregister = True
248-
insights_client.return_value.get_registration_status = MagicMock(return_value=False)
249232
insights_client.return_value.unregister = MagicMock(return_value=False)
250233
with raises(SystemExit) as exc_info:
251234
post_update()
@@ -267,7 +250,6 @@ def test_post_update_set_display_name_cli_no_register_unreg(insights_config, ins
267250
"""
268251
insights_config.return_value.load_all.return_value.display_name = True
269252
insights_config.return_value.load_all.return_value._cli_opts = ['display_name']
270-
insights_client.return_value.get_registration_status = MagicMock(return_value=False)
271253
with raises(SystemExit) as exc_info:
272254
post_update()
273255
assert exc_info.value.code == 101
@@ -286,11 +268,9 @@ def test_post_update_set_display_name_cli_no_register_reg(insights_config, insig
286268
"""
287269
insights_config.return_value.load_all.return_value.display_name = True
288270
insights_config.return_value.load_all.return_value._cli_opts = ['display_name']
289-
insights_client.return_value.get_registration_status = MagicMock(return_value=True)
290271
with raises(SystemExit) as exc_info:
291272
post_update()
292273
assert exc_info.value.code == 100
293-
insights_client.return_value.get_registration_status.assert_called_once()
294274
insights_client.return_value.set_display_name.assert_called_once()
295275
get_scheduler.return_value.schedule.assert_not_called()
296276

@@ -306,7 +286,6 @@ def test_post_update_set_display_name_cli_register(insights_config, insights_cli
306286
Display name is not explicitly set here
307287
"""
308288
insights_config.return_value.load_all.return_value.register = True
309-
insights_client.return_value.get_registration_status = MagicMock(return_value=True)
310289
with raises(SystemExit) as exc_info:
311290
post_update()
312291
assert exc_info.value.code == 0
@@ -327,7 +306,6 @@ def test_post_update_offline(insights_config, insights_client):
327306
except SystemExit:
328307
pass
329308
insights_client.return_value.get_machine_id.assert_called_once()
330-
insights_client.return_value.get_registration_status.assert_not_called()
331309
insights_client.return_value.clear_local_registration.assert_not_called()
332310
insights_client.return_value.set_display_name.assert_not_called()
333311

@@ -344,7 +322,6 @@ def test_post_update_no_upload(insights_config, insights_client):
344322
except SystemExit:
345323
pass
346324
insights_client.return_value.get_machine_id.assert_called_once()
347-
insights_client.return_value.get_registration_status.assert_not_called()
348325
insights_client.return_value.clear_local_registration.assert_not_called()
349326
insights_client.return_value.set_display_name.assert_not_called()
350327

0 commit comments

Comments
 (0)