[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