On Tue, Jul 16, 2019 at 2:18 PM Athina Plaskasoviti <athina.plaskasoviti@xxxxxxxxx> wrote: > > Signed-off-by: Athina Plaskasoviti <athina.plaskasoviti@xxxxxxxxx> > --- > tests/clitest.py | 3 ++- > virtinst/cli.py | 1 + > virtinst/install/cloudinit.py | 7 +++++++ > 3 files changed, 10 insertions(+), 1 deletion(-) > > diff --git a/tests/clitest.py b/tests/clitest.py > index 38a6805e..36844573 100644 > --- a/tests/clitest.py > +++ b/tests/clitest.py > @@ -872,7 +872,8 @@ c.add_compare("--connect %s --os-variant fedora26" % (utils.URIs.test_suite), "o > 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 root-password=a1b2c3d4,disable=no", "cloud-init-options") # --cloud-init-options This change here is not related to this patch. Please, drop it before merging. > +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 > c.add_valid("--nodisks --pxe", grep="VM performance may suffer") # os variant warning > diff --git a/virtinst/cli.py b/virtinst/cli.py > index bed83c73..5cbe67db 100644 > --- a/virtinst/cli.py > +++ b/virtinst/cli.py > @@ -1614,6 +1614,7 @@ class ParserCloudInit(VirtCLIParser): > def _init_class(cls, **kwargs): > VirtCLIParser._init_class(**kwargs) > cls.add_arg("root-password", "root_password") > + cls.add_arg("root-password-file", "root_password_file") > cls.add_arg("disable", "disable", is_onoff=True) > > > diff --git a/virtinst/install/cloudinit.py b/virtinst/install/cloudinit.py > index 92b29515..dd43a9e6 100644 > --- a/virtinst/install/cloudinit.py > +++ b/virtinst/install/cloudinit.py > @@ -7,6 +7,7 @@ from ..logger import log > class CloudInitData(): > disable = None > root_password = None > + root_password_file = None > generated_root_password = None > > def generate_password(self): > @@ -15,9 +16,15 @@ class CloudInitData(): > self.generated_root_password += random.choice(string.ascii_letters + string.digits) > return self.generated_root_password > > + def _get_password(self, pwdfile): > + with open(pwdfile, "r") as fobj: > + return fobj.readline().rstrip("\n\r") > + Not for now, but later on we can have this together with the one used for unattended-installations. > def get_root_password(self): > 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 > > -- > 2.20.1 > > _______________________________________________ > virt-tools-list mailing list > virt-tools-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/virt-tools-list Reviewed-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx> _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list