[Ovirt-devel] [PATCH] block manual setup runs when dropped to shell
Mike Burns
mburns at redhat.com
Wed Aug 31 23:16:38 UTC 2011
NACK -- see comments inline
On Tue, 2011-08-30 at 15:20 -0400, Joey Boggs wrote:
> rhbz#733589
>
> Signed-off-by: Joey Boggs <jboggs at redhat.com>
> ---
> scripts/ovirt-config-setup.py | 7 +++++--
> scripts/ovirtfunctions.py | 9 +++++++++
> 2 files changed, 14 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/ovirt-config-setup.py b/scripts/ovirt-config-setup.py
> index 09c21ec..00df6fa 100755
> --- a/scripts/ovirt-config-setup.py
> +++ b/scripts/ovirt-config-setup.py
> @@ -1661,8 +1661,11 @@ if __name__ == "__main__":
> print "Unable to run setup in rescue mode"
> sys.exit(1)
> elif is_booted_from_local_disk() or "--force" in sys.argv:
> - screen = NodeConfigScreen()
> - screen.start()
> + if manual_setup and "--force" not in sys.argv:
> + print "Unable to run setup manually, Run \"exit\" to return to setup"
> + else:
> + screen = NodeConfigScreen()
> + screen.start()
> else:
> print "Setup must be run after installation and reboot"
> sys.exit(1)
> diff --git a/scripts/ovirtfunctions.py b/scripts/ovirtfunctions.py
> index 1bacb3f..09facaf 100644
> --- a/scripts/ovirtfunctions.py
> +++ b/scripts/ovirtfunctions.py
> @@ -191,6 +191,15 @@ def is_rescue_mode():
> return True
> return False
>
> +def manual_setup():
> + manual_cmd = "ps -ed|grep ovirt-admin"
on first login, it fails.
I installed using rootpw to setup root password, then
edited /usr/libexec/ovirt-admin-shell to be this:
#!/bin/bash
. /etc/profile
# Hide kernel messages on the console
sudo dmesg -n 1
echo $$
ps -ed | grep ovirt-admin
sudo /usr/libexec/ovirt-config-setup
read x
Then logged out and tried login as admin:
localhost.localdomain login: admin
Password:
Last login: Wed Aug 31 22:59:45 on tty1
1938
1938 ttyS0 00:00:00 ovirt-admin-she
Unable to run setup manually, Run "exit" to return to setup
There are a couple of things that could be done:
ps -ed | grep ovirt-admin | grep -v $$
look for ovirt-config-setup already running (also need to filter out
current process from results)
Look at PPID of ovirt-config-setup and if that is ovirt-admin-shell,
then continue with login
> + manual = subprocess.Popen(manual_cmd, shell=True, stdout=PIPE, stderr=STDOUT)
> + manual_output = manual.stdout.read().strip()
> + if len(manual_output):
> + return True
> + else:
> + return False
> +
> # was firstboot menu already shown?
> # state is stored in persistent config partition
> def is_firstboot():
More information about the ovirt-devel
mailing list