Skip to content

Instantly share code, notes, and snippets.

@michalskalski
Last active August 29, 2015 14:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save michalskalski/36f2c21d52d28f7bf107 to your computer and use it in GitHub Desktop.
Save michalskalski/36f2c21d52d28f7bf107 to your computer and use it in GitHub Desktop.
odl mdsal cluster
odl-cluster-data {
bounded-mailbox {
mailbox-type = "org.opendaylight.controller.cluster.common.actor.MeteredBoundedMailbox"
mailbox-capacity = 1000
mailbox-push-timeout-time = 100ms
}
metric-capture-enabled = true
akka {
loglevel = "INFO"
loggers = ["akka.event.slf4j.Slf4jLogger"]
actor {
provider = "akka.cluster.ClusterActorRefProvider"
serializers {
java = "akka.serialization.JavaSerializer"
proto = "akka.remote.serialization.ProtobufSerializer"
readylocal = "org.opendaylight.controller.cluster.datastore.messages.ReadyLocalTransactionSerializer"
}
serialization-bindings {
"com.google.protobuf.Message" = proto
"org.opendaylight.controller.cluster.datastore.messages.ReadyLocalTransaction" = readylocal
}
default-dispatcher {
# Setting throughput to 1 makes the dispatcher fair. It processes 1 message from
# the mailbox before moving on to the next mailbox
throughput = 1
}
default-mailbox {
# When not using a BalancingDispatcher it is recommended that we use the SingleConsumerOnlyUnboundedMailbox
# as it is the most efficient for multiple producer/single consumer use cases
mailbox-type="akka.dispatch.SingleConsumerOnlyUnboundedMailbox"
}
}
remote {
log-remote-lifecycle-events = off
netty.tcp {
hostname = "192.168.0.6"
port = 2550
maximum-frame-size = 419430400
send-buffer-size = 52428800
receive-buffer-size = 52428800
}
}
cluster {
seed-nodes = ["akka.tcp://opendaylight-cluster-data@192.168.0.6:2550","akka.tcp://opendaylight-cluster-data@192.168.0.7:2550","akka.tcp://opendaylight-cluster-data@192.168.0.8:2550"]
auto-down-unreachable-after = 300s
roles = [
"node-33"
]
}
persistence {
# By default the snapshots/journal directories live in KARAF_HOME. You can choose to put it somewhere else by
# modifying the following two properties. The directory location specified may be a relative or absolute path.
# The relative path is always relative to KARAF_HOME.
# snapshot-store.local.dir = "target/snapshots"
# journal.leveldb.dir = "target/journal"
}
}
}
odl-cluster-rpc {
bounded-mailbox {
mailbox-type = "org.opendaylight.controller.cluster.common.actor.MeteredBoundedMailbox"
mailbox-capacity = 1000
mailbox-push-timeout-time = 100ms
}
metric-capture-enabled = true
akka {
loglevel = "INFO"
loggers = ["akka.event.slf4j.Slf4jLogger"]
actor {
provider = "akka.cluster.ClusterActorRefProvider"
}
remote {
log-remote-lifecycle-events = off
netty.tcp {
hostname = "192.168.0.6"
port = 2551
maximum-frame-size = 419430400
send-buffer-size = 52428800
receive-buffer-size = 52428800
}
}
cluster {
seed-nodes = ["akka.tcp://odl-cluster-rpc@192.168.0.6:2551","akka.tcp://odl-cluster-rpc@192.168.0.7:2551","akka.tcp://odl-cluster-rpc@192.168.0.8:2551"]
auto-down-unreachable-after = 300s
}
}
}
# Extra packages to import from the boot class loader
org.osgi.framework.system.packages.extra=org.apache.karaf.branding,sun.reflect,sun.reflect.misc,sun.misc,sun.nio.ch
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=325578
# Extend the framework to avoid the resources to be presented with
# a URL of type bundleresource: but to be presented as file:
osgi.hook.configurators.include=org.eclipse.virgo.kernel.equinox.extensions.hooks.ExtensionsHookConfigurator
# Embedded Tomcat configuration File
org.eclipse.gemini.web.tomcat.config.path=configuration/tomcat-server.xml
org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true
# Use Equinox as default OSGi Framework Implementation
karaf.framework=equinox
# Netconf startup configuration
netconf.tcp.address=127.0.0.1
netconf.tcp.port=8383
netconf.tcp.client.address=127.0.0.1
netconf.tcp.client.port=8383
netconf.ssh.address=0.0.0.0
netconf.ssh.port=1830
# Use Linux style path
netconf.ssh.pk.path = ./configuration/RSA.pk
# Set security provider to BouncyCastle
org.apache.karaf.security.providers = org.bouncycastle.jce.provider.BouncyCastleProvider
netconf.config.persister.active=1
netconf.config.persister.1.storageAdapterClass=org.opendaylight.controller.config.persist.storage.file.xml.XmlFileStorageAdapter
netconf.config.persister.1.properties.fileStorage=etc/opendaylight/current/controller.currentconfig.xml
netconf.config.persister.1.properties.numberOfBackups=1
# logback configuration
logback.configurationFile=configuration/logback.xml
# Container configuration
container.profile = Container
# Connection manager configuration
connection.scheme = ANY_CONTROLLER_ONE_MASTER
# Open Flow related system parameters
# TCP port on which the controller is listening (default 6633)
of.listenPort=6653
# IP address of the controller (default: wild card)
of.address = 192.168.0.6
# The time (in milliseconds) the controller will wait for a response after sending a Barrier Request or a Statistic Request message (default 2000 msec)
# of.messageResponseTimer=2000
# The switch liveness timeout value (default 60500 msec)
# of.switchLivenessTimeout=60500
# The size of the queue holding pending statistics requests (default 64). For large networks of n switches, it is recommended to set the queue size to n
# of.statsQueueSize = 64
# The flow statistics polling interval in second (default 10 sec)
# of.flowStatsPollInterval=10
# The port statistics polling interval in second (default 5 sec)
# of.portStatsPollInterval=5
# The description statistics polling interval in second (default 60 sec)
# of.descStatsPollInterval=60
# The table statistics polling interval in second (default 10 sec)
# of.tableStatsPollInterval=10
# The maximum number of asynchronous messages can be sent before sending a Barrier Request (default 100)
# of.barrierMessagePriorCount=100
# The interval which determines how often the discovery packets should be sent (default 300 sec)
# of.discoveryInterval=300
# The timeout multiple of discovery interval
# of.discoveryTimeoutMultiple=2
# For newly added ports, allow one more retry if the elapsed time exceeds this threshold (default 30 sec)
# of.discoveryThreshold=30
# The maximum number of ports handled in one discovery batch (default 512)
# of.discoveryBatchMaxPorts=512
# OVSDB configuration
# ovsdb plugin supports both active and passive connections. It listens on port 6640 by default for Active connections.
ovsdb.listenPort=6640
# ovsdb creates Openflow nodes/bridges. This configuration configures the bridge's Openflow version.
# default Openflow version = 1.0, we also support 1.3.
ovsdb.of.version=1.3
# ovsdb can be configured with ml2 to perform l3 forwarding. The config below enables that functionality, which is
# disabled by default.
# ovsdb.l3.fwd.enabled=yes
# ovsdb can be configured with ml2 to perform l3 forwarding. When used in that scenario, the mac address of the default
# gateway --on the external subnet-- is expected to be resolved from its inet address. The config below overrides that
# specific arp/neighDiscovery lookup.
# ovsdb.l3gateway.mac=00:00:5E:00:02:01
# TLS configuration
# To enable TLS, set secureChannelEnabled=true and specify the location of controller Java KeyStore and TrustStore files.
# The Java KeyStore contains controller's private key and certificate. The Java TrustStore contains the trusted certificate
# entries, including switches' Certification Authority (CA) certificates. For example,
# secureChannelEnabled=true
# controllerKeyStore=./configuration/ctlKeyStore
# controllerKeyStorePassword=xxxxxxxx (this password should match the password used for KeyStore generation and at least 6 characters)
# controllerTrustStore=./configuration/ctlTrustStore
# controllerTrustStorePassword=xxxxxxxx (this password should match the password used for TrustStore generation and at least 6 characters)
secureChannelEnabled=false
controllerKeyStore=
controllerKeyStorePassword=
controllerTrustStore=
controllerTrustStorePassword=
# User Manager configurations
enableStrongPasswordCheck = false
#Jolokia configurations
#org.jolokia.listenForHttpService=false
# Logging configuration for Tomcat-JUL logging
java.util.logging.config.file=configuration/tomcat-logging.properties
#Hosttracker hostsdb key scheme setting
hosttracker.keyscheme=IP
# LISP Flow Mapping configuration
# Map-Register messages overwrite existing RLOC sets in EID-to-RLOC mappings (default: true)
lisp.mappingOverwrite = true
# Enable the Solicit-Map-Request (SMR) mechanism (default: true)
lisp.smr = true
# Choose policy for Explicit Locator Path (ELP) handling
# There are three options:
# default: don't add or remove locator records, return mapping as-is
# both: keep the ELP, but add the next hop as a standalone non-LCAF locator with a lower priority
# replace: remove the ELP, add the next hop as a standalone non-LCAF locator
lisp.elpPolicy = default
+------------------+
+----------------------+ VIP: 192.168.0.2 +----------------------+
| +---------+--------+ |
| | |
| | |
| | |
+-----------------+ +--------+--------+ +-----------------+
|HAPROXY | |HAPROXY | |HAPROXY |
|VIP:6640 | |VIP:6640 | |VIP:6640 |
| | | | | |
|ODL1, ODL2, ODL3 | |ODL1, ODL2, ODL3 | |ODL1, ODL2, ODL3 |
+------------------------------+ +------------------------------+ +-----------------------------+
| | | | | | | | |
|ODL 1 | +----------------+ |ODL 2 | +----------------+ |ODL 3 | +----------------+
|192.168.0.6:6640 | | OVS + | |192.168.0.7:6640 | | OVS + | |192.168.0.8:6640 | | OVS + |
| | |manager VIP:6640| | | |manager VIP:6640| | | |manager VIP:6640|
|192.168.0.6:6653 | |controller ODL X| |192.168.0.7:6653 | |controller ODL X| |192.168.0.8:6653 | |controller ODL X|
| | +---------+------+ | | +---------+------+ | | +--------+-------+
| | | | | | | | |
+-----------------+ | +-----------------+ | +-----------------+ |
| | | | | |
| | | | | |
|OpenStack Controller | |OpenStack Controller | |OpenStack Controller |
| | | | | |
| | | | | |
+------------------------------+ +------------------------------+ +-----------------------------+
+----+-----------------+ +-----+----------------+
| | OVS | | | OVS |
| |manager VIP:6640 | | |manager VIP:6640|
| |controller ODL X | | |controller ODL X|
| +-----------------+ | +----------------+
| | | |
| | | |
|OpenStack Compute | |OpenStack Compute |
+----------------------+ +----------------------+
listen odl-ovsdb-manager
bind 192.168.0.2:6640
balance source
mode tcp
server node-33 192.168.0.6:6640 check inter 5000 rise 2 fall 3
server node-34 192.168.0.7:6640 check inter 5000 rise 2 fall 3
server node-35 192.168.0.8:6640 check inter 5000 rise 2 fall 3
module-shards = [
{
name = "default"
shards = [
{
name="default"
replicas = [ "node-33","node-34","node-35"]
}
]
},
{
name = "topology"
shards = [
{
name="topology"
replicas = [ "node-33","node-34","node-35"]
}
]
},
{
name = "inventory"
shards = [
{
name="inventory"
replicas = [ "node-33","node-34","node-35"]
}
]
},
{
name = "toaster"
shards = [
{
name="toaster"
replicas = [ "node-33","node-34","node-35"]
}
]
}
]
#
# Comma separated list of features repositories to register by default
#
featuresRepositories = mvn:org.apache.karaf.features/standard/3.0.3/xml/features,mvn:org.apache.karaf.features/enterprise/3.0.3/xml/features,mvn:org.ops4j.pax.web/pax-web-features/3.1.4/xml/features,mvn:org.apache.karaf.features/spring/3.0.3/xml/features,mvn:org.opendaylight.integration/features-integration-index/0.3.0-Lithium/xml/features
#
# Comma separated list of features to install at startup
#
featuresBoot=config,standard,region,package,kar,ssh,management,odl-mdsal-clustering,odl-openflowplugin-flow-services,odl-base-all,odl-restconf,odl-ovsdb-openstack,odl-dlux-core,odl-dlux-node,odl-dlux-yangui,odl-mdsal-apidocs
#
# Defines if the boot features are started in asynchronous mode (in a dedicated thread)
#
featuresBootAsynchronous=false
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment