[virt-tools-list] [virt-manager PATCH] cloudinit: Add root-password-generate=yes|no instead of root-password=xxxx

Fabiano Fidêncio fidencio at redhat.com
Tue Jul 16 13:00:43 UTC 2019


On Tue, Jul 16, 2019 at 2:46 PM Athina Plaskasoviti
<athina.plaskasoviti at gmail.com> wrote:
>
> Now --cloud-init defaults to root-password-generate=yes,disable=yes.
> Option for plaintext password given through the cli is completely removed.
>
> Signed-off-by: Athina Plaskasoviti <athina.plaskasoviti at gmail.com>
> ---
>  tests/clitest.py              | 5 ++---
>  virtinst/cli.py               | 6 +++---
>  virtinst/install/cloudinit.py | 6 ++----
>  3 files changed, 7 insertions(+), 10 deletions(-)
>
> diff --git a/tests/clitest.py b/tests/clitest.py
> index 36844573..c3d0297d 100644
> --- a/tests/clitest.py
> +++ b/tests/clitest.py
> @@ -870,9 +870,8 @@ c = vinst.add_category("misc-install", "--nographics --noautoconsole")
>  c.add_compare("--connect %s" % (utils.URIs.test_suite), "noargs-fail", use_default_args=False)  # No arguments
>  c.add_compare("--connect %s --os-variant fedora26" % (utils.URIs.test_suite), "osvariant-noargs-fail", use_default_args=False)  # No arguments
>  c.add_compare("--connect %s --os-variant fedora26 --pxe --print-xml" % (utils.URIs.test_suite), "osvariant-defaults-pxe", use_default_args=False)  # No arguments
> -c.add_compare("--disk %(EXISTIMG1)s --os-variant fedora28 --cloud-init", "cloud-init-default")  # default --cloud-init behavior is root-password=generate,disable=yes
> -c.add_compare("--disk %(EXISTIMG1)s --os-variant fedora28 --cloud-init root-password=generate,disable=no", "cloud-init-options")  # --cloud-init options
> -c.add_compare("--disk %(EXISTIMG1)s --os-variant fedora28 --cloud-init root-password=a1b2c3d4,disable=no", "cloud-init-options")  # --cloud-init-options
> +c.add_compare("--disk %(EXISTIMG1)s --os-variant fedora28 --cloud-init", "cloud-init-default")  # default --cloud-init behavior is root-password-generate=yes,disable=yes
> +c.add_compare("--disk %(EXISTIMG1)s --os-variant fedora28 --cloud-init root-password-generate=yes,disable=no", "cloud-init-options")  # --cloud-init options
>  c.add_compare("--disk %(EXISTIMG1)s --os-variant fedora28 --cloud-init root-password-file=%(ADMIN-PASSWORD-FILE)s,disable=no", "cloud-init-options")  # --cloud-init-options
>  c.add_valid("--panic help --disk=? --check=help", grep="path_in_use")  # Make sure introspection doesn't blow up
>  c.add_valid("--connect test:///default --test-stub-command", use_default_args=False)  # --test-stub-command
> diff --git a/virtinst/cli.py b/virtinst/cli.py
> index 5cbe67db..77d38c69 100644
> --- a/virtinst/cli.py
> +++ b/virtinst/cli.py
> @@ -1613,7 +1613,7 @@ class ParserCloudInit(VirtCLIParser):
>      @classmethod
>      def _init_class(cls, **kwargs):
>          VirtCLIParser._init_class(**kwargs)
> -        cls.add_arg("root-password", "root_password")
> +        cls.add_arg("root-password-generate", "root_password_generate", is_onoff=True)
>          cls.add_arg("root-password-file", "root_password_file")
>          cls.add_arg("disable", "disable", is_onoff=True)
>
> @@ -1622,8 +1622,8 @@ def parse_cloud_init(optstr):
>      ret = CloudInitData()
>      if optstr == 1:
>          # This means bare --cloud-init, so there's nothing to parse.
> -        log.warning("Defaulting to --cloud-init root-password=generate,disable=yes")
> -        ret.root_password = "generate"
> +        log.warning("Defaulting to --cloud-init root-password-generate=yes,disable=yes")
> +        ret.root_password_generate = True
>          ret.disable = True
>          return ret
>
> diff --git a/virtinst/install/cloudinit.py b/virtinst/install/cloudinit.py
> index dd43a9e6..9760e8a6 100644
> --- a/virtinst/install/cloudinit.py
> +++ b/virtinst/install/cloudinit.py
> @@ -6,7 +6,7 @@ from ..logger import log
>
>  class CloudInitData():
>      disable = None
> -    root_password = None
> +    root_password_generate = None
>      root_password_file = None
>      generated_root_password = None
>
> @@ -21,12 +21,10 @@ class CloudInitData():
>              return fobj.readline().rstrip("\n\r")
>
>      def get_root_password(self):
> -        if self.root_password == "generate":
> +        if self.root_password_generate:
>              return self.generate_password()
>          elif self.root_password_file:
>              return self._get_password(self.root_password_file)
> -        else:
> -            return self.root_password
>
>
>  def create_metadata(scratchdir):
> --
> 2.20.1
>
> _______________________________________________
> virt-tools-list mailing list
> virt-tools-list at redhat.com
> https://www.redhat.com/mailman/listinfo/virt-tools-list

Reviewed-by: Fabiano Fidêncio <fidencio at redhat.com>




More information about the virt-tools-list mailing list