[virt-tools-list] [virt-manager PATCH v2] cloudinit: Move random password printing and sleeping to virt-install
athina.plaskasoviti at gmail.com
athina.plaskasoviti at gmail.com
Wed Aug 14 09:16:00 UTC 2019
From: Athina Plaskasoviti <athina.plaskasoviti at gmail.com>
Fixed:
- Added a do_log flag to print_stdout(), to avoid logging of printed random password.
- Excluded timeout in virt-install from testing
Signed-off-by: Athina Plaskasoviti <athina.plaskasoviti at gmail.com>
---
virt-install | 10 ++++++++++
virtinst/cli.py | 7 ++++---
virtinst/install/installer.py | 4 ++++
3 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/virt-install b/virt-install
index 4c05a7b4..bb708c4b 100755
--- a/virt-install
+++ b/virt-install
@@ -9,6 +9,7 @@ import argparse
import atexit
import sys
import time
+import select
import libvirt
@@ -664,6 +665,15 @@ def start_install(guest, installer, options):
if options.destroy_on_exit:
atexit.register(_destroy_on_exit, domain)
+ passwd = installer.get_generated_password()
+ if options.cloud_init and passwd: # pragma: no cover
+ print_stdout(_("Password for first login is: %s") % passwd, do_log=False)
+ print_stdout(
+ _("Installation will continue in 10 seconds "
+ "(press Enter to skip)"))
+ timeout = 10
+ select.select([sys.stdin], [], [], timeout)
+
cli.connect_console(guest, domain, conscb,
waithandler.wait_for_console_to_exit,
options.destroy_on_exit)
diff --git a/virtinst/cli.py b/virtinst/cli.py
index 77d38c69..c4110e87 100644
--- a/virtinst/cli.py
+++ b/virtinst/cli.py
@@ -269,9 +269,10 @@ def fail(msg, do_exit=True):
_fail_exit()
-def print_stdout(msg, do_force=False):
- log.debug(msg)
- if do_force or not get_global_state().quiet:
+def print_stdout(msg, do_force=False, do_log=True):
+ if do_log:
+ log.debug(msg)
+ if do_force or not get_global_state().quiet or not do_log:
print(msg)
diff --git a/virtinst/install/installer.py b/virtinst/install/installer.py
index b6d4d134..74f42f41 100644
--- a/virtinst/install/installer.py
+++ b/virtinst/install/installer.py
@@ -418,6 +418,10 @@ class Installer(object):
self._tmpfiles.append(iso)
self._add_unattended_install_cdrom_device(guest, iso)
+ def get_generated_password(self):
+ if self._cloudinit_data:
+ return self._cloudinit_data.generate_password()
+
##########################
# guest install handling #
--
2.21.0
More information about the virt-tools-list
mailing list