From: Ian Campbell <ian.campbell@citrix.com>
To: ian.jackson@eu.citrix.com
Cc: Ian Campbell <ian.campbell@citrix.com>, xen-devel@lists.xen.org
Subject: [PATCH OSSTEST v2 08/15] Debian: add preseed_create_guest helper
Date: Mon, 28 Apr 2014 11:41:29 +0100 [thread overview]
Message-ID: <1398681696-2773-8-git-send-email-ian.campbell@citrix.com> (raw)
In-Reply-To: <1398681672.29700.55.camel@kazak.uk.xensource.com>
Creates a preseed file suitable for use in a PV guest
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
Osstest/Debian.pm | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 63 insertions(+), 1 deletion(-)
diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index ab09abb..043ab0d 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -35,6 +35,7 @@ BEGIN {
%preseed_cmds
preseed_base
preseed_create
+ preseed_create_guest
preseed_hook_command preseed_hook_installscript
di_installcmdline_core
);
@@ -429,6 +430,8 @@ sub di_installcmdline_core ($$;@) {
sub preseed_base ($$;@) {
my ($suite,$extra_packages,%xopts) = @_;
+ $extra_packages ||= '';
+
return <<"END";
d-i mirror/suite string $suite
@@ -498,7 +501,66 @@ $xopts{ExtraPreseed}
### END OF DEBIAN PRESEED BASE
END
-}
+}
+
+sub preseed_create_guest ($$;@) {
+ my ($ho, $sfx, %xopts) = @_;
+
+ my $suite= $xopts{Suite} || $c{DebianSuite};
+
+ my $extra_packages;
+
+ my $preseed_file= preseed_base($suite, $extra_packages, %xopts);
+ $preseed_file.= (<<END);
+d-i partman-auto/method string regular
+d-i partman-auto/choose_recipe \\
+ select All files in one partition (recommended for new users)
+
+d-i grub-installer/bootdev string /dev/xvda
+
+END
+
+ my $authkeys= authorized_keys();
+
+ my $hostkeyfile= "$c{OverlayLocal}/etc/ssh/ssh_host_rsa_key";
+ my $host_rsa_key= get_filecontents($hostkeyfile);
+ chomp($host_rsa_key); $host_rsa_key.="\n";
+
+ preseed_hook_command($ho, 'late_command', $sfx, <<END);
+#!/bin/sh
+set -ex
+
+r=/target/root
+cd \$r
+
+umask 022
+mkdir .ssh
+cat <<'ENDKEYS' >.ssh/authorized_keys
+$authkeys
+ENDKEYS
+
+u=osstest
+h=/home/\$u
+mkdir /target\$h/.ssh
+cp .ssh/authorized_keys /target\$h/.ssh
+chroot /target chown -R \$u.\$u \$h/.ssh
+
+rm -f /target/etc/ssh/ssh_host_*_key
+rm -f /target/etc/ssh/ssh_host_*_key.pub
+
+cat <<'ENDKEYS' > /target/etc/ssh/ssh_host_rsa_key
+$host_rsa_key
+ENDKEYS
+chmod 0600 /target/etc/ssh/ssh_host_rsa_key
+END
+
+ foreach my $di_key (keys %preseed_cmds) {
+ $preseed_file .= "d-i preseed/$di_key string ".
+ (join ' && ', @{ $preseed_cmds{$di_key} }). "\n";
+ }
+
+ return create_webfile($ho, "preseed$sfx", $preseed_file);
+}
sub preseed_create ($$;@) {
my ($ho, $sfx, %xopts) = @_;
--
1.9.0
next prev parent reply other threads:[~2014-04-28 10:41 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-28 10:41 [PATCH OSSTEST v2 00/15] add distro domU testing flight Ian Campbell
2014-04-28 10:41 ` [PATCH OSSTEST v2 01/15] cr-external-linux: remove Ian Campbell
2014-05-02 11:19 ` Ian Jackson
2014-04-28 10:41 ` [PATCH OSSTEST v2 02/15] Build against liblzma to support .xz compressed kernels Ian Campbell
2014-05-02 11:19 ` Ian Jackson
2014-04-28 10:41 ` [PATCH OSSTEST v2 03/15] mg-debian-installer-update: grab Xen PV domU capable images too Ian Campbell
2014-05-02 11:22 ` Ian Jackson
2014-04-28 10:41 ` [PATCH OSSTEST v2 04/15] TestSupport: Add helper to fetch a URL on a host Ian Campbell
2014-05-02 11:25 ` Ian Jackson
2014-05-02 12:16 ` Ian Campbell
2014-04-28 10:41 ` [PATCH OSSTEST v2 05/15] TestSupport: Add helper to wait for a guest to shutdown Ian Campbell
2014-05-02 11:24 ` Ian Jackson
2014-04-28 10:41 ` [PATCH OSSTEST v2 06/15] TestSupport: allow overring of on_* in prepareguest_part_xencfg Ian Campbell
2014-05-02 11:26 ` Ian Jackson
2014-04-28 10:41 ` [PATCH OSSTEST v2 07/15] TestSupport: allow caller of prepareguest_part_xencfg to specify viftype Ian Campbell
2014-05-02 11:28 ` Ian Jackson
2014-05-02 12:21 ` Ian Campbell
2014-04-28 10:41 ` Ian Campbell [this message]
2014-05-02 11:33 ` [PATCH OSSTEST v2 08/15] Debian: add preseed_create_guest helper Ian Jackson
2014-05-02 12:23 ` Ian Campbell
2014-04-28 10:41 ` [PATCH OSSTEST v2 09/15] distros: add support for installing Debian PV guests via d-i, flight and jobs Ian Campbell
2014-05-02 11:46 ` Ian Jackson
2014-05-02 12:28 ` Ian Campbell
2014-05-02 14:14 ` Ian Jackson
2014-05-02 15:19 ` Ian Campbell
2014-04-28 10:41 ` [PATCH OSSTEST v2 10/15] distros: support booting Debian PV (d-i installed) guests with pvgrub Ian Campbell
2014-05-02 13:03 ` Ian Jackson
2014-05-02 13:18 ` Ian Campbell
2014-05-02 14:18 ` Ian Jackson
2014-05-02 15:22 ` Ian Campbell
2014-05-02 15:40 ` Ian Jackson
2014-04-28 10:41 ` [PATCH OSSTEST v2 11/15] distros: attempt pvgrub support for PV Wheezy too Ian Campbell
2014-05-02 13:11 ` Ian Jackson
2014-05-02 13:20 ` Ian Campbell
2014-05-02 14:19 ` Ian Jackson
2014-05-02 15:23 ` Ian Campbell
2014-04-28 10:41 ` [PATCH OSSTEST v2 12/15] distros: support PV guest install from Debian netinst media Ian Campbell
2014-05-02 14:01 ` Ian Jackson
2014-05-02 14:07 ` Ian Campbell
2014-05-02 14:20 ` Ian Jackson
2014-04-28 10:41 ` [PATCH OSSTEST v2 13/15] Test pygrub and pvgrub on the regular flights Ian Campbell
2014-05-02 14:02 ` Ian Jackson
2014-05-02 14:07 ` Ian Campbell
2014-04-28 10:41 ` [PATCH OSSTEST v2 14/15] distros: add branch infrastructure Ian Campbell
2014-05-02 14:04 ` Ian Jackson
2014-05-02 14:09 ` Ian Campbell
2014-05-02 14:30 ` Ian Jackson
2014-05-02 15:25 ` Ian Campbell
2014-04-28 10:41 ` [PATCH OSSTEST v2 15/15] distros: Run a flight over the weekend Ian Campbell
2014-05-02 14:05 ` Ian Jackson
2014-04-28 11:30 ` [PATCH OSSTEST v2 00/15] add distro domU testing flight Fabio Fantoni
2014-04-28 11:32 ` Ian Campbell
2014-04-28 12:59 ` Fabio Fantoni
2014-05-15 9:14 ` Ian Campbell
2014-05-16 17:08 ` Ian Jackson
2014-05-19 9:02 ` Ian Campbell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1398681696-2773-8-git-send-email-ian.campbell@citrix.com \
--to=ian.campbell@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).