diff --git a/manifests/keystone/auth.pp b/manifests/keystone/auth.pp index 751d67f44..5c2b39bd8 100644 --- a/manifests/keystone/auth.pp +++ b/manifests/keystone/auth.pp @@ -15,6 +15,10 @@ # (Optional) Name of the service. # Defaults to 'nova'. # +# [*service_type*] +# (Optional) Type of service. +# Defaults to 'compute'. +# # [*service_description*] # (Optional) Description for keystone service. # Defaults to 'Openstack Compute Service'. @@ -63,6 +67,7 @@ class nova::keystone::auth( $password, $auth_name = 'nova', $service_name = 'nova', + $service_type = 'compute', $service_description = 'Openstack Compute Service', $region = 'RegionOne', $tenant = 'services', @@ -79,14 +84,14 @@ class nova::keystone::auth( include nova::deps if $configure_endpoint { - Keystone_endpoint["${region}/${service_name}::compute"] -> Anchor['nova::service::end'] + Keystone_endpoint["${region}/${service_name}::${service_type}"] -> Anchor['nova::service::end'] } keystone::resource::service_identity { 'nova': configure_user => $configure_user, configure_user_role => $configure_user_role, configure_endpoint => $configure_endpoint, - service_type => 'compute', + service_type => $service_type, service_description => $service_description, service_name => $service_name, region => $region, diff --git a/manifests/metadata/novajoin/auth.pp b/manifests/metadata/novajoin/auth.pp index 58a209b25..c0e334ab4 100644 --- a/manifests/metadata/novajoin/auth.pp +++ b/manifests/metadata/novajoin/auth.pp @@ -15,6 +15,10 @@ # (optional) Name of the service. # Defaults to 'novajoin'. # +# [*service_type*] +# (Optional) Type of service. +# Defaults to 'compute-vendordata-plugin'. +# # [*service_description*] # (optional) Description for keystone service. # Defaults to 'Openstack Compute Service'. @@ -59,6 +63,7 @@ class nova::metadata::novajoin::auth( $password, $auth_name = 'novajoin', $service_name = 'novajoin', + $service_type = 'compute-vendordata-plugin', $service_description = 'Novajoin vendordata plugin', $region = 'RegionOne', $tenant = 'services', @@ -72,15 +77,15 @@ class nova::metadata::novajoin::auth( ) { if $configure_endpoint { - Keystone_endpoint["${region}/${service_name}::compute-vendordata-plugin"] ~> Service <| name == 'novajoin-server' |> - Keystone_endpoint["${region}/${service_name}::compute-vendordata-plugin"] ~> Service <| name == 'novajoin-notify' |> + Keystone_endpoint["${region}/${service_name}::${service_type}"] ~> Service <| name == 'novajoin-server' |> + Keystone_endpoint["${region}/${service_name}::${service_type}"] ~> Service <| name == 'novajoin-notify' |> } keystone::resource::service_identity { 'novajoin': configure_user => $configure_user, configure_user_role => $configure_user_role, configure_endpoint => $configure_endpoint, - service_type => 'compute-vendordata-plugin', + service_type => $service_type, service_description => $service_description, service_name => $service_name, region => $region, diff --git a/releasenotes/notes/keystone-service_type-b8615b63ba5ff197.yaml b/releasenotes/notes/keystone-service_type-b8615b63ba5ff197.yaml new file mode 100644 index 000000000..eae88a262 --- /dev/null +++ b/releasenotes/notes/keystone-service_type-b8615b63ba5ff197.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Now service type of the nova service and the novajoin service is + configurable by the ``service_type`` parameter.