Stephen Soltesz [Fri, 13 Mar 2009 15:59:08 +0000 (15:59 +0000)]
merged from branch, to remove 'sorted' which is not supported in older
versions of python.
Stephen Soltesz [Thu, 26 Feb 2009 16:06:22 +0000 (16:06 +0000)]
same as on branch.
Thierry Parmentelat [Sun, 22 Feb 2009 23:26:24 +0000 (23:26 +0000)]
review dependencies globally : fewer are attached to myplc directly, and more are attached to the other PL subcomponents
Stephen Soltesz [Wed, 18 Feb 2009 23:47:38 +0000 (23:47 +0000)]
Patch to BootManager to implement the proposed run_level
http://lists.planet-lab.org/pipermail/devel/2009-February/003283.html
basically:
BM will safe it's session key to make it available to the RunlevelAgent.py
exported by monitor-runlevelagent package. This script is started and
runs continuously or until the system enter production.
build.sh copies the necessary files from the monitor-runlevelagent package
Stephen Soltesz [Sat, 14 Feb 2009 02:05:08 +0000 (02:05 +0000)]
preserve the 'session' variable across BootManager runs. This also makes the
file accessible to the RunlevelAgent.
Stephen Soltesz [Wed, 4 Feb 2009 16:10:41 +0000 (16:10 +0000)]
merge 'sorted' change into trunk.
Thierry Parmentelat [Fri, 30 Jan 2009 18:47:55 +0000 (18:47 +0000)]
another module to blacklist for poweredge 175
Thierry Parmentelat [Wed, 28 Jan 2009 22:58:09 +0000 (22:58 +0000)]
Tagging module BootManager - BootManager-5.0-2
most of the actual network config job moved to (py)plnet
support for RAWDISK
network interfaces deterministically sorted
does not use nodegroups anymore for getting node arch and other extensions
drop yum-based extensions
debug sshd started as early as possible
timestamped and uploadable logs (requires upload-bmlog.php from nodeconfig/)
cleaned up (drop support for bootcdv2)
still needs testing
Daniel Hokka Zakrisson [Mon, 19 Jan 2009 21:24:52 +0000 (21:24 +0000)]
Return the values from the API.
Stephen Soltesz [Sat, 10 Jan 2009 02:04:51 +0000 (02:04 +0000)]
run ValidateNodeInstall in debug/disabled/diagnose mode to fsck/mount the fs
before leaving the system. this is handy for admins who visit the node.
Stephen Soltesz [Sat, 10 Jan 2009 01:15:40 +0000 (01:15 +0000)]
merged from branch. run fsck before mounts.
Thierry Parmentelat [Thu, 18 Dec 2008 09:47:51 +0000 (09:47 +0000)]
a bit more explicit/helpful error message
Daniel Hokka Zakrisson [Wed, 17 Dec 2008 16:42:41 +0000 (16:42 +0000)]
Add support for a rawdisk model option, to let a slice use the drives which aren't required for the node/slices to function.
Daniel Hokka Zakrisson [Mon, 15 Dec 2008 22:05:06 +0000 (22:05 +0000)]
Use the correct variable.
Daniel Hokka Zakrisson [Mon, 15 Dec 2008 22:00:37 +0000 (22:00 +0000)]
Commit 11339 for the trunk.
Thierry Parmentelat [Fri, 28 Nov 2008 14:36:02 +0000 (14:36 +0000)]
renaming SliceAttribute into SliceTag and InterfaceSetting into InterfaceTag
Thierry Parmentelat [Tue, 25 Nov 2008 11:28:48 +0000 (11:28 +0000)]
fix how bm gets tags - test node now installs in 1'40'' for download+extract
Thierry Parmentelat [Mon, 24 Nov 2008 20:28:40 +0000 (20:28 +0000)]
download plain bootstrapfs tarball if the plain-bootstrapfs tag is set
Daniel Hokka Zakrisson [Thu, 20 Nov 2008 20:48:16 +0000 (20:48 +0000)]
Use the PCI slot to order the interfaces.
Thierry Parmentelat [Mon, 17 Nov 2008 14:07:59 +0000 (14:07 +0000)]
* improve availability - reliability : start a fallback sshd very early in the bm logic
* bm log upload (formerly known as alpina-logs) is avail. back again (requires nodeconfig-5.0-2)
* code cleanup : remove support for bootCD-2.x
see http://svn.planet-lab.org/ticket/427
Marc Fiuczynski [Wed, 5 Nov 2008 13:59:35 +0000 (13:59 +0000)]
Daniel rightly pointed out that my change to use
interface.get('hostname',hostname) instead of an if/then/else on
interface['hostname'] was not semantically equivalent. Reverted to
the original code for this case.
Marc Fiuczynski [Tue, 4 Nov 2008 21:01:48 +0000 (21:01 +0000)]
take close() out of conditional
Marc Fiuczynski [Tue, 4 Nov 2008 21:01:28 +0000 (21:01 +0000)]
Use more python native coding convention
Thierry Parmentelat [Sun, 2 Nov 2008 03:11:56 +0000 (03:11 +0000)]
the extensions node tag
Thierry Parmentelat [Tue, 21 Oct 2008 15:53:12 +0000 (15:53 +0000)]
uses the extension tag rather than nodegroups
Marc Fiuczynski [Tue, 21 Oct 2008 10:28:43 +0000 (10:28 +0000)]
PCI_* now defined in pypci module
Thierry Parmentelat [Tue, 21 Oct 2008 08:58:08 +0000 (08:58 +0000)]
not all platforms have the python2 hook
Thierry Parmentelat [Tue, 21 Oct 2008 08:54:23 +0000 (08:54 +0000)]
cosmetic
Thierry Parmentelat [Tue, 21 Oct 2008 05:41:02 +0000 (05:41 +0000)]
quick fix for broken build
Marc Fiuczynski [Fri, 17 Oct 2008 21:38:06 +0000 (21:38 +0000)]
change handling of dynamically loaded drivers
Marc Fiuczynski [Fri, 17 Oct 2008 19:29:13 +0000 (19:29 +0000)]
Minor clean up:
- moved definitions of PCI_BASE_CLASS_NETWORK, PCI_BASE_CLASS_STORAGE,
and PCI_ANY out to the pypci module. This way the pl_hwinit code
in the BootCD can use those definitions.
- fixed variable reference in print statement for "Unable to read".
- cleaned up code to print device modules in the main() function
Stephen Soltesz [Thu, 2 Oct 2008 20:56:40 +0000 (20:56 +0000)]
merged changes from branch
Stephen Soltesz [Tue, 30 Sep 2008 21:50:47 +0000 (21:50 +0000)]
change order so old boot cds don't keep pulling the boot manager from plc.
and successfully write out 'CANCEL_BOOT' flag.
Stephen Soltesz [Tue, 30 Sep 2008 21:08:33 +0000 (21:08 +0000)]
Update MINIMUM_BOOT_VERSION to 3,0
Thierry Parmentelat [Thu, 25 Sep 2008 20:14:41 +0000 (20:14 +0000)]
imports fixed and revisited
Thierry Parmentelat [Thu, 25 Sep 2008 14:43:35 +0000 (14:43 +0000)]
attempt to display timestamps during boot manager steps
Thierry Parmentelat [Wed, 10 Sep 2008 15:52:57 +0000 (15:52 +0000)]
Tagging module BootManager - BootManager-5.0-1
reflects new names from the data model
Thierry Parmentelat [Fri, 22 Aug 2008 16:28:49 +0000 (16:28 +0000)]
repaired - thanks fred
Stephen Soltesz [Tue, 19 Aug 2008 21:33:21 +0000 (21:33 +0000)]
update to modules. catches other e1000-like modules in newer hpdc7800
hardware, also ignore the i82875p_edac module, since it seems to cause
planetlab-3.cs.princeton.edu to hang
Thierry Parmentelat [Thu, 14 Aug 2008 09:58:55 +0000 (09:58 +0000)]
fix build
Stephen Soltesz [Fri, 25 Jul 2008 21:02:56 +0000 (21:02 +0000)]
Change all boot_state names based on new names, also add dependency of
bootmanager on 5.0 version of PLCAPI.
Stephen Soltesz [Tue, 22 Jul 2008 00:15:38 +0000 (00:15 +0000)]
Remove the .sgn file also. Otherwise the symlinks will break the signature
Stephen Soltesz [Mon, 21 Jul 2008 23:41:36 +0000 (23:41 +0000)]
Accept an argument that designates a node group name. Based on this name
modify the configuration file to look for the bootstrap fs images in
/boot/NODEGROUP/
This is easier to do automatically, rather than by hand.
Marc Fiuczynski [Fri, 27 Jun 2008 20:12:04 +0000 (20:12 +0000)]
move the UpdateNodeConfiguration step after the NodeUpdate step in ChainBoot
Thierry Parmentelat [Wed, 28 May 2008 10:20:23 +0000 (10:20 +0000)]
tmp fix before we use node tags
Thierry Parmentelat [Tue, 27 May 2008 09:40:21 +0000 (09:40 +0000)]
...
Thierry Parmentelat [Mon, 26 May 2008 14:13:19 +0000 (14:13 +0000)]
moving towards 5.0
Thierry Parmentelat [Mon, 26 May 2008 13:07:12 +0000 (13:07 +0000)]
Branch 5.0 for module BootManager created from tag BootManager-3.2-7
Thierry Parmentelat [Sat, 24 May 2008 16:19:50 +0000 (16:19 +0000)]
Tagging module BootManager - BootManager-3.2-7
dont unload cpqphp
Thierry Parmentelat [Sat, 24 May 2008 16:18:31 +0000 (16:18 +0000)]
dont unload cpqphp
Thierry Parmentelat [Thu, 24 Apr 2008 17:01:27 +0000 (17:01 +0000)]
Tagging module BootManager - BootManager-3.2-6
changes in the state automaton logic
root+swap = 7G
usb-key threshhold increased to 17 G
bootstrafs selection logic altered - uses /etc/planetlab/nodefamily instead of GetPlcRelease
Thierry Parmentelat [Thu, 24 Apr 2008 07:47:51 +0000 (07:47 +0000)]
simpler heuristic, same as for creating bootcd - less code, fewer bugs
Thierry Parmentelat [Wed, 23 Apr 2008 15:35:06 +0000 (15:35 +0000)]
review how to figure nodefamily:
* use /etc/planetlab/nodefamily from the bootcd if present
* no more hard-coded list ok known pldistros; has i386 and x86_64 hard-coded
* change semantics of nodegroup names:
** may be an arch, like 'x86_64'
** or a nodefamily as-is, e.g. 'onelab-x86_64'
Stephen Soltesz [Mon, 21 Apr 2008 18:34:24 +0000 (18:34 +0000)]
BM now recognizes two distinct forms of 'debug' mode.
1) 'dbg' comes from failing to reach 'boot' state.
2) 'diag' comes from an admin explicitly setting the node to
'diagnostic'/'debug' mode.
Previously there was no way to tell the diff. And, users trying to
reconfigure their machines, would reboot the node, but not reset the boot
state through the gui. The result would be that the machine would pull the
current boot state from PLC (which happened to be debug from previous
failures) and the node would appear to the user to still be broken. THis adds
unnecessary time to the support@ list in mis-understanding what's going on for the
user, when everything is actually in place on the node; it's just in the wrong
boot state.
Thus, having BM automatically try to perform the 'bootRun()' when in 'dbg'
state will prevent a correct configuration from stalling the node from coming
online. In this way, we have moved the requirement for setting the boot state
through the GUI by the user to BM.
I think this is preferrable.
Stephen Soltesz [Mon, 21 Apr 2008 16:31:38 +0000 (16:31 +0000)]
Add additional size to ROOT_SIZE to allow netflow data to be collected without
running out of room. Our initial trials on the public pl with 3GB root
partitions resulted in out of space errors, and lost netflow logs.
A preferable solution might be to have an independent partition, or to have a
reserved space in the /vserver partition, but adding a new parition is too
large a change too soon prior to relase of 4.2. And, putting non-slice data
into /vserver seems inappropriate design.
Stephen Soltesz [Fri, 11 Apr 2008 21:18:01 +0000 (21:18 +0000)]
Got complaints via RT that users are using usb sticks with 8GB of flash. This
causes BM to try to add the usb stick as part of the LVM volume. This fix
just increases the size of the flash device to avoid being included.
preferably, BM should avoid adding the device's bootmedia to the LVM. :-)
Thierry Parmentelat [Wed, 26 Mar 2008 09:34:01 +0000 (09:34 +0000)]
Tagging module BootManager - BootManager-3.2-5
renamed step InstallBootstrapRPM into InstallBootstrapFS
reviewed selection of bootstrapfs, based on nodegroups, for multi-arch deployment
import pypcimap rather than pypciscan
initial downlaoding of plc_config made more robust
root and /vservers file systems mounted ext3
calls to BootGetNodeDetails replaced with GetNodes/GetNodeNetworks
also seems to be using session-based authentication rather than former hmac-based one
Stephen Soltesz [Mon, 24 Mar 2008 16:33:36 +0000 (16:33 +0000)]
display the source file path in the log messages to determine specifically
which 'bootstrapfs' was downloaded, since we're using different directories to
differentiate nodegroup images.
Faiyaz Ahmed [Tue, 18 Mar 2008 20:13:43 +0000 (20:13 +0000)]
bump config version
Faiyaz Ahmed [Tue, 18 Mar 2008 19:48:44 +0000 (19:48 +0000)]
wrong api server.
Faiyaz Ahmed [Tue, 18 Mar 2008 15:57:22 +0000 (15:57 +0000)]
Key error. fixed. Sorry for the delay, Thierry.
Faiyaz Ahmed [Mon, 17 Mar 2008 19:22:58 +0000 (19:22 +0000)]
wrong key. Fixed.
Faiyaz Ahmed [Mon, 17 Mar 2008 15:44:36 +0000 (15:44 +0000)]
remove debug line.
Faiyaz Ahmed [Fri, 14 Mar 2008 20:53:12 +0000 (20:53 +0000)]
Keep session around instead of calling the API for a new one every time a call is made.
Faiyaz Ahmed [Fri, 14 Mar 2008 19:16:15 +0000 (19:16 +0000)]
BootNotifyOwners now accepts session auth.
Faiyaz Ahmed [Fri, 14 Mar 2008 03:08:43 +0000 (03:08 +0000)]
use Notify API function
Faiyaz Ahmed [Fri, 14 Mar 2008 02:07:09 +0000 (02:07 +0000)]
syntax error.
Faiyaz Ahmed [Fri, 14 Mar 2008 02:02:11 +0000 (02:02 +0000)]
get site_id
Faiyaz Ahmed [Fri, 14 Mar 2008 00:51:28 +0000 (00:51 +0000)]
Unclear why this was needed. Removed Boot API calls.
Faiyaz Ahmed [Thu, 13 Mar 2008 23:31:57 +0000 (23:31 +0000)]
dont know how this got in there, but reverting to original copy
Faiyaz Ahmed [Thu, 13 Mar 2008 23:27:10 +0000 (23:27 +0000)]
hmac auth seems to not work in some cases. switching to session auth.
Stephen Soltesz [Thu, 13 Mar 2008 19:04:20 +0000 (19:04 +0000)]
Took out the get_devices code and moved it to pypcilib. Changed import
statement.
Stephen Soltesz [Wed, 12 Mar 2008 18:18:36 +0000 (18:18 +0000)]
No longer needed. fixed the right way.
Stephen Soltesz [Wed, 12 Mar 2008 18:18:20 +0000 (18:18 +0000)]
No longer needed. Fixed the right way.
Stephen Soltesz [Wed, 12 Mar 2008 18:17:46 +0000 (18:17 +0000)]
Added a replacement code for get_devices() in case this runs on older boot cds
that cannot load the pciscan.so library.
Thierry Parmentelat [Sun, 9 Mar 2008 20:23:41 +0000 (20:23 +0000)]
fixed 2 glitches
Thierry Parmentelat [Sun, 9 Mar 2008 17:18:53 +0000 (17:18 +0000)]
cross-module change for multi-arch myplc
* name of the bootstrap tarball changed into
bootstrapfs-<id>-<arch>.tar.bz2
with id=<planetlab-distro> for the main tarball
and id=<extension> for the extensions tarballs
* bootmanager to use node's nodegroups to figure the tarball to use
* the noderepo rpm allows to install /var/www/html/install-rpms/<repo>
==
status
* checkpoint version to verify that mono-arch mono-distro still works
* build phase tested
* but some parts are still missing for complete multi-arch behaviour:
* bootstrapfs's rpm name should sontain pldistro and arch (as it is a noarch rpm)
* yum.php.conf also needs tunings
Thierry Parmentelat [Sun, 9 Mar 2008 16:57:02 +0000 (16:57 +0000)]
renaming bootmanager step InstallBootstrapRPM into InstallBootstrapFS
Faiyaz Ahmed [Wed, 5 Mar 2008 22:26:13 +0000 (22:26 +0000)]
Get plc_config via PlanetLabConf
Stephen Soltesz [Wed, 20 Feb 2008 18:22:51 +0000 (18:22 +0000)]
Adds backward compatibility to the BootManager for older bootcds. Rather than
failing to load the new pciscan library, it will succeed with the old
behavior. In particular some devices will fail to be detected using the old
bootcd. But, this shouldn't be that much of a problem.
Daniel has proposed that the pypciscan.so library simply be re-written in
python by parsing /proc/bus/pci/devices to create a structure like:
pypciscan.get_devices()
returns {'<domain>:<bus>:<dev>.<func>' :
(<vendor id>, <device id>, <subvendor id>, <subdevice id>, <device class << 8 | progif>)}
for all PCI devices.
I agree that this would be a better approach. Would have to check that the
older bootcd kernel exports all of this information, then rewrite the module.
Marc Fiuczynski [Fri, 15 Feb 2008 22:49:34 +0000 (22:49 +0000)]
mount explicitly with -t ext3; be more verbose with log info
Marc Fiuczynski [Fri, 15 Feb 2008 22:20:06 +0000 (22:20 +0000)]
This fix to the MakeRequest() method gets rid of the hiddeous
exception message that shows up when a node goes into debug mode. For
example, in the past one would see this type of message on the
console:
Exception exceptions.OSError: (2, 'No such file or directory', '/tmp/tmpBjmo14') in <bound method _TemporaryFileWrapper.__del__ of <closed file '<fdopen>', mode 'w+b' at 0xb7b108d8>> ignored
This is no longer the case.
Thierry Parmentelat [Fri, 8 Feb 2008 09:24:16 +0000 (09:24 +0000)]
Tagging module BootManager -- from bootmanager-3.2-3 to bootmanager-3.2-4
usage of wireless attributes fixed and tested
breakpoints cleaned up (no change for production)
less alarming message when floppy does not get unloaded
Marc Fiuczynski [Tue, 5 Feb 2008 16:09:59 +0000 (16:09 +0000)]
- not printing ominous warning message: "Unknown effect on other platforms"
- moved 4 second sleep after e1000 unload into module != "" branch
Thierry Parmentelat [Tue, 5 Feb 2008 07:28:06 +0000 (07:28 +0000)]
cleanup of breakpoints - no functional change
Thierry Parmentelat [Tue, 5 Feb 2008 07:26:39 +0000 (07:26 +0000)]
fixes for wireless interfaces
Thierry Parmentelat [Thu, 31 Jan 2008 14:16:57 +0000 (14:16 +0000)]
Tagging module BootManager -- from bootmanager-3.2-2 to bootmanager-3.2-3
network config : support the full set of settings from ifup-wireless - see also http://svn.planet-lab.org/svn/MyPLC/tags/myplc-4.2-1/db-config
removes legacy calls to PlanetLabConf.py
refrains from unloading floppy
first draft of the dual-method for implementing extensions (bootstrapfs-like images or yum install)
Stephen Soltesz [Mon, 28 Jan 2008 15:32:57 +0000 (15:32 +0000)]
A patch to avoid unloading the floppy module before chain booting the node
into the production kernel. This prevents the HP dc7800 from hanging during boot
up. Unknown cause, since the machine has no floppy drive.
Thierry Parmentelat [Wed, 23 Jan 2008 11:34:53 +0000 (11:34 +0000)]
yum-based extensions :
- fetches yum.conf
- mounts /proc
first draft, apparently works, needs more tests though
Thierry Parmentelat [Thu, 17 Jan 2008 14:09:14 +0000 (14:09 +0000)]
yum's return code is not reliable - ignore it
Thierry Parmentelat [Mon, 14 Jan 2008 14:59:48 +0000 (14:59 +0000)]
--editor-cmd=emacs
Thierry Parmentelat [Fri, 11 Jan 2008 17:11:34 +0000 (17:11 +0000)]
First draft of a dual method for installing extensions
- core tarball always installed through the tarball
- extensions (nodegroups) are then attempted by the same method
i.e. by fetching PlanetLab-Bootstrap-%s.tar.bz2
- if that fails, then we try via
yum groupinstall extension<nodegroup>
NOTE.
due to a bug with GetNodes that causes the nodegroups fetching part to fail
I could not have the tests completed yet
However nodes should correctly install the core software
Faiyaz Ahmed [Wed, 9 Jan 2008 20:33:41 +0000 (20:33 +0000)]
PlanetLabConf.py no longer exists.
Thierry Parmentelat [Tue, 8 Jan 2008 11:49:43 +0000 (11:49 +0000)]
ready for tagging
reviewed URLs and %{plrelease}
Stephen Soltesz [Tue, 18 Dec 2007 18:54:48 +0000 (18:54 +0000)]
Cross module commit for 'diag' and 'disabled' node states.
Thierry Parmentelat [Wed, 12 Dec 2007 14:01:51 +0000 (14:01 +0000)]
restoring operations default settings for breakpoint mode
Thierry Parmentelat [Wed, 12 Dec 2007 12:12:20 +0000 (12:12 +0000)]
cosmetic
Thierry Parmentelat [Wed, 12 Dec 2007 12:05:43 +0000 (12:05 +0000)]
fixed so as to use correct default value when prompt is on
Daniel Hokka Zakrisson [Fri, 7 Dec 2007 23:35:14 +0000 (23:35 +0000)]
Fix indentation.
Daniel Hokka Zakrisson [Fri, 7 Dec 2007 23:30:00 +0000 (23:30 +0000)]
Support multihoming on a single interface.