Examples of PlatformSyncInfo


Examples of org.rhq.core.domain.discovery.PlatformSyncInfo

        // Merge this inventory report
        MergeInventoryReportResults mergeResults = discoveryBoss.mergeInventoryReport(serialize(inventoryReport));
        assert mergeResults != null;
        assert checkIgnoredTypes(mergeResults) : "nothing should have been ignored: "
            + mergeResults.getIgnoredResourceTypes();
        PlatformSyncInfo platformSyncInfo = mergeResults.getPlatformSyncInfo();
        assert platformSyncInfo != null;

        // Check merge result
        assertEquals(InventoryStatus.NEW, platformSyncInfo.getPlatform().getInventoryStatus());
        assertEquals(platform.getChildResources().size(), platformSyncInfo.getTopLevelServerIds().size());

        // Collect the resource ids generated for the platform and the servers

        int platformId = platformSyncInfo.getPlatform().getId();
        List<Integer> serverIds = new LinkedList<Integer>();
        for (Integer serverId : platformSyncInfo.getTopLevelServerIds()) {
            serverIds.add(serverId);
        }
        int[] arrayOfServerIds = ArrayUtils.unwrapCollection(serverIds);

        // Now test ignore, unignore and import behavior
View Full Code Here

Examples of org.rhq.core.domain.discovery.PlatformSyncInfo

        inventoryReport.addAddedRoot(platform);

        // Merge this inventory report
        MergeInventoryReportResults mergeResults = discoveryBoss.mergeInventoryReport(serialize(inventoryReport));
        assert mergeResults != null;
        PlatformSyncInfo platformSyncInfo = mergeResults.getPlatformSyncInfo();
        assert platformSyncInfo != null;
        assertNotNull(mergeResults.getIgnoredResourceTypes());
        assert checkIgnoredTypes(mergeResults, 1) : "expected one ignored type";
        assert mergeResults.getIgnoredResourceTypes().contains(new ResourceTypeFlyweight(serverType));

        // Check merge result - make sure we should not see any children under the platform (it should have been ignored)
        assertEquals(InventoryStatus.NEW, platformSyncInfo.getPlatform().getInventoryStatus());
        assertEquals(platformSyncInfo.getTopLevelServerIds().size(), 0);
    }
View Full Code Here

Examples of org.rhq.core.domain.discovery.PlatformSyncInfo

        inventoryReport.addAddedRoot(platform);

        // Merge this inventory report
        MergeInventoryReportResults mergeResults = discoveryBoss.mergeInventoryReport(serialize(inventoryReport));
        assert mergeResults != null;
        PlatformSyncInfo platformSyncInfo = mergeResults.getPlatformSyncInfo();
        assert platformSyncInfo != null;

        // now see that we were told about the service types being ignored (even though we had no resources of that type in the report)
        Collection<ResourceTypeFlyweight> ignoredResourceTypes = mergeResults.getIgnoredResourceTypes();
        assertNotNull(ignoredResourceTypes);
View Full Code Here

