Raise an OpPrereqError if secrt parameters are expected, but missing. Job retries result in this error.
Signed-off-by: Lisa Velden <[email protected]> --- lib/cmdlib/instance_create.py | 6 ++++++ src/Ganeti/Constants.hs | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/lib/cmdlib/instance_create.py b/lib/cmdlib/instance_create.py index e32e55f..eea2437 100644 --- a/lib/cmdlib/instance_create.py +++ b/lib/cmdlib/instance_create.py @@ -809,6 +809,12 @@ class LUInstanceCreate(LogicalUnit): self.op.osparams_private = serializer.PrivateDict() if self.op.osparams_secret is None: self.op.osparams_secret = serializer.PrivateDict() + else: + # check for missing secret parameters + for secret_param in self.op.osparams_secret: + if self.op.osparams_secret[secret_param].Get() == constants.REDACTED: + raise errors.OpPrereqError("Please re-submit secret parameters to" + " job.", errors.ECODE_INVAL) self.os_full = cluster.SimpleFillOS( self.op.os_type, diff --git a/src/Ganeti/Constants.hs b/src/Ganeti/Constants.hs index d879cd8..b4f4256 100644 --- a/src/Ganeti/Constants.hs +++ b/src/Ganeti/Constants.hs @@ -5262,6 +5262,10 @@ debugModeConfidentialityWarning = "ALERT: %s started in debug mode.\n\ \ Private and secret parameters WILL be logged!\n" +-- | Use to hide secret parameter value +redacted :: String +redacted = "<redacted>" + -- * Stat dictionary entries -- -- The get_file_info RPC returns a number of values as a dictionary, and the -- 2.4.3.573.g4eafbef
