We need options to be able to set the user and project domain
when using keystone v3 credentials for the swift backend. Without
these options keystone v3 swift will fail.
Change-Id: Id384b0eca750e0946b42cb8ccb60a7f9ed64d21a
This patch adds posibility to configure backend settings for Glare
service.
Since Glare service is experimental feature, it can be usually disabled
for deployment. Hence was added a optional parameter 'glare_enabled' for
each backend manifest. So, if Glare is enabled glance glare config
will (and should) have same backend options as main glance api config.
Change-Id: I112a332f490d2e57eef5fa7d41d465c0eb89da04
Related-bug: #1555697
This patch moves the default_store config option to the glance::api
class, and makes it possible to configure more than one store while
supplying a value for the default store to be used. If only one store
is given for glance_store/stores, the default store is automatically
set to be the same value. If multiple stores are given and no default
store is explicitly set, the config will fail and ask the user to
provide a default store.
Change-Id: I28a79ae36e673a3537ea16910d338666b65c80f7
Closes-bug: #1481460
Co-Authored-By: Alex Schultz <aschultz@mirantis.com>
This commit explicitly sets default protocol to http in
swift_store_auth_address variable for Swift backend, because without
any specified protocol it will use https by default. That's not
consistent with other default values for protocols in auth addresses.
Change-Id: I232536d179db92d82f1c7459a0f13e5ca5576f42
For working with Swift backend, Glance needs authentication parameters,
which are supplied to Swift when making calls to its storage system.
Glance will use information from the file specified under parameter
swift_store_config_file. When this parameter is set to the same file
(glance-api.conf), we have lot of non-critical errors in glance-api
log, because of 'Invalid format of swift store config'.
The same problem, when we have RadosGW.
Change-Id: I18ee8f68f7ce793d2580685e79ed636556c57ddd
Related-bug: #1540890
The swift_store_config_file option is being set in the DEFAULT
group instead of the glance_store group where it is actually
defined in Glance. This causes configuration of the Swift store
backend to fail because the configuration is not found by the
check here:
https://github.com/openstack/glance_store/blob/master/glance_store/_drivers/swift/utils.py#L66
Moving the option to glance_store makes the Swift backend work again.
Change-Id: I3af198e5015df1d626c4a5aaccb3b4e5781f56b8
Closes-Bug: 1532352
Currently, when Glance uses Swift as backend, all references to
images saved in database with credentials, like:
swift+http://services%3Aglance:EF3tluYM@192.168.0.2:5000/v2.0/glance/049cd701-77
The problem is that when we want to change Glance credentials we can't use
old images anymore, because new credentials and creds in database are
different. For resolving this issue was implemented patch in Glance [1]
and couple of patches in Glance_Store [2,3]. The main goal is using
separate section (file with such section) for providing credentials
for access to Swift and do not place reference with credentials to
database.
All changes above are covered in docs for configuring Swift backend [4].
Also glance_cache_config now is not using for configuring Swift backend,
hence all related parameters for this config removed.
[1] https://review.openstack.org/#/c/98722/
[2] https://review.openstack.org/#/c/193422/
[3] https://review.openstack.org/#/c/108036/
[4] https://review.openstack.org/#/c/242583/
Change-Id: Iaf0c1c6f2188c84267e41d2d4f9bda0dbf3dccad
Related-bug: #1499754
Add puppet parameters lint (with puppet-lint-param-docs gem) and fix
missing documentations, this commit also fix metadata.json file (SPDX
license, and open dependencies).
Change-Id: I0d590b930a8d0263c3a74d861b9786770be7d183
New parameter is 'swift_store_large_object_size'.
Sometimes default value (5G) doesn't work when user attempts to
make a snapshots with size > 300 Mb. So it may be usefull to have
a possibity to adjust this parameter to your needs.
Change-Id: I08336b91b0cd294a86326605fb6c28653e8eedb8
glance::backend::swift was not properly configuring
swift_store_* in /etc/glance/glance-cache.conf
when using swift backend.
Change-Id: I7b46dd2bd1ff050759b11cbc9c3c7068e4c3e01e
Updates the glance swift backend to support configuring the
swift_store_auth_version setting. The default value for this is '2'
(which matches the glance config file defaults).
As part of this change I am also updating the default value
for swift_store_auth_address to use 127.0.0.1:5000/v2.0/ (keystone).
This makes sense because the previous value would have required
us to set swift_store_auth_version by default to 1.
Change-Id: I865712914dd0506b2722ab8da3e1c56d7d9f433a
Having the glance::backend::swift class inherit glance::api
makes it unusable (it causes puppet errors due to missing password
which is required by glance::api).
Since this module is mainly just useful to configure sets of
swift configs it can stand on its own.
Change-Id: I549087e2e9e9e1abd43bd0f78e4f4dee71490ace
- Add native types to manage all existing ini files
- remove all unused templates
- convert all concat with ini_setting resources
- remove all concat code
The backend class has been removed and the related
backend config service has been coupled with the
file and swift classes. This is to reduce the code
complexity.
This commit splits the api.conf template into
fragments to better allow for logical separation
for configuration sections.
The main motivation for this change is to allow
differrent implementations of services in glance to
be split up into seperate configuration interfaces.
The primary examples of this are the notifier and
the storage backend. Each of these services have
multiple potential implementations. This allows
those implementations to be implemented as separate
class interfaces and saves us from having to have
all of the possible config parameters to be specified
as parameters of the api class.
It creates a define: glance::api::config that can
used to configure file fragments for
/etc/glance/glance-api.conf
It also creates configuration interfaces for
configuring the following config sections of api:
backend::swift, backend::file, notify::qpid,
notify::rabbitmq.