Merge "Remove some deprecated glance options"
This commit is contained in:
commit
d84e88572a
@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
upgrade:
|
||||||
|
- |
|
||||||
|
Deprecated options ``glance_host``, ``glance_port`` and ``glance_protocol``
|
||||||
|
from ``[glance]`` section of ironic configuration file were removed and
|
||||||
|
will be ignored.
|
||||||
|
Please use ``[glance]/glance_api_servers`` options to provide specific
|
||||||
|
addresses for the Image service endpoint when its discovery from keystone
|
||||||
|
service catalog is not desired.
|
@ -370,10 +370,7 @@ glance:
|
|||||||
glance_api_insecure = False
|
glance_api_insecure = False
|
||||||
glance_api_servers = None
|
glance_api_servers = None
|
||||||
glance_cafile = None
|
glance_cafile = None
|
||||||
glance_host = 10.223.197.220
|
|
||||||
glance_num_retries = 0
|
glance_num_retries = 0
|
||||||
glance_port = 9292
|
|
||||||
glance_protocol = http
|
|
||||||
insecure = False
|
insecure = False
|
||||||
keyfile = None
|
keyfile = None
|
||||||
swift_account = AUTH_cb13c4492d124b01b4659a97d627955c
|
swift_account = AUTH_cb13c4492d124b01b4659a97d627955c
|
||||||
|
@ -73,13 +73,20 @@ To enable secure HTTPS communication between Bare Metal service and Image servic
|
|||||||
[glance]
|
[glance]
|
||||||
...
|
...
|
||||||
glance_cafile=/path/to/certfile
|
glance_cafile=/path/to/certfile
|
||||||
glance_protocol=https
|
|
||||||
glance_api_insecure=False
|
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
'glance_cafile' is a optional path to a CA certificate bundle to be used to validate the SSL certificate
|
'glance_cafile' is a optional path to a CA certificate bundle to be used to validate the SSL certificate
|
||||||
served by Image service.
|
served by Image service.
|
||||||
|
|
||||||
|
#. If not using the keystone service catalog for the Image service API endpoint
|
||||||
|
discovery, also edit the ``glance_api_servers`` option to point to HTTPS URL
|
||||||
|
of image service (replace ``<GLANCE_API_ADDRESS>`` with hostname[:port][path]
|
||||||
|
of the Image service endpoint)::
|
||||||
|
|
||||||
|
[glance]
|
||||||
|
...
|
||||||
|
glance_api_servers = https://<GLANCE_API_ADDRESS>
|
||||||
|
|
||||||
#. Restart ironic-conductor service::
|
#. Restart ironic-conductor service::
|
||||||
|
|
||||||
Fedora/RHEL7/CentOS7/SUSE:
|
Fedora/RHEL7/CentOS7/SUSE:
|
||||||
|
@ -16,18 +16,6 @@ Configuring ironic-conductor service
|
|||||||
If a conductor host has multiple IPs, ``my_ip`` should
|
If a conductor host has multiple IPs, ``my_ip`` should
|
||||||
be set to the IP which is on the same network as the bare metal nodes.
|
be set to the IP which is on the same network as the bare metal nodes.
|
||||||
|
|
||||||
#. Configure the ironic-api service URL. Replace ``IRONIC_API_IP`` with IP of
|
|
||||||
ironic-api service as follows:
|
|
||||||
|
|
||||||
.. code-block:: ini
|
|
||||||
|
|
||||||
[conductor]
|
|
||||||
|
|
||||||
# URL of Ironic API service. If not set ironic can get the
|
|
||||||
# current value from the keystone service catalog. (string
|
|
||||||
# value)
|
|
||||||
api_url=http://IRONIC_API_IP:6385
|
|
||||||
|
|
||||||
#. Configure the location of the database. Ironic-conductor should use the same
|
#. Configure the location of the database. Ironic-conductor should use the same
|
||||||
configuration as ironic-api. Replace ``IRONIC_DBPASSWORD`` with the password
|
configuration as ironic-api. Replace ``IRONIC_DBPASSWORD`` with the password
|
||||||
of your ``ironic`` user, and replace DB_IP with the IP address where the DB
|
of your ``ironic`` user, and replace DB_IP with the IP address where the DB
|
||||||
@ -54,35 +42,6 @@ Configuring ironic-conductor service
|
|||||||
# configuration. (string value)
|
# configuration. (string value)
|
||||||
transport_url = rabbit://RPC_USER:RPC_PASSWORD@RPC_HOST:RPC_PORT/
|
transport_url = rabbit://RPC_USER:RPC_PASSWORD@RPC_HOST:RPC_PORT/
|
||||||
|
|
||||||
#. Configure the ironic-conductor service so that it can communicate with the
|
|
||||||
Image service. Replace ``GLANCE_IP`` with the hostname or IP address of
|
|
||||||
the Image service:
|
|
||||||
|
|
||||||
.. code-block:: ini
|
|
||||||
|
|
||||||
[glance]
|
|
||||||
|
|
||||||
# Default glance hostname or IP address. (string value)
|
|
||||||
glance_host=GLANCE_IP
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
Swift backend for the Image service must be installed and configured
|
|
||||||
for ``agent_*`` drivers. Ceph Object Gateway (RADOS Gateway) is also
|
|
||||||
supported as the Image service's backend (:ref:`radosgw support`).
|
|
||||||
|
|
||||||
#. Set the URL (replace ``NEUTRON_IP``) for connecting to the Networking
|
|
||||||
service, to be the Networking service endpoint:
|
|
||||||
|
|
||||||
.. code-block:: ini
|
|
||||||
|
|
||||||
[neutron]
|
|
||||||
|
|
||||||
# URL for connecting to neutron. (string value)
|
|
||||||
url=http://NEUTRON_IP:9696
|
|
||||||
|
|
||||||
To configure the network for ironic-conductor service to perform node
|
|
||||||
cleaning, see :ref:`cleaning` from the admin guide.
|
|
||||||
|
|
||||||
#. Configure credentials for accessing other OpenStack services.
|
#. Configure credentials for accessing other OpenStack services.
|
||||||
|
|
||||||
In order to communicate with other OpenStack services, the Bare Metal
|
In order to communicate with other OpenStack services, the Bare Metal
|
||||||
@ -157,6 +116,58 @@ Configuring ironic-conductor service
|
|||||||
# HTTPs connections. (string value)
|
# HTTPs connections. (string value)
|
||||||
cafile=/opt/stack/data/ca-bundle.pem
|
cafile=/opt/stack/data/ca-bundle.pem
|
||||||
|
|
||||||
|
#. Notes for configuring the Image service access
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
Swift backend for the Image service must be installed and configured
|
||||||
|
for ``agent_*`` drivers. Ceph Object Gateway (RADOS Gateway) is also
|
||||||
|
supported as the Image service's backend (:ref:`radosgw support`).
|
||||||
|
|
||||||
|
Configure the ironic-conductor service to use specific Image service
|
||||||
|
endpoints - only if you do not want to use Image service endpoint discovery
|
||||||
|
from the keystone service catalog.
|
||||||
|
Replace ``<GLANCE_SERVICE_URL>`` with the address of the image service API:
|
||||||
|
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[glance]
|
||||||
|
glance_api_servers = <GLANCE_SERVICE_URL>
|
||||||
|
|
||||||
|
|
||||||
|
#. Notes for configuring the Network service access
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
To configure the network for ironic-conductor service to perform node
|
||||||
|
cleaning, see :ref:`cleaning` from the admin guide.
|
||||||
|
|
||||||
|
Set a specific URL (replace ``NETWORKING_SERVICE_ENDPOINT``)
|
||||||
|
for connecting to the Networking service, to be the Networking
|
||||||
|
service endpoint - only for the case when you do not want to use
|
||||||
|
discovery of Networking service endpoint from keystone service catalog:
|
||||||
|
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[neutron]
|
||||||
|
|
||||||
|
# URL for connecting to neutron. (string value)
|
||||||
|
url=<NETWORKING_SERVICE_ENDPOINT>
|
||||||
|
|
||||||
|
#. Configure a specific ironic-api service URL - only if you do not want
|
||||||
|
to use discovery of the Baremetal service endpoint from keystone catalog
|
||||||
|
(for example when having deployed two separate pools of ironic-api services
|
||||||
|
for security reasons).
|
||||||
|
Replace ``IRONIC_API_IP`` with IP of specific ironic-api service as follows:
|
||||||
|
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[conductor]
|
||||||
|
|
||||||
|
# URL of Ironic API service. If not set ironic can get the
|
||||||
|
# current value from the keystone service catalog. (string
|
||||||
|
# value)
|
||||||
|
endpoint_override=http://IRONIC_API_IP:6385
|
||||||
|
|
||||||
|
|
||||||
#. Configure enabled drivers and hardware types as described in
|
#. Configure enabled drivers and hardware types as described in
|
||||||
:doc:`/install/enabling-drivers`.
|
:doc:`/install/enabling-drivers`.
|
||||||
|
|
||||||
|
@ -1541,9 +1541,9 @@
|
|||||||
|
|
||||||
# A list of the glance api servers available to ironic. Prefix
|
# A list of the glance api servers available to ironic. Prefix
|
||||||
# with https:// for SSL-based glance API servers. Format is
|
# with https:// for SSL-based glance API servers. Format is
|
||||||
# [hostname|IP]:port. If neither this option nor glance_host
|
# [hostname|IP]:port. If this option is not set, the service
|
||||||
# is set, the service catalog is used. It is recommended to
|
# catalog is used. It is recommended to rely on the service
|
||||||
# rely on the service catalog, if possible. (list value)
|
# catalog, if possible. (list value)
|
||||||
#glance_api_servers = <None>
|
#glance_api_servers = <None>
|
||||||
|
|
||||||
# DEPRECATED: Glance API version (1 or 2) to use. (integer
|
# DEPRECATED: Glance API version (1 or 2) to use. (integer
|
||||||
@ -1561,33 +1561,10 @@
|
|||||||
# when glance_api_insecure is set to False. (string value)
|
# when glance_api_insecure is set to False. (string value)
|
||||||
#glance_cafile = <None>
|
#glance_cafile = <None>
|
||||||
|
|
||||||
# DEPRECATED: Default glance hostname or IP address. The
|
|
||||||
# service catalog is used when not defined. Deprecated, use
|
|
||||||
# glance_api_servers instead. (string value)
|
|
||||||
# This option is deprecated for removal.
|
|
||||||
# Its value may be silently ignored in the future.
|
|
||||||
#glance_host = <None>
|
|
||||||
|
|
||||||
# Number of retries when downloading an image from glance.
|
# Number of retries when downloading an image from glance.
|
||||||
# (integer value)
|
# (integer value)
|
||||||
#glance_num_retries = 0
|
#glance_num_retries = 0
|
||||||
|
|
||||||
# DEPRECATED: Default glance port. Deprecated, use
|
|
||||||
# glance_api_servers instead. (port value)
|
|
||||||
# Minimum value: 0
|
|
||||||
# Maximum value: 65535
|
|
||||||
# This option is deprecated for removal.
|
|
||||||
# Its value may be silently ignored in the future.
|
|
||||||
#glance_port = 9292
|
|
||||||
|
|
||||||
# DEPRECATED: Default protocol to use when connecting to
|
|
||||||
# glance. Set to https for SSL. Deprecated, use
|
|
||||||
# glance_api_services instead. (string value)
|
|
||||||
# Allowed values: http, https
|
|
||||||
# This option is deprecated for removal.
|
|
||||||
# Its value may be silently ignored in the future.
|
|
||||||
#glance_protocol = http
|
|
||||||
|
|
||||||
# Verify HTTPS connections. (boolean value)
|
# Verify HTTPS connections. (boolean value)
|
||||||
#insecure = false
|
#insecure = false
|
||||||
|
|
||||||
|
@ -97,9 +97,7 @@ def _get_api_server_iterator():
|
|||||||
that will cycle through the list, looping around to the beginning if
|
that will cycle through the list, looping around to the beginning if
|
||||||
necessary.
|
necessary.
|
||||||
|
|
||||||
If CONF.glance.glance_api_servers isn't set, we fall back to using this
|
If CONF.glance.glance_api_servers isn't set, fetch the endpoint from the
|
||||||
as the server: CONF.glance.glance_host:CONF.glance.glance_port.
|
|
||||||
If CONF.glance.glance_host is also not set, fetch the endpoint from the
|
|
||||||
service catalog.
|
service catalog.
|
||||||
|
|
||||||
:returns: iterator that cycles (indefinitely) over shuffled glance API
|
:returns: iterator that cycles (indefinitely) over shuffled glance API
|
||||||
@ -107,21 +105,14 @@ def _get_api_server_iterator():
|
|||||||
"""
|
"""
|
||||||
api_servers = []
|
api_servers = []
|
||||||
|
|
||||||
if not CONF.glance.glance_api_servers and not CONF.glance.glance_host:
|
if not CONF.glance.glance_api_servers:
|
||||||
session = keystone.get_session('glance',
|
session = keystone.get_session('glance',
|
||||||
auth=keystone.get_auth('glance'))
|
auth=keystone.get_auth('glance'))
|
||||||
api_servers = [keystone.get_service_url(session, service_type='image',
|
api_servers = [keystone.get_service_url(session, service_type='image',
|
||||||
endpoint_type='public')]
|
endpoint_type='public')]
|
||||||
else:
|
else:
|
||||||
configured_servers = (CONF.glance.glance_api_servers or
|
api_servers = random.sample(CONF.glance.glance_api_servers,
|
||||||
['%s:%s' % (CONF.glance.glance_host,
|
len(CONF.glance.glance_api_servers))
|
||||||
CONF.glance.glance_port)])
|
|
||||||
for api_server in configured_servers:
|
|
||||||
if '//' not in api_server:
|
|
||||||
api_server = '%s://%s' % (CONF.glance.glance_protocol,
|
|
||||||
api_server)
|
|
||||||
api_servers.append(api_server)
|
|
||||||
random.shuffle(api_servers)
|
|
||||||
return itertools.cycle(api_servers)
|
return itertools.cycle(api_servers)
|
||||||
|
|
||||||
|
|
||||||
|
@ -103,28 +103,11 @@ opts = [
|
|||||||
'value between 1 and 32, a single-tenant store will use '
|
'value between 1 and 32, a single-tenant store will use '
|
||||||
'multiple containers to store images, and this value '
|
'multiple containers to store images, and this value '
|
||||||
'will determine how many containers are created.')),
|
'will determine how many containers are created.')),
|
||||||
cfg.StrOpt('glance_host',
|
|
||||||
help=_('Default glance hostname or IP address. The service '
|
|
||||||
'catalog is used when not defined. Deprecated, '
|
|
||||||
'use glance_api_servers instead.'),
|
|
||||||
deprecated_for_removal=True),
|
|
||||||
cfg.PortOpt('glance_port',
|
|
||||||
default=9292,
|
|
||||||
help=_('Default glance port. Deprecated, use '
|
|
||||||
'glance_api_servers instead.'),
|
|
||||||
deprecated_for_removal=True),
|
|
||||||
cfg.StrOpt('glance_protocol',
|
|
||||||
default='http',
|
|
||||||
choices=['http', 'https'],
|
|
||||||
help=_('Default protocol to use when connecting to glance. '
|
|
||||||
'Set to https for SSL. Deprecated, use '
|
|
||||||
'glance_api_services instead.'),
|
|
||||||
deprecated_for_removal=True),
|
|
||||||
cfg.ListOpt('glance_api_servers',
|
cfg.ListOpt('glance_api_servers',
|
||||||
help=_('A list of the glance api servers available to ironic. '
|
help=_('A list of the glance api servers available to ironic. '
|
||||||
'Prefix with https:// for SSL-based glance API '
|
'Prefix with https:// for SSL-based glance API '
|
||||||
'servers. Format is [hostname|IP]:port. If neither '
|
'servers. Format is [hostname|IP]:port. '
|
||||||
'this option nor glance_host is set, the service '
|
'If this option is not set, the service '
|
||||||
'catalog is used. It is recommended to rely on the '
|
'catalog is used. It is recommended to rely on the '
|
||||||
'service catalog, if possible.')),
|
'service catalog, if possible.')),
|
||||||
cfg.BoolOpt('glance_api_insecure',
|
cfg.BoolOpt('glance_api_insecure',
|
||||||
|
@ -97,7 +97,7 @@ class TestGlanceImageService(base.TestCase):
|
|||||||
self.context.project_id = 'fake'
|
self.context.project_id = 'fake'
|
||||||
self.service = service.GlanceImageService(client, 1, self.context)
|
self.service = service.GlanceImageService(client, 1, self.context)
|
||||||
|
|
||||||
self.config(glance_host='localhost', group='glance')
|
self.config(glance_api_servers=['http://localhost'], group='glance')
|
||||||
try:
|
try:
|
||||||
self.config(auth_strategy='keystone', group='glance')
|
self.config(auth_strategy='keystone', group='glance')
|
||||||
except Exception:
|
except Exception:
|
||||||
@ -876,13 +876,6 @@ class TestGlanceAPIServers(base.TestCase):
|
|||||||
service_type='image',
|
service_type='image',
|
||||||
endpoint_type='public')
|
endpoint_type='public')
|
||||||
|
|
||||||
def test__get_api_servers_with_host_port(self):
|
|
||||||
CONF.set_override('glance_host', 'example.com', 'glance')
|
|
||||||
CONF.set_override('glance_port', 42, 'glance')
|
|
||||||
CONF.set_override('glance_protocol', 'https', 'glance')
|
|
||||||
endpoint = service_utils._get_api_server()
|
|
||||||
self.assertEqual('https://example.com:42', endpoint)
|
|
||||||
|
|
||||||
def test__get_api_servers_one(self):
|
def test__get_api_servers_one(self):
|
||||||
CONF.set_override('glance_api_servers', ['https://10.0.0.1:9293'],
|
CONF.set_override('glance_api_servers', ['https://10.0.0.1:9293'],
|
||||||
'glance')
|
'glance')
|
||||||
|
@ -362,7 +362,3 @@ class ServiceGetterTestCase(base.TestCase):
|
|||||||
def test_out_range_auth_strategy(self):
|
def test_out_range_auth_strategy(self):
|
||||||
self.assertRaises(ValueError, cfg.CONF.set_override,
|
self.assertRaises(ValueError, cfg.CONF.set_override,
|
||||||
'auth_strategy', 'fake', 'glance')
|
'auth_strategy', 'fake', 'glance')
|
||||||
|
|
||||||
def test_out_range_glance_protocol(self):
|
|
||||||
self.assertRaises(ValueError, cfg.CONF.set_override,
|
|
||||||
'glance_protocol', 'fake', 'glance')
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user