use different bind addresses for admin and public

Keystone supports configuration of an admin_port and a public_port.
Applications may well want the admin port to be open on a different private network.
This patch change single bind_host to public_bind_host and admin_bind_host in the configuration.

DocImpact

Change-Id: Ic91aade987724c8f7c9276ca94e27681ae590662
Closes-Bug: #1035326
This commit is contained in:
Chen Li 2013-09-09 22:45:07 +08:00 committed by chen-li
parent 58ff2bc511
commit f5159fb238
3 changed files with 12 additions and 4 deletions

View File

@ -125,10 +125,10 @@ if __name__ == '__main__':
servers = []
servers.append(create_server(paste_config,
'admin',
CONF.bind_host,
CONF.admin_bind_host,
int(CONF.admin_port)))
servers.append(create_server(paste_config,
'main',
CONF.bind_host,
CONF.public_bind_host,
int(CONF.public_port)))
serve(*servers)

View File

@ -3,7 +3,8 @@
# admin_token = ADMIN
# The IP address of the network interface to listen on
# bind_host = 0.0.0.0
# public_bind_host = 0.0.0.0
# admin_bind_host = 0.0.0.0
# The port number which the public service listens on
# public_port = 5000

View File

@ -27,7 +27,14 @@ _DEFAULT_AUTH_METHODS = ['external', 'password', 'token']
FILE_OPTIONS = {
'': [
cfg.StrOpt('admin_token', secret=True, default='ADMIN'),
cfg.StrOpt('bind_host', default='0.0.0.0'),
cfg.StrOpt('public_bind_host',
default='0.0.0.0',
deprecated_opts=[cfg.DeprecatedOpt('bind_host',
group='DEFAULT')]),
cfg.StrOpt('admin_bind_host',
default='0.0.0.0',
deprecated_opts=[cfg.DeprecatedOpt('bind_host',
group='DEFAULT')]),
cfg.IntOpt('compute_port', default=8774),
cfg.IntOpt('admin_port', default=35357),
cfg.IntOpt('public_port', default=5000),