Examples of org.rhq.core.domain.discovery.PlatformSyncInfo

        // Merge this inventory report to get platform and servers in NEW state
        MergeInventoryReportResults mergeResults = discoveryBoss.mergeInventoryReport(serialize(inventoryReport));
        assert mergeResults != null;
        assert checkIgnoredTypes(mergeResults) : "nothing should have been ignored: "
            + mergeResults.getIgnoredResourceTypes();
        PlatformSyncInfo platformSyncInfo = mergeResults.getPlatformSyncInfo();
        assert platformSyncInfo != null;

        // Collect the resource ids generated for the platform and the servers
        int platformId = platformSyncInfo.getPlatform().getId();
        List<Integer> serverIds = new LinkedList<Integer>();
        for (Integer serverId : platformSyncInfo.getTopLevelServerIds()) {
            serverIds.add(serverId);
        }
        int[] arrayOfServerIds = ArrayUtils.unwrapCollection(serverIds);

        // Now import platform and servers into inventory
        discoveryBoss.importResources(subjectManager.getOverlord(), new int[] { platformId });
        discoveryBoss.importResources(subjectManager.getOverlord(), arrayOfServerIds);

        // make sure servers are committed into inventory now
        List<Integer> serverTypeIdInList = new ArrayList<Integer>(1);
        serverTypeIdInList.add(serverType.getId());
        PageList<Resource> allServers = resourceManager.findResourceByIds(subjectManager.getOverlord(),
            arrayOfServerIds, false, PageControl.getUnlimitedInstance());
        for (Resource aServer : allServers) {
            assert aServer.getInventoryStatus() == InventoryStatus.COMMITTED : "should be committed: " + aServer;
        }
        assert allServers.getTotalSize() == arrayOfServerIds.length : "all servers were not committed into inventory";

        // now ignore the server type - this should uninventory all servers
        resourceTypeManager.setResourceTypeIgnoreFlagAndUninventoryResources(subjectManager.getOverlord(),
            serverType.getId(), true);

        // make sure all servers were uninventoried
        allServers = resourceManager.findResourceByIds(subjectManager.getOverlord(), arrayOfServerIds, false,
            PageControl.getUnlimitedInstance());
        for (Resource aServer : allServers) {
            assert aServer.getInventoryStatus() != InventoryStatus.COMMITTED : "should not be committed: " + aServer;
        }

        // Merge the inventory report again to simulate another discovery - the servers should be ignored now
        mergeResults = discoveryBoss.mergeInventoryReport(serialize(inventoryReport));
        assert mergeResults != null;
        platformSyncInfo = mergeResults.getPlatformSyncInfo();
        assert platformSyncInfo != null;
        assertNotNull(mergeResults.getIgnoredResourceTypes());
        assert checkIgnoredTypes(mergeResults, 1) : "expected one ignored type";
        assert mergeResults.getIgnoredResourceTypes().contains(new ResourceTypeFlyweight(serverType));

        assertEquals(InventoryStatus.COMMITTED, platformSyncInfo.getPlatform().getInventoryStatus()); // notice platform is committed now
        assertEquals(platformSyncInfo.getTopLevelServerIds().size(), 0); // notice there are no server children now
    }
View Full Code Here

Examples of org.rhq.core.domain.discovery.PlatformSyncInfo

        // Merge this inventory report
        MergeInventoryReportResults mergeResults = discoveryBoss.mergeInventoryReport(serialize(inventoryReport));
        assert mergeResults != null;
        assert checkIgnoredTypes(mergeResults) : "nothing should have been ignored: "
            + mergeResults.getIgnoredResourceTypes();
        PlatformSyncInfo platformSyncInfo = mergeResults.getPlatformSyncInfo();
        assert platformSyncInfo != null;

        // Check merge result
        assertEquals(InventoryStatus.COMMITTED, platformSyncInfo.getPlatform().getInventoryStatus());
        assertEquals(storagePlatform.getChildResources().size(), platformSyncInfo.getTopLevelServerIds().size());

        storageNode = resourceManager.getResourceById(subjectManager.getOverlord(), platformSyncInfo
            .getTopLevelServerIds().iterator().next());
        assertNotNull(storageNode);
        assertEquals(InventoryStatus.COMMITTED, storageNode.getInventoryStatus());
    }
View Full Code Here

