args.region, args.endpoint)

if keystone is None:
    print 'CRITICAL: Could not create keystone context'
    sys.exit(STATE_CRITICAL)

if keystone.valid() is False:
    print 'CRITICAL: Keystone context is invalid'
    sys.exit(STATE_CRITICAL)

neutron_url = None

if args.neutron_url is not None:
    neutron_url = args.neutron_url

neutron = NeutronClient(keystone, neutron_url)

if neutron is None:
    print 'CRITICAL: Could not create neutron context'
    sys.exit(STATE_CRITICAL)

agent = neutron.get_agent(args.host, args.binary)

if agent is None:
    print ('CRITICAL: Could not retrieve status '
           'for %s on %s') % (args.binary, args.host)
    sys.exit(STATE_CRITICAL)

if agent['admin_state_up'] is True:
    status = 'CRITICAL'
    status_code = STATE_CRITICAL
                          args.region, args.endpoint)

if keystone is None:
    print 'CRITICAL: Could not create keystone context'
    sys.exit(STATE_CRITICAL)

if keystone.valid() is False:
    print 'CRITICAL: Keystone context is invalid'
    sys.exit(STATE_CRITICAL)

neutron_url = None

if args.neutron_url is not None:
    neutron_url = args.neutron_url

neutron = NeutronClient(keystone, neutron_url)

if neutron is None:
    print 'CRITICAL: Could not create neutron context'
    sys.exit(STATE_CRITICAL)

networks = neutron.get_networks()

if networks is None:
    print 'CRITICAL: Did not get any networks data'
    sys.exit(STATE_CRITICAL)

if 'networks' in networks:
    count = len(networks['networks'])

    if count > 0: