Skip to content

Commit b95921a

Browse files
committed
Make NETWORK.UPDATE create new entries so that data about the previous state is not lost
1 parent 29e8819 commit b95921a

File tree

2 files changed

+14
-9
lines changed

2 files changed

+14
-9
lines changed

engine/schema/src/main/java/com/cloud/usage/dao/UsageVpcDaoImpl.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
// under the License.
1717
package com.cloud.usage.dao;
1818

19-
import com.cloud.usage.UsageNetworksVO;
2019
import com.cloud.usage.UsageVpcVO;
2120
import com.cloud.utils.DateUtil;
2221
import com.cloud.utils.db.GenericDaoBase;

usage/src/main/java/com/cloud/usage/UsageManagerImpl.java

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2143,23 +2143,29 @@ private void createBackupEvent(final UsageEventVO event) {
21432143
}
21442144

21452145
private void handleNetworkEvent(UsageEventVO event) {
2146+
long networkId = event.getResourceId();
21462147
Account account = _accountDao.findByIdIncludingRemoved(event.getAccountId());
21472148
long domainId = account.getDomainId();
21482149
if (EventTypes.EVENT_NETWORK_DELETE.equals(event.getType())) {
2149-
usageNetworksDao.remove(event.getResourceId(), event.getCreateDate());
2150+
usageNetworksDao.remove(networkId, event.getCreateDate());
21502151
} else if (EventTypes.EVENT_NETWORK_CREATE.equals(event.getType())) {
2151-
List<UsageNetworksVO> entries = usageNetworksDao.listAll(event.getResourceId());
2152+
List<UsageNetworksVO> entries = usageNetworksDao.listAll(networkId);
21522153
if (!entries.isEmpty()) {
2153-
s_logger.warn(String.format("Active helper entries already exist for network [%s]; we will not create a new one.",
2154-
event.getResourceId()));
2154+
s_logger.warn(String.format("Received a NETWORK.CREATE event for a network [%s] that already has helper entries; " +
2155+
"therefore, we will not create a new one.", networkId));
21552156
return;
21562157
}
2157-
s_logger.debug(String.format("Creating a helper entry for network [%s].", event.getResourceId()));
2158-
UsageNetworksVO usageNetworksVO = new UsageNetworksVO(event.getResourceId(), event.getOfferingId(), event.getZoneId(),
2158+
s_logger.debug(String.format("Creating a helper entry for network [%s].", networkId));
2159+
UsageNetworksVO usageNetworksVO = new UsageNetworksVO(networkId, event.getOfferingId(), event.getZoneId(),
21592160
event.getAccountId(), domainId, Network.State.Allocated.name(), event.getCreateDate(), null);
21602161
usageNetworksDao.persist(usageNetworksVO);
21612162
} else if (EventTypes.EVENT_NETWORK_UPDATE.equals(event.getType())) {
2162-
usageNetworksDao.update(event.getResourceId(), event.getOfferingId(), event.getResourceType());
2163+
s_logger.debug(String.format("Marking previous helper entries of network [%s] as removed.", networkId));
2164+
usageNetworksDao.remove(networkId, event.getCreateDate());
2165+
s_logger.debug(String.format("Creating an updated helper entry for network [%s].", networkId));
2166+
UsageNetworksVO usageNetworksVO = new UsageNetworksVO(networkId, event.getOfferingId(), event.getZoneId(),
2167+
event.getAccountId(), domainId, event.getResourceType(), event.getCreateDate(), null);
2168+
usageNetworksDao.persist(usageNetworksVO);
21632169
} else {
21642170
s_logger.error(String.format("Unknown event type [%s] in Networks event parser. Skipping it.", event.getType()));
21652171
}
@@ -2173,7 +2179,7 @@ private void handleVpcEvent(UsageEventVO event) {
21732179
} else if (EventTypes.EVENT_VPC_CREATE.equals(event.getType())) {
21742180
List<UsageVpcVO> entries = usageVpcDao.listAll(event.getResourceId());
21752181
if (!entries.isEmpty()) {
2176-
s_logger.warn(String.format("Active helper entries already exist for VPC [%s]; we will not create a new one.",
2182+
s_logger.warn(String.format("Active helper entries already exist for VPC [%s]; therefore, we will not create a new one.",
21772183
event.getResourceId()));
21782184
return;
21792185
}

0 commit comments

Comments
 (0)