Order of processing removal events prevents proper removal of VirtualMachine from Machine object in Admin API

Description

Machine object holds VirtualMachines which should be emptied upon proper processing of service removal events.

When Machines.removeMachine is called, it will only be removed if it no longer holds VirtualMachines.

On calls from DefaultAdmin to remove services, we should remove the service before calling processMachineOnServiceRemoval.

This affects the following paths in DefaultAdmin:
removeGridServiceAgent, removeLookupService, removeGridServiceManager, removeElasticServiceManager, removeGridServiceContainer

This should also fix regression tests which timeout on waiting for machine to disconnect, because the mechanism waits for Machine removal.

Workaround

None

Acceptance Test

ExtraBackupSpaceScenario2ZKTest

Assignee

Meron Avigdor

Reporter

Meron Avigdor

Labels

None

Priority

Medium

SalesForce Case ID

None

Fix versions

Commitment Version/s

None

Due date

None

Product

XAP

Edition

Enterprise

Platform

All
Configure