On Tue, Dec 10, 2013 at 10:14 AM, Dimitris Aragiorgis <[email protected]> wrote:
> Commits 5dbee5e and cce4616 fix disk upgrades concerning params
> slot. Since 2.7 params slot should be empty and gets filled
> any time needed.
>
> Still ext template allows passing arbitrary params per disk.
> These params should be saved in config file for future use.
> For instance if we have the shared-filer provider and we

s/shared-filer/shared-file/
I'll change it while pushing.

> specify shared_dir param during instance create, this param
> is needed when we want to attach the disk e.g., during
> retrieving instance info. If it gets overridden during a daemon
> restart or a config reload we fail to get the instance's info.
>
> To avoid such a failure, we set params slot to an empty dict
> only if params not found in the first place.
>
> Signed-off-by: Dimitris Aragiorgis <[email protected]>
> ---
>  lib/objects.py |    7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/lib/objects.py b/lib/objects.py
> index 1c8de13..358f108 100644
> --- a/lib/objects.py
> +++ b/lib/objects.py
> @@ -828,7 +828,12 @@ class Disk(ConfigObject):
>          child.UpgradeConfig()
>
>      # FIXME: Make this configurable in Ganeti 2.7
> -    self.params = {}
> +    # Params should be an empty dict that gets filled any time needed
> +    # In case of ext template we allow arbitrary params that should not
> +    # be overrided during a config reload/upgrade.
> +    if not self.params or not isinstance(self.params, dict):
> +      self.params = {}
> +
>      # add here config upgrade for this disk
>
>      # If the file driver is empty, fill it up with the default value
> --
> 1.7.10.4
>

LGTM, thanks.

Michele

-- 
Google Germany GmbH
Dienerstr. 12
80331 München

Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Geschäftsführer: Graham Law, Christine Elizabeth Flores

Reply via email to