From 1a2fb7e1a7212f37784396daa89ac786e9a62ec4 Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Tue, 21 Feb 2023 23:40:37 +0900 Subject: [PATCH] trove_datastore_version: Handle missing datastore The trove_datastore_version resource fails if the datastore is not yet created. This fixes that problem. Change-Id: I403f0ede9061eb0a9361b084ada26954250fb2e6 (cherry picked from commit 4e25bbbe9f31cf966567f892dbfa1a5aea0d92ef) --- lib/puppet/provider/trove_datastore_version/trove.rb | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/puppet/provider/trove_datastore_version/trove.rb b/lib/puppet/provider/trove_datastore_version/trove.rb index c7291f5e..f0f90cb7 100644 --- a/lib/puppet/provider/trove_datastore_version/trove.rb +++ b/lib/puppet/provider/trove_datastore_version/trove.rb @@ -51,10 +51,15 @@ Puppet::Type.type(:trove_datastore_version).provide( def self.build_datastore_version_hash(datastore) dvs = {} - request('datastore version', 'list', datastore).each do |attrs| - dvs[attrs[:name]] = attrs + begin + request('datastore version', 'list', datastore).each do |attrs| + dvs[attrs[:name]] = attrs + end + rescue Puppet::ExecutionFailure => e + if ! e.message.match("Datastore '#{datastore}' cannot be found") + raise e + end end dvs end - end