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
- The sanitize subroutine reverts Reverts the changes which were 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 but a critical error did not occur
- Resource needs to be reloaded
Undefined - Sanitization could not be completed because a critical error occurred
- A critical error may occur if the resource cannot be accessed by the sanitize subroutine
- reboot
- shutdown
- get_current_image
-
{"serverDuration": 140, "requestCorrelationId": "4c3844d01d27aec6"}