]> xenbits.xensource.com Git - people/aperard/osstest.git/commitdiff
mg-hosts serial attach: Provide serial-attach command
authorIan Jackson <ian.jackson@eu.citrix.com>
Tue, 22 Mar 2016 19:40:53 +0000 (19:40 +0000)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Mon, 27 Jun 2016 16:55:55 +0000 (17:55 +0100)
This is like running sympathy -r or xenuse by hand, except that it
checks that you have the host allocated, and looks up in the database
what the right rune is.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Osstest/Serial/sympathy.pm
Osstest/Serial/xenuse.pm
mg-hosts

index fa34143ce34bb6c0bee93e7ebb3cbbc410537150..0d09576f471ecc0541d20bb506d1c327b603fa9c 100644 (file)
@@ -82,6 +82,12 @@ sub keys_write {
 sub keys_shutdown {
 }
 
+sub attach_cmd {
+    my ($mo) = @_;
+    my $rcmd = "sympathy -r $mo->{Socket}";
+    return qw(ssh -t), "root\@".$mo->{Server}, "'$rcmd'";
+}
+
 sub fetch_logs {
     my ($mo) = @_;
 
index c79d98666ea731a3d4777ab852399fd48472d349..2ea46d67255181c353c9455bc376dd967097656f 100644 (file)
@@ -62,6 +62,16 @@ sub keys_prepare {
     sleep 5;
 }
 
+sub attach_cmd {
+    my ($mo) = @_;
+
+    my $ho= $mo->{Host};
+
+    my $xenuse= $c{XenUsePath} || "xenuse";
+
+    return ($xenuse, qw(-t), $ho->{Name});
+}
+
 sub keys_write {
     my ($mo, $what,$str,$pause) = @_;
     logm("xenuse sending $what");
index 0d02c569a68cec9f51a1ddd1e13581a2b802f527..f7854549c01b23e7d95714b175a16a5107bbc607 100755 (executable)
--- a/mg-hosts
+++ b/mg-hosts
@@ -156,6 +156,18 @@ sub cmd_power () {
     }
 }
 
+sub cmd_serial_attach () {
+    die unless @ARGV==1;
+    my ($host) = @ARGV;
+    my $ho= selecthost("host=$host");
+    my ($mo,) = @{ $ho->{SerialMethobjs} };
+    my (@cmd) = $mo->attach_cmd();
+    logm("executing @cmd");
+
+    exec @cmd;
+    die "@cmd: $!";
+}
+
 sub cmd_create_like () {
     die unless @ARGV==2;
     my ($src,$dsts) = @ARGV;