Skip to content

[CSTACKEX-204] ASUP Implementation#69

Open
suryag1201 wants to merge 12 commits into
mainfrom
feature/CSTACKEX-204
Open

[CSTACKEX-204] ASUP Implementation#69
suryag1201 wants to merge 12 commits into
mainfrom
feature/CSTACKEX-204

Conversation

@suryag1201

@suryag1201 suryag1201 commented Jun 30, 2026

Copy link
Copy Markdown

Description

This PR...
ASUP Implementation

Types of changes

  • Breaking change (fix or feature that would cause existing functionality to change)
  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Enhancement (improves an existing feature and functionality)
  • Cleanup (Code refactoring and cleanup, that may add test cases)
  • Build/CI
  • Test (unit or integration test code)

Feature/Enhancement Scale or Bug Severity

Feature/Enhancement Scale

  • Major
  • Minor

Bug Severity

  • BLOCKER
  • Critical
  • Major
  • Minor
  • Trivial

Screenshots (if appropriate):

How Has This Been Tested?

How did you try to break this feature and the system with this change?

*/
public class OntapAsupManager extends ManagerBase implements Configurable {

public static final ConfigKey<Boolean> AsupEnabled = new ConfigKey<>(

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shall we have one common place for taking config values, instead of creating separate instances everytime we need it? There were few comments on our earlier community PRs to have few fields as configs too.

OntapStorageConstants.ASUP_ENABLED_DESCRIPTION,
true, ConfigKey.Scope.Global);

public static final ConfigKey<Integer> AsupIntervalSeconds = new ConfigKey<>(

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changing any config in GlobalSettings doesn't need restarting of Jetty. Is it the same behaviour here?
Also, the config can be changed in 'GlobalSettings' under 'Configuration' on the UI, isn't it?


// event-id 1: CloudStack storage pool -> backing ONTAP volume mapping, once per pool.
// The description also includes disk usage and snapshot telemetry
EmsApplicationLog poolMessage = buildBaseMessage(computerName, appVersion);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This event gets sent every 1 min right? Not as the comment saying that it gets sent only once per pool. We need to keep sending the change in pool size. But, isn't 1 min too aggressive?

*/
private String buildPoolDescription(StoragePoolVO pool, Map<String, String> details,
String clusterUuid) {
Map<String, Object> payload = new LinkedHashMap<>();

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would ONTAP EMS saves only the diff from the previous event? If all the kv's are not needed all the time, should we send few identifiers along with the actual data change as payload?


@Override
public Long getDelay() {
return ASUP_POLL_CHECK_INTERVAL_MS;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we not set the value from the config here, instead of constant?

long snapCount = 0;
if (snapshots != null) {
for (SnapshotVO snap : snapshots) {
if (!com.cloud.storage.Snapshot.State.Destroyed.equals(snap.getState())) {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please import this instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants