Skip to content

Commit bf6c209

Browse files
Bischoffmfriesenegger
authored andcommitted
Reset FCP assignements of deleted VM
Signed-off-by: Eric Bischoff <[email protected]>
1 parent 34ae82c commit bf6c209

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

zvmsdk/database.py

+9
Original file line numberDiff line numberDiff line change
@@ -490,6 +490,15 @@ def bulk_update_state_in_fcp_table(self, fcp_id_list: list,
490490
conn.executemany("UPDATE fcp set state=? "
491491
"WHERE fcp_id=?", data_to_update)
492492

493+
def reset_fcps_of_assigner(self, userid):
494+
"""Reset fcp records for a given assigner."""
495+
with get_fcp_conn() as conn:
496+
conn.execute("UPDATE fcp SET assigner_id='', reserved=0, "
497+
"connections=0, tmpl_id='' WHERE assigner_id=?",
498+
(userid,))
499+
LOG.debug("FCP records for user %s are reset in "
500+
"fcp table" % userid)
501+
493502
def get_all_fcps_of_assigner(self, assigner_id=None):
494503
"""Get dict of all fcp records of specified assigner.
495504
If assigner is None, will get all fcp records.

zvmsdk/smtclient.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ def __init__(self):
8484
self._NetDbOperator = database.NetworkDbOperator()
8585
self._GuestDbOperator = database.GuestDbOperator()
8686
self._ImageDbOperator = database.ImageDbOperator()
87+
self._FCPDbOperator = database.FCPDbOperator()
8788

8889
def _request(self, requestData):
8990
try:
@@ -2564,8 +2565,10 @@ def delete_vm(self, userid):
25642565
with zvmutils.log_and_reraise_sdkbase_error(action):
25652566
self._NetDbOperator.switch_delete_record_for_userid(userid)
25662567

2567-
# TODO: cleanup db record from volume table
2568-
pass
2568+
# cleanup db records from FCP table
2569+
action = "delete FCP records for user %s" % userid
2570+
with zvmutils.log_and_reraise_sdkbase_error(action):
2571+
self._FCPDbOperator.reset_fcps_of_assigner(userid)
25692572

25702573
# cleanup persistent folder for guest
25712574
self._pathutils.remove_guest_path(userid)

0 commit comments

Comments
 (0)