nova/nova/conf/cyborg.py
Sundar Nadathur c071741d56 ksa auth conf and client for Cyborg access
Framework for communication with the Cyborg API.

- Standard keystoneauth1 config options for setting up authentication in
the [cyborg] section of nova*.conf.
- A new nova.accelerator.cyborg module containing a get_client method to
return a client containing a keystoneauth1 adapter pointing
to the Cyborg service with user- and service- based authentication.
- Requirements updates to pull in the os-service-types release
containing the 'accelerator' service type.

Change-Id: Iee0766269d61948ad701911e8b0e5e24d3d6eb04
Blueprint: nova-cyborg-interaction
2020-03-21 12:03:37 -07:00

44 lines
1.3 KiB
Python

# Copyright 2019 OpenStack 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.
from keystoneauth1 import loading as ks_loading
from oslo_config import cfg
from nova.conf import utils as confutils
DEFAULT_SERVICE_TYPE = 'accelerator'
CYBORG_GROUP = 'cyborg'
cyborg_group = cfg.OptGroup(
CYBORG_GROUP,
title='Cyborg Options',
help="""
Configuration options for Cyborg (accelerator as a service).
""")
def register_opts(conf):
conf.register_group(cyborg_group)
confutils.register_ksa_opts(conf, cyborg_group, DEFAULT_SERVICE_TYPE,
include_auth=False)
def list_opts():
return {
cyborg_group: (
ks_loading.get_session_conf_options() +
confutils.get_ksa_adapter_opts(DEFAULT_SERVICE_TYPE))
}