Examples of org.rhq.core.domain.discovery.PlatformSyncInfo

        MergeInventoryReportResults results = discoveryBoss.mergeInventoryReport(serialize(inventoryReport));
        assertNotNull(results);
        assert checkIgnoredTypes(results) : "nothing should have been ignored in this test "
            + results.getIgnoredResourceTypes();
        final PlatformSyncInfo firstDiscoverySyncInfo = results.getPlatformSyncInfo();
        assertNotNull(firstDiscoverySyncInfo);

        // Then simulate a create resource request
        final String userSuppliedResourceName = prefix("User Supplied Resource Name");
        final String newResourceKey = prefix("Created Resource Key");
        final int serverResourceId = firstDiscoverySyncInfo.getTopLevelServerIds().iterator().next();

        executeInTransaction(false, new TransactionCallback() {
            @Override
            public void execute() throws Exception {
                Resource serverResource = getEntityManager().find(Resource.class, serverResourceId);
                CreateResourceHistory createResourceHistory = new CreateResourceHistory(serverResource, serviceType1,
                    subjectManager.getOverlord().getName(), new Configuration());
                createResourceHistory.setCreatedResourceName(userSuppliedResourceName);
                createResourceHistory.setNewResourceKey(newResourceKey);
                createResourceHistory.setStatus(SUCCESS);
                getEntityManager().persist(createResourceHistory);
                serverResource.addCreateChildResourceHistory(createResourceHistory);
                getEntityManager().flush();
            }
        });

        // Eventually inventory the newly discovered service

        inventoryReport = new InventoryReport(agent);
        Resource service1 = new Resource(newResourceKey, prefix("Plugin Computed Resource Name"), serviceType1);
        service1.setUuid(String.valueOf(new Random().nextInt()));
        server.setId(serverResourceId);
        server.addChildResource(service1);
        inventoryReport.addAddedRoot(server);

        results = discoveryBoss.mergeInventoryReport(serialize(inventoryReport));
        assertNotNull(results);
        assert checkIgnoredTypes(results) : "nothing should have been ignored in this test "
            + results.getIgnoredResourceTypes();
        PlatformSyncInfo secondDiscoverySyncInfo = results.getPlatformSyncInfo();
        assertNotNull(secondDiscoverySyncInfo);

        // Check that the resource ends with the user supplied name in inventory

        Integer toplevelServerId = secondDiscoverySyncInfo.getTopLevelServerIds().iterator().next();
        Collection<ResourceSyncInfo> topLevelServerSyncInfo = discoveryBoss.getResourceSyncInfo(toplevelServerId);
        assert topLevelServerSyncInfo.size() == 2;
        Iterator<ResourceSyncInfo> iter = topLevelServerSyncInfo.iterator();
        Integer childId = iter.next().getId();
        childId = childId.equals(toplevelServerId) ? iter.next().getId() : childId;
View Full Code Here

Examples of org.rhq.core.domain.discovery.PlatformSyncInfo

        // The platform can be null in only one scenario.. a brand new agent has connected to the server
        // and that agent is currently trying to upgrade its resources. For that it asks us to send down
        // the current inventory on the server side. But at this point there isn't any since that very
        // agent just registered and is starting up for the very first time and therefore hasn't had
        // a chance yet to send us its full inventory report.
        PlatformSyncInfo syncInfo = discoveryBoss.getPlatformSyncInfo(knownAgent);

        // we need to also tell the agent if there were any ignored types - we must provide the agent with
        // ALL types that are ignored, not just for those resources that were in the report
        ResourceTypeCriteria ignoredTypesCriteria = new ResourceTypeCriteria();
        ignoredTypesCriteria.addFilterIgnored(true);
View Full Code Here

Examples of org.rhq.core.domain.discovery.PlatformSyncInfo

            }
        }

        ResourceSyncInfo platformSyncInfo = ResourceSyncInfo.buildResourceSyncInfo(platform);
        Set<ResourceSyncInfo> topLevelServiceSyncInfo = getToplevelServiceSyncInfo(toplevelServices);
        PlatformSyncInfo result = new PlatformSyncInfo(platformSyncInfo, topLevelServiceSyncInfo, topLevelServerIds);

        return result;
    }
View Full Code Here

Examples of org.rhq.core.domain.discovery.PlatformSyncInfo

        for (Resource platform : platforms) {
            AgentClient agentClient = agentManager.getAgentClient(platform.getAgent());
            if (agentClient != null) {
                try {
                    //syncInfo = entityManager.find(ResourceSyncInfo.class, platform.getId());
                    PlatformSyncInfo platformSyncInfo = getPlatformSyncInfo(platform.getAgent());
                    agentClient.getDiscoveryAgentService().synchronizePlatform(platformSyncInfo);
                } catch (Exception e) {
                    LOG.warn("Could not perform commit synchronization with agent for platform [" + platform.getName()
                        + "]", e);
                }
View Full Code Here

Examples of org.rhq.core.domain.discovery.PlatformSyncInfo

    public boolean handleReport(InventoryReport report) {
        if (!configuration.isInsideAgent()) {
            return true;
        }

        PlatformSyncInfo platformSyncInfo;
        Collection<ResourceTypeFlyweight> ignoredTypes;
        try {
            String reportType = (report.isRuntimeReport()) ? "runtime" : "server";
            log.info("Sending [" + reportType + "] inventory report to Server...");
            long startTime = System.currentTimeMillis();
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.