You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Required Subroutines

  • pre_capture
    • Description
      • Configures the OS so that it can be captured by a provisioning module.
      • Configures the OS so that it will successfully boot after the captured image is reloaded on another resource.
      • Adds and configures drivers so that the image will load on other resources.
      • Removes files which should not be saved in the image.
      • Examples of tasks performed by the pre_capture subroutine:
        • Log off users which were created for the imaging reservation and delete the accounts
        • Set root and administrator passwords to standard, known values 
        • Disable and delete page or swap files
        • Delete temp files
        • Copy scripts and utilities to the computer which are required after the computer boots up but before it has network connectivity
        • Copy drivers to the computer
        • Run a generalization or sealing utility such as Sysprep.exe
    • Expected Beginning State
      • Resource is up and accessible
      • Administrator has configured the resource
      • Administrator may or may not have logged out
    • Expected Ending State
      • (Default) Resource is shut down and turned off
      • Image captured of resource can be loaded and booted on other hardware
      • Loaded image will successfully boot up, establish network connectivity, and be accessible by the OS module's post_load() subroutine
    • Called By
      • Provisioning module's capture() subroutine
    • Arguments & Calling Environment
      • Must only be called as an object method of an OS object ($os->pre_capture()) 
      • Optional Argument:
        • Name: end_state
        • Type: hash reference
        • Description:
          • Instructs pre_capture() to leave the resource in a particular state after the subroutine's tasks are complet instead of shutting down the resource.
        • Possible Values:
          • on - Leave the resource on.  Do not shut it down or reboot it.
          • off (Default) - Shut the resource down.
          • reboot - Initiate a reboot and return.
    • Return Values
      • 1
        • All pre_capture tasks completed successfully.
        • Resource was either shut down or left in the state specified by the end_state argument.
        • Provisioning module can proceed to capture the image.
      • 0
        • Resource OS could not be completely prepared to be captured.
        • Provisioning module should not proceed to capture the image.
  • post_load
  • sanitize
    • Description
      • Reverts the changes made when preparing a resource for a particular reservation.
      • A resource needs to be sanitized if it was successfully reserved for a reservation but not used.
      • The goal of the sanitize subroutine should be to clean up and reconfigure a resource so that it can be provisioned for another reservation without having to be reloaded.
      • An attempt is made to sanitize the resource by reclaim.pm if it determines that the resource was never used for a reservation.  This will occur if a reservation is made, enters the reserved state, but never enters the inuse state.
      • Examples of tasks performed by the sanitize subroutine:
        • Delete user accounts which were created for a reservation
        • Revoke access to the resource which was granted for a reservation
    • Called By
      • reclaim.pm::process()
      • May be called by the same OS module's pre_capture() subroutine to sanitize the resource after it was reserved and used by the image creator.
    • Calling Environment - must only be called as an object method of an OS object ($os->sanitize()) 
    • Arguments - none
    • Return Values
      • 1
        • Sanitization was completely successful
        • Resource is ready to be provisioned and reserved for another reservation
        • Resource does not need to be reloaded
      • 0
        • Sanitization could not be completed
        • Resource needs to be reloaded
  • reboot
  • shutdown
  • get_current_image
  •  
  • No labels