
{#
Copyright 2017-present Open Networking Foundation

Licensed 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.
#}


export OS_USERNAME=admin
export OS_PASSWORD={{ keystone_admin_password }}
export OS_TENANT_NAME=admin
export OS_AUTH_URL=https://keystone.{{ site_suffix }}:5000/v2.0
export OS_REGION_NAME=RegionOne
export REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
