Fwd: [Bug 714812] once a Resource is deleted via RHQ, if the underlying managed resource is later recreated and rediscovered by the Agent, it causes an invalid inventory report error in DiscoveryServerServiceImpl & prevents discovery of any new Resources from that Agent

Ian Springer ian.springer at redhat.com
Wed Nov 2 17:03:53 UTC 2011


Lukas-

I was just looking at this one and thinking a bit about the best way to 
fix it.

As I recall, when we discussed this briefly at the F2F, it was agreed 
that the main reason we were leaving DELETED Resources in inventory was 
so that if the Resource got rediscovered (after the underlying managed 
resource was recreated), it could be re-attached to its old metric data 
and other histories.

First on the Server side, there is the below code in 
DiscoveryBossBean.updatePreviouslyInventoriedResource():

         // If the resource was marked as deleted, reactivate it again.
         if (existingResource.getInventoryStatus() == 
InventoryStatus.DELETED) {
             existingResource.setInventoryStatus(InventoryStatus.COMMITTED);
             
existingResource.setPluginConfiguration(updatedResource.getPluginConfiguration());
         }

This has the right idea, but I think it should be changing the status to 
NEW, not COMMITTED, if it's a platform or a top-level server, since in 
that case the user should have to import it in order for it to become 
COMMITTED. The logic would actually be very similar to what we do for 
newly discovered Resources in initAutoDiscoveredResource(). There is 
also some other logic in that method we might also want to do like 
setting the itime to the current time (though I don't know if it makes 
more sense to leave the itime set to the original pre-DELETED inventory 
time).

In addition to fixing up the logic in DiscoveryBossBean, I'm guessing 
there will also be some changes needed to the sync code in 
InventoryManager on the agent side. For one thing, if a previously 
DELETED Resource gets rediscovered, we should make sure it ends up 
having the same uuid and id as the existing Resource on the Server side, 
so it doesn't end up getting blown away by purgeObsoleteResources(). I 
haven't done that much thought on the agent side though - it will 
probably require a bit of experimentation and debugging to figure out 
what needs to be changed. In any case, I'd fix up DiscoveryBossBeanfirst.

--Ian

-------- Original Message --------
Subject: 	[Bug 714812] once a Resource is deleted via RHQ, if the 
underlying managed resource is later recreated and rediscovered by the 
Agent, it causes an invalid inventory report error in 
DiscoveryServerServiceImpl & prevents discovery of any new Resources 
from that Agent
Date: 	Wed, 2 Nov 2011 12:05:07 -0400
From: 	bugzilla at redhat.com
To: 	ian.springer at redhat.com



Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.


https://bugzilla.redhat.com/show_bug.cgi?id=714812

Lukas Krejci<lkrejci at redhat.com>  changed:

            What    |Removed                     |Added
----------------------------------------------------------------------------
              Status|NEW                         |ASSIGNED
                  CC|                            |lkrejci at redhat.com
          AssignedTo|rhq-maint at redhat.com        |lkrejci at redhat.com

-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You reported the bug.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://fedorahosted.org/pipermail/rhq-devel/attachments/20111102/ccc3ed3c/attachment.html 


More information about the rhq-devel mailing list