qpid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tr...@apache.org
Subject qpid-dispatch git commit: DISPATCH-824 - Remove deprecated entities and attributes from the router schema and related code changes This closes #199
Date Mon, 25 Sep 2017 18:09:31 GMT
Repository: qpid-dispatch
Updated Branches:
  refs/heads/master 96db8058c -> 71b3b7dfd


DISPATCH-824 - Remove deprecated entities and attributes from the router schema and related code changes
This closes #199

(cherry picked from commit 8d0a2dde02b7cdbddf69019c345c13c6b930b9d6)


Project: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/commit/71b3b7df
Tree: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/tree/71b3b7df
Diff: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/diff/71b3b7df

Branch: refs/heads/master
Commit: 71b3b7dfd9380235c17122db1e41af108000e473
Parents: 96db805
Author: Ganesh Murthy <gmurthy@redhat.com>
Authored: Tue Sep 19 09:51:47 2017 -0400
Committer: Ted Ross <tross@redhat.com>
Committed: Mon Sep 25 14:00:55 2017 -0400

----------------------------------------------------------------------
 python/qpid_dispatch/management/qdrouter.json   | 206 +------------------
 python/qpid_dispatch_internal/dispatch.py       |   4 -
 .../qpid_dispatch_internal/management/agent.py  |  48 +----
 .../qpid_dispatch_internal/management/config.py |   5 +-
 src/connection_manager.c                        |  33 +--
 src/dispatch.c                                  |  41 +---
 src/dispatch_private.h                          |  22 --
 src/router_config.c                             | 129 ------------
 src/router_core/DESIGN                          |   6 +-
 src/router_core/agent_connection.c              |   1 -
 src/router_core/agent_router.c                  |   7 +-
 src/router_core/agent_router.h                  |   2 +-
 src/router_node.c                               |   4 +-
 src/router_private.h                            |   3 -
 tests/CMakeLists.txt                            |   1 -
 tests/config-1/A.conf                           |  31 +--
 tests/config-1/A.json                           |  31 +--
 tests/config-2-broker/A.conf                    |  72 ++++---
 tests/config-2-broker/B.conf                    |  61 ++++--
 tests/config-2/A-ssl.conf.in                    |  35 ++--
 tests/config-2/A.conf                           |  31 +--
 tests/config-2/B-ssl.conf.in                    |  34 +--
 tests/config-2/B.conf                           |  31 +--
 tests/config-6/A.conf                           |   7 +-
 tests/config-6/B.conf                           |   7 +-
 tests/config-6/C.conf                           |   8 +-
 tests/config-6/D.conf                           |   7 +-
 tests/config-6/X.conf                           |   8 +-
 tests/config-6/Y.conf                           |   7 +-
 tests/management/schema.py                      |  10 -
 tests/router_engine_test.py                     |   3 +-
 tests/system_test.py                            |   5 +-
 tests/system_tests_deprecated.py                | 149 --------------
 tests/system_tests_link_routes.py               |   2 +-
 tests/system_tests_management.py                |   9 -
 tests/system_tests_qdmanage.py                  |   4 +-
 tests/system_tests_sasl_plain.py                |  23 ++-
 tests/system_tests_two_routers.py               |   1 +
 tests/threads4.conf                             |   7 -
 tools/qdstat                                    |   2 +-
 40 files changed, 259 insertions(+), 838 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/python/qpid_dispatch/management/qdrouter.json
----------------------------------------------------------------------
diff --git a/python/qpid_dispatch/management/qdrouter.json b/python/qpid_dispatch/management/qdrouter.json
index 70000bb..b1c5220 100644
--- a/python/qpid_dispatch/management/qdrouter.json
+++ b/python/qpid_dispatch/management/qdrouter.json
@@ -374,7 +374,7 @@
             "singleton": true,
             "attributes": {
                 "id": {
-                    "description":"Router's unique identity. One of id or routerId is required. The router will fail to start without id or routerId",
+                    "description":"Router's unique identity. The router will fail to start without id.",
                     "type": "string",
                     "required": false,
                     "create": true
@@ -491,20 +491,6 @@
                     "required": false,
                     "default": false
                 },
-                "routerId": {
-                    "description":"(DEPRECATED) Router's unique identity. This attribute has been deprecated. Use id instead",
-                    "type": "string",
-                    "required": false,
-                    "deprecated": true,
-                    "create": true
-                },
-                "mobileAddrMaxAge": {
-                    "type": "integer",
-                    "default": 60,
-                    "deprecated": true,
-                    "description": "(DEPRECATED) This value is no longer used in the router.",
-                    "create": true
-                },
                 "defaultDistribution": {
                     "type": ["multicast", "closest", "balanced", "unavailable"],
                     "description": "Default forwarding treatment for any address without a specified treatment. multicast - one copy of each message delivered to all subscribers; closest - messages delivered to only the closest subscriber; balanced - messages delivered to one subscriber with load balanced across subscribers; unavailable - this address is unavailable, link attaches to an address of unavilable distribution will be rejected.",
@@ -618,11 +604,10 @@
                     "type": [
                         "normal",
                         "inter-router",
-                        "route-container",
-                        "on-demand"
+                        "route-container"
                     ],
                     "default": "normal",
-                    "description": "The role of an established connection. In the normal role, the connection is assumed to be used for AMQP clients that are doing normal message delivery over the connection.  In the inter-router role, the connection is assumed to be to another router in the network.  Inter-router discovery and routing protocols can only be used over inter-router connections. route-container role can be used for router-container connections, for example, a router-broker connection. on-demand role has been deprecated.",
+                    "description": "The role of an established connection. In the normal role, the connection is assumed to be used for AMQP clients that are doing normal message delivery over the connection.  In the inter-router role, the connection is assumed to be to another router in the network.  Inter-router discovery and routing protocols can only be used over inter-router connections. route-container role can be used for router-container connections, for example, a router-broker connection.",
                     "create": true
                 },
                 "cost": {
@@ -722,31 +707,6 @@
                     "required": false,
                     "description": "A comma-separated list of failover urls to be supplied to connected clients.  Form: [(amqp|amqps|ws|wss)://]host_or_ip[:port]"
                 },
-                "addr": {
-                    "description":"(DEPRECATED)IP address: ipv4 or ipv6 literal or a host name. This attribute has been deprecated. Use host instead",
-                    "deprecated": true,
-                    "type": "string",
-                    "default": "",
-                    "create": true
-                },
-                "allowNoSasl": {
-                    "type": "boolean",
-                    "create": true,
-                    "deprecated": true,
-                    "description": "(DEPRECATED) This attribute is now controlled by the authenticatePeer attribute."
-                },
-                "requirePeerAuth": {
-                    "type": "boolean",
-                    "create": true,
-                    "deprecated": true,
-                    "description": "(DEPRECATED) This attribute is now controlled by the authenticatePeer attribute."
-                },
-                "allowUnsecured": {
-                    "type": "boolean",
-                    "create": true,
-                    "deprecated": true,
-                    "description": "(DEPRECATED) This attribute is now controlled by the requireEncryption attribute."
-                },
                 "http": {
                     "type": "boolean",
                     "default": false,
@@ -796,11 +756,10 @@
                     "type": [
                         "normal",
                         "inter-router",
-                        "route-container",
-                        "on-demand"
+                        "route-container"
                     ],
                     "default": "normal",
-                    "description": "The role of an established connection. In the normal role, the connection is assumed to be used for AMQP clients that are doing normal message delivery over the connection.  In the inter-router role, the connection is assumed to be to another router in the network.  Inter-router discovery and routing protocols can only be used over inter-router connections. route-container role can be used for router-container connections, for example, a router-broker connection. on-demand role has been deprecated.",
+                    "description": "The role of an established connection. In the normal role, the connection is assumed to be used for AMQP clients that are doing normal message delivery over the connection.  In the inter-router role, the connection is assumed to be to another router in the network.  Inter-router discovery and routing protocols can only be used over inter-router connections. route-container role can be used for router-container connections, for example, a router-broker connection.",
                     "create": true
                 },
                 "cost": {
@@ -883,13 +842,6 @@
                     "create": true,
                     "hidden": true
                 },
-                "addr": {
-                    "description":"(DEPRECATED)IP address: ipv4 or ipv6 literal or a host name. This attribute has been deprecated. Use host instead",
-                    "deprecated": true,
-                    "type": "string",
-                    "default": "127.0.0.1",
-                    "create": true
-                },
                 "logMessage": {
                     "type": "string",
                     "default": "none",
@@ -1420,9 +1372,10 @@
         },
 
         "console": {
-            "description": "Start a websocket/tcp proxy and http file server to serve the web console",
+            "description": "(DEPRECATED) Start a websocket/tcp proxy and http file server to serve the web console",
             "extends": "configurationEntity",
             "singleton": true,
+            "deprecated": true,
             "attributes": {
                 "listener": {
                     "type": "string",
@@ -1540,7 +1493,7 @@
                 }
             }
         },
-
+        
         "vhostStats": {
             "description": "Virtual host connection and access statistics.",
             "extends": "operationalEntity",
@@ -1566,148 +1519,7 @@
                 "receiverDenied": {"type": "integer", "graph": true}
             }
         },
