From f148283fdd3479ca604cc118c4f1cd9afed4e468 Mon Sep 17 00:00:00 2001 From: Andrew Smith Date: Wed, 25 Apr 2018 13:48:41 -0400 Subject: [PATCH] Update to use oslo.messaging service for RPC and Notify This introduces oslo.messaging variables that define the RPC and Notify transports for the OpenStack services. These parameters replace the rabbitmq values and are used to generate the messaging transport_url for the service. The association of the messaging backend server to the oslo.messaging services will then be transparent to the ironic service. This patch: * Add oslo.messaging variables for RPC and Notify to defaults * Update transport_url generation (added notifications) * Add oslo.messaging to inventory * Add release note Depends-On: If4326a6848d2d32af284fdbb94798eb0b03734d5 Depends-On: I2b09145b60116c029fc85477399c24f94974b61d Change-Id: I363a888980dfd84b4b586df01fb022dd453dc3de --- defaults/main.yml | 22 ++++++++++++++----- ...ng-separate-backends-3b2dac9462595b31.yaml | 14 ++++++++++++ templates/ironic.conf.j2 | 10 ++++----- tests/inventory | 6 +++++ 4 files changed, 40 insertions(+), 12 deletions(-) create mode 100644 releasenotes/notes/oslo-messaging-separate-backends-3b2dac9462595b31.yaml diff --git a/defaults/main.yml b/defaults/main.yml index 72c7925c..2530d312 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -230,12 +230,22 @@ ironic_pip_packages: - python-swiftclient - uwsgi -## RabbitMQ info -ironic_rabbitmq_userid: ironic -ironic_rabbitmq_vhost: /ironic -ironic_rabbitmq_servers: 127.0.0.1 -ironic_rabbitmq_use_ssl: False -ironic_rabbitmq_port: 5672 +## Oslo Messaging Info +# RPC +ironic_oslomsg_rpc_transport: rabbit +ironic_oslomsg_rpc_servers: 127.0.0.1 +ironic_oslomsg_rpc_port: 5672 +ironic_oslomsg_rpc_use_ssl: False +ironic_oslomsg_rpc_userid: ironic +ironic_oslomsg_rpc_vhost: /ironic + +# Notify +ironic_oslomsg_notify_transport: rabbit +ironic_oslomsg_notify_servers: 127.0.0.1 +ironic_oslomsg_notify_port: 5672 +ironic_oslomsg_notify_use_ssl: False +ironic_oslomsg_notify_userid: ironic +ironic_oslomsg_notify_vhost: /ironic # Auth ironic_service_user_name: "ironic" diff --git a/releasenotes/notes/oslo-messaging-separate-backends-3b2dac9462595b31.yaml b/releasenotes/notes/oslo-messaging-separate-backends-3b2dac9462595b31.yaml new file mode 100644 index 00000000..a5f2c43c --- /dev/null +++ b/releasenotes/notes/oslo-messaging-separate-backends-3b2dac9462595b31.yaml @@ -0,0 +1,14 @@ +--- +features: + - Support separate oslo.messaging services for RPC and Notifications + to enable operation of separate and different messaging backend servers. +deprecations: + - | + The rabbitmq server parameters have been replaced by corresponding + oslo.messaging RPC and Notify parameters in order to abstract the + messaging service from the actual backend server deployment. + - ironic_oslomsg_rpc_servers replaces ironic_rabbitmq_servers + - ironic_oslomsg_rpc_port replaces ironic_rabbitmq_port + - ironic_oslomsg_rpc_use_ssl replaces ironic_rabbitmq_use_ssl + - ironic_oslomsg_rpc_userid replaces ironic_rabbitmq_userid + - ironic_oslomsg_rpc_vhost replaces ironic_rabbitmq_vhost diff --git a/templates/ironic.conf.j2 b/templates/ironic.conf.j2 index ac984d50..1531c095 100644 --- a/templates/ironic.conf.j2 +++ b/templates/ironic.conf.j2 @@ -13,6 +13,9 @@ memcached_servers = {{ memcached_servers }} enabled_network_interfaces = {{ ironic_enabled_network_interfaces_list }} default_network_interface = {{ ironic_default_network_interface }} +## RPC Backend +transport_url = {{ ironic_oslomsg_rpc_transport }}://{% for host in ironic_oslomsg_rpc_servers.split(',') %}{{ ironic_oslomsg_rpc_userid }}:{{ ironic_oslomsg_rpc_password }}@{{ host }}:{{ ironic_oslomsg_rpc_port }}{% if not loop.last %},{% else %}/{{ ironic_oslomsg_rpc_vhost }}{% if ironic_oslomsg_rpc_use_ssl | bool %}?ssl=1{% else %}?ssl=0{% endif %}{% endif %}{% endfor %} + [agent] [amt] @@ -139,14 +142,9 @@ lock_path = {{ ironic_lock_path }} [oslo_messaging_amqp] [oslo_messaging_notifications] +transport_url = {{ ironic_oslomsg_notify_transport }}://{% for host in ironic_oslomsg_notify_servers.split(',') %}{{ ironic_oslomsg_notify_userid }}:{{ ironic_oslomsg_notify_password }}@{{ host }}:{{ ironic_oslomsg_notify_port }}{% if not loop.last %},{% else %}/{{ ironic_oslomsg_notify_vhost }}{% if ironic_oslomsg_notify_use_ssl | bool %}?ssl=1{% else %}?ssl=0{% endif %}{% endif %}{% endfor %} [oslo_messaging_rabbit] -rabbit_port = {{ ironic_rabbitmq_port }} -rabbit_userid = {{ ironic_rabbitmq_userid }} -rabbit_password = {{ ironic_rabbitmq_password }} -rabbit_virtual_host = {{ ironic_rabbitmq_vhost }} -rabbit_hosts = {{ ironic_rabbitmq_servers }} -ssl = {{ ironic_rabbitmq_use_ssl }} pool_max_size = {{ ironic_wsgi_processes }} diff --git a/tests/inventory b/tests/inventory index a4dfa67a..7e51aaab 100644 --- a/tests/inventory +++ b/tests/inventory @@ -11,6 +11,12 @@ openstack1 swift-storage1 ironic1 +[oslomsg_rpc_all] +infra1 + +[oslomsg_notify_all] +infra1 + [rabbitmq_all] infra1