From 2110f09cc0e81a2ee757f672a5ab400db5d353cd Mon Sep 17 00:00:00 2001 From: Henrique Sato Date: Mon, 24 Jul 2023 18:44:20 -0300 Subject: [PATCH 1/2] removed state for accounts --- api/src/main/java/com/cloud/user/Account.java | 2 +- server/src/main/java/com/cloud/user/AccountManagerImpl.java | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/api/src/main/java/com/cloud/user/Account.java b/api/src/main/java/com/cloud/user/Account.java index b4cdb882c4b4..bb9838f137a9 100644 --- a/api/src/main/java/com/cloud/user/Account.java +++ b/api/src/main/java/com/cloud/user/Account.java @@ -30,7 +30,7 @@ public interface Account extends ControlledEntity, InternalIdentity, Identity { * Account states. * */ enum State { - DISABLED, ENABLED, LOCKED; + DISABLED, ENABLED, LOCKED, REMOVED; /** * The toString method was overridden to maintain consistency in the DB, as the GenericDaoBase uses toString in the enum value to make the sql statements diff --git a/server/src/main/java/com/cloud/user/AccountManagerImpl.java b/server/src/main/java/com/cloud/user/AccountManagerImpl.java index 99896dc98272..a9311cb4774e 100644 --- a/server/src/main/java/com/cloud/user/AccountManagerImpl.java +++ b/server/src/main/java/com/cloud/user/AccountManagerImpl.java @@ -814,6 +814,9 @@ public boolean deleteAccount(AccountVO account, long callerUserId, Account calle return false; } + account.setState(State.REMOVED); + _accountDao.update(accountId, account); + if (s_logger.isDebugEnabled()) { s_logger.debug("Removed account " + accountId); } From f37b460ed230a072a1296b2f6b68c72bdca8f2f1 Mon Sep 17 00:00:00 2001 From: Henrique Sato Date: Thu, 31 Aug 2023 18:15:35 -0300 Subject: [PATCH 2/2] schema --- .../src/main/resources/META-INF/db/schema-41810to41900.sql | 3 +++ 1 file changed, 3 insertions(+) diff --git a/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql b/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql index 52c58fef1713..f7920667210a 100644 --- a/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql +++ b/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql @@ -180,3 +180,6 @@ CREATE TABLE `cloud`.`vm_scheduled_job` ( -- Add support for different cluster types for kubernetes ALTER TABLE `cloud`.`kubernetes_cluster` ADD COLUMN `cluster_type` varchar(64) DEFAULT 'CloudManaged' COMMENT 'type of cluster'; ALTER TABLE `cloud`.`kubernetes_cluster` MODIFY COLUMN `kubernetes_version_id` bigint unsigned NULL COMMENT 'the ID of the Kubernetes version of this Kubernetes cluster'; + +-- Set removed state for all removed accounts +UPDATE `cloud`.`account` SET state='removed' WHERE `removed` IS NOT NULL;