History | View | Annotate | Download (7.7 kB)
cli: Pass options in {Add,Remove}Tags
They'll be used for job priorities. Also add an empty line tognt-os where it's missing.
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
Fix a few commands behaviour with dry-run
These commands use or display the result from the LU, so in case ofdry-run, they will crash or display just 'None'. At least checking thatthe result is 'true' (in the boolean sense) will make them work better....
Explicitly add dry-run to some commands
Based on manual inspection (that the command only does a submit of somejobs/opcodes), we re-add the dry-run option on a subset of the existingcommands.
A few more commands could use dry-run, but the code doesn't deal nicely...
Add support for modifying cluster OS parameters
We use _GetUpdatedParams in order to support removal too, and thenvalidate the OS parameters if the OS exists.
Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>
LUDiagnoseOS: add more fields, cleanup
This patch exports all the way from backend a new field ‘api_version’which holds the list of support API versions, and exposes the (alreadycomputed) ‘parameters’ field.
The patch also reworks (again) the field calculation in its Exec()...
Add a new gnt-os info command
This can be used to show the actual OS parameters and supportedvariants, in a global manner (rather than per-node as gnt-os diagnose).
Simplify gnt-os diagnose output
Currently, we always list the api/variants, even if these are empty.This patch changes so that we make clear distiction for empty values("[no variants]" versus "[variants: ]"), and we only list variants andparameters when the OS API indicates they should be supported....
Add reading of OS parameters from disk
The patch also modifies the internal methods in LUDiagnoseOS and gnt-osto deal with the format change of call_os_diagnose.
Add “gnt-os modify” for per-os-hypervisor parameters
Introduce “gnt-os modify” command to make it possible to set theper-os-hypervisor parameters.
Signed-off-by: René Nussbaumer <rn@google.com>Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
Update scripts to pass 'opts' to SubmitOpCode
Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
Fix unused imports or add silences where needed
In some cases pylint doesn't parse the import correctly, so we addsilences; but there are also many cases of unused imports, which wesimply remove.
Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Olivier Tharan <olive@google.com>
Further pylint disables, mostly for Unused args
Many of our functions have to follow a given API, and thus we have tokeep a given signature, but pylint doesn't understand this. Therefore,we silence this warning.
The patch does a few other cleanups.
Signed-off-by: Iustin Pop <iustin@google.com>...
Remove more unused variables
This removes unused variables in the rest of the code (outside lib/).
Add targeted pylint disables
This patch should have only:
- pylint disables- docstring changes- whitespace changes
Remove quotes from CommaJoin and convert to it
This patch removes the quotes from CommaJoin and converts most of thecallers (that I could find) to it. Since CommaJoin does str(i) for i inparam, we can remove these, thus simplifying slightly a few calls....
Update client os lists to name+variant format
List of OSes are displayed by gnt-os list, rapi, and gnt-instancereinstall --select-os, and checked by burnin. In all of these show thelist with name+variant, if the os has variants.
Signed-off-by: Guido Trotter <ultrotter@google.com>...
Add per-node variants list to OS diagnose output
Signed-off-by: Guido Trotter <ultrotter@google.com>Reviewed-by: Olivier Tharan <olive@google.com>
gnt-os diagnose: show os variants
We already show the per-node os variants, also show the global ones.
Change indentation style in commands definitions
Currently, the indentation level for a command's definition depends onthe command name length, and this makes the commands dict unpleasant tothe eye. This patch changes it so that a new line begins right after the...
Remove explicit DEBUG_OPT and add it by default
Since >90% of the commands take the “--debug” option, and all shouldactually take it (the gnt-job command is currently missing it), it makessense to simply remove this and add it by default in cli.py.
Re-introduce constants for most often used arguments
Make all options use cli_option
Change scripts to use new argument definitions
This can be used to generate the bash completion script automatically.In the future it may allow for better command line validation as well.
Big rewrite of the OS-related functions
Currently the OSes have a special, customized error handling: the OSobject can represent either a valid OS, or an invalid OS. The associatedfunction, instead of raising other exception or failing, create customOS objects representing failed OSes....
Enable auto-unit formatting in script output
This patch enables by default the old 'human-readable' option, but in aslightly different model.
The option is now called "units" and takes either: - 'h' for automatic formatting - 'm', 'g' or 't' for mebi/gibi/tebibytes...
Documentation updates for gnt-debug and gnt-os
Reviewed-by: imsnah
Fix some pylint-detected issues on the scripts
Some names were wrong, and similar stuff detected by pylint.gnt-debug.GenericOpCode is still broken.
Convert the gnt scripts to ToStdout/err
Currently the gnt-* scripts are using a mix of print, logger.ToStd* andsys.stderr.write. We convert them all to using cli.ToStdout/err. Thisway, we can easily change the implementation for all at once.
Revert "CLI: remove command opts/args in "gnt-X""
This reverts commit 976.
Reviewed-by: ultrotter
CLI: remove command opts/args in "gnt-X"
[Forward-port of the 1.2 branch patch]
This patch removes all the parameters and options from the output"gnt-X" (i.e. the subcommand list for command). This is done in order touniformize the output, currently only some parameters are shown and they...
Rework the results of OpDiagnoseOS opcode
Currently, the opcode DiagnoseOS is the only opcode that return astructure of objects.OS (which is a custom class, and not a simplepython object) and furthermore all the processing of OS validity acrossnodes is left to the clients of this opcode....
Make DiagnoseOS use the modified OS objects
Modify backend.py so that DiagnoseOS only returns OS objects rather thanInvalidOS errors, and make sure gnt-os understands the new objects. Also deletethe deprecated helper functions from gnt-os.
Reviewed-By: iustinp
Remove two trailing whitespaces
Ok, I've been battling with those for a while but it seemsin the end I forgot to get rid of them! :( Doing it explicitely now.
Move blank lines inside function messages
This patch changes whitespace only. It fixes all the functions in script/gnt-osby putting a white line at the end of all the function descriptions andremoving it from just before the code.
Add empty line after each diagnose OS-Node set
Reviewed-By: imsnah
Modify the displayed format for gnt-os diagnose
Get rid of the tabulated form and create a simplier indented structure.Now a valid OS looks something like:
OS: foo [global status: partial valid] Node: gsdtest4.euw.corp.google.com, status: valid (path: /usr/local/lib/ganeti/os/foo)...
Change the way to compute the first os status message
Use both _DiagnoseOSStatus and _DiagnoseOSPath to calculate the messageassociated with the first entry found on a node for an OS. Also call the renamethe relevant variables to _msg rather than just _status to reflect that they...
Separate OS status and path
Make _DiagnoseOSStatus only return a status message for the OS diagnose objectand create a new _DiagnoseOSPath function to get the path out. This will let usbe more flexible in the messages we display to the user.
Convert ListOS to use the all helper function.
The predicate function gets build by a lambda function.Also add a bit of debugging information to the 'unknown OS diagnose type'.
Reviewed-by: iustinp
Make “gnt-os diagnose” exit 1 if not all OSes are valid.
Reorder gnt-os simplify _GetAllOS and call it _DiagnoseByOS
Put some order in gnt-os putting helper functions above and command functionsbelow. Also add a new _DiagnoseOSName() function and use it to make _GetAllOSsimplier to understand. Change its name to _DiagnoseByOS which makes more clear...
Fix ListOS which was broken
To do this we abstract the creation of the all_os dictionary, which wasproduced in DiagnoseOS and use it both for listing and diagnosing.
Refactor DiagnoseOS
The new version debugs Hidden OSes as well.
Ship (and display) path for InvalidOS errors too.
- Document the expected change to errors.InvalidOS- Always pass the additional argument- Modify DiagnoseOS output to show the path
Reviewed-by: iustinp, imsnah
Fix OS Diagnose in light of the new OS Search path (Part One).
As of now only the last OS was taken into consideration by diagnose, fix bystoring them all and displaying for now only the first. Also display the sourcepath for valid OSes.
Change cli.OutputTable to cli.GenerateTable
Since the table generation might be useful elsewhere, let's change it toreturn the data instead of directly printing it.
Its callers have also been updated.
Style changes for pep-8 and python-3000 compliance.
This changes the raising of exceptions from: raise Exception, valueto raise Exception(value)
as the first form will be removed in python-3000 and the second form ispreferred now.
The changes also involve a few cases of changing from raising standard...
Use OutputTable for “gnt-os list”.
Initial commit.