This change removes deprecated parmaeters and classes related to
trove-conductor and trove-taskmanager. These were deprecated during
past cycles and are ready to be removed.
Depends-on: https://review.opendev.org/839061
Change-Id: I250fb4cd098b7aaa6f4b9488e7226ffb27355046
Previously puppet-trove creates separate config files for each service
but these individual files have been removed from Trove by [1].
This change follows that decision and merge these three files into
the single trove.conf file.
[1] https://review.opendev.org/679043
Change-Id: I23c01acd9439335abb706f2528684d4ec473247d
The change d9759d24884cee443b5e9bd57bde1fb738271fdd incorrectly
implement parameter usage and it made auth_url parameters of
the following classes ineffective.
- trove::taskmanager
- trove::conductor
This change fixes these two parameters and ensures these the given
values are used to define config values. These parameters are also
deprecated to be replaced completely by the service_credential classes.
Change-Id: I028af124586ce366545b189694f9459597ce5ac1
These are set but those variables is not
available in the init.pp class and was
removed in [1].
[1] https://review.openstack.org/#/c/570311/
Change-Id: I774ef7e5ad7944573ae537fda72c2ab57584a018
Adds the kombu_failover_strategy option for configuring
oslo.messaging.rabbit. This will determines how the next RabbitMQ node
is chosen in case the one we are currently connected to becomes
unavailable.
Change-Id: If59b301e533a509051876ed88f410c5101425ec2
Closes-Bug: #1748353
After removing keystone API v2, trove requires that
trove_auth_url parameter has the v3 URL. Note that
versionless url is not valid for trove_auth_url so
this patch enforces v3 url even when auth_url is
not versioned.
Additionally, the default value for auth_url parameter
has been updated to point to v3.
Change-Id: I8d0e200958c813101d72e180c6da8343b5fcae6e
Oslo.messaging uses the transport_url to represent the rpc and
notification messaging driver to use and its full configuration. The
rpc_backend configuration option is deprecated for removal and
should not gate oslo.messaging driver configuration options.
This patch:
* deprecate rpc_backend
* remove conditional check
* update spec tests
* add release note
Change-Id: Idbd5c231d85a0f4d249dabd14bc829844ee3e83d
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
The parameter name used to enforce package state is inconsistent across
manifests and modules. I settle on package_ensure since it's already
widely used.
Change-Id: I887e924d184d9b25c33b5fe617d82f170d0cee34
Closes-Bug: #1668732
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
log_file should be set to $::os_service_default and not to the boolean
false because the boolean false gets interpreted as a file name.
Change-Id: Ie52ea5bbd5e921aeede7a5b3c532c20574728bc2
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 partially reverts original commit.
use_syslog option is not deprecated and still actual.
This reverts commit 700ddfd674a817c190916890a4a74f82ed82d3c1
Change-Id: Ie7515a45abeb3b0b4a7833bd19a32fbab759765a
Option "verbose" from group "DEFAULT" is deprecated for removal.
The parameter has no effect.
Deprecated verbose in all classes
Remove verbose in README
Remove verbose from tests.
If this option is not set explicitly, there is no such warning.
Change-Id: Iedbc3ea8824fdef8e1e5434d8be9463704c0579a
Additonal changes:
* switch logging related parameters to $::os_service_default
as they are used in oslo::log
* update unit tests
Change-Id: I1884387b438e3885986d031f95ba323e57aac7ab
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
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
This patch is aim to following params in puppet-trove class:
- enabled
- trace_sqlalchemy
Change-Id: Icbeedc4a74a8a7d25828ed8c4501c843c5252644
closes-Bug: #1567192
Allow to configure workers for trove conductor.
Keep default from upstream, which is the same as API.
Change-Id: I942addf4347aaf813ef40d2ab39bac69a85a1a33
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
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
Qpid messaging driver is removed from Oslo.messaging [1]
Therefore, we cannot support it anymore.
[1] I4a9cba314c4a2f24307504fa7b5427424268b114
Change-Id: I4d4c200e733568d33116728e19377575b92331ca
Bug #1365561 has been marked as fixed so it should be safe to remove
hack adding group and file before installing package.
Change-Id: Id447a47a056a41d8c98b01d6769f4121a36d7aae
A bug was introduced in [1], the lookup to find rabbitmq user was wrong.
This patch uses the right parameter again.
[1] 86b7d23f29
Change-Id: Ib23bde57f9a99707917525977d94da891e5a16dd
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
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
Because packaging is trying to run dbsync while default config is
broken, as a woraround we manage Trove config *before* installing the
package so we can continue the installation with Puppet.
Also add a require to Package['trove-api'] on trove::db::sync class to
make sure trove-manage is installed before running the actual command.
This is a workaround and it could be reverted later when packaging issue
is triaged.
Change-Id: I82dc8b653bbbdc28bd165292649332310f252916
Partial-bug: #1451134
This changes the puppet-lint requirement to 1.1.x, so that we can use
puppet-lint plugins. Most of these plugins are for 4.x compat, but some
just catch common errors.
Change-Id: I34c2eedd78868687613c7f89ce9aef92197f6c69