nova/nova/conf/vendordata.py
Michael Still 1f53bfcc79 Use a service account to make vendordata requests.
We should use a service account to make requests to external
vendordata services. This something which we got wrong in the
newton cycle, and discussed how to resolve at the ocata summit.

It is intended that this fix be backported to newton as well.

There is a sample external vendordata server which has been
tested with this implementat at:

   https://github.com/mikalstill/vendordata

Change-Id: I7d29ecc00f99724731d120ff94b4bf3210f3a64e
Co-Authored-By: Stephen Finucane <sfinucan@redhat.com>
2017-01-26 13:39:46 +00:00

43 lines
1.6 KiB
Python

# Copyright 2015 OpenStack Foundation
# All Rights Reserved.
#
# 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
vendordata_group = cfg.OptGroup('vendordata_dynamic_auth',
title='Vendordata dynamic fetch auth options',
help="""
Options within this group control the authentication of the vendordata
subsystem of the metadata API server (and config drive) with external systems.
""")
def register_opts(conf):
conf.register_group(vendordata_group)
ks_loading.register_session_conf_options(conf, vendordata_group.name)
ks_loading.register_auth_conf_options(conf, vendordata_group.name)
def list_opts():
return {
vendordata_group: (
ks_loading.get_session_conf_options() +
ks_loading.get_auth_common_conf_options() +
ks_loading.get_auth_plugin_conf_options('password') +
ks_loading.get_auth_plugin_conf_options('v2password') +
ks_loading.get_auth_plugin_conf_options('v3password')
)
}