import org.opendaylight.mdsal.eos.binding.api.EntityOwnershipService;
import org.opendaylight.mdsal.eos.common.api.CandidateAlreadyRegisteredException;
import org.opendaylight.netvirt.elan.arp.responder.ArpResponderInput;
-import org.opendaylight.netvirt.elan.statusanddiag.ElanStatusMonitor;
import org.opendaylight.netvirt.elan.utils.ElanConstants;
import org.opendaylight.netvirt.elan.utils.ElanUtils;
import org.opendaylight.netvirt.elanmanager.api.ElanHelper;
private final ElanInstanceManager elanInstanceManager;
private final ElanBridgeManager bridgeMgr;
private final DataBroker broker;
- private final ElanStatusMonitor elanStatusMonitor;
private final ElanUtils elanUtils;
private final SouthboundUtils southboundUtils;
private boolean isL2BeforeL3;
ElanInstanceManager elanInstanceManager, ElanBridgeManager bridgeMgr,
DataBroker dataBroker,
ElanInterfaceManager elanInterfaceManager,
- ElanStatusMonitor elanStatusMonitor, ElanUtils elanUtils,
+ ElanUtils elanUtils,
EntityOwnershipService entityOwnershipService,
SouthboundUtils southboundUtils) {
this.idManager = idManager;
this.elanInstanceManager = elanInstanceManager;
this.bridgeMgr = bridgeMgr;
this.broker = dataBroker;
- this.elanStatusMonitor = elanStatusMonitor;
this.elanUtils = elanUtils;
this.southboundUtils = southboundUtils;
@SuppressWarnings("checkstyle:IllegalCatch")
protected void start() throws Exception {
LOG.info("Starting ElanServiceProvider");
- elanStatusMonitor.reportStatus("STARTING");
setIsL2BeforeL3();
- try {
- createIdPool();
- elanStatusMonitor.reportStatus("OPERATIONAL");
- } catch (Exception e) {
- elanStatusMonitor.reportStatus("ERROR");
- throw e;
- }
+ createIdPool();
}
@Override
+++ /dev/null
-/*
- * Copyright (c) 2016 Red Hat, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.netvirt.elan.statusanddiag;
-
-public interface ElanStatusMonitor {
-
- void reportStatus(String serviceStatus);
-
-}
+++ /dev/null
-/*
- * Copyright (c) 2016 Ericsson India Global Services Pvt Ltd. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.netvirt.elan.statusanddiag;
-
-import java.lang.management.ManagementFactory;
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-import javax.inject.Singleton;
-import javax.management.JMException;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@Singleton
-public class ElanStatusMonitorJMX implements ElanStatusMonitor, ElanStatusMonitorMBean {
-
- private String serviceStatus;
- private static final String JMX_ELAN_OBJ_NAME = "org.opendaylight.netvirt.elan:type=SvcElanService";
- private static final Logger LOG = LoggerFactory.getLogger(ElanStatusMonitorJMX.class);
- private static final MBeanServer MBS = ManagementFactory.getPlatformMBeanServer();
-
- @PostConstruct
- public void init() throws Exception {
- registerMbean();
- }
-
- public void registerMbean() throws JMException {
- ObjectName objName = new ObjectName(JMX_ELAN_OBJ_NAME);
- MBS.registerMBean(this, objName);
- LOG.info("ElanStatusMonitor MXBean successfully registered {}", JMX_ELAN_OBJ_NAME);
- }
-
- @PreDestroy
- public void close() {
- try {
- ObjectName objName = new ObjectName(JMX_ELAN_OBJ_NAME);
- if (MBS.isRegistered(objName)) {
- MBS.unregisterMBean(objName);
- LOG.info("Successfully unregistered MXBean {}", JMX_ELAN_OBJ_NAME);
- }
- } catch (JMException e) {
- LOG.error("Error unregistering MXBean " + JMX_ELAN_OBJ_NAME, e);
- }
- }
-
- @Override
- public String acquireServiceStatus() {
- return serviceStatus;
- }
-
- @Override
- @SuppressWarnings("hiding")
- public void reportStatus(String reportStatus) {
- this.serviceStatus = reportStatus;
- }
-}
+++ /dev/null
-/*
- * Copyright (c) 2016 Ericsson India Global Services Pvt Ltd. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.netvirt.elan.statusanddiag;
-
-import javax.management.MXBean;
-
-@MXBean
-public interface ElanStatusMonitorMBean {
-
- String acquireServiceStatus();
-
-}
+++ /dev/null
-/*
- * Copyright (c) 2016 Red Hat, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.netvirt.elan.statusanddiag.tests;
-
-import org.junit.Test;
-import org.opendaylight.netvirt.elan.statusanddiag.ElanStatusMonitorJMX;
-
-/**
- * Test to make sure that ElanStatusMonitorJMX is a valid JMX MBean.
- *
- * @author Michael Vorburger
- */
-public class ElanStatusMonitorJMXTest {
-
- @Test
- public void testRegisterMbean() throws Exception {
- ElanStatusMonitorJMX jmxMBean = new ElanStatusMonitorJMX();
- jmxMBean.init();
- }
-
-}
import org.opendaylight.mdsal.eos.binding.api.EntityOwnershipService;
import org.opendaylight.netvirt.bgpmanager.api.IBgpManager;
import org.opendaylight.netvirt.elan.internal.ElanServiceProvider;
-import org.opendaylight.netvirt.elan.statusanddiag.ElanStatusMonitor;
import org.opendaylight.netvirt.elanmanager.api.IElanService;
import org.opendaylight.netvirt.elanmanager.tests.utils.BgpManagerTestImpl;
import org.opendaylight.netvirt.elanmanager.tests.utils.ElanEgressActionsHelper;
protected void configureBindings() {
DataBroker dataBroker = DataBrokerTestModule.dataBroker();
bind(EntityOwnershipService.class).toInstance(Mockito.mock(EntityOwnershipService.class));
- bind(ElanStatusMonitor.class).toInstance(Mockito.mock(ElanStatusMonitor.class));
bind(INeutronVpnManager.class).toInstance(Mockito.mock(NeutronvpnManagerImpl.class));
IVpnManager ivpnManager = Mockito.mock(VpnManagerTestImpl.class, CALLS_REAL_METHODS);
bind(IMdsalApiManager.class).toInstance(new MDSALManager(dataBroker,