cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From nnesic <>
Subject [GitHub] cloudstack pull request: Usage event fixes for deleted accounts
Date Mon, 12 Oct 2015 15:22:33 GMT
GitHub user nnesic opened a pull request:

    Usage event fixes for deleted accounts

    Fixes regarding usage event emission. 
    UsageEventUtils was previously not checking deleted accounts, which meant that if an account
was deleted that had some resources running on it, those resources would get destroyed without
emitting any events. 
    Furthermore, the VOLUME_DELETE event of ROOT volumes is the responsibility of the UserVmManager,
which gets circumvented when expunging resources following the account deletion. Added a check
to the AccountManager which catches the ROOT volumes that need to be deleted and emits events
for them. 
    To test this: Create a new user. As that user, create and destroy an instance. This should
to be emitted. 
    Create a new instance as the same user. Log in as admin, and delete the user. The same
set of events should be emitted, and there should be no duplicate DELETE events for the ROOT
volume of the previous instance.  

You can merge this pull request into a Git repository by running:

    $ git pull pr-volume-usage-events-fixes

Alternatively you can review and apply these changes as the patch at:

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #924
commit efb558ad6de41fb8103d630c72fe2cf20c5809f9
Author: nnesic <>
Date:   2015-10-07T10:46:41Z

    Changed usage utils to lookup deleted accounts.
    This was causing problems when deleting accounts which had running resources.
    The resources are stopped and destroyed, but we never get a usage event
    indicating so.

commit 7c9d2b48ea13f2d4d262ab25ca2a4414b3d34b8f
Author: nnesic <>
Date:   2015-10-12T13:15:30Z

    Emit a VOLUME_DELETE usage event when account deletion destroys an instance.
    Currently the logic about volume deletion seems to be that an event should be emitted
    when the volume delete is requested, not when the deletion completes.
    The VolumeStateListener specifically ignores destroy events for ROOT volumes, assuming
    that the ROOT volume only gets deleted when the instance is destroyed and the UserVmManager
    should take care of it.
    When deleting an account, all of its resources get destroyed, but the instance expunging
    circumvents the UserVmManager, and thus we miss the VOLUME_DESTROY usage event.
    Added a check in the AccountManager to emit the deletion event for ROOT volumes
    belonging to instances which weren't destroyed prior to the account deletion.

commit 7290eb3b3848626f417f85d554b876de88e74570
Author: nnesic <>
Date:   2015-10-12T13:28:58Z

    Added the 'status' to volume event descriptions
    to allow distinguishing between pre- and post-stateTransition events


If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at or file a JIRA ticket
with INFRA.

View raw message