From acc4fb03245edcf21c536d7dcc3377e204d535e0 Mon Sep 17 00:00:00 2001 From: Bogdan Dobrelya Date: Wed, 22 May 2019 16:28:52 +0200 Subject: [PATCH] Add support for Ironic Rpc Transport override Related-Blueprint: undercloud-minion Change-Id: I24d6d2e220fd99a9d9ae99e1bfbf31da1423bc3a Signed-off-by: Bogdan Dobrelya --- deployment/ironic/ironic-base-puppet.yaml | 13 +++++++++++++ .../ironic-rpc-transport-b637fd2a3b99fee7.yaml | 11 +++++++++++ 2 files changed, 24 insertions(+) create mode 100644 releasenotes/notes/ironic-rpc-transport-b637fd2a3b99fee7.yaml diff --git a/deployment/ironic/ironic-base-puppet.yaml b/deployment/ironic/ironic-base-puppet.yaml index 2e4f43e242..7b5efc11f5 100644 --- a/deployment/ironic/ironic-base-puppet.yaml +++ b/deployment/ironic/ironic-base-puppet.yaml @@ -48,6 +48,13 @@ parameters: description: The password for the Ironic service and db account, used by the Ironic services type: string hidden: true + IronicRpcTransport: + description: The remote procedure call transport between conductor and + API processes, such as a messaging broker or JSON RPC. + default: '' + type: string + constraints: + - allowed_values: [ '', 'oslo', 'json-rpc'] RpcPort: default: 5672 description: The network port for messaging backend @@ -83,6 +90,7 @@ parameter_groups: conditions: service_debug_unset: {equals : [{get_param: IronicDebug}, '']} default_rsc_unset: {equals : [{get_param: IronicDefaultResourceClass}, '']} + rpc_transport_unset: {equals : [{get_param: IronicRpcTransport}, '']} outputs: role_data: @@ -112,5 +120,10 @@ outputs: - default_rsc_unset - {} - ironic::default_resource_class: {get_param: IronicDefaultResourceClass} + - + if: + - rpc_transport_unset + - {} + - ironic::rpc_transport: {get_param: IronicRpcTransport} step_config: | include ::tripleo::profile::base::ironic diff --git a/releasenotes/notes/ironic-rpc-transport-b637fd2a3b99fee7.yaml b/releasenotes/notes/ironic-rpc-transport-b637fd2a3b99fee7.yaml new file mode 100644 index 0000000000..5383c116d0 --- /dev/null +++ b/releasenotes/notes/ironic-rpc-transport-b637fd2a3b99fee7.yaml @@ -0,0 +1,11 @@ +--- +features: + - | + `IronicRpcTransport` controlls the remote procedure call transport between + Ironic Conductor and API processes. For some case, like Edge DCN, this + parameter may be set to 'json-rpc', when the used messaging broker should + not be stretched over WAN. For such cases, this option also plays nicely + alongside the + `Ironic Conductor Groups `_ + feature. Defaults to an empty value, which leaves the corresponding + service's default value intact.