[
https://issues.apache.org/jira/browse/CLOUDSTACK-6467?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jeff Hair resolved CLOUDSTACK-6467.
-----------------------------------
Resolution: Fixed
Fix pushed to master branch as: 9c4de764f74bffd5cd547f8514d4a6897fb961c2
> User VM state listener publishes to event bus incompletely
> ----------------------------------------------------------
>
> Key: CLOUDSTACK-6467
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-6467
> Project: CloudStack
> Issue Type: Bug
> Security Level: Public(Anyone can view this level - this is the
> default.)
> Components: Management Server
> Affects Versions: 4.2.0, 4.3.0, 4.4.0, 4.5.0
> Environment: CentOS 6.5
> Reporter: Jeff Hair
> Labels: easyfix, patch
> Fix For: 4.5.0
>
>
> The UserVMStateListener is responsible for publishing resource state
> transition events and usage events for virtual machines. It has an issue
> where, from the point of view of any listener bound on the event bus, it
> publishes resource state transition events for user VMs twice and only
> publishes events for system VMs (e.g. virtual routers) once, but before the
> state transition happens. Usage events are unaffected.
> This is because of two issues:
> 1. The publishOnEventBusMethod receives a status parameter to determine
> whether the event is pre- or post-transition. It ignores this parameter when
> publishing.
> 2. Only pre-transition events are published for system VMs like routers. This
> means there is no reliable way to act on a state transition event for system
> VMs if we are interested in doing something AFTER they have changed the state.
> The easiest solution to these issues is to move the the publishOnEventBus
> call in postStateTransitionEvent to before it returns for non-user VMs, and
> then also add the status string into the event description map when
> publishing to the event bus.
> I've also submitted a patch for this change to review board.
--
This message was sent by Atlassian JIRA
(v6.2#6252)