Changes

Jump to: navigation, search

stoney conductor: prov-backup-kvm

2,827 bytes removed, 14:39, 27 June 2014
/* createSnapshot */
This is the simplified workflow for the Provisioning-Backup-KVM Daemon. The Subroutines (create-, export- and commitSnapshot) are shown later.
[[File:KVM-Backup-Workflow.png|thumb|none|400px650px|Figure 1: Simplified prov-backup-kvm workflow]]
You can modify/update this workflow by editing [[File:KVM-Backup-simple.xmi]] (you may need [http://uml.sourceforge.net/ Umbrello UML Modeller] diagram programme for KDE to display the content properly).
=== createSnapshot ===
[[File:KVM-Backup-Workflow-Snapshot.png|thumb|none|500px650px|Figure 2: Detailed workflow for the createsSnaphshot process]]
You can edit this workflow with the following file (you may need umbrello to modify it): [[File:KVM-Backup-Workflow-detailed.xmi]]
== Backend ==
''' Currently the backend configuration is not active. If it is active it will be (maybe some minor modifications) as the following: '''
 
In the backend, you need to have at least one configuration which applies for the whole stoney cloud. This configuration is referenced in the [[#Global|global configuration]]. You are able to overwrite the stoney-cloud-wide configuration for
* A VM-Pool
= Exit codes =
The following list defines the return codes and their meaning for the KVM-Backup script see also [https://github.com/stepping-stone/prov-backup-kvm/blob/master/lib/Provisioning/Backup/KVM/Constants.pm KVMConstants.pm]:
<pre>
use constant { SUCCESS_CODE => 0; ### Error codes constants,use constant UNDEFINED_ERROR ERROR_CODE => 1; # Always the first!,use constant MISSING_PARAMETER_IN_CONFIG_FILE => 2; use constant CONFIGURED_RAM_DISK_IS_NOT_VALUD TRUE => 3;1,use constant NOT_ENOUGH_SPACE_ON_RAM_DISK FALSE => 4;0,use constant CANNOT_SAVE_MACHINE_STATE => 5; use constant CANNOT_WRITE_TO_BACKUP_LOCATION => 6; # Specific error codesuse constant CANNOT_COPY_FILE_TO_BACKUP_LOCATION TEMPLATE_NOT_READABLE => 7;101,use constant CANNOT_COPY_IMAGE_TO_BACKUP_LOCATION NO_MACHINE => 8;102,use constant CANNOT_COPY_XML_TO_BACKUP_LOCATION NO_XML_DESCRIPTION => 9;103,use constant CANNOT_COPY_BACKEND_FILE_TO_BACKUP_LOCATION CANNOT_CREATE_SNAPSHOT => 10;104,use constant CANNOT_MERGE_DISK_IMAGES NO_STATE_INFORMATION => 11;105,use constant CANNOT_REMOVE_OLD_DISK_IMAGE CANNOT_START_MACHINE => 12;106,use constant CANNOT_REMOVE_FILE NO_BACKUP_LOCATION => 13;107,use constant CANNOT_CREATE_EMPTY_DISK_IMAGE UNCONSISTENT_BACKUP => 15;108,use constant CANNOT_RENAME_DISK_IMAGE CANNOT_GET_SNAPSHOT => 16;109,use constant CANNOT_CONNECT_TO_BACKEND CANNOT_DELETE_SNAPSHOT => 17;110,use constant WRONG_STATE_INFORMATION CANNOT_UPDATE_XML => 18;111,use constant CANNOT_SET_DISK_IMAGE_OWNERSHIP NO_SPACE_LEFT => 19;112,use constant CANNOT_SET_DISK_IMAGE_PERMISSION => 20;use constant CANNOT_RESTORE_MACHINE => 21;use constant CANNOT_LOCK_MACHINE => 22;use constant CANNOT_FIND_MACHINE => 23;use constant CANNOT_COPY_STATE_FILE_TO_RETAIN => 24;use constant RETAIN_ROOT_DIRECTORY_DOES_NOT_EXIST => 25;use constant BACKUP_ROOT_DIRECTORY_DOES_NOT_EXIST => 26;use constant CANNOT_CREATE_DIRECTORY => 27;use constant CANNOT_SAVE_XML => 28;use constant CANNOT_SAVE_BACKEND_ENTRY => 29;use constant CANNOT_SET_DIRECTORY_OWNERSHIP => 30;use constant CANNOT_SET_DIRECTORY_PERMISSION => 31;use constant CANNOT_FIND_CONFIGURATION_ENTRY => 32;use constant BACKEND_XML_UNCONSISTENCY => 33;use constant CANNOT_CREATE_TARBALL => 34;use constant UNSUPPORTED_FILE_TRANSFER_PROTOCOL => 35;use constant UNKNOWN_BACKEND_TYPE => 36;use constant MISSING_NECESSARY_FILES => 37;use constant CORRUPT_DISK_IMAGE_FOUND => 38;use constant UNSUPPORTED_CONFIGURATION_PARAMETER => 39;use constant CANNOT_MOVE_DISK_IMAGE_TO_ORIGINAL_LOCATION=> 40;use constant CANNOT_DEFINE_MACHINE => 41;use constant CANNOT_START_MACHINE => 42;use constant CANNOT_WORK_ON_UNDEFINED_OBJECT => 43;use constant CANNOT_READ_STATE_FILE => 44;use constant CANNOT_READ_XML_FILE => 45;use constant NOT_ALL_FILES_DELETED_FROM_RETAIN_LOCATION => 46;use constant NOT_ENOUGH_DISK_SPACE => 47;use constant NO_DISK_SPACE_INFORMATION => 48};
</pre>
= Next steps =
* Change the behaviour of the snapshot/merge process** No longer merge the original file into the new one but merge (commit) backing store file back into original one*** Like that we are able to reduce the backup (merge) time a lot.*** Needs different behaviour for save -> copy/move -> create new image -> Implement restore -> merge
= Source Code =
The source code is located in our GitHub Repository:
https://github.com/steppingstoney-stonecloud/stoney-conductor/tree/master/prov-backup-kvm
= Links =
[[Category:stoney conductor]][[Category:Provisioning Modules]]
3,419
edits