function storage_auth_deployment_stop($image_id) { global $event; global $OPENQRM_SERVER_BASE_DIR; global $OPENQRM_SERVER_IP_ADDRESS; global $OPENQRM_EXEC_PORT; $image = new image(); $image->get_instance_by_id($image_id); $image_name = $image->name; $image_rootdevice = $image->rootdevice; $storage = new storage(); $storage->get_instance_by_id($image->storageid); $storage_resource = new resource(); $storage_resource->get_instance_by_id($storage->resource_id); $storage_ip = $storage_resource->ip; $deployment = new deployment(); $deployment->get_instance_by_type($image->type); $deployment_type = $deployment->type; $deployment_plugin_name = $deployment->storagetype; // just for sending the commands $resource = new resource(); // get install deployment params $install_from_nfs_param = trim($image->get_deployment_parameter("IMAGE_INSTALL_FROM_NFS")); if (strlen($install_from_nfs_param)) { // storage -> resource -> auth $ip_storage_id = $deployment->parse_deployment_parameter("id", $install_from_nfs_param); $ip_storage_ip = $deployment->parse_deployment_parameter("ip", $install_from_nfs_param); $ip_image_rootdevice = $deployment->parse_deployment_parameter("path", $install_from_nfs_param); $ip_storage = new storage(); $ip_storage->get_instance_by_id($ip_storage_id); $ip_storage_resource = new resource(); $ip_storage_resource->get_instance_by_id($ip_storage->resource_id); $op_storage_ip = $ip_storage_resource->ip; $ip_deployment = new deployment(); $ip_deployment->get_instance_by_id($ip_storage->type); $ip_deployment_type = $ip_deployment->type; $ip_deployment_plugin_name = $ip_deployment->storagetype; $event->log("storage_auth_function", $_SERVER['REQUEST_TIME'], 5, "openqrm-lvm-nfs-deployment-auth-hook.php", "Install-from-NFS: Authenticating {$resource_ip} on storage id {$ip_storage_id}:{$ip_storage_ip}:{$ip_image_rootdevice}", "", "", 0, 0, $resource_id); $auth_install_from_nfs_start_cmd = $OPENQRM_SERVER_BASE_DIR . "/openqrm/plugins/" . $ip_deployment_plugin_name . "/bin/openqrm-" . $ip_deployment_plugin_name . " auth -r " . $ip_image_rootdevice . " -i " . $OPENQRM_SERVER_IP_ADDRESS . " -t " . $ip_deployment_type . " --openqrm-cmd-mode background"; $resource->send_command($ip_storage_ip, $auth_install_from_nfs_start_cmd); } // get transfer deployment params $transfer_from_nfs_param = trim($image->get_deployment_parameter("IMAGE_TRANSFER_TO_NFS")); if (strlen($transfer_from_nfs_param)) { // storage -> resource -> auth $tp_storage_id = $deployment->parse_deployment_parameter("id", $transfer_from_nfs_param); $tp_storage_ip = $deployment->parse_deployment_parameter("ip", $transfer_from_nfs_param); $tp_image_rootdevice = $deployment->parse_deployment_parameter("path", $transfer_from_nfs_param); $tp_storage = new storage(); $tp_storage->get_instance_by_id($tp_storage_id); $tp_storage_resource = new resource(); $tp_storage_resource->get_instance_by_id($tp_storage->resource_id); $op_storage_ip = $tp_storage_resource->ip; $tp_deployment = new deployment(); $tp_deployment->get_instance_by_id($tp_storage->type); $tp_deployment_type = $tp_deployment->type; $tp_deployment_plugin_name = $tp_deployment->storagetype; $event->log("storage_auth_function", $_SERVER['REQUEST_TIME'], 5, "openqrm-lvm-nfs-deployment-auth-hook.php", "Install-from-NFS: Authenticating {$resource_ip} on storage id {$tp_storage_id}:{$tp_storage_ip}:{$tp_image_rootdevice}", "", "", 0, 0, $resource_id); $auth_install_from_nfs_start_cmd = $OPENQRM_SERVER_BASE_DIR . "/openqrm/plugins/" . $tp_deployment_plugin_name . "/bin/openqrm-" . $tp_deployment_plugin_name . " auth -r " . $tp_image_rootdevice . " -i " . $OPENQRM_SERVER_IP_ADDRESS . " -t " . $tp_deployment_type . " --openqrm-cmd-mode background"; $resource->send_command($tp_storage_ip, $auth_install_from_nfs_start_cmd); } }