-
-        "container": {
-            "description":"(DEPRECATED)Attributes related to the AMQP container. This entity has been deprecated. Use the router entity instead.",
-            "extends": "configurationEntity",
-            "deprecated": true,
-            "singleton": true,
-            "attributes": {
-
-                "containerName": {
-                    "type": "string",
-                    "description": "The  name of the AMQP container.  If not specified, the container name will be set to a value of the container's choosing.  The automatically assigned container name is not guaranteed to be persistent across restarts of the container.",
-                    "create": true
-
-                },
-                "workerThreads": {
-                    "type": "integer",
-                    "default": 4,
-                    "description": "The number of threads that will be created to process message traffic and other application work (timers, non-amqp file descriptors, etc.) .",
-                    "create": true
-
-                },
-                "debugDump": {
-                    "type": "path",
-                    "description": "A file to dump debugging information that can't be logged normally.",
-                    "create": true
-
-                },
-                "saslConfigPath": {
-                    "type": "path",
-                    "description": "Absolute path to the SASL configuration file.",
-                    "required": false,
-                    "create": true
-                },
-                "saslConfigName": {
-                    "type": "string",
-                    "description": "Name of the SASL configuration.  This string + '.conf' is the name of the configuration file.",
-                    "required": false,
-                    "create": true
-                }
-            }
-        },
-
-        "waypoint": {
-            "description":"(DEPRECATED) A remote node that messages for an address pass through. This entity has been deprecated. Use autoLink instead",
-            "deprecated": true,
-            "extends": "configurationEntity",
-            "operations": ["CREATE", "DELETE"],
-            "attributes": {
-                "address": {
-                    "description":"The AMQP address of the waypoint.",
-                    "type": "string",
-                    "required": true,
-                    "create": true
-                },
-                "connector": {
-                    "description":"The name of the on-demand connector used to reach the waypoint's container.",
-                    "type": "string",
-                    "required": true,
-                    "create": true
-                },
-                "inPhase": {
-                    "description":"The phase of the address as it is routed _to_ the waypoint.",
-                    "type": "integer",
-                    "default": -1,
-                    "create": true
-                },
-                "outPhase": {
-                    "description":"The phase of the address as it is routed _from_ the waypoint.",
-                    "type": "integer",
-                    "default": -1,
-                    "create": true
-                }
-            }
-        },
-
-        "fixedAddress": {
-            "description":"(DEPRECATED) Establishes treatment for addresses starting with a prefix. This entity has been deprecated. Use address instead",
-            "extends": "configurationEntity",
-            "deprecated": true,
-            "operations": ["CREATE"],
-            "attributes": {
-                "prefix": {
-                    "type": "string",
-                    "required": true,
-                    "description": "The address prefix (always starting with '/').",
-                    "create": true
-                },
-                "phase": {
-                    "type": "integer",
-                    "description": "The phase of a multi-hop address passing through one or more waypoints.",
-                    "create": true
-                },
-                "fanout": {
-                    "type": [
-                        "multiple",
-                        "single"
-                    ],
-                    "default": "multiple",
-                    "description": "One of 'multiple' or 'single'.  Multiple fanout is a non-competing pattern.  If there are multiple consumers using the same address, each consumer will receive its own copy of every message sent to the address.  Single fanout is a competing pattern where each message is sent to only one consumer.",
-                    "create": true
-                },
-                "bias": {
-                    "type": [
-                        "closest",
-                        "spread"
-                    ],
-                    "default": "closest",
-                    "description": "Only if fanout is single.  One of 'closest' or 'spread'.  Closest bias means that messages to an address will always be delivered to the closest (lowest cost) subscribed consumer. Spread bias will distribute the messages across subscribers in an approximately even manner.",
-                    "create": true
-                }
-            }
-        },
-
-        "linkRoutePattern": {
-            "description":"(DEPRECATED) An address pattern to match against link sources and targets to cause the router to link-route the attach across the network to a remote node. This entity has been deprecated. Use linkRoute instead",
-            "deprecated": true,
-            "extends": "configurationEntity",
-            "operations": ["CREATE"],
-            "attributes": {
-                "prefix": {
-                    "description":"An address prefix to match against target and source addresses.  This pattern must be of the form '<text>.<text1>.<textN>' or '<text>' or '<text>.' and matches any address that contains that prefix.  For example, if the prefix is set to org.apache (or org.apache.), any address that has the prefix 'org.apache'  (like org.apache.dev) will match. Note that a prefix must not start with a (.), can end in a (.) and can contain zero or more dots (.).  Any characters between the dots are simply treated as part of the address",
-                    "type": "string",
-                    "required": true,
-                    "create": true
-                },
-                "dir": {
-                    "description":"Link direction for match: 'in' matches only links inbound to the client; 'out' matches only links outbound from the client; 'both' matches any link.",
-                    "type": ["in", "out", "both"],
-                    "required": false,
-                    "default": "both",
-                    "create": true
-                },
-                "connector": {
-                    "description":"The name of the on-demand connector used to reach the target node's container.  If this value is not provided, it means that the target container is expected to be connected to a different router in the network.  This prevents links to a link-routable address from being misinterpreted as message-routing links when there is no route to a valid destination available.",
-                    "type": "string",
-                    "required": false,
-                    "default": "",
-                    "create": true
-                }
-            }
-        },
-
+        
         "dummy": {
             "description": "Dummy entity for test purposes.",
             "extends": "entity",

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/python/qpid_dispatch_internal/dispatch.py
----------------------------------------------------------------------
diff --git a/python/qpid_dispatch_internal/dispatch.py b/python/qpid_dispatch_internal/dispatch.py
index e536725..758a4a3 100644
--- a/python/qpid_dispatch_internal/dispatch.py
+++ b/python/qpid_dispatch_internal/dispatch.py
@@ -56,7 +56,6 @@ class QdDll(ctypes.PyDLL):
         self._prototype(self.qd_error_message, c_char_p, [], check=False)
 
         self._prototype(self.qd_log_entity, c_long, [py_object])
-        self._prototype(self.qd_dispatch_configure_container, None, [self.qd_dispatch_p, py_object])
         self._prototype(self.qd_dispatch_configure_router, None, [self.qd_dispatch_p, py_object])
         self._prototype(self.qd_dispatch_prepare, None, [self.qd_dispatch_p])
         self._prototype(self.qd_dispatch_configure_listener, ctypes.c_void_p, [self.qd_dispatch_p, py_object])
@@ -68,9 +67,6 @@ class QdDll(ctypes.PyDLL):
         self._prototype(self.qd_connection_manager_delete_connector, None, [self.qd_dispatch_p, ctypes.c_void_p])
         self._prototype(self.qd_connection_manager_delete_ssl_profile, ctypes.c_bool, [self.qd_dispatch_p, ctypes.c_void_p])
 
-        self._prototype(self.qd_dispatch_configure_fixed_address, None, [self.qd_dispatch_p, py_object])
-        self._prototype(self.qd_dispatch_configure_waypoint, None, [self.qd_dispatch_p, py_object])
-        self._prototype(self.qd_dispatch_configure_lrp, None, [self.qd_dispatch_p, py_object])
         self._prototype(self.qd_dispatch_configure_address, None, [self.qd_dispatch_p, py_object])
         self._prototype(self.qd_dispatch_configure_link_route, None, [self.qd_dispatch_p, py_object])
         self._prototype(self.qd_dispatch_configure_auto_link, None, [self.qd_dispatch_p, py_object])

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/python/qpid_dispatch_internal/management/agent.py
----------------------------------------------------------------------
diff --git a/python/qpid_dispatch_internal/management/agent.py b/python/qpid_dispatch_internal/management/agent.py
index 429c6b7..81c70d6 100644
--- a/python/qpid_dispatch_internal/management/agent.py
+++ b/python/qpid_dispatch_internal/management/agent.py
@@ -229,22 +229,6 @@ class EntityAdapter(SchemaEntity):
         return "Entity(%s)" % ", ".join("%s=%s" % (k, '*******' if self.entity_type.attribute(k).hidden else self.attributes[k]) for k in keys)
 
 
-class ContainerEntity(EntityAdapter):
-    """
-    The ContainerEntity has been deprecated. Use the the RouterEntity instead
-    """
-
-    def create(self):
-        self._qd.qd_dispatch_configure_container(self._dispatch, self)
-
-    def _identifier(self):
-        self.attributes.setdefault("containerName", "00000000-0000-0000-0000-000000000000")
-        return self.attributes["containerName"]
-
-    def __str__(self):
-        return super(ContainerEntity, self).__str__().replace("Entity(", "ContainerEntity(")
-
-
 class RouterEntity(EntityAdapter):
     def __init__(self, agent, entity_type, attributes=None):
         super(RouterEntity, self).__init__(agent, entity_type, attributes, validate=False)
@@ -253,15 +237,10 @@ class RouterEntity(EntityAdapter):
         self._add_implementation(
             CImplementation(agent.qd, entity_type, self._dispatch))
 
-    def _identifier(self): return self.attributes.get('id')
+    def _identifier(self):
+        return self.attributes.get('id')
 
     def create(self):
-        try:
-            if self.routerId:
-                self._agent.log(LOG_WARNING, "routerId is deprecated, use id instead")
-        except:
-            pass
-
         self._qd.qd_dispatch_configure_router(self._dispatch, self)
 
     def __str__(self):
@@ -401,29 +380,6 @@ class ConnectorEntity(EntityAdapter):
     def __str__(self):
         return super(ConnectorEntity, self).__str__().replace("Entity(", "ConnectorEntity(")
 
-class FixedAddressEntity(EntityAdapter):
-    def create(self):
-        self._qd.qd_dispatch_configure_fixed_address(self._dispatch, self)
-
-    def __str__(self):
-        return super(FixedAddressEntity, self).__str__().replace("Entity(", "FixedAddressEntity(")
-
-
-class WaypointEntity(EntityAdapter):
-    def create(self):
-        self._qd.qd_dispatch_configure_waypoint(self._dispatch, self)
-        #self._qd.qd_waypoint_activate_all(self._dispatch)
-
-    def __str__(self):
-        return super(WaypointEntity, self).__str__().replace("Entity(", "WaypointEntity(")
-
-class LinkRoutePatternEntity(EntityAdapter):
-    def create(self):
-        self._qd.qd_dispatch_configure_lrp(self._dispatch, self)
-
-    def __str__(self):
-        return super(LinkRoutePatternEntity, self).__str__().replace("Entity(", "LinkRoutePatternEntity(")
-
 class AddressEntity(EntityAdapter):
     def create(self):
         self._qd.qd_dispatch_configure_address(self._dispatch, self)

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/python/qpid_dispatch_internal/management/config.py
----------------------------------------------------------------------
diff --git a/python/qpid_dispatch_internal/management/config.py b/python/qpid_dispatch_internal/management/config.py
index 7f8d629..f921128 100644
--- a/python/qpid_dispatch_internal/management/config.py
+++ b/python/qpid_dispatch_internal/management/config.py
@@ -160,8 +160,7 @@ def configure_dispatch(dispatch, lib_handle, filename):
     for m in modules:
         agent.configure(attributes=dict(type="log", module=m))
 
-    # Configure and prepare container and router before we can activate the agent.
-    configure(config.by_type('container')[0])
+    # Configure and prepare the router before we can activate the agent.
     configure(config.by_type('router')[0])
     qd.qd_dispatch_prepare(dispatch)
     qd.qd_router_setup_late(dispatch) # Actions requiring active management agent.
@@ -173,7 +172,7 @@ def configure_dispatch(dispatch, lib_handle, filename):
     policyDir = config.by_type('policy')[0]['policyDir']
     policyDefaultVhost = config.by_type('policy')[0]['defaultVhost']
     # Remaining configuration
-    for t in "sslProfile", "authServicePlugin", "fixedAddress", "listener", "connector", "waypoint", "linkRoutePattern", \
+    for t in "sslProfile", "authServicePlugin", "listener", "connector", \
              "router.config.address", "router.config.linkRoute", "router.config.autoLink", \
              "policy", "vhost":
         for a in config.by_type(t):

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/src/connection_manager.c
----------------------------------------------------------------------
diff --git a/src/connection_manager.c b/src/connection_manager.c
index 1e08b7d..84cd504 100644
--- a/src/connection_manager.c
+++ b/src/connection_manager.c
@@ -189,29 +189,7 @@ static void load_strip_annotations(qd_server_config_t *config, const char* strip
  */
 static void set_config_host(qd_server_config_t *config, qd_entity_t* entity)
 {
-    char *host = qd_entity_opt_string(entity, "host", 0);
-    char *addr = qd_entity_opt_string(entity, "addr", 0);
-
-    if (host && addr && strcmp(host, "") == 0 && strcmp(addr, "") == 0) {
-        config->host = host;
-        free(addr);
-    }
-    else if (host && addr && strcmp(host, addr) != 0 && strcmp(host, "127.0.0.1") == 0) {
-        config->host = addr;
-        free(host);
-    }
-    else if (host && strcmp(host, "") != 0 ) {
-        config->host = host;
-        free(addr);
-    }
-    else if (addr && strcmp(addr, "") != 0) {
-        config->host = addr;
-        free(host);
-    }
-    else {
-        free(host);
-        free(addr);
-    }
+    config->host = qd_entity_opt_string(entity, "host", 0);
 
     assert(config->host);
 
@@ -313,8 +291,6 @@ static qd_error_t load_server_config(qd_dispatch_t *qd, qd_server_config_t *conf
     bool verifyHostName     = qd_entity_opt_bool(entity, "verifyHostName",    true);     CHECK();
     bool requireEncryption  = qd_entity_opt_bool(entity, "requireEncryption", false);    CHECK();
     bool requireSsl         = qd_entity_opt_bool(entity, "requireSsl",        false);    CHECK();
-    bool depRequirePeerAuth = qd_entity_opt_bool(entity, "requirePeerAuth",   false);    CHECK();
-    bool depAllowUnsecured  = qd_entity_opt_bool(entity, "allowUnsecured", !requireSsl); CHECK();
 
     memset(config, 0, sizeof(*config));
     config->log_message          = qd_entity_opt_string(entity, "logMessage", 0);     CHECK();
@@ -392,11 +368,11 @@ static qd_error_t load_server_config(qd_dispatch_t *qd, qd_server_config_t *conf
     stripAnnotations = 0;
     CHECK();
 
-    config->requireAuthentication = authenticatePeer || depRequirePeerAuth;
-    config->requireEncryption     = requireEncryption || !depAllowUnsecured;
+    config->requireAuthentication = authenticatePeer;
+    config->requireEncryption     = requireEncryption || requireSsl;
 
     if (config->ssl_profile) {
-        config->ssl_required = requireSsl || !depAllowUnsecured;
+        config->ssl_required = requireSsl;
         config->ssl_require_peer_authentication = config->sasl_mechanisms &&
             strstr(config->sasl_mechanisms, "EXTERNAL") != 0;
 
@@ -412,6 +388,7 @@ static qd_error_t load_server_config(qd_dispatch_t *qd, qd_server_config_t *conf
             config->ssl_display_name_file = SSTRDUP(ssl_profile->ssl_display_name_file);
         }
     }
+
     if (config->sasl_plugin) {
         qd_config_sasl_plugin_t *sasl_plugin =
             qd_find_sasl_plugin(qd->connection_manager, config->sasl_plugin);

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/src/dispatch.c
----------------------------------------------------------------------
diff --git a/src/dispatch.c b/src/dispatch.c
index 3f8ed53..760cfdd 100644
--- a/src/dispatch.c
+++ b/src/dispatch.c
@@ -149,24 +149,6 @@ qd_error_t qd_dispatch_validate_config(const char *config_path)
 }
 
 
-/**
- * The Container Entity has been deprecated and will be removed in the future. Use the RouterEntity instead.
- */
-qd_error_t qd_dispatch_configure_container(qd_dispatch_t *qd, qd_entity_t *entity)
-{
-    // Add a log warning. Check to see if too early
-    qd->thread_count   = qd_entity_opt_long(entity, "workerThreads", 4); QD_ERROR_RET();
-    qd->sasl_config_path = qd_entity_opt_string(entity, "saslConfigPath", 0); QD_ERROR_RET();
-    qd->sasl_config_name = qd_entity_opt_string(entity, "saslConfigName", 0); QD_ERROR_RET();
-    char *dump_file = qd_entity_opt_string(entity, "debugDump", 0); QD_ERROR_RET();
-    if (dump_file) {
-        qd_alloc_debug_dump(dump_file); QD_ERROR_RET();
-        free(dump_file);
-    }
-
-    return QD_ERROR_NONE;
-}
-
 void qd_dispatch_set_router_default_distribution(qd_dispatch_t *qd, char *distribution)
 {
     if (distribution) {
@@ -186,11 +168,8 @@ void qd_dispatch_set_router_default_distribution(qd_dispatch_t *qd, char *distri
 
 qd_error_t qd_dispatch_configure_router(qd_dispatch_t *qd, qd_entity_t *entity)
 {
-    qd_dispatch_set_router_id(qd, qd_entity_opt_string(entity, "routerId", 0)); QD_ERROR_RET();
     qd_dispatch_set_router_default_distribution(qd, qd_entity_opt_string(entity, "defaultDistribution", 0)); QD_ERROR_RET();
-    if (! qd->router_id) {
-        qd_dispatch_set_router_id(qd, qd_entity_opt_string(entity, "id", 0)); QD_ERROR_RET();
-    }
+    qd_dispatch_set_router_id(qd, qd_entity_opt_string(entity, "id", 0)); QD_ERROR_RET();
     if (!qd->router_id) {
         qd_log_source_t *router_log = qd_log_source("ROUTER");
         qd_log(router_log, QD_LOG_CRITICAL, "Router Id not specified - process exiting");
@@ -219,24 +198,6 @@ qd_error_t qd_dispatch_configure_router(qd_dispatch_t *qd, qd_entity_t *entity)
 
 }
 
-qd_error_t qd_dispatch_configure_fixed_address(qd_dispatch_t *qd, qd_entity_t *entity) {
-    if (!qd->router) return qd_error(QD_ERROR_NOT_FOUND, "No router available");
-    qd_router_configure_fixed_address(qd->router, entity);
-    return qd_error_code();
-}
-
-qd_error_t qd_dispatch_configure_waypoint(qd_dispatch_t *qd, qd_entity_t *entity) {
-    if (!qd->router) return qd_error(QD_ERROR_NOT_FOUND, "No router available");
-    qd_router_configure_waypoint(qd->router, entity);
-    return qd_error_code();
-}
-
-qd_error_t qd_dispatch_configure_lrp(qd_dispatch_t *qd, qd_entity_t *entity) {
-    if (!qd->router) return qd_error(QD_ERROR_NOT_FOUND, "No router available");
-    qd_router_configure_lrp(qd->router, entity);
-    return qd_error_code();
-}
-
 qd_error_t qd_dispatch_configure_address(qd_dispatch_t *qd, qd_entity_t *entity) {
     if (!qd->router) return qd_error(QD_ERROR_NOT_FOUND, "No router available");
     qd_router_configure_address(qd->router, entity);

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/src/dispatch_private.h
----------------------------------------------------------------------
diff --git a/src/dispatch_private.h b/src/dispatch_private.h
index ed94d0e..3fc4b9b 100644
--- a/src/dispatch_private.h
+++ b/src/dispatch_private.h
@@ -25,14 +25,10 @@
 //
 typedef struct qd_server_t           qd_server_t;
 typedef struct qd_container_t        qd_container_t;
-typedef struct qd_waypoint_t         qd_waypoint_t;
-typedef struct qd_lrp_container_t    qd_lrp_container_t;
-typedef struct qd_lrp_t              qd_lrp_t;
 typedef struct qd_router_link_t      qd_router_link_t;
 typedef struct qd_router_node_t      qd_router_node_t;
 typedef struct qd_router_ref_t       qd_router_ref_t;
 typedef struct qd_router_link_ref_t  qd_router_link_ref_t;
-typedef struct qd_router_lrp_ref_t   qd_router_lrp_ref_t;
 typedef struct qd_router_conn_t      qd_router_conn_t;
 typedef struct qd_config_phase_t     qd_config_phase_t;
 typedef struct qd_config_address_t   qd_config_address_t;
@@ -65,14 +61,6 @@ struct qd_dispatch_t {
 };
 
 /**
- * Configure the AMQP container from a configuration entity.
- *
- * @param qd The dispatch handle returned by qd_dispatch
- * @param entity The configuration entity.
- */
-qd_error_t qd_dispatch_configure_container(qd_dispatch_t *qd, qd_entity_t *entity);
-
-/**
  * Configure the router node from a configuration entity.
  * If this is not called, the router will run in ENDPOINT mode.
  *
@@ -95,16 +83,6 @@ qd_error_t qd_dispatch_prepare(qd_dispatch_t *qd);
 qd_error_t qd_dispatch_configure_address(qd_dispatch_t *qd, qd_entity_t *entity);
 
 /**
- * Configure a waypoint, must be called after qd_dispatch_prepare
- */
-qd_error_t qd_dispatch_configure_waypoint(qd_dispatch_t *qd, qd_entity_t *entity);
-
-/**
- * Configure a link-route-pattern, must be called after qd_dispatch_prepare
- */
-qd_error_t qd_dispatch_configure_lrp(qd_dispatch_t *qd, qd_entity_t *entity);
-
-/**
  * Configure a route, must be called after qd_dispatch_prepare
  */
 qd_error_t qd_dispatch_configure_route(qd_dispatch_t *qd, qd_entity_t *entity);

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/src/router_config.c
----------------------------------------------------------------------
diff --git a/src/router_config.c b/src/router_config.c
index fd1fd7b..9dd1121 100644
--- a/src/router_config.c
+++ b/src/router_config.c
@@ -47,135 +47,6 @@ static void qdi_router_configure_body(qdr_core_t              *core,
     qd_iterator_free(name_iter);
 }
 
-qd_error_t qd_router_configure_fixed_address(qd_router_t *router, qd_entity_t *entity)
-{
-    static bool deprecate_warning = true;
-    if (deprecate_warning) {
-        deprecate_warning = false;
-        qd_log(router->log_source, QD_LOG_WARNING, "fixedAddress configuration is deprecated, switch to using address instead.");
-    }
-
-    qd_error_clear();
-    int                             phase  = qd_entity_opt_long(entity, "phase", -1); QD_ERROR_RET();
-    qd_schema_fixedAddress_fanout_t fanout = qd_entity_get_long(entity, "fanout");    QD_ERROR_RET();
-    qd_schema_fixedAddress_bias_t   bias   = qd_entity_get_long(entity, "bias");      QD_ERROR_RET();
-    char                           *prefix = qd_entity_get_string(entity, "prefix");  QD_ERROR_RET();
-
-    if (phase != -1) {
-        qd_log(router->log_source, QD_LOG_WARNING,
-               "Address phases deprecated: Ignoring address configuration for '%s', phase %d", prefix, phase);
-        free(prefix);
-        return qd_error_code();
-    }
-
-    if (prefix[0] == '/' && prefix[1] == '\0') {
-        qd_log(router->log_source, QD_LOG_WARNING, "Ignoring address configuration for '/'");
-        free(prefix);
-        return qd_error_code();
-    }
-
-    //
-    // Convert fanout + bias to distribution
-    //
-    const char *distrib;
-
-    if (fanout == QD_SCHEMA_FIXEDADDRESS_FANOUT_MULTIPLE)
-        distrib = "multicast";
-    else {
-        if (bias == QD_SCHEMA_FIXEDADDRESS_BIAS_CLOSEST)
-            distrib = "closest";
-        else
-            distrib = "balanced";
-    }
-
-    //
-    // Formulate this configuration as a router.config.address and create it through the core management API.
-    //
-    qd_composed_field_t *body = qd_compose_subfield(0);
-    qd_compose_start_map(body);
-    qd_compose_insert_string(body, "prefix");
-    qd_compose_insert_string(body, prefix);
-
-    qd_compose_insert_string(body, "distribution");
-    qd_compose_insert_string(body, distrib);
-    qd_compose_end_map(body);
-
-    qdi_router_configure_body(router->router_core, body, QD_ROUTER_CONFIG_ADDRESS, 0);
-    qd_compose_free(body);
-
-    free(prefix);
-    return qd_error_code();
-}
-
-qd_error_t qd_router_configure_waypoint(qd_router_t *router, qd_entity_t *entity)
-{
-    static bool deprecate_warning = true;
-    if (deprecate_warning) {
-        deprecate_warning = false;
-        qd_log(router->log_source, QD_LOG_WARNING, "waypoint configuration is deprecated, switch to using autoLink instead.");
-    }
-
-    return qd_error_code();
-}
-
-
-static void qd_router_add_link_route(qdr_core_t *core, const char *prefix, const char *connector, const char* dir)
-{
-    //
-    // Formulate this configuration as a router.config.linkRoute and create it through the core management API.
-    //
-    qd_composed_field_t *body = qd_compose_subfield(0);
-    qd_compose_start_map(body);
-    qd_compose_insert_string(body, "prefix");
-    qd_compose_insert_string(body, prefix);
-
-    qd_compose_insert_string(body, "dir");
-    qd_compose_insert_string(body, dir);
-
-    if (connector) {
-        qd_compose_insert_string(body, "connection");
-        qd_compose_insert_string(body, connector);
-    }
-
-    qd_compose_end_map(body);
-
-    qdi_router_configure_body(core, body, QD_ROUTER_CONFIG_LINK_ROUTE, 0);
-    qd_compose_free(body);
-}
-
-
-qd_error_t qd_router_configure_lrp(qd_router_t *router, qd_entity_t *entity)
-{
-    static bool deprecate_warning = true;
-    if (deprecate_warning) {
-        deprecate_warning = false;
-        qd_log(router->log_source, QD_LOG_WARNING, "linkRoutePrefix configuration is deprecated, switch to using linkRoute instead.");
-    }
-
-    char *prefix    = 0;
-    char *connector = 0;
-    char *direction = 0;
-
-    do {
-        prefix    = qd_entity_get_string(entity, "prefix");    QD_ERROR_BREAK();
-        connector = qd_entity_get_string(entity, "connector"); QD_ERROR_BREAK();
-        direction = qd_entity_get_string(entity, "dir");       QD_ERROR_BREAK();
-
-        if (strcmp("in", direction) == 0 || strcmp("both", direction) == 0)
-            qd_router_add_link_route(router->router_core, prefix, connector, "in");
-
-        if (strcmp("out", direction) == 0 || strcmp("both", direction) == 0)
-            qd_router_add_link_route(router->router_core, prefix, connector, "out");
-
-    } while (0);
-
-    free(prefix);
-    free(connector);
-    free(direction);
-
-    return qd_error_code();
-}
-
 
 qd_error_t qd_router_configure_address(qd_router_t *router, qd_entity_t *entity)
 {

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/src/router_core/DESIGN
----------------------------------------------------------------------
diff --git a/src/router_core/DESIGN b/src/router_core/DESIGN
index 8114370..9350f9ff 100644
--- a/src/router_core/DESIGN
+++ b/src/router_core/DESIGN
@@ -174,7 +174,7 @@ Core APIs
       General Events:
         Response
 
-    This management API is used to manage addresses, waypoints, and link-route
+    This management API is used to manage addresses, link-routes etc.
     destinations.
 
 
@@ -245,8 +245,6 @@ org
         console
         container
         dummy
-        fixedAddress      (deprecated)
-        linkRoutePattern  (deprecated)
         listener
         log
         router
@@ -254,8 +252,6 @@ org
           link
           node
           route           (proposed)
-          waypoint        (proposed)
-        waypoint          (deprecated)
 
 
 ============================

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/src/router_core/agent_connection.c
----------------------------------------------------------------------
diff --git a/src/router_core/agent_connection.c b/src/router_core/agent_connection.c
index b3afe71..fd7aa5d 100644
--- a/src/router_core/agent_connection.c
+++ b/src/router_core/agent_connection.c
@@ -48,7 +48,6 @@ const char *qdr_connection_roles[] =
     {"normal",
      "inter-router",
      "route-container",
-     "on-demand",
      0};
 
 const char *qdr_connection_columns[] =

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/src/router_core/agent_router.c
----------------------------------------------------------------------
diff --git a/src/router_core/agent_router.c b/src/router_core/agent_router.c
index d1d3996..b1e069a 100644
--- a/src/router_core/agent_router.c
+++ b/src/router_core/agent_router.c
@@ -43,9 +43,7 @@
 #define QDR_ROUTER_DEBUG_DUMP             18
 #define QDR_ROUTER_SASL_CONFIG_PATH       19
 #define QDR_ROUTER_SASL_CONFIG_NAME       20
-#define QDR_ROUTER_ROUTER_ID              21
-#define QDR_ROUTER_MOBILE_ADDR_MAX_AGE    22
-#define QDR_ROUTER_CONNECTION_COUNT       23
+#define QDR_ROUTER_CONNECTION_COUNT       21
 
 const char *qdr_router_columns[] =
     {"name",
@@ -69,8 +67,6 @@ const char *qdr_router_columns[] =
      "debugDump",
      "saslConfigPath",
      "saslConfigName",
-     "routerId",
-     "mobileAddrMaxAge",
      "connectionCount",
      0};
 
@@ -143,7 +139,6 @@ static void qdr_agent_write_column_CT(qd_composed_field_t *body, int col, qdr_co
         qd_compose_insert_ulong(body, DEQ_SIZE(core->auto_links));
         break;
 
-    case QDR_ROUTER_ROUTER_ID:
     case QDR_ROUTER_ID:
     case QDR_ROUTER_NAME:
         if (core->router_id)

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/src/router_core/agent_router.h
----------------------------------------------------------------------
diff --git a/src/router_core/agent_router.h b/src/router_core/agent_router.h
index dffc0eb..3dc55b5 100644
--- a/src/router_core/agent_router.h
+++ b/src/router_core/agent_router.h
@@ -21,7 +21,7 @@
 
 #include "router_core_private.h"
 
-#define QDR_ROUTER_COLUMN_COUNT  24
+#define QDR_ROUTER_COLUMN_COUNT  22
 
 const char *qdr_router_columns[QDR_ROUTER_COLUMN_COUNT + 1];
 

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/src/router_node.c
----------------------------------------------------------------------
diff --git a/src/router_node.c b/src/router_node.c
index 43346da..d997908 100644
--- a/src/router_node.c
+++ b/src/router_node.c
@@ -35,7 +35,6 @@ const char *QD_ROUTER_LINK_TYPE = "router.link";
 const char *CORE_AGENT_ADDRESS = "$management";
 
 static char *router_role    = "inter-router";
-static char *on_demand_role = "on-demand";
 static char *container_role = "route-container";
 static char *direct_prefix;
 static char *node_id;
@@ -66,8 +65,7 @@ static void qd_router_connection_get_config(const qd_connection_t  *conn,
             *strip_annotations_out = false;
             *role = QDR_ROLE_INTER_ROUTER;
             *cost = cf->inter_router_cost;
-        } else if (cf && (strcmp(cf->role, container_role) == 0 ||
-                          strcmp(cf->role, on_demand_role) == 0))  // backward compat
+        } else if (cf && (strcmp(cf->role, container_role) == 0))  // backward compat
             *role = QDR_ROLE_ROUTE_CONTAINER;
         else
             *role = QDR_ROLE_NORMAL;

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/src/router_private.h
----------------------------------------------------------------------
diff --git a/src/router_private.h b/src/router_private.h
index 33c526a..743c4f8 100644
--- a/src/router_private.h
+++ b/src/router_private.h
@@ -39,9 +39,6 @@
 qd_error_t qd_router_python_setup(qd_router_t *router);
 void qd_router_python_free(qd_router_t *router);
 qd_error_t qd_pyrouter_tick(qd_router_t *router);
-qd_error_t qd_router_configure_fixed_address(qd_router_t *router, qd_entity_t *entity);
-qd_error_t qd_router_configure_waypoint(qd_router_t *router, qd_entity_t *entity);
-qd_error_t qd_router_configure_lrp(qd_router_t *router, qd_entity_t *entity);
 qd_error_t qd_router_configure_address(qd_router_t *router, qd_entity_t *entity);
 qd_error_t qd_router_configure_link_route(qd_router_t *router, qd_entity_t *entity);
 qd_error_t qd_router_configure_auto_link(qd_router_t *router, qd_entity_t *entity);

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 6727d9a..eff063a 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -91,7 +91,6 @@ foreach(py_test_module
     system_tests_sasl_plain
     system_tests_user_id
     system_tests_user_id_proxy
-    system_tests_deprecated
     system_tests_two_routers
     system_tests_distribution
     system_tests_multi_tenancy

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/config-1/A.conf
----------------------------------------------------------------------
diff --git a/tests/config-1/A.conf b/tests/config-1/A.conf
index a4f25c5..4ade839 100644
--- a/tests/config-1/A.conf
+++ b/tests/config-1/A.conf
@@ -41,25 +41,28 @@ listener {
     saslMechanisms: ANONYMOUS
 }
 
-fixedAddress {
-    prefix: /closest/
-    fanout: single
-    bias: closest
+address {
+    prefix: closest
+    distribution: closest
 }
 
-fixedAddress {
-    prefix: /spread/
-    fanout: single
-    bias: spread
+address {
+    prefix: multicast
+    distribution: multicast
 }
 
-fixedAddress {
-    prefix: /multicast/
-    fanout: multiple
+address {
+    prefix: unicast
+    distribution: closest
 }
 
-fixedAddress {
-    prefix: /
-    fanout: multiple
+address {
+    prefix: exclusive
+    distribution: closest
+}
+
+address {
+    prefix: broadcast
+    distribution: multicast
 }
 

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/config-1/A.json
----------------------------------------------------------------------
diff --git a/tests/config-1/A.json b/tests/config-1/A.json
index 467c14b..e6291c4 100644
--- a/tests/config-1/A.json
+++ b/tests/config-1/A.json
@@ -56,26 +56,29 @@
 	"port": 20000,
 	"saslMechanisms": "ANONYMOUS"
     }],
-    ["fixedAddress", {
-	"prefix": "/closest/",
-	"fanout": "single",
-	"bias": "closest"
+    ["address", {
+	"prefix": "closest",
+	"distribution": "closest"
     }],
 
-    ["fixedAddress", {
-	"prefix": "/spread/",
-	"fanout": "single",
-	"bias": "spread"
+    ["address", {
+	"prefix": "multicast",
+	"distribution": "multicast"
     }],
 
-    ["fixedAddress", {
-	"prefix": "/multicast/",
-	"fanout": "multiple"
+    ["address", {
+	"prefix": "broadcast",
+	"distribution": "multicast"
     }],
 
-    ["fixedAddress", {
-	"prefix": "/",
-	"fanout": "multiple"
+    ["address", {
+	"prefix": "unicast",
+	"distribution": "closest"
+    }],
+
+    ["address", {
+	"prefix": "exclusive",
+	"distribution": "closest"
     }]
 ]
 

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/config-2-broker/A.conf
----------------------------------------------------------------------
diff --git a/tests/config-2-broker/A.conf b/tests/config-2-broker/A.conf
index f10210b..ad0812d 100644
--- a/tests/config-2-broker/A.conf
+++ b/tests/config-2-broker/A.conf
@@ -49,47 +49,71 @@ listener {
 
 connector {
     name: broker
-    role: on-demand
+    role: route-container
     host: 127.0.0.1
     port: 11000
     saslMechanisms: ANONYMOUS
 }
 
-linkRoutePattern {
-    prefix: queue.
-    connector: broker
+linkRoute {
+   prefix: queue.
+   dir: in
+   connector: broker
 }
 
-linkRoutePattern {
-    prefix: exchange.
-    connector: broker
+linkRoute {
+   prefix: queue.
+   dir: out
+   connector: broker
 }
 
-linkRoutePattern {
-    prefix: qmf.
-    connector: broker
+linkRoute {
+   prefix: exchange.
+   dir: in
+   connector: broker
 }
 
-fixedAddress {
-    prefix: /closest/
-    fanout: single
-    bias: closest
+linkRoute {
+   prefix: exchange.
+   dir: out
+   connector: broker
 }
 
-fixedAddress {
-    prefix: /spread/
-    fanout: single
-    bias: spread
+linkRoute {
+   prefix: qmf.
+   dir: in
+   connector: broker
 }
 
-fixedAddress {
-    prefix: /multicast/
-    fanout: multiple
+linkRoute {
+   prefix: qmf.
+   dir: out
+   connector: broker
 }
 
-fixedAddress {
-    prefix: /
-    fanout: multiple
+address {
+    prefix: closest
+    distribution: closest
+}
+
+address {
+    prefix: multicast
+    distribution: multicast
+}
+
+address {
+    prefix: unicast
+    distribution: closest
+}
+
+address {
+    prefix: exclusive
+    distribution: closest
+}
+
+address {
+    prefix: broadcast
+    distribution: multicast
 }
 
 log {

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/config-2-broker/B.conf
----------------------------------------------------------------------
diff --git a/tests/config-2-broker/B.conf b/tests/config-2-broker/B.conf
index 5926660..17d54e9 100644
--- a/tests/config-2-broker/B.conf
+++ b/tests/config-2-broker/B.conf
@@ -40,38 +40,59 @@ connector {
     saslMechanisms: ANONYMOUS
 }
 
-linkRoutePattern {
-    prefix: queue.
+linkRoute {
+   prefix: queue.
+   dir: in
 }
 
-linkRoutePattern {
-    prefix: exchange.
+linkRoute {
+   prefix: queue.
+   dir: out
 }
 
-linkRoutePattern {
-    prefix: qmf.
+linkRoute {
+   prefix: exchange.
+   dir: in
 }
 
-fixedAddress {
-    prefix: /closest/
-    fanout: single
-    bias: closest
+linkRoute {
+   prefix: exchange.
+   dir: out
 }
 
-fixedAddress {
-    prefix: /spread/
-    fanout: single
-    bias: spread
+linkRoute {
+   prefix: qmf.
+   dir: in
 }
 
-fixedAddress {
-    prefix: /multicast/
-    fanout: multiple
+linkRoute {
+   prefix: qmf.
+   dir: out
 }
 
-fixedAddress {
-    prefix: /
-    fanout: multiple
+address {
+    prefix: closest
+    distribution: closest
+}
+
+address {
+    prefix: multicast
+    distribution: multicast
+}
+
+address {
+    prefix: unicast
+    distribution: closest
+}
+
+address {
+    prefix: exclusive
+    distribution: closest
+}
+
+address {
+    prefix: broadcast
+    distribution: multicast
 }
 
 log {

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/config-2/A-ssl.conf.in
----------------------------------------------------------------------
diff --git a/tests/config-2/A-ssl.conf.in b/tests/config-2/A-ssl.conf.in
index 495da40..74b5677 100644
--- a/tests/config-2/A-ssl.conf.in
+++ b/tests/config-2/A-ssl.conf.in
@@ -25,7 +25,7 @@
 
 router {
     mode: interior
-    routerId: QDR.A
+    id: QDR.A
 }
 
 sslProfile {
@@ -51,27 +51,30 @@ listener {
     port: 20102
     saslMechanisms: EXTERNAL
     sslProfile: test-ssl
-    requirePeerAuth: yes
+    authenticatePeer: yes
 }
 
-fixedAddress {
-    prefix: /closest/
-    fanout: single
-    bias: closest
+address {
+    prefix: closest
+    distribution: closest
 }
 
-fixedAddress {
-    prefix: /spread/
-    fanout: single
-    bias: spread
+address {
+    prefix: multicast
+    distribution: multicast
 }
 
-fixedAddress {
-    prefix: /multicast/
-    fanout: multiple
+address {
+    prefix: unicast
+    distribution: closest
 }
 
-fixedAddress {
-    prefix: /
-    fanout: multiple
+address {
+    prefix: exclusive
+    distribution: closest
+}
+
+address {
+    prefix: broadcast
+    distribution: multicast
 }

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/config-2/A.conf
----------------------------------------------------------------------
diff --git a/tests/config-2/A.conf b/tests/config-2/A.conf
index 211a2da..a645e98 100644
--- a/tests/config-2/A.conf
+++ b/tests/config-2/A.conf
@@ -46,26 +46,29 @@ listener {
     saslMechanisms: ANONYMOUS
 }
 
-fixedAddress {
-    prefix: /closest/
-    fanout: single
-    bias: closest
+address {
+    prefix: closest
+    distribution: closest
 }
 
-fixedAddress {
-    prefix: /spread/
-    fanout: single
-    bias: spread
+address {
+    prefix: multicast
+    distribution: multicast
 }
 
-fixedAddress {
-    prefix: /multicast/
-    fanout: multiple
+address {
+    prefix: unicast
+    distribution: closest
 }
 
-fixedAddress {
-    prefix: /
-    fanout: multiple
+address {
+    prefix: exclusive
+    distribution: closest
+}
+
+address {
+    prefix: broadcast
+    distribution: multicast
 }
 
 log {

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/config-2/B-ssl.conf.in
----------------------------------------------------------------------
diff --git a/tests/config-2/B-ssl.conf.in b/tests/config-2/B-ssl.conf.in
index 6abd0a4..eabf133 100644
--- a/tests/config-2/B-ssl.conf.in
+++ b/tests/config-2/B-ssl.conf.in
@@ -19,7 +19,7 @@
 
 router {
     mode: interior
-    routerId: QDR.B
+    id: QDR.B
 }
 
 
@@ -48,24 +48,28 @@ connector {
     sslProfile: test-ssl
 }
 
-fixed-address {
-    prefix: /closest/
-    fanout: single
-    bias: closest
+address {
+    prefix: closest
+    distribution: closest
 }
 
-fixed-address {
-    prefix: /spread/
-    fanout: single
-    bias: spread
+address {
+    prefix: multicast
+    distribution: multicast
 }
 
-fixed-address {
-    prefix: /multicast/
-    fanout: multiple
+address {
+    prefix: unicast
+    distribution: closest
 }
 
-fixed-address {
-    prefix: /
-    fanout: multiple
+address {
+    prefix: exclusive
+    distribution: closest
 }
+
+address {
+    prefix: broadcast
+    distribution: multicast
+}
+

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/config-2/B.conf
----------------------------------------------------------------------
diff --git a/tests/config-2/B.conf b/tests/config-2/B.conf
index 32c6441..f894ff4 100644
--- a/tests/config-2/B.conf
+++ b/tests/config-2/B.conf
@@ -39,26 +39,29 @@ connector {
     saslMechanisms: ANONYMOUS
 }
 
-fixedAddress {
-    prefix: /closest/
-    fanout: single
-    bias: closest
+address {
+    prefix: closest
+    distribution: closest
 }
 
-fixedAddress {
-    prefix: /spread/
-    fanout: single
-    bias: spread
+address {
+    prefix: multicast
+    distribution: multicast
 }
 
-fixedAddress {
-    prefix: /multicast/
-    fanout: multiple
+address {
+    prefix: unicast
+    distribution: closest
 }
 
-fixedAddress {
-    prefix: /
-    fanout: multiple
+address {
+    prefix: exclusive
+    distribution: closest
+}
+
+address {
+    prefix: broadcast
+    distribution: multicast
 }
 
 log {

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/config-6/A.conf
----------------------------------------------------------------------
diff --git a/tests/config-6/A.conf b/tests/config-6/A.conf
index b0dd4cc..38f57ee 100644
--- a/tests/config-6/A.conf
+++ b/tests/config-6/A.conf
@@ -63,10 +63,9 @@ connector {
     saslMechanisms: ANONYMOUS
 }
 
-fixedAddress {
-    prefix: /closest/
-    fanout: single
-    bias: closest
+address {
+    prefix: closest
+    distribution: closest
 }
 
 log {

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/config-6/B.conf
----------------------------------------------------------------------
diff --git a/tests/config-6/B.conf b/tests/config-6/B.conf
index 20da36a..7c298db 100644
--- a/tests/config-6/B.conf
+++ b/tests/config-6/B.conf
@@ -47,10 +47,9 @@ connector {
     saslMechanisms: ANONYMOUS
 }
 
-fixedAddress {
-    prefix: /closest/
-    fanout: single
-    bias: closest
+address {
+    prefix: closest
+    distribution: closest
 }
 
 log {

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/config-6/C.conf
----------------------------------------------------------------------
diff --git a/tests/config-6/C.conf b/tests/config-6/C.conf
index ba99ab5..6c8b015 100644
--- a/tests/config-6/C.conf
+++ b/tests/config-6/C.conf
@@ -40,12 +40,12 @@ connector {
     saslMechanisms: ANONYMOUS
 }
 
-fixedAddress {
-    prefix: /closest/
-    fanout: single
-    bias: closest
+address {
+    prefix: closest
+    distribution: closest
 }
 
+
 log {
     module: ROUTER
     enable: trace+

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/config-6/D.conf
----------------------------------------------------------------------
diff --git a/tests/config-6/D.conf b/tests/config-6/D.conf
index 3005d4d..cc01618 100644
--- a/tests/config-6/D.conf
+++ b/tests/config-6/D.conf
@@ -33,10 +33,9 @@ listener {
     saslMechanisms: ANONYMOUS
 }
 
-fixedAddress {
-    prefix: /closest/
-    fanout: single
-    bias: closest
+address {
+    prefix: closest
+    distribution: closest
 }
 
 log {

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/config-6/X.conf
----------------------------------------------------------------------
diff --git a/tests/config-6/X.conf b/tests/config-6/X.conf
index d0ea52e..b7a8902 100644
--- a/tests/config-6/X.conf
+++ b/tests/config-6/X.conf
@@ -46,12 +46,12 @@ connector {
     saslMechanisms: ANONYMOUS
 }
 
-fixedAddress {
-    prefix: /closest/
-    fanout: single
-    bias: closest
+address {
+    prefix: closest
+    distribution: closest
 }
 
+
 log {
     module: ROUTER
     enable: trace+

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/config-6/Y.conf
----------------------------------------------------------------------
diff --git a/tests/config-6/Y.conf b/tests/config-6/Y.conf
index 5351df7..7b6d67a 100644
--- a/tests/config-6/Y.conf
+++ b/tests/config-6/Y.conf
@@ -46,10 +46,9 @@ connector {
     saslMechanisms: ANONYMOUS
 }
 
-fixedAddress {
-    prefix: /closest/
-    fanout: single
-    bias: closest
+address {
+    prefix: closest
+    distribution: closest
 }
 
 log {

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/management/schema.py
----------------------------------------------------------------------
diff --git a/tests/management/schema.py b/tests/management/schema.py
index dd22276..ad2340b 100644
--- a/tests/management/schema.py
+++ b/tests/management/schema.py
@@ -41,13 +41,6 @@ SCHEMA_1 = {
             "singleton": True,
             "attributes": {
                 "workerThreads": {"type": "integer", "default": 1},
-                "routerId": {
-                    "description":"(DEPRECATED) Router's unique identity. This attribute has been deprecated. Use id instead",
-                    "type": "string",
-                    "required": False,
-                    "deprecated": True,
-                    "create": True
-                },
                 "name": {"type": "string",
                          "required": True,
                          "unique": True},
@@ -160,9 +153,6 @@ class SchemaTest(unittest.TestCase):
         # The container entity itself has been deprecated
         self.assertTrue(s.entity_types['org.example.container'].deprecated)
 
-        # The routerId attribute of the container entity has been deprecated
-        self.assertTrue(s.entity_types['org.example.container'].attributes['routerId'].deprecated)
-
         # This will make sure that deprecated flag defaults to false for entities
         self.assertFalse(s.entity_types['org.example.connector'].deprecated)
 

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/router_engine_test.py
----------------------------------------------------------------------
diff --git a/tests/router_engine_test.py b/tests/router_engine_test.py
index b9a4fc3..174365c 100644
--- a/tests/router_engine_test.py
+++ b/tests/router_engine_test.py
@@ -154,8 +154,7 @@ class NeighborTest(unittest.TestCase):
             'helloInterval'    :  1.0,
             'helloMaxAge'      :  3.0,
             'raInterval'       : 30.0,
-            'remoteLsMaxAge'   : 60.0,
-            'mobileAddrMaxAge' : 60.0  })
+            'remoteLsMaxAge'   : 60.0 })
         self.neighbors = {}
 
     def test_hello_sent(self):

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/system_test.py
----------------------------------------------------------------------
diff --git a/tests/system_test.py b/tests/system_test.py
index 3257432..31a71a9 100755
--- a/tests/system_test.py
+++ b/tests/system_test.py
@@ -273,8 +273,9 @@ class Qdrouterd(Process):
         """
 
         DEFAULTS = {
-            'listener': {'host':'0.0.0.0', 'saslMechanisms':'ANONYMOUS', 'idleTimeoutSeconds': '120', 'authenticatePeer': 'no'},
-            'connector': {'host':'127.0.0.1', 'saslMechanisms':'ANONYMOUS', 'idleTimeoutSeconds': '120', 'role':'on-demand'},
+            'listener': {'host':'0.0.0.0', 'saslMechanisms':'ANONYMOUS', 'idleTimeoutSeconds': '120',
+                         'authenticatePeer': 'no', 'role': 'normal'},
+            'connector': {'host':'127.0.0.1', 'saslMechanisms':'ANONYMOUS', 'idleTimeoutSeconds': '120'},
             'router': {'mode': 'standalone', 'id': 'QDR', 'debugDump': 'qddebug.txt'}
         }
 

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/system_tests_deprecated.py
----------------------------------------------------------------------
diff --git a/tests/system_tests_deprecated.py b/tests/system_tests_deprecated.py
deleted file mode 100644
index a81810b..0000000
--- a/tests/system_tests_deprecated.py
+++ /dev/null
@@ -1,149 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-import unittest, os
-from system_test import TestCase, Qdrouterd, TIMEOUT
-from system_tests_sasl_plain import RouterTestPlainSaslCommon
-from qpid_dispatch.management.client import Node
-from proton import SASL
-
-class RouterTestDeprecated(RouterTestPlainSaslCommon):
-
-    @classmethod
-    def setUpClass(cls):
-        """
-        Creates two routers (QDR.X and QDR.Y) and sets up PLAIN authentication on QDR.X.
-        QDR.Y connects to QDR.X by providing a sasl_username and a sasl_password.
-
-        """
-        super(RouterTestDeprecated, cls).setUpClass()
-
-        if not SASL.extended():
-            return
-
-        super(RouterTestDeprecated, cls).createSaslFiles()
-
-        cls.routers = []
-
-        x_listener_port = cls.tester.get_port()
-        y_listener_port = cls.tester.get_port()
-
-        super(RouterTestDeprecated, cls).router('X', [
-                     ('listener', {'addr': '0.0.0.0', 'role': 'inter-router', 'port': x_listener_port,
-                                   'saslMechanisms':'PLAIN', 'authenticatePeer': 'yes'}),
-                     # This unauthenticated listener is for qdstat to connect to it.
-                     ('listener', {'addr': '0.0.0.0', 'role': 'normal', 'port': cls.tester.get_port(),
-                                   'authenticatePeer': 'no'}),
-                     ('container', {'workerThreads': 1,
-                                    'containerName': 'Qpid.Dispatch.Router.A',
-                                    'saslConfigName': 'tests-mech-PLAIN',
-                                    'saslConfigPath': os.getcwd()}),
-                     ('linkRoutePattern', {'prefix': 'org.apache'}),
-                     ('router', {'routerId': 'QDR.X', 'mode': 'interior'}),
-                     ('fixedAddress', {'prefix': '/closest/', 'fanout': 'single', 'bias': 'closest'}),
-                     ('fixedAddress', {'prefix': '/spread/', 'fanout': 'single', 'bias': 'spread'}),
-                     ('fixedAddress', {'prefix': '/multicast/', 'fanout': 'multiple'}),
-                     ('fixedAddress', {'prefix': '/', 'fanout': 'multiple'}),
-        ])
-
-        super(RouterTestDeprecated, cls).router('Y', [
-                     ('connector', {'addr': '0.0.0.0', 'role': 'inter-router',
-                                    'port': x_listener_port,
-                                    'saslMechanisms': 'PLAIN',
-                                    'saslUsername': 'test@domain.com',
-                                    'saslPassword': 'password'}),
-
-                     ('router', {'mode': 'interior',
-                                 'routerId': 'QDR.Y'}),
-                     ('linkRoutePattern', {'prefix': 'org.apache'}),
-                     ('container', {'workerThreads': 1,
-                                    'containerName': 'Qpid.Dispatch.Router.Y'}),
-
-                     ('listener', {'addr': '0.0.0.0',
-                                   'role': 'normal',
-                                   'port': y_listener_port}),
-                     ('fixedAddress', {'prefix': '/closest/', 'fanout': 'single', 'bias': 'closest'}),
-                     ('fixedAddress', {'prefix': '/spread/', 'fanout': 'single', 'bias': 'spread'}),
-                     ('fixedAddress', {'prefix': '/multicast/', 'fanout': 'multiple'}),
-                     ('fixedAddress', {'prefix': '/', 'fanout': 'multiple'}),
-        ])
-
-        cls.routers[1].wait_router_connected('QDR.X')
-
-    def test_deprecated(self):
-        """
-        Tests deprecated attributes like linkRoutePattern, container, fixedAddress etc.
-        This test makes executes a query for type='org.apache.qpid.dispatch.connection' over
-        an unauthenticated listener to
-        QDR.X and makes sure that the output has an "inter-router" connection to
-        QDR.Y whose authentication is PLAIN. This ensures that QDR.Y did not
-        somehow use SASL ANONYMOUS to connect to QDR.X
-        Also makes sure that TLSv1/SSLv3 was used as sslProto
-
-        """
-        if not SASL.extended():
-            self.skipTest("Cyrus library not available. skipping test")
-            
-        local_node = Node.connect(self.routers[0].addresses[1], timeout=TIMEOUT)
-
-        # saslConfigName and saslConfigPath were set in the ContainerEntity. This tests makes sure that the
-        # saslConfigName and saslConfigPath were loaded properly from the ContainerEntity.
-        # ContainerEntity has been deprecated.
-
-        # role should be inter-router
-        self.assertEqual(u'inter-router', local_node.query(type='org.apache.qpid.dispatch.connection').results[0][3])
-
-        # sasl must be plain
-        self.assertEqual(u'PLAIN', local_node.query(type='org.apache.qpid.dispatch.connection').results[0][6])
-
-        # user must be test@domain.com
-        self.assertEqual(u'test@domain.com', local_node.query(type='org.apache.qpid.dispatch.connection').results[0][8])
-
-        # Make sure that the deprecated linkRoutePattern is set up correctly
-        query_response = local_node.query(type='org.apache.qpid.dispatch.router.config.linkRoute')
-
-        self.assertEqual(2, len(query_response.results))
-        self.assertEqual("in", query_response.results[0][7])
-        self.assertEqual("out", query_response.results[1][7])
-
-        results = local_node.query(type='org.apache.qpid.dispatch.router.config.address').results
-
-        multicast_found = False
-        spread_found = False
-        closest_found = False
-
-        for result in results:
-            if result[3] == 'closest':
-                closest_found = True
-                self.assertEqual(result[4], 'closest')
-            if result[3] == 'spread':
-                spread_found = True
-                self.assertEqual(result[4], 'balanced')
-            if result[3] == 'multicast':
-                multicast_found = True
-                self.assertEqual(result[4], 'multicast')
-
-        self.assertTrue(multicast_found)
-        self.assertTrue(spread_found)
-        self.assertTrue(closest_found)
-
-
-
-
-

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/system_tests_link_routes.py
----------------------------------------------------------------------
diff --git a/tests/system_tests_link_routes.py b/tests/system_tests_link_routes.py
index 6dfb387..c2a1abe 100644
--- a/tests/system_tests_link_routes.py
+++ b/tests/system_tests_link_routes.py
@@ -83,7 +83,7 @@ class LinkRouteTest(TestCase):
                    ('listener', {'role': 'normal', 'host': '0.0.0.0', 'port': b_listener_port, 'saslMechanisms': 'ANONYMOUS'}),
                    ('listener', {'name': 'test-tag', 'role': 'route-container', 'host': '0.0.0.0', 'port': test_tag_listener_port, 'saslMechanisms': 'ANONYMOUS'}),
 
-                   # This is an on-demand connection made from QDR.B's ephemeral port to a_listener_port
+                   # This is an route-container connection made from QDR.B's ephemeral port to a_listener_port
                    ('connector', {'name': 'broker', 'role': 'route-container', 'host': '0.0.0.0', 'port': a_listener_port, 'saslMechanisms': 'ANONYMOUS'}),
                    # Only inter router communication must happen on 'inter-router' connectors. This connector makes
                    # a connection from the router B's ephemeral port to c_listener_port

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/system_tests_management.py
----------------------------------------------------------------------
diff --git a/tests/system_tests_management.py b/tests/system_tests_management.py
index 20bfacc..0bd865d 100644
--- a/tests/system_tests_management.py
+++ b/tests/system_tests_management.py
@@ -32,7 +32,6 @@ CONFIGURATION = PREFIX + 'configurationEntity'
 OPERATIONAL = PREFIX + 'operationalEntity'
 LISTENER = PREFIX + 'listener'
 CONNECTOR = PREFIX + 'connector'
-FIXED_ADDRESS = PREFIX + 'fixedAddress'
 DUMMY = PREFIX + 'dummy'
 ROUTER = PREFIX + 'router'
 LINK = ROUTER + '.link'
@@ -245,14 +244,6 @@ class ManagementTest(system_test.TestCase):
         # Invalid values
         self.assertRaises(ManagementError, node.update, dict(identity="log/AGENT", enable="foo"))
 
-    def test_create_fixed_address(self):
-        self.assert_create_ok(FIXED_ADDRESS, 'fixed1', dict(prefix='fixed1'))
-        msgr = self.messenger()
-        address = self.router.addresses[0]+'/fixed1'
-        msgr.subscribe(address)
-        msgr.put(message(address=address, body='hello'))
-        self.assertEqual('hello', msgr.fetch().body)
-
     def test_create_config_address(self):
         self.assert_create_ok(CONFIG_ADDRESS, 'myConfigAddr', dict(prefix='prefixA'))
         self.assert_read_ok(CONFIG_ADDRESS, 'myConfigAddr',

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/system_tests_qdmanage.py
----------------------------------------------------------------------
diff --git a/tests/system_tests_qdmanage.py b/tests/system_tests_qdmanage.py
index 43d1760..38784ae 100644
--- a/tests/system_tests_qdmanage.py
+++ b/tests/system_tests_qdmanage.py
@@ -139,7 +139,7 @@ class QdmanageTest(TestCase):
         def long_type(name):
             return u'org.apache.qpid.dispatch.'+name
 
-        types = ['listener', 'log', 'container', 'router']
+        types = ['listener', 'log', 'router']
         long_types = [long_type(name) for name in types]
 
         qall = json.loads(self.run_qdmanage('query'))
@@ -177,7 +177,7 @@ class QdmanageTest(TestCase):
 
     def test_get_types(self):
         out = json.loads(self.run_qdmanage("get-types"))
-        self.assertEqual(len(out), 29)
+        self.assertEqual(len(out), 25)
 
     def test_get_log(self):
         log = json.loads(self.run_qdmanage("get-log limit=1"))[0]

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/system_tests_sasl_plain.py
----------------------------------------------------------------------
diff --git a/tests/system_tests_sasl_plain.py b/tests/system_tests_sasl_plain.py
index 501ffdc..79632ea 100644
--- a/tests/system_tests_sasl_plain.py
+++ b/tests/system_tests_sasl_plain.py
@@ -346,11 +346,11 @@ class RouterTestVerifyHostNameYes(RouterTestPlainSaslCommon):
         y_listener_port = cls.tester.get_port()
 
         super(RouterTestVerifyHostNameYes, cls).router('X', [
-                     ('listener', {'addr': '0.0.0.0', 'role': 'inter-router', 'port': x_listener_port,
+                     ('listener', {'host': '0.0.0.0', 'role': 'inter-router', 'port': x_listener_port,
                                    'sslProfile':'server-ssl-profile',
                                    'saslMechanisms':'PLAIN', 'authenticatePeer': 'yes'}),
                      # This unauthenticated listener is for qdstat to connect to it.
-                     ('listener', {'addr': '0.0.0.0', 'role': 'normal', 'port': cls.tester.get_port(),
+                     ('listener', {'host': '0.0.0.0', 'role': 'normal', 'port': cls.tester.get_port(),
                                    'authenticatePeer': 'no'}),
                      ('sslProfile', {'name': 'server-ssl-profile',
                                      'certDb': cls.ssl_file('ca-certificate.pem'),
@@ -358,14 +358,14 @@ class RouterTestVerifyHostNameYes(RouterTestPlainSaslCommon):
                                      'keyFile': cls.ssl_file('server-private-key.pem'),
                                      'password': 'server-password'}),
                      ('router', {'workerThreads': 1,
-                                 'routerId': 'QDR.X',
+                                 'id': 'QDR.X',
                                  'mode': 'interior',
                                  'saslConfigName': 'tests-mech-PLAIN',
                                  'saslConfigPath': os.getcwd()}),
         ])
 
         super(RouterTestVerifyHostNameYes, cls).router('Y', [
-                     ('connector', {'addr': '127.0.0.1', 'role': 'inter-router', 'port': x_listener_port,
+                     ('connector', {'host': '127.0.0.1', 'role': 'inter-router', 'port': x_listener_port,
                                     'sslProfile': 'client-ssl-profile',
                                     'verifyHostName': 'yes',
                                     'saslMechanisms': 'PLAIN',
@@ -373,8 +373,8 @@ class RouterTestVerifyHostNameYes(RouterTestPlainSaslCommon):
                                     'saslPassword': 'password'}),
                      ('router', {'workerThreads': 1,
                                  'mode': 'interior',
-                                 'routerId': 'QDR.Y'}),
-                     ('listener', {'addr': '0.0.0.0', 'role': 'normal', 'port': y_listener_port}),
+                                 'id': 'QDR.Y'}),
+                     ('listener', {'host': '0.0.0.0', 'role': 'normal', 'port': y_listener_port}),
                      ('sslProfile', {'name': 'client-ssl-profile',
                                      'certDb': cls.ssl_file('ca-certificate.pem'),
                                      'certFile': cls.ssl_file('client-certificate.pem'),
@@ -440,11 +440,11 @@ class RouterTestVerifyHostNameNo(RouterTestPlainSaslCommon):
         y_listener_port = cls.tester.get_port()
 
         super(RouterTestVerifyHostNameNo, cls).router('X', [
-                     ('listener', {'addr': '0.0.0.0', 'role': 'inter-router', 'port': x_listener_port,
+                     ('listener', {'host': '0.0.0.0', 'role': 'inter-router', 'port': x_listener_port,
                                    'sslProfile':'server-ssl-profile',
                                    'saslMechanisms':'PLAIN', 'authenticatePeer': 'yes'}),
                      # This unauthenticated listener is for qdstat to connect to it.
-                     ('listener', {'addr': '0.0.0.0', 'role': 'normal', 'port': cls.tester.get_port(),
+                     ('listener', {'host': '0.0.0.0', 'role': 'normal', 'port': cls.tester.get_port(),
                                    'authenticatePeer': 'no'}),
                      ('sslProfile', {'name': 'server-ssl-profile',
                                      'certDb': cls.ssl_file('ca-certificate.pem'),
@@ -452,7 +452,7 @@ class RouterTestVerifyHostNameNo(RouterTestPlainSaslCommon):
                                      'keyFile': cls.ssl_file('server-private-key.pem'),
                                      'password': 'server-password'}),
                      ('router', {'workerThreads': 1,
-                                 'routerId': 'QDR.X',
+                                 'id': 'QDR.X',
                                  'mode': 'interior',
                                  'saslConfigName': 'tests-mech-PLAIN',
                                  'saslConfigPath': os.getcwd()}),
@@ -462,7 +462,7 @@ class RouterTestVerifyHostNameNo(RouterTestPlainSaslCommon):
                      # This router will act like a client. First an SSL connection will be established and then
                      # we will have SASL plain authentication over SSL.
                      ('connector', {'name': 'connectorToX',
-                                    'addr': '127.0.0.1', 'role': 'inter-router',
+                                    'host': '127.0.0.1', 'role': 'inter-router',
                                     'port': x_listener_port,
                                     'sslProfile': 'client-ssl-profile',
                                     # Provide a sasl user name and password to connect to QDR.X
@@ -471,7 +471,7 @@ class RouterTestVerifyHostNameNo(RouterTestPlainSaslCommon):
                                     'saslUsername': 'test@domain.com', 'saslPassword': 'password'}),
                      ('router', {'workerThreads': 1,
                                  'mode': 'interior',
-                                 'routerId': 'QDR.Y'}),
+                                 'id': 'QDR.Y'}),
                      ('listener', {'host': '0.0.0.0', 'role': 'normal', 'port': y_listener_port}),
                      ('sslProfile', {'name': 'client-ssl-profile',
                                      'certDb': cls.ssl_file('ca-certificate.pem'),
@@ -482,6 +482,7 @@ class RouterTestVerifyHostNameNo(RouterTestPlainSaslCommon):
 
         cls.routers[0].wait_ports()
         cls.routers[1].wait_ports()
+
         cls.routers[1].wait_router_connected('QDR.X')
 
     @staticmethod

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/system_tests_two_routers.py
----------------------------------------------------------------------
diff --git a/tests/system_tests_two_routers.py b/tests/system_tests_two_routers.py
index e3a8391..a718dd3 100644
--- a/tests/system_tests_two_routers.py
+++ b/tests/system_tests_two_routers.py
@@ -84,6 +84,7 @@ class TwoRouterTest(TestCase):
 
         router('A', 'server',
                ('listener', {'role': 'inter-router', 'port': inter_router_port}))
+
         router('B', 'client',
                ('connector', {'name': 'connectorToA', 'role': 'inter-router', 'port': inter_router_port,
                               'verifyHostName': 'no'}))

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tests/threads4.conf
----------------------------------------------------------------------
diff --git a/tests/threads4.conf b/tests/threads4.conf
index 341f981..47043c1 100644
--- a/tests/threads4.conf
+++ b/tests/threads4.conf
@@ -18,13 +18,6 @@
 ##
 
 
-##
-## Container section - Configures the general operation of the AMQP container.
-##
-container {
-    workerThreads: 4
-}
-
 router {
    id : QDR
 }

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/71b3b7df/tools/qdstat
----------------------------------------------------------------------
diff --git a/tools/qdstat b/tools/qdstat
index abd7e39..790f955 100755
--- a/tools/qdstat
+++ b/tools/qdstat
@@ -235,7 +235,7 @@ class BusManager(Node):
         rows.append(('Version',       router.version))
         rows.append(('Mode',          router.mode))
         rows.append(('Area',          router.area))
-        rows.append(('Router Id',     router.routerId))
+        rows.append(('Router Id',     router.id))
         rows.append(('Link Routes',   router.linkRouteCount))
         rows.append(('Auto Links',    router.autoLinkCount))
         rows.append(('Links',         router.linkCount))


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org


Mime
View raw message