def create_networks(cmgr, network_name, cidr, **kwargs):
    try:
        router = cmgr.qsvc('router-show', network_name)
        network = cmgr.qsvc('net-show', network_name)
        subnet = cmgr.qsvc('subnet-show', network_name)
    except:
        router_type = kwargs.pop('router_type', 'shared')
        public_network_id = kwargs.pop('public_network_id', None)
        network, subnet = NET.create_mtz_networks(cmgr, cidr,
                                                  name=network_name,
                                                  **kwargs)
        net_list = [(network, subnet)]
        router = NET.create_router_and_add_interfaces(
            cmgr, network_name, net_list,
            public_network_id=public_network_id, router_type=router_type)
    return (router, network, subnet)
def create_mtz_networks(cmgr, scope_id, cidr, name=None, **kwargs):
    return NET.create_mtz_networks(cmgr, cidr, scope_id=scope_id,
                                   name=name, **kwargs)