Hi All,
I catch couple discussions here about future oriented AI Client on Live
Media based installations, so here is my actual practical experience on
this topic in OpenSolaris 200906.
Currently OpenSolaris 200906 VA Live-CD is close to internal "review1"
for "hands on" experience and SUN internals can get access to it under
request to me.
10 OpenSolaris 200906 VA Live-CD prototype Main Design Concepts
VA (Virtualization Assistant) Live-CD is internal prototype focused on
current (actual) OpenSolaris 200906 release, so many concepts described
bellow must be treated just as Prototypes or even Proof-of-Concepts,
which can be immediately "Smell and Touched".
Design concepts bellow must be also taken in angle of VA Live-CD main
task - build in scripted way good OpenSolaris 200906 JeOS and usage of
described concepts in other contexts must be carefully re-evaluated
after practical hands on experience.
1. AI Client in Live Media Based Rich Recovery Console
Install of customized AI manifest from Live Booted CD Media is main
functionality of VA Live-CD, but original PXE/WANBOOT based AI Images
are focused on Unattended Installations with technical limitations of
network based boots, where all "media" must fit in memory during
execution. This make strong pressure towards media sizing and in
response limit number of packages which we can effectively add to AI
network based Install Media
When we put AI Client on Live-CD, there is not any more so strong
pressure for size, because most part of Live-CD content will be back
mounted back to media. This open space to put on Media much more Richer
User Environment, so when user need to drop to shell to make some sort
of debugging, post install customization or fix, there will be all
needed tools for wider user audience from Solaris experienced
administrator to Linux Click and Point one. Experience from last months
show then "Drop to Shell" is used in Virtualization Related projects
quite often, because of "rapidly changing" nature of Virtualization
Platforms itself. In context of VA Live-CD I define this Richer User
Land as subset of JeOS packages, mainly I reduce some high level
programming stuff. All debug and user land communication tools, docs and
GNU Linux friendly environment are preserved.
Such Rich User Land environment represent good starting point for direct
evaluations and for future VA Live-CD like Media development. Current
ISO media sizes of VA Live-CD is {~110MB} for x86 32 bit 10+ Virtual
Platforms centric Prototype, for SPARC SUN4V centric PoC size is around
{~225MB} (There is really not so much more stuff on SPARC media, just
media build process is different, I will investigate it)
Note: On VA Live-CD AI Client will not start automatically by default,
we will use other control and access mechanism then service run if we
need to make scripted or automated AI Client execution.
2. Wrapping Functionality in "Modules"
VA Live-CD and its DC build recipe will be execution environment for
different Modules which will implement particular function, this will
introduce more flexibility when we can even as part of various
Prototypes and Proof-Of-Concepts deliver more (alternate) modules for
similar functionality.
3. Overlays for delivering VA Live-CD, AI and Install framework Fast Fixes
We will make all need VA Live-CD modifications like on AI and Install
frameworks On-the-fly, so we can always fall back to original fully
supported versions, we will use a overlay trick to implement this:
mount -F lofs -O /tmp/liborchestrator.so.1
/usr/snadm/lib/liborchestrator.so.1
execute AI client install related code here
umount /usr/snadm/lib/liborchestrator.so.1
4. Include DC and all Build Recipe on Live-CD Media Itself
Main idea here is when I need to fix something on VA Live-CD, which
can't be fixed with overlays, like drives I don't need to go back to
original DC Build environment, I just need "a" disk with zpool and I can
trigger new VA Live-CD build directly from booted VA Live-CD itself.
5. Only Virtualization Platforms and x86 32bit support (and SPARC LDoms)
This is purely motivated by reduced media size and also it has positive
effects on media complexity - scope (number of packages and build time)
* Only 10+ x86 Virtualization Platforms (Limited number of drives
save space and also will prevent users to run VA Live-CD media prototype
on real HW where they can delete their stuff)
* Only 32bit support (This is purely download size issue, we will
save about 15-30MB, all 64 bit stuff will be present, limitation is only
on build time, user can rebuild with 64 bit support)
* In future we plan support for LDoms (SPARC) 64 bit environments,
but effectively it will be SUN4V, now we have PoC versions for LDoms 1.1
6. Maximally Leverage OpenSolaris 200906 Distro Constructor
* We will try to use as much possible code and scrips from Live-CD
creation by utilizing original 200906 Distro Constructor, it already
works well for OpenSolaris 20811.
* Harmless messages during Live-CD DC build process will be ignored,
however I will try to fix all issues in CLI based Live-CD execution, so
we will be clean from nasty no GUI error messages in boot time
7. Include Headless Mode with SERIAL port access
With it we can leverage VirualBox Headless Mode, GRUB will be configured
to support both Display and Serial, where default will be Display.
We can easily script access serial access to select right predefined
menu with kernel enabled SERIAL output.
8. Include SSH key based authentication for better scripting.
I implement SSH keys based login, where keys are stored and loaded from
on additional virtual disk, so we can more easily and securely use
network based access and even stripping.
Attaching additional virtual disk can give use also a chance to send to
Va Live-CD some data, i case then we wont some scripted/customized
functionality - in OVF instance data style.
9. Support for Alternate Install Scenarios: Fully Local Installation
Making 50 installations per day, I found then I can significantly speed
up install by having repository fully locally in VM (on Local Disk and
on Localhost Network).
This concept can be evaluated for smaller CLI based install profiles -
where we will fully local IPS repository directly on local media, Linux
server live CD installs ?
10. Support for Alternate Install Scenarios: ZFS Flash like install
During installation of OpenSolaris 200811 JeOS ZFS Flash like install
was used to shrink disk size of ZFS based disk installations and also as
fast mitigation for HW changes issues. In OpenSolaris 200906 JeOS we
will like to reuse experience from Solaris 10 ZFS flash implementations
and script various ZFS Flash like installations for
Extra: Setting up JeOS logins (not default OpenSolaris ones)
* User will be "OSOL", password "justone1", root one "osol0906",
this way we will highlight then this project is PROTOTYPE with
potentially limited functionality and support.
PS: Current DC don't have functionality to change credentials, so I will
need to make coupe DC build time hacks to live media boot services to
achieve this.
Nice day
Rudolf Kutina (VirtualGuru)