LGTM, thanks On Wed, Jul 8, 2015 at 9:34 AM, Lisa Velden <[email protected]> wrote:
> And I've changed the commit message to: > > Add new command gnt-debug test-osparams > > which takes secret parameters with --os-secret-parameters and writes > them to stdout. This command can be used to test the transmission of > secret parameters. > > On Wed, Jul 8, 2015 at 9:33 AM, Lisa Velden <[email protected]> wrote: > >> Interdiff: >> >> diff --git a/lib/client/gnt_debug.py b/lib/client/gnt_debug.py >> index ee0721c..48a557f 100644 >> --- a/lib/client/gnt_debug.py >> +++ b/lib/client/gnt_debug.py >> @@ -583,7 +583,7 @@ def TestJobqueue(opts, _): >> return 0 >> >> >> -def SetOsParams(opts, _): >> +def TestOsParams(opts, _): >> """Set secret os parameters. >> >> """ >> @@ -796,7 +796,7 @@ commands = { >> TestJobqueue, ARGS_NONE, [PRIORITY_OPT], >> "", "Test a few aspects of the job queue"), >> "test-osparams": ( >> - SetOsParams, ARGS_NONE, [OSPARAMS_SECRET_OPT] + SUBMIT_OPTS, >> + TestOsParams, ARGS_NONE, [OSPARAMS_SECRET_OPT] + SUBMIT_OPTS, >> "[--os-parameters-secret <params>]", >> "Test secret os parameter transmission"), >> "locks": ( >> diff --git a/lib/cmdlib/test.py b/lib/cmdlib/test.py >> index 1df15d2..167be3d 100644 >> --- a/lib/cmdlib/test.py >> +++ b/lib/cmdlib/test.py >> @@ -354,7 +354,7 @@ class LUTestJqueue(NoHooksLU): >> >> >> class LUTestOsParams(NoHooksLU): >> - """Utility LU to test secret os parameter transmission. >> + """Utility LU to test secret OS parameter transmission. >> >> """ >> REQ_BGL = False >> @@ -364,7 +364,7 @@ class LUTestOsParams(NoHooksLU): >> >> def Exec(self, feedback_fn): >> if self.op.osparams_secret: >> - msg = "Secret os parameters: %s" % >> self.op.osparams_secret.Unprivate() >> + msg = "Secret OS parameters: %s" % >> self.op.osparams_secret.Unprivate() >> feedback_fn(msg) >> else: >> raise errors.OpExecError("Opcode needs secret parameters") >> >> On Tue, Jul 7, 2015 at 12:34 PM, Hrvoje Ribicic <[email protected]> wrote: >> >>> Patch name: we usually verb first, so make it Add new command... >>> >>> On Mon, Jul 6, 2015 at 10:20 PM, 'Lisa Velden' via ganeti-devel < >>> [email protected]> wrote: >>> >>>> which takes secret parameters with --os-secret-parameters and writes >>>> them to stdout. This command can be used to test the transmission of >>>> secret parameters. >>>> >>>> Signed-off-by: Lisa Velden <[email protected]> >>>> --- >>>> lib/client/gnt_debug.py | 14 ++++++++++++++ >>>> lib/cmdlib/__init__.py | 1 + >>>> lib/cmdlib/test.py | 17 +++++++++++++++++ >>>> man/gnt-debug.rst | 7 +++++++ >>>> src/Ganeti/Hs2Py/OpDoc.hs | 4 ++++ >>>> src/Ganeti/OpCodes.hs | 6 ++++++ >>>> 6 files changed, 49 insertions(+) >>>> >>>> diff --git a/lib/client/gnt_debug.py b/lib/client/gnt_debug.py >>>> index d05fbc2..ee0721c 100644 >>>> --- a/lib/client/gnt_debug.py >>>> +++ b/lib/client/gnt_debug.py >>>> @@ -583,6 +583,16 @@ def TestJobqueue(opts, _): >>>> return 0 >>>> >>>> >>>> +def SetOsParams(opts, _): >>>> + """Set secret os parameters. >>>> + >>>> + """ >>>> + op = opcodes.OpTestOsParams(osparams_secret=opts.osparams_secret) >>>> + SubmitOrSend(op, opts) >>>> + >>>> + return 0 >>>> + >>>> + >>>> def ListLocks(opts, args): # pylint: disable=W0613 >>>> """List all locks. >>>> >>>> @@ -785,6 +795,10 @@ commands = { >>>> "test-jobqueue": ( >>>> TestJobqueue, ARGS_NONE, [PRIORITY_OPT], >>>> "", "Test a few aspects of the job queue"), >>>> + "test-osparams": ( >>>> + SetOsParams, ARGS_NONE, [OSPARAMS_SECRET_OPT] + SUBMIT_OPTS, >>>> >>> >>> Since you are not setting OS params - they are not saved anywhere - I >>> recommend renaming this to TestOsParams. >>> >>> >>>> + "[--os-parameters-secret <params>]", >>>> + "Test secret os parameter transmission"), >>>> "locks": ( >>>> ListLocks, ARGS_NONE, >>>> [NOHDR_OPT, SEP_OPT, FIELDS_OPT, INTERVAL_OPT, VERBOSE_OPT], >>>> diff --git a/lib/cmdlib/__init__.py b/lib/cmdlib/__init__.py >>>> index ee02417..5fd9b8d 100644 >>>> --- a/lib/cmdlib/__init__.py >>>> +++ b/lib/cmdlib/__init__.py >>>> @@ -128,6 +128,7 @@ from ganeti.cmdlib.misc import \ >>>> LUExtStorageDiagnose, \ >>>> LURestrictedCommand >>>> from ganeti.cmdlib.test import \ >>>> + LUTestOsParams, \ >>>> LUTestDelay, \ >>>> LUTestJqueue, \ >>>> LUTestAllocator >>>> diff --git a/lib/cmdlib/test.py b/lib/cmdlib/test.py >>>> index 5ec7c92..1df15d2 100644 >>>> --- a/lib/cmdlib/test.py >>>> +++ b/lib/cmdlib/test.py >>>> @@ -353,6 +353,23 @@ class LUTestJqueue(NoHooksLU): >>>> return True >>>> >>>> >>>> +class LUTestOsParams(NoHooksLU): >>>> + """Utility LU to test secret os parameter transmission. >>>> >>> >>> s/os/OS/ >>> >>> >>>> + >>>> + """ >>>> + REQ_BGL = False >>>> + >>>> + def ExpandNames(self): >>>> + self.needed_locks = {} >>>> + >>>> + def Exec(self, feedback_fn): >>>> + if self.op.osparams_secret: >>>> + msg = "Secret os parameters: %s" % >>>> self.op.osparams_secret.Unprivate() >>>> + feedback_fn(msg) >>>> + else: >>>> + raise errors.OpExecError("Opcode needs secret parameters") >>>> + >>>> + >>>> class LUTestAllocator(NoHooksLU): >>>> """Run allocator tests. >>>> >>>> diff --git a/man/gnt-debug.rst b/man/gnt-debug.rst >>>> index 6614c12..e934d0e 100644 >>>> --- a/man/gnt-debug.rst >>>> +++ b/man/gnt-debug.rst >>>> @@ -99,6 +99,13 @@ TEST-JOBQUEUE >>>> Executes a few tests on the job queue. This command might generate >>>> failed jobs deliberately. >>>> >>>> +TEST_OSPARAMS >>>> +~~~~~~~~~~~~~ >>>> + >>>> +**test-osparams** {--os-parameters-secret *param*=*value*... } >>> >>> + >>>> +Tests secret os parameter transmission. >>>> + >>>> LOCKS >>>> ~~~~~ >>>> >>>> diff --git a/src/Ganeti/Hs2Py/OpDoc.hs b/src/Ganeti/Hs2Py/OpDoc.hs >>>> index 82aba2f..aee68db 100644 >>>> --- a/src/Ganeti/Hs2Py/OpDoc.hs >>>> +++ b/src/Ganeti/Hs2Py/OpDoc.hs >>>> @@ -465,6 +465,10 @@ opTestJqueue :: String >>>> opTestJqueue = >>>> "Utility opcode to test some aspects of the job queue." >>>> >>>> +opTestOsParams :: String >>>> +opTestOsParams = >>>> + "Utility opcode to test secret os parameter transmission." >>>> + >>>> opTestDummy :: String >>>> opTestDummy = >>>> "Utility opcode used by unittests." >>>> diff --git a/src/Ganeti/OpCodes.hs b/src/Ganeti/OpCodes.hs >>>> index 271b409..209943d 100644 >>>> --- a/src/Ganeti/OpCodes.hs >>>> +++ b/src/Ganeti/OpCodes.hs >>>> @@ -903,6 +903,12 @@ $(genOpCode "OpCode" >>>> , pJQueueFail >>>> ], >>>> []) >>>> + , ("OpTestOsParams", >>>> + [t| () |], >>>> + OpDoc.opTestOsParams, >>>> + [ pInstOsParamsSecret >>>> + ], >>>> + []) >>>> , ("OpTestDummy", >>>> [t| () |], >>>> OpDoc.opTestDummy, >>>> -- >>>> 2.4.3.573.g4eafbef >>>> >>>> >>> Hrvoje Ribicic >>> Ganeti Engineering >>> Google Germany GmbH >>> Dienerstr. 12, 80331, München >>> >>> Geschäftsführer: Graham Law, Christine Elizabeth Flores >>> Registergericht und -nummer: Hamburg, HRB 86891 >>> Sitz der Gesellschaft: Hamburg >>> >> >> >> >> -- >> Lisa Velden >> Software Engineer >> [email protected] >> >> Google Germany GmbH >> Dienerstraße 12 >> 80331 München >> >> Geschäftsführer: Graham Law, Christine Elizabeth Flores >> Registergericht und -nummer: Hamburg, HRB 86891 >> Sitz der Gesellschaft: Hamburg >> > > > > -- > Lisa Velden > Software Engineer > [email protected] > > Google Germany GmbH > Dienerstraße 12 > 80331 München > > Geschäftsführer: Graham Law, Christine Elizabeth Flores > Registergericht und -nummer: Hamburg, HRB 86891 > Sitz der Gesellschaft: Hamburg > Hrvoje Ribicic Ganeti Engineering Google Germany GmbH Dienerstr. 12, 80331, München Geschäftsführer: Graham Law, Christine Elizabeth Flores Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg
