/** {@inheritDoc} */ @Override public void processPendingOperationForNode(AdapterOperation op) throws ProvisioningAdapterException { LOG.info("processPendingOperationsForNode: acquiring lock..."); synchronized (m_lock) { LOG.debug("processPendingOperationForNode: processing operation: {} for node with Id: # {}", op.getNodeId(), op.getType().name()); if (op.getType() == AdapterOperationType.ADD) { m_adds.add(op.getNodeId()); } else if (op.getType() == AdapterOperationType.UPDATE) { m_updates.add(op.getNodeId()); } else if (op.getType() == AdapterOperationType.DELETE) { m_deletes.add(op.getNodeId()); } doSync=true; } LOG.info("processPendingOperationsForNode: lock released."); }
@Override AdapterOperationSchedule createScheduleForNode(final int nodeId, AdapterOperationType adapterOperationType) { LOG.debug("Scheduling: {} for nodeid: {}", nodeId, adapterOperationType); if (adapterOperationType.equals(AdapterOperationType.CONFIG_CHANGE)) { updateRancidNodeState(nodeId, true); String ipaddress = m_onmsNodeIpMap.get(nodeId); //String ipaddress = (String) m_template.execute(new TransactionCallback() { // public Object doInTransaction(TransactionStatus arg0) { // return getSuitableIpForRancid(nodeId); // } //}); LOG.debug("Found Suitable ip address: {}", ipaddress); long initialDelay = m_rancidAdapterConfig.getDelay(ipaddress); int retries = m_rancidAdapterConfig.getRetries(ipaddress); LOG.debug("Setting initialDelay(sec): {}", initialDelay); LOG.debug("Setting retries(sec): {}", retries); return new AdapterOperationSchedule(initialDelay,60, retries, TimeUnit.SECONDS); } return new AdapterOperationSchedule(); }
private void doUpdate(AdapterOperation op) { OnmsNode node = null; LOG.debug("doUpdate: operation: {}", op.getType().name()); try { node = m_nodeDao.get(op.getNodeId()); if (node == null) { doDelete(op); return; } DnsRecord record = new DnsRecord(node,m_level); LOG.debug("doUpdate: DnsRecord: hostname: {} zone: {} ip address {}", record.getIp().getHostAddress(), record.getHostname(), record.getZone()); DnsRecord oldRecord = m_nodeDnsRecordMap.get(Integer.valueOf(node.getId())); Update update = new Update(Name.fromString(record.getZone())); if (oldRecord != null && oldRecord.getHostname() != record.getHostname()) { update.delete(Name.fromString(oldRecord.getHostname()), Type.A); } update.replace(Name.fromString(record.getHostname()), Type.A, 3600, record.getIp().getHostAddress()); m_resolver.send(update); m_nodeDnsRecordMap.put(Integer.valueOf(op.getNodeId()), record); } catch (Throwable e) { LOG.error("addNode: Error handling node added event.", e); sendAndThrow(op.getNodeId(), e); } }
@Override AdapterOperationSchedule createScheduleForNode(final int nodeId, AdapterOperationType adapterOperationType) { LOG.debug("Scheduling: {} for nodeid: {}", nodeId, adapterOperationType); if (adapterOperationType.equals(AdapterOperationType.CONFIG_CHANGE)) { updateRancidNodeState(nodeId, true); String ipaddress = m_onmsNodeIpMap.get(nodeId); //String ipaddress = (String) m_template.execute(new TransactionCallback() { // public Object doInTransaction(TransactionStatus arg0) { // return getSuitableIpForRancid(nodeId); // } //}); LOG.debug("Found Suitable ip address: {}", ipaddress); long initialDelay = m_rancidAdapterConfig.getDelay(ipaddress); int retries = m_rancidAdapterConfig.getRetries(ipaddress); LOG.debug("Setting initialDelay(sec): {}", initialDelay); LOG.debug("Setting retries(sec): {}", retries); return new AdapterOperationSchedule(initialDelay,60, retries, TimeUnit.SECONDS); } return new AdapterOperationSchedule(); }
private void doUpdate(AdapterOperation op) { LOG.debug("doUpdate: operation: {}", op.getType().name()); for (ReverseDnsRecord record : m_reverseDnsProvisioningAdapterService.get(op.getNodeId()) ) { LOG.debug("doUpdate: ReverseDnsRecord: hostname: {} zone: {} ip address: {}", record.getIp().getHostAddress(), record.getHostname(), record.getZone()); try { Update update = new Update(Name.fromString(record.getZone())); Name ptrRecord=ReverseMap.fromAddress(record.getIp()); update.replace(ptrRecord, Type.PTR, 3600, record.getHostname()); m_resolver.send(update); m_reverseDnsProvisioningAdapterService.update(op.getNodeId(),record); } catch (Exception e) { LOG.error("updateNode: Error handling updated event.", e); sendAndThrow(op.getNodeId(), e); } } }