Permalink
Commits on Oct 1, 2012
  1. Merge pull request #5 from tjmcs/master

    Fix for "uninitialized constant RxNetworkUtils" reported Razor Issue #178
    tjmcs committed Oct 1, 2012
Commits on Sep 21, 2012
  1. Fix to RazorMicrokernel::RzMkHardwareFacter.clean_fact_map_keys!() fu…

    …nction. Prior to this change, this function was trying to modify a Hash map in the middle of an "each" iterator over that same Hash map (which, naturally, generates an exception). With these changes, the iteration is now over the keys for the Hash map, not the Hash map itself (and so no exception is thrown when the underlying Hash map is modified).
    Tom McSweeney committed Sep 21, 2012
  2. Changed the bundle build script so that the initial Microkernel confi…

    …guration for a "debug" kernel is set to "Logger::DEBUG". Also, added additional "logger.debug" output that logs the stack traces for any exceptions thrown during interactions between the Microkernel Controller and the Razor server. These changes only effect the behavior of the debug kernel; the development and production Microkernels both remain unchanged from the previous commit.
    Tom McSweeney committed Sep 21, 2012
Commits on Sep 11, 2012
  1. Fixed a few typos in the last version (and moved the ifconfig output …

    …back to the top of the "each" rather than storing it as a separate variable and calling "each" on that list...that list is not used for anything else so it doesn't need to be kept in a separate variable).
    Tom McSweeney committed Sep 11, 2012
Commits on Sep 10, 2012
  1. New version of the Microkernel that includes fixes for an error that …

    …is thrown when the network cannot be accessed during Microkernel initialization. This version uses an exponential-backoff algorithm for timing of searches for a valid network interface (instead of using a fixed time increment for subsequent searches if the first search fails) and uses a much shorter (2 minute rather than 15 minute) timeout before the initialization script considers the network to be unreachable. In addition, if no valid network interface is found during such a search for a valid NIC, any kernel module that matches a pattern containing the list of supported NIC firmware modules is reloaded before an additional search is made. Similarly, before such a search is made the DHCP client is restarted before an additional search is made if no NIC was found or if a NIC was found but that NIC didn't have a valid IP address. These changes should fix the issue raised recently by @eoghank in the Razor issues list.
    Tom McSweeney committed Sep 10, 2012
  2. New version of the Microkernel that includes fixes for an error that …

    …is thrown when the network cannot be accessed during Microkernel initialization. This version uses an exponential-backoff algorithm for timing of searches for the network (instead of using a fixed time increment for subsequent searches if the first search fails), imposes an arbitrary (15 sec) delay before loading kernel modules (to try to avoid the race condition we seem to be seeing between kernel module loading and network card initialization in some hardware), and uses a much shorter (2 minute rather than 15 minute) timeout before the initialization script considers the network to be unreachable.
    Tom McSweeney committed Sep 10, 2012
Commits on Sep 6, 2012
  1. Shortened up timeout used for missing network to 2 minutes (was 5 min…

    …utes prior to this commit)
    Tom McSweeney committed Sep 6, 2012
  2. Shortened up timeout used for missing network to 5 minutes (was 15 mi…

    …nutes prior to this commit)
    Tom McSweeney committed Sep 6, 2012
  3. Fix for spurious error thrown by the error handling code when no netw…

    …ork is found during Microkernel initialization. This should fix the spurious error that was reported by @eoghank as part of the discussion in Razor Issue #178 (puppetlabs/Razor#178).
    Tom McSweeney committed Sep 6, 2012
Commits on Aug 13, 2012
  1. Merge pull request #3 from sileht/master

    Don't set the url of razor server if dhcp don't provide a next-server field. This will ensure that the Microkernel is still configured correctly on networks where there is more than one DHCP server, only one of which is providing a "next-server" parameter in its DHCP responses.
    tjmcs committed Aug 13, 2012
Commits on Jul 17, 2012
  1. Merge pull request #2 from tjmcs/tb/remove_lynxbat_links

    Changed source for the 'mk-open-vm-tools.tar.gz' used by the build-bundle-file.sh script
    tjmcs committed Jul 17, 2012
Commits on Jul 5, 2012
  1. changed source for the 'mk-open-vm-tools.tar.gz' downloaded by the 'b…

    …uild-bundle-file.sh' script from the Downloads area of the Razor project to the Downloads area of the Razor-Microkernel project (on the PuppetLabs GitHub). This change will only work once the Razor-Microkernel project becomes a public project. Until then, the Razor project is the only public project that we can use for this download (so the mk-open-vm-tools.tar.gz file will remain in both places until then).
    Tom McSweeney committed Jul 5, 2012
Commits on Jul 3, 2012
  1. Merge pull request #1 from nanliu/tb/license

    Update license to Puppet Labs GPLv2.
    tjmcs committed Jul 3, 2012
  2. Update license to Puppet Labs GPLv2.

    Transfer and update copyright to GPLv2.
    Nan Liu committed Jul 3, 2012
  3. Fix for Issue #115 (in the Razor project's Issue list). Without the c…

    …hanges in this patch the RzMkHardwareFacter class is confused by the presence of 'nil' elements in the hash_array value that is passed to it's add_flattened_array_to_facts! method (they are counted in the associated "count" field but no associated values are added to the facts_map, so the count field ends up being off by the number of nil elements included in this hash_array input argument). While this issue was being fixed, also patched up an issue with the way that the indentation level was detected by the lshw_output_to_hash method in this same class (the previous method implementation could become confused by the output seen on some platforms, where included arrays are less indented than included values on a given level of the array).
    Tom McSweeney committed Jul 3, 2012
  4. Added code to fix an error that occurred in the build-bundle-file.sh …

    …script when the build-files subdirectory didn't exist yet in the project. Also added a bit of code to the rebuild_iso.sh script to get the kernel version number from the output of a 'ls ${DIR_NAME}/extract/lib/modules' command (instead of using a fixed version number).
    Tom McSweeney committed Jul 3, 2012
Commits on Jun 22, 2012
  1. Cleaned up usage to ensure it would work with a standard (80-column w…

    …ide) terminal window
    Tom McSweeney committed Jun 22, 2012
  2. Changed initial comments for this script to describe what it does in …

    …the current implementation (not what it used to do previously).
    Tom McSweeney committed Jun 22, 2012
  3. renamed this script to more closely resemble the terminology being us…

    …ed in the Razor Microkernel documentation (it builds the "bundle file" containing all of the scripts and files needed to build a new version of the Razor Microkernel ISO).
    Tom McSweeney committed Jun 22, 2012
Commits on Jun 21, 2012
  1. Added code to the build-dependency-files.sh script to support two new…

    … pairs of command line flags: '-t' or '--tc-passwd' (which can be used to change the 'tc' user password for non-production images) and
    
    '-d' or '--build-debug-image' (which can be used to build a "Debug ISO").  Note that previously we just supported building of development or production ISOs, this commit adds the concept of a "debug" ISO to that list (which is an ISO for which autologin of the tc user is enabled for the console).  Obviously, this sort of ISO should not be used in production, but it is useful for debugging Razor connectivity issues.
    Tom McSweeney committed Jun 21, 2012
Commits on Jun 12, 2012
  1. Changing README to a markdown file and changing the contents to refle…

    …ct the recent changes to the project (where the Microkernel ISO is now built automatically).
    Tom McSweeney committed Jun 12, 2012
  2. Changing README to a markdown file and changing the contents to refle…

    …ct the recent changes to the project (where the Microkernel ISO is now built automatically).
    Tom McSweeney committed Jun 12, 2012
Commits on Jun 8, 2012
  1. Removed dependency on external mk-open-vm-tools.tar.gz file (this fil…

    …e is now assumed to be downloaded from a URL, which will be the downloads page of the Razor-Microkernel project when it is made public). Also removed the extra command line flag to build a development image (to avoid conflict if both that argument and the argument to build a production ISO were specified) and reversed the sense of the "BUILD_DEV_FLAG" and the tests that used it (now it's a "BUILD_PROD_FLAG", to the tests had to be reversed...switching 'no' to 'yes' and 'yes' to 'no' in the tests of this flag). Changed the name of the included gzipped tarfile containing our overlay (it now has the word 'overlay' in its name to make it clean what it is) and made a corresponding change to the build_initial_directories.sh script. Lastly, added a snippet of code to change the name of the bundle file we are creating to reflect whether it is mean to to build a development or production system (and changed the phrase 'overlay' in its name to 'bundle' so that it is clear what it is...it's not an overlay, it's a bundle containing an overlay)
    Tom McSweeney committed Jun 8, 2012
  2. Extracted the etc/passwd and etc/shadow files from the ssh-setup-file…

    …s.tar.gz gzipped tarfile and added these files to the Razor-Microkernel project instead. Also added a third file (etc/shadow-nologin) to the project. This third file is used for production systems (where we want to disable login by any user, even at the console). Finally, made changes to the build-dependency-files.sh script to copy over the appropriate pair of files (etc/passwd and etc/shadow for development systems; etc/passwd and etc/shadow-nologin for production systems) into what will be the /etc/passwd and /etc/shadow files on the ISO we are building.
    Tom McSweeney committed Jun 8, 2012
Commits on Jun 7, 2012
  1. Added an example of the file used to determine which utilities to ext…

    …ract from the util-linux.tcz extension
    Tom McSweeney committed Jun 7, 2012
  2. Removed an external dependency or two (we are now obtaining the 'lscp…

    …u' and 'sfdisk' commands for the ISO directly from a downloaded version of the util-linux.tcz extension, for example, instead of bundling these two executables in a separate gzipped tarfile). Also added a set of flags to the build-dependency-files.sh script (using the getopt built-in under BASH) that give the user the ability to point to their own built-list and mirror-list (instead of having these values 'hardwired' into the build-dependency-files.sh script). Finally, added a couple of flags that allow the user to specify if they going to be building a production or development ISO. In the case of a production ISO, the name of the file created by the rebuild_iso.sh script is changed to include 'prod' instead of 'dev' in its name, the openssh.tcz extension is skipped (along with it's configuration files), and passwd/shadow files are also skipped. These last two changes effectively remove the ability to access the Microkernel, either remotely via SSH or via the console, which is a key feature in a production system.
    Tom McSweeney committed Jun 7, 2012
  3. Changes to make this process completely automatic. No longer need to …

    …build a separate overlay for the extensions that need to be installed at boot, nor is there a separate overlay for the MCollective install. All of the components are now dynamically downloaded by the 'build-dependency-files.sh' script (unless the user specifies that the previous downloads should be used via the '--reuse-prev-dl' flag). The only remaining dependencies that are not automatically included by this script are the configuration files for the openssh and mcollective installs, the lscpu and sfdisk executables, and the open_vm_tools extension we built for the Microkernel. These dependencies are all pulled into the image from the 'additional-build-files' directory (which is at the top-level of this project).
    Tom McSweeney committed Jun 7, 2012
Commits on Jun 6, 2012
  1. This commit includes the changes necessary to support the build of a …

    …single gzipped tarfile containing almost all of the files needed to build the Microkernel ISO directly from the Razor-Microkernel project directory. The current implementation of this script (build-dependency-files.sh) requires that the user also set up a separate subdirectory (additional-build-files) in the Razor-Microkernel project directory that contains three additional files (Core-current.iso, fix-dmidecode-path-for-facter.tar.gz, and mk-open-vm-tools.tar.gz) that are necessary to build the Microkernel ISO (in a future version of this script, we'll try to get around this issue). There is also an assumption that the user will create a orig-fs-snapshot subdirectory (in the directory being used to build the Microkernel ISO, which is assumed to be different from the Razor-Microkernel project directory) that contains the snapshot taken from the filesystem of a running Microkernel instance on which a number of additional extensions have been installed and configured (before running the build_initial_directories.sh script from within that directory). Again, we'll try to get around this external dependency in a future release.
    Tom McSweeney committed Jun 6, 2012
Commits on Jun 1, 2012
  1. Refactored Microkernel codebase to support the addition of a new exte…

    …nsion (firmware-bnx2.tcz) and remove the dependency on the bundler gem (we will just install gems directly from here on out).
    Tom McSweeney committed Jun 1, 2012
Commits on May 17, 2012
  1. A new version of the Microkernel (v0.8.8.0) that modifies the behavio…

    …r of the flag added to the checkin requests in the previous release of the Microkernel. This flag is now only included if the node hasn't successfully checked in and registered with the Razor server. Once both of these conditions have been met, the flag will be set to false (and no longer included in the checkin requests) until the node is rebooted. This change will only work properly on reboot once changes have been made to the Razor server to handle this flag properly. Until then, on reboot, the is_first_checkin flag will remain true until Razor asks the node to register again (since we consider a "first checkin" to be the first time that the node successfully checks in and registers with the Razor server after a boot or reboot).
    Tom McSweeney committed May 17, 2012
  2. Added a new file to the Microkernel that is used to store whether or …

    …not the Microkernel controller is checking in for the first time. This change makes it possible for the Razor server to determine whether or not it should force a registration on first boot, even if the node has checked in more recently than the "register_timeout" (allowing for the Razor server to pick up configuration changes on the node that may have required a reboot of the node but that didn't take too long, so the time between checkins doesn't exceed that "register_timeout" value).
    Tom McSweeney committed May 17, 2012
Commits on May 10, 2012
  1. Swapped initialization over from the /opt/bootlocal.sh script to the …

    …/opt/bootsync.sh script (so that the commands run synchronously instead of in the background)
    Tom McSweeney committed May 10, 2012