By Robert Stober | December 10, 2012 | node provisioning, Software image, Linux Cluster Management
Okay, you've logged into a node, installed packages and have gotten it to just the perfect state. Now you want to save the running state of this node back a new Bright Cluster Manager software image. Good plan: it will save you a lot of time moving forward. This article shows how to do that using the Bright Cluster Management Shell (CMSH). Of course this can also be done using the CMGUI, but that's a different "how-to" article.
Let's get started.
The node I've customized is "atom01". To start off with I have the following two software images:
[root@atom-head1 cloud]# ls -l /cm/images
total 8
dr-xr-xr-x 27 root root 4096 Sep 25 00:42 cuda42
dr-xr-xr-x 27 root root 4096 Sep 25 00:42 default-image
First we'll create a new image (you can also clone an existing image).
[atom-head1->softwareimage]% add tweaked-image
[atom-head1->softwareimage*[tweaked-image*]]% clear kernelversion
[atom-head1->softwareimage*[tweaked-image*]]% commit
[atom-head1->softwareimage[tweaked-image]]% device
My new image has been created.
[atom-head1->softwareimage[tweaked-image]]% !ls -l /cm/images
total 12
dr-xr-xr-x 27 root root 4096 Sep 25 00:42 cuda42
dr-xr-xr-x 27 root root 4096 Sep 25 00:42 default-image
drwxr-xr-x 2 root root 4096 Dec 5 11:01 tweaked-image
Now let's grab the image.
[atom-head1->device]% grabimage -i tweaked-image -w atom01
[atom-head1->device]%
Wed Dec 5 11:04:23 2012 [notice] atom-head1: Provisioning started:
sending atom01:/ to atom-head1:/cm/images/tweaked-image, mode GRABNEW,
dry run = no
Wed Dec 5 11:06:48 2012 [notice] atom-head1: Provisioning completed:
sent atom01:/ to atom-head1:/cm/images/tweaked-image, mode GRABNEW, dry
run = no
grabimage -i tweaked-image -w atom01 [ COMPLETED ]
Your next step
Assign the tweaked-image to a node category and reboot a node in that node category to try your new image. You may need to tweak the exclude list.
In device mode, you can see the exclude list using 'get excludelistgrab', or you can modify it
using 'set excludelistgrab'.
[atom-head1->device]% category
[atom-head1->category]% use default
[atom-head1->category[default]]% get excludelistgrab
We're done.