use of org.opennms.netmgt.model.OnmsServiceType in project opennms by OpenNMS.
the class DefaultProvisionService method createServiceTypeIfNecessary.
/**
* {@inheritDoc}
*/
@Transactional
@Override
public OnmsServiceType createServiceTypeIfNecessary(final String serviceName) {
preloadExistingTypes();
OnmsServiceType type = m_typeCache.get().get(serviceName);
if (type == null) {
type = loadServiceType(serviceName);
m_typeCache.get().put(serviceName, type);
}
return type;
}
use of org.opennms.netmgt.model.OnmsServiceType in project opennms by OpenNMS.
the class SaveOrUpdateOperation method foundMonitoredService.
/**
* <p>foundMonitoredService</p>
*
* @param serviceName a {@link java.lang.String} object.
*/
public void foundMonitoredService(String serviceName) {
// current interface may be null if it has no ipaddr
if (m_currentInterface != null) {
OnmsServiceType svcType = getProvisionService().createServiceTypeIfNecessary(serviceName);
OnmsMonitoredService service = new OnmsMonitoredService(m_currentInterface, svcType);
service.setStatus("A");
m_currentInterface.getMonitoredServices().add(service);
}
}
use of org.opennms.netmgt.model.OnmsServiceType in project opennms by OpenNMS.
the class ProvisionerIT method resourcesAreNotDeletedWhenNodeScanIsAborted.
/**
* Test for NMS-7636
*/
@Test(timeout = 300000)
public void resourcesAreNotDeletedWhenNodeScanIsAborted() throws InterruptedException, ExecutionException, UnknownHostException {
// Setup a node with a single interface and service
NetworkBuilder builder = new NetworkBuilder();
builder.addNode("node1");
builder.addInterface("192.168.0.1").getInterface().setIpLastCapsdPoll(new Date(new Date().getTime() - 60 * 60 * 1000));
builder.addService(new OnmsServiceType());
OnmsNode node = builder.getCurrentNode();
getNodeDao().save(node);
// Preliminary check
assertEquals(1, node.getIpInterfaces().size());
// Issue a scan without setting up the requisition
// Expect a nodeScanAborted event
m_eventAnticipator.anticipateEvent(nodeScanAborted(node.getId()));
m_eventAnticipator.setDiscardUnanticipated(true);
final NodeScan scan = m_provisioner.createNodeScan(node.getId(), "should_not_exist", "1", node.getLocation());
runScan(scan);
m_eventAnticipator.verifyAnticipated();
m_eventAnticipator.reset();
// The interface should remain
assertEquals(1, node.getIpInterfaces().size());
}
use of org.opennms.netmgt.model.OnmsServiceType in project opennms by OpenNMS.
the class CollectdIntegrationTest method setUp.
@Before
public void setUp() throws Exception {
m_eventIpcManager = new MockEventIpcManager();
EventIpcManagerFactory.setIpcManager(m_eventIpcManager);
m_mockUtils = new EasyMockUtils();
m_filterDao = m_mockUtils.createMock(FilterDao.class);
FilterDaoFactory.setInstance(m_filterDao);
// This call will also ensure that the poll-outages.xml file can parse IPv4
// and IPv6 addresses.
Resource resource = new ClassPathResource("etc/poll-outages.xml");
PollOutagesConfigFactory factory = new PollOutagesConfigFactory(resource);
factory.afterPropertiesSet();
PollOutagesConfigFactory.setInstance(factory);
File homeDir = resource.getFile().getParentFile().getParentFile();
System.setProperty("opennms.home", homeDir.getAbsolutePath());
resource = new ClassPathResource("/test-thresholds.xml");
ThresholdingConfigFactory.setInstance(new ThresholdingConfigFactory(resource.getInputStream()));
// set up test using a string key
m_key = m_testName.getMethodName() + System.nanoTime();
m_tests.put(m_key, this);
// create a collector definition
Collector collector = new Collector();
collector.setService("SNMP");
collector.setClassName(MockServiceCollector.class.getName());
// pass the key to the collector definition so it can look up the associated test
Parameter param = new Parameter();
param.setKey(TEST_KEY_PARM_NAME);
param.setValue(m_key);
collector.addParameter(param);
m_collectdConfigFactory = m_mockUtils.createMock(CollectdConfigFactory.class);
m_collectdConfiguration = m_mockUtils.createMock(CollectdConfiguration.class);
EasyMock.expect(m_collectdConfigFactory.getCollectdConfig()).andReturn(m_collectdConfiguration).anyTimes();
EasyMock.expect(m_collectdConfiguration.getCollectors()).andReturn(Collections.singletonList(collector)).anyTimes();
EasyMock.expect(m_collectdConfiguration.getThreads()).andReturn(1).anyTimes();
m_ifaceDao = m_mockUtils.createMock(IpInterfaceDao.class);
m_nodeDao = m_mockUtils.createMock(NodeDao.class);
m_collectd = new Collectd() {
@Override
protected void handleInsufficientInfo(InsufficientInformationException e) {
fail("Invalid event received: " + e.getMessage());
}
};
OnmsServiceType snmp = new OnmsServiceType("SNMP");
NetworkBuilder netBuilder = new NetworkBuilder();
NodeBuilder nodeBuilder = netBuilder.addNode("node1").setId(1);
InterfaceBuilder ifaceBlder = netBuilder.addInterface("192.168.1.1").setId(2).setIsSnmpPrimary("P");
ifaceBlder.addSnmpInterface(1);
OnmsMonitoredService svc = netBuilder.addService(snmp);
List<OnmsIpInterface> initialIfs = Collections.emptyList();
EasyMock.expect(m_ifaceDao.findByServiceType(snmp.getName())).andReturn(initialIfs).anyTimes();
m_filterDao.flushActiveIpAddressListCache();
EasyMock.expect(m_nodeDao.load(1)).andReturn(nodeBuilder.getNode()).anyTimes();
createGetPackagesExpectation(svc);
EasyMock.expect(m_ifaceDao.load(2)).andReturn(ifaceBlder.getInterface()).anyTimes();
m_mockUtils.replayAll();
final MockTransactionTemplate transTemplate = new MockTransactionTemplate();
transTemplate.afterPropertiesSet();
m_collectd.setCollectdConfigFactory(m_collectdConfigFactory);
m_collectd.setEventIpcManager(m_eventIpcManager);
m_collectd.setTransactionTemplate(transTemplate);
m_collectd.setIpInterfaceDao(m_ifaceDao);
m_collectd.setNodeDao(m_nodeDao);
m_collectd.setFilterDao(m_filterDao);
m_collectd.setPersisterFactory(new MockPersisterFactory());
m_collectd.setServiceCollectorRegistry(new DefaultServiceCollectorRegistry());
m_collectd.setLocationAwareCollectorClient(CollectorTestUtils.createLocationAwareCollectorClient());
// Inits the class
m_collectd.afterPropertiesSet();
// assertNotNull(m_serviceCollector);
}
use of org.opennms.netmgt.model.OnmsServiceType in project opennms by OpenNMS.
the class DuplicatePrimaryAddressIT method initialize.
/**
* Initialize.
*
* @param scheduleExistingNodes true, to emulate having data on the database
* @throws Exception the exception
*/
private void initialize(boolean scheduleExistingNodes) throws Exception {
MockLogAppender.setupLogging();
m_eventIpcManager = new MockEventIpcManager();
EventIpcManagerFactory.setIpcManager(m_eventIpcManager);
m_mockUtils = new EasyMockUtils();
m_filterDao = m_mockUtils.createMock(FilterDao.class);
FilterDaoFactory.setInstance(m_filterDao);
Resource resource = new ClassPathResource("etc/poll-outages.xml");
PollOutagesConfigFactory factory = new PollOutagesConfigFactory(resource);
factory.afterPropertiesSet();
PollOutagesConfigFactory.setInstance(factory);
File homeDir = resource.getFile().getParentFile().getParentFile();
System.setProperty("opennms.home", homeDir.getAbsolutePath());
Collector collector = new Collector();
collector.setService("SNMP");
collector.setClassName(MockServiceCollector.class.getName());
m_collectdConfigFactory = m_mockUtils.createMock(CollectdConfigFactory.class);
m_collectdConfiguration = m_mockUtils.createMock(CollectdConfiguration.class);
EasyMock.expect(m_collectdConfigFactory.getCollectdConfig()).andReturn(m_collectdConfiguration).anyTimes();
EasyMock.expect(m_collectdConfiguration.getCollectors()).andReturn(Collections.singletonList(collector)).anyTimes();
EasyMock.expect(m_collectdConfiguration.getThreads()).andReturn(2).anyTimes();
m_ifaceDao = m_mockUtils.createMock(IpInterfaceDao.class);
m_nodeDao = m_mockUtils.createMock(NodeDao.class);
m_collectd = new Collectd() {
@Override
protected void handleInsufficientInfo(InsufficientInformationException e) {
Assert.fail("Invalid event received: " + e.getMessage());
}
};
OnmsServiceType snmp = new OnmsServiceType("SNMP");
NetworkBuilder netBuilder = new NetworkBuilder();
OnmsNode n1 = netBuilder.addNode("node1").setId(1).setForeignSource("TestA").setForeignId("node1").getNode();
OnmsIpInterface ip1 = netBuilder.addSnmpInterface(1).addIpInterface("192.168.1.1").setId(2).setIsSnmpPrimary("P").getInterface();
netBuilder.addService(snmp);
OnmsNode n2 = netBuilder.addNode("node2").setId(3).setForeignSource("TestB").setForeignId("node2").getNode();
OnmsIpInterface ip2 = netBuilder.addSnmpInterface(1).addIpInterface("192.168.1.1").setId(4).setIsSnmpPrimary("P").getInterface();
netBuilder.addService(snmp);
Assert.assertNotSame(ip1.getNode().getId(), ip2.getNode().getId());
List<OnmsIpInterface> initialIfs = new ArrayList<>();
if (scheduleExistingNodes) {
initialIfs.add(ip1);
initialIfs.add(ip2);
}
EasyMock.expect(m_ifaceDao.findByServiceType(snmp.getName())).andReturn(initialIfs).anyTimes();
m_filterDao.flushActiveIpAddressListCache();
EasyMock.expectLastCall().anyTimes();
EasyMock.expect(m_nodeDao.load(1)).andReturn(n1).anyTimes();
EasyMock.expect(m_nodeDao.load(3)).andReturn(n2).anyTimes();
createGetPackagesExpectation();
EasyMock.expect(m_ifaceDao.load(2)).andReturn(ip1).anyTimes();
EasyMock.expect(m_ifaceDao.load(4)).andReturn(ip2).anyTimes();
m_mockUtils.replayAll();
final MockTransactionTemplate transTemplate = new MockTransactionTemplate();
transTemplate.afterPropertiesSet();
m_collectd.setCollectdConfigFactory(m_collectdConfigFactory);
m_collectd.setEventIpcManager(m_eventIpcManager);
m_collectd.setTransactionTemplate(transTemplate);
m_collectd.setIpInterfaceDao(m_ifaceDao);
m_collectd.setNodeDao(m_nodeDao);
m_collectd.setFilterDao(m_filterDao);
m_collectd.setPersisterFactory(new MockPersisterFactory());
m_collectd.setServiceCollectorRegistry(new DefaultServiceCollectorRegistry());
m_collectd.setLocationAwareCollectorClient(CollectorTestUtils.createLocationAwareCollectorClient());
m_collectd.afterPropertiesSet();
m_collectd.start();
}
Aggregations