This commit removes config settings for the API that were set
from within the taskmanager class, and moves them into the API.
This fixes the issue where some neutron settings didn't get
set in the api config file when the api and taskmanager were run on
separate hosts. Specifically, API requests will now return the IP
address of the DB instance when Neutron is used.
Change-Id: I370f137ce12fedb527f1ae7adc013e1dac4dbffe
The review[0] is merged, we should update other releated
puppet modules in order to fix ci.
[0]https://review.openstack.org/#/c/444248/
Change-Id: Icbf1cdd0eaa7944dc2331d64a70e18cd1030ee15
Closes-Bug: #1672362
Single tenant mode creates all DBaaS resources in a given tenant,
rather than the default, which is to use the users own tenant.
It relies on the nova_proxy_admin_* vars for this.
This commit adds a new trove::single_tenant_mode variable, when set
to true, sets up the remote_(nova|cinder|neutron)_client config
vars in the each of the config files for this mode to be enabled.
Change-Id: Ic59bd227fff893c705931ced3add636844533d35
I7ccd995ef01c2d54427684718adba054260fdd52 removed the rpc_backend
declaration for amqp so we need to stop checking for it in the unit
tests.
Change-Id: I05e3252940889831b11245fc8c4df1a94b0505bc
Since we are in ocata lets remove all old parameters in api
to configure the keystone_authtoken section
Change-Id: I2ad9c559768324cb494bcbe719195817b3ca4864
This patch changes the default worker count from ::processorcount to the
new ::os_workers fact. ::os_workers is based on the number of processors
(currently cpu/4) but is capped at a maximum of 8 worker processors.
This is a much more reasonable default in general and prevents excessive
resource consumption on systems with a large number of CPUs.
Change-Id: Idfd8e3f4fe91df7d70e8c35a491c076b0b8f2348
In trove::api, use keystone::resource::authtoken to configure
keystone_authtoken section in trove.conf, with all parameters required
to configure keystonemiddleware.
This patch will allow to deploy Trove to use Keystone v3
authentification.
Some deprecations:
- trove::api::keystone_tenant is deprecated in favor of trove::keystone::authtoken::project_name.
- trove::api::keystone_user is deprecated in favor of trove::keystone::authtoken::username.
- trove::api::keystone_password is deprecated in favor of trove::keystone::authtoken::password.
- trove::api::identity_uri is deprecated in favor of trove::keystone::authtoken::auth_url.
- trove::api::auth_uri is deprecated in favor of trove::keystone::authtoken::auth_uri.
Change-Id: I808ebda1c4ec3a5b2ed294eb8af4eecafa861051
Closes-Bug: #1604463
This commit adds the transport_url parameters for oslo.messaging. The
url is of the form:
transport://user:pass@host1:port[,hostN:portN]/virtual_host
Where the transport scheme specifies the rpc or notification backend
as one of rabbit, amqp, zmq, etc. Oslo.messaging is deprecating the
host, port, and auth configuration options [1]. All drivers will get
these options via the transport_url.
This patch:
* use oslo::messaging::default resource
* use oslo::messaging::notifications resource
* add parameters for transport_url(s)
* correct config file for amqp backend
* update spec tests
* add feature release note
[1] https://review.openstack.org/#/c/317285/
Change-Id: I8d0132f23aa05ed267ff2d88bce61ce9f20160f5
This commit adds support for the oslo.messaging amqp rpc_backend
which enables the AMQP 1.0 driver. A proposed feature for the
Newton oslo.messaging release is an update to the AMQP 1.0 driver
to support a stateless messaging interconnect for RPC traffic [1].
This patch:
* use oslo::messaging::amqp resource
* add new parameters for the oslo_messaging_amqp driver
* update spec tests for amqp as alternate rpc_backend
* add feature release note
[1] https://blueprints.launchpad.net/oslo.messaging/+spec/amqp-dispatch-router
Change-Id: I8306c56e86f2f8a8d6da1ecbf5eab674e6b1e8bf
This change adds the control_exchange setting for
trove_guestagent_config and trove_config that are included in the api
and guestagent classes.
Change-Id: If0bda0f937330e2fa4304517d06cdd1c02ec9f98
Related-Bug: #1580005
Additonal changes:
* switch messaging related parameters to $::os_service_default
as they are used in oslo::messaging_rabbit define
* update unit tests
Change-Id: I3f7800f78132fa4c6c639753327ff63cf337c285
Move all dependency tracking to an external class which simplifies the
relationships and allows managing Trove without necessarily using
packages.
This change also cleans up how the client is handled to make
it more configurable and match other modules.
Finally the reference to the deprecated and non-functional
keystone::python class is dropped.
Change-Id: I943685fbeb114dead80b7465b8f5c564a0bc9fe0
The kombu_reconnect_delay is used when configuring rabbitmq but we are
missing the parameter from the base trove class. This change adds it in
and adds test coverage for the rabbit user, password, host, ssl and
reconnect delay.
Change-Id: I8a5e7f0241a0f41e4f10b40d791f39e37ce82087
Closes-Bug: #1545168
This patch does multiple things regarding auth_* parameters.
1/ We deprecate auth_host, auth_url, auth_port and auth_protocol
If they are set, a nice warning will show up and mention the parameters
will be dropped in a future release. The parameters are still having
effect but will configure old parameters. No worries, they still work.
Just lot of warnings so people will have to use new parameters.
2/ Add new parameters
auth_uri and identity_uri are the way to go!
False by default for now, because we still have old parameters, but in a
later release, they'll be set to a default endpoint, like in other
modules.
3/ Update beaker
We want to test with the new parameters, so let's update beaker
manifests and use auth_uri & identity_uri
This is a first step to use auth_uri & identity_uri that is compliant
with other modules. The next step will be to drop old parameters and set
the right default values for the 2 new params.
Change-Id: I66d5233c8981763a0a341740911fb24dd0e8d479
Closes-bug: #1504653
amqp_durable_queues option is already defined in trove class,
but is not be used in other trove class.
Close-Bug: #1486319
Change-Id: Ifd4411ce90db26d6f12e714fdc5c54ea507975fd
There are two methods for setting up RabbitMQ HA:
1. Configure rabbit_hosts to multi rabbit hosts.
2. Setting up a loadbalancer in front of RabbitMQ cluster,
provide a unique address in rabbit_host
In current, rabbit_ha_queues option is controled by rabbit_hosts IF
conditional statement. But when users want to use the second method:
changing rabbit_ha_queues to true, but they don't use rabbit_hosts
option, this logic will not work.
This patch adds an rabbit_ha_queues option, set it to undef by
default for forward compatbility.
Close-Bug: #1485287
Change-Id: Ib8fe16182188729100ef4704466c4d42d31ff510
Currently logging configuration is splitted in two distinct classes,
the api.pp and the logging.pp classes. This review aims to centralize
all logging related parameters in a single class, the logging.pp one.
The impacted parameters are :
* use_syslog
* use_stderr
* log_facility
* verbose
* debug
* log_dir
* log_file
This change remains backward compatible with what is currently in place.
Related-bug: #1515273
Change-Id: I76f51876e78015db722ff0fc37f6bcd76fd651f2
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
Qpid messaging driver is removed from Oslo.messaging [1]
Therefore, we cannot support it anymore.
[1] I4a9cba314c4a2f24307504fa7b5427424268b114
Change-Id: I4d4c200e733568d33116728e19377575b92331ca
This patch is aim to manage notification system options:
- notification_driver
- notification_topics
Change-Id: I76d66fa1a8640f08c8d948e5f8ede51a383216cb
Closes-Bug: #1473645
It is no longer necessary to specify the whole python namespace
for the backends, and
http://docs.openstack.org/developer/oslo.messaging/opts.html lists
the short versions.
This patch maintains backwards compatibility with the previous
default value in case it is explicitly used.
Change-Id: Ic16d12e9e84083c09f3d725e5a15f4c3d7279792
This patch is aim to add region and url related options in trove.conf:
- os_region_name
- nova_compute_service_type
- cinder_service_type
- swift_service_type
- heat_service_type
- neutron_service_type
- neutron_url
Closes-Bug: #1473280
Change-Id: Id9b57351b0fc3c81565310f4ce6ae2b8aa2564f2
The puppet-trove module only had partial, non-working qpid support
until now. The qpid_* parameters were documented and included in
some manifests, but not in init.pp, and rpc_backend was never set
in the config files, so Trove would always use RabbitMQ.
The fix also includes moving qpid parameters from the DEFAULT
section to oslo_messaging_qpid in the config files, to avoid
deprecation warnings in Kilo and later releases.
Change-Id: I12853f843f40e2312e7fe3bb81739be743641583
Closes-bug: #1468312
Kilo oslo-messaging deprecates rabbit/kombu settings in the
DEFAULT section.
Rabbitmq won't talk to us anymore if we try to use SSLv3 as it disabled
support for SSLv3. Openstack components use python's openssl
implementation which does not support TLSv1.1 and TLSv1.2 yet so we
just switch to TLSv1. Support for newer TLS should come with python
2.7.9+
The kombu_ssl_* parameters should not be required when rabbit_use_ssl => true
Rather, rabbit_use_ssl must be set to true if the kombu_ssl_* parameters are
used.
Change-Id: I327dc193d878cb1574b69d5f5b502c25fa203a66
Closes-Bug: #1409667
Closes-Bug: #1356083
This patch aim to update our specs test in order to work with the new
rspec-puppet release 2.0.0, in the mean time, we update rspec syntax in
order to be prepared for rspec 3.x move.
In details:
* Convert 'should' keyword to 'is_expected.to' (prepare rspec 3.x)
* Upgrade and pin rspec-puppet from 1.0.1 to 2.0.0
Change-Id: I6e85576823fc93ac0b7a7dff06032d71682259ad
The paste file now lives in /usr/share, and shouldn't be
modified. Configure the keystone auth token settings in
trove.conf instead.
Change-Id: Ib2cc2211cc645ad71e9f57c1c52177074472afcb
Since the parameters are used on other class, it's smarter to have them
on init class to just reuse them.
Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>