The user can now configure mount point names to either contain
IP address and port (default), or just the IP address.
Change-Id: Iea07f49ace2f9d0c5826e08791847e414c261403
Signed-off-by: agosain <agosain@luminanetworks.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
5855a337cbe0657c8dfd9ef3fba2d2d94939965a)
type boolean;
default false;
}
type boolean;
default false;
}
+
+ leaf mount-point-naming-strategy {
+ type enumeration {
+ enum IP_PORT;
+ enum IP_ONLY;
+ }
+ default IP_PORT;
+ description "Mount name will be chosen as per this strategy in the absence of per device settings. Default is IP_PORT";
+ }
}
container allowed-devices {
}
container allowed-devices {
package org.opendaylight.netconf.callhome.mount;
import com.google.common.collect.Iterables;
package org.opendaylight.netconf.callhome.mount;
import com.google.common.collect.Iterables;
-import com.google.common.net.InetAddresses;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netconf.callhome.server.rev161109.credentials.Credentials;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netconf.callhome.server.rev161109.netconf.callhome.server.AllowedDevices;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netconf.callhome.server.rev161109.netconf.callhome.server.Global;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netconf.callhome.server.rev161109.credentials.Credentials;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netconf.callhome.server.rev161109.netconf.callhome.server.AllowedDevices;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netconf.callhome.server.rev161109.netconf.callhome.server.Global;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netconf.callhome.server.rev161109.netconf.callhome.server.Global.MountPointNamingStrategy;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netconf.callhome.server.rev161109.netconf.callhome.server.allowed.devices.Device;
import org.opendaylight.yangtools.concepts.ListenerRegistration;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netconf.callhome.server.rev161109.netconf.callhome.server.allowed.devices.Device;
import org.opendaylight.yangtools.concepts.ListenerRegistration;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
- private static String fromRemoteAddress(final SocketAddress remoteAddress) {
+ private String fromRemoteAddress(final SocketAddress remoteAddress) {
if (remoteAddress instanceof InetSocketAddress) {
InetSocketAddress socketAddress = (InetSocketAddress) remoteAddress;
if (remoteAddress instanceof InetSocketAddress) {
InetSocketAddress socketAddress = (InetSocketAddress) remoteAddress;
- return InetAddresses.toAddrString(socketAddress.getAddress()) + ":" + socketAddress.getPort();
+ String ip = socketAddress.getAddress().getHostAddress();
+
+ final MountPointNamingStrategy strat = globalConfig.getMountPointNamingStrategy();
+ switch (strat) {
+ case IPONLY:
+ return ip;
+ case IPPORT:
+ return ip + ":" + socketAddress.getPort();
+ default:
+ throw new IllegalStateException("Unhandled naming strategy " + strat);
+ }
}
return remoteAddress.toString();
}
}
return remoteAddress.toString();
}
final Global local = current;
return local != null ? local.getCredentials() : null;
}
final Global local = current;
return local != null ? local.getCredentials() : null;
}
+
+ MountPointNamingStrategy getMountPointNamingStrategy() {
+ final Global local = current;
+ final MountPointNamingStrategy strat = local != null ? local.getMountPointNamingStrategy() : null;
+ return strat == null ? MountPointNamingStrategy.IPPORT : strat;
+ }