/*
- * Copyright (c) 2013 Hewlett-Packard Development Company, L.P. and others
+ * Copyright (c) 2013, 2015 Hewlett-Packard Development Company, L.P. and others. All rights reserved.
*
- * 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
-*/
+ * 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.ovsdb.openstack.netvirt.impl;
-import org.opendaylight.ovsdb.openstack.netvirt.MdsalUtils;
+import org.opendaylight.ovsdb.openstack.netvirt.ConfigInterface;
import org.opendaylight.ovsdb.openstack.netvirt.NodeConfiguration;
+import org.opendaylight.ovsdb.openstack.netvirt.api.Southbound;
import org.opendaylight.ovsdb.openstack.netvirt.api.TenantNetworkManager;
import org.opendaylight.ovsdb.openstack.netvirt.api.VlanConfigurationCache;
+import org.opendaylight.ovsdb.utils.servicehelper.ServiceHelper;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbTerminationPointAugmentation;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
import com.google.common.collect.Maps;
import java.util.List;
import java.util.Map;
+
+import org.osgi.framework.ServiceReference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
* @author Dave Tucker
* @author Sam Hague
*/
-public class VlanConfigurationCacheImpl implements VlanConfigurationCache {
- static final Logger logger = LoggerFactory.getLogger(VlanConfigurationCacheImpl.class);
+public class VlanConfigurationCacheImpl implements ConfigInterface, VlanConfigurationCache {
+ private static final Logger LOG = LoggerFactory.getLogger(VlanConfigurationCacheImpl.class);
private Map<String, NodeConfiguration> configurationCache = Maps.newConcurrentMap();
private volatile TenantNetworkManager tenantNetworkManager;
-
- void init() {
- logger.info(">>>>>> init {}", this.getClass());
- }
+ private volatile Southbound southbound;
private NodeConfiguration getNodeConfiguration(Node node){
String nodeUuid = getNodeUUID(node);
}
private String getNodeUUID(Node node) {
- return MdsalUtils.getOvsdbNodeUUID(node);
+ return southbound.getOvsdbNodeUUID(node);
}
private void initializeNodeConfiguration(Node node, String nodeUuid) {
NodeConfiguration nodeConfiguration = new NodeConfiguration();
- Integer vlan = 0;
- String networkId = null;
- List<OvsdbTerminationPointAugmentation> ports = MdsalUtils.getTerminationPointsOfBridge(node);
+ List<OvsdbTerminationPointAugmentation> ports = southbound.getTerminationPointsOfBridge(node);
for (OvsdbTerminationPointAugmentation port : ports) {
- vlan = port.getVlanTag().getValue();
- networkId = tenantNetworkManager.getTenantNetwork(port).getNetworkUUID();
+ Integer vlan = port.getVlanTag().getValue();
+ String networkId = tenantNetworkManager.getTenantNetwork(port).getNetworkUUID();
if (vlan != 0 && networkId != null) {
internalVlanInUse(nodeConfiguration, vlan);
nodeConfiguration.getTenantVlanMap().put(networkId, vlan);
} else {
- logger.debug("Node: {} initialized without a vlan", node);
+ LOG.debug("Node: {} initialized without a vlan", node);
}
}
configurationCache.put(nodeUuid, nodeConfiguration);
Integer vlan = nodeConfiguration.getTenantVlanMap().get(networkId);
return vlan == null ? 0 : vlan;
}
+
+ @Override
+ public void setDependencies(ServiceReference serviceReference) {
+ tenantNetworkManager =
+ (TenantNetworkManager) ServiceHelper.getGlobalInstance(TenantNetworkManager.class, this);
+ southbound =
+ (Southbound) ServiceHelper.getGlobalInstance(Southbound.class, this);
+ }
+
+ @Override
+ public void setDependencies(Object impl) {
+
+ }
}