# Copyright 2017 Citrix Systems # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. def inject_ipxe_config(session, sr_path, vdi_uuid, boot_menu_url, ip_address, netmask, gateway, dns, mkisofs_cmd): session.call_plugin_serialized('ipxe.py', 'inject', sr_path, vdi_uuid, boot_menu_url, ip_address, netmask, gateway, dns, mkisofs_cmd) def copy_vdi(session, vdi_ref, vdi_size, image_id=None): args = {} args['vdi-ref'] = vdi_ref args['image-size'] = str(vdi_size) if image_id: args['cached-image'] = image_id session.call_plugin('kernel.py', 'copy_vdi', args) def create_kernel_ramdisk(session, image_id, new_image_uuid): args = {} args['cached-image'] = image_id args['new-image-uuid'] = new_image_uuid session.call_plugin('kernel.py', 'create_kernel_ramdisk', args) def remove_kernel_ramdisk(session, kernel_file=None, ramdisk_file=None): args = {} if kernel_file: args['kernel-file'] = kernel_file if ramdisk_file: args['ramdisk-file'] = ramdisk_file if args: session.call_plugin('kernel.py', 'remove_kernel_ramdisk', args) def safe_copy_vdis(session, sr_path, vdi_uuids, uuid_stack): return session.call_plugin_serialized( 'workarounds.py', 'safe_copy_vdis', sr_path, vdi_uuids, uuid_stack) def make_partition(session, dev, partition_start, partition_end): session.call_plugin_serialized('partition_utils.py', 'make_partition', dev, partition_start, partition_end) def mkfs(session, dev, partnum, fs_type, fs_label): session.call_plugin_serialized('partition_utils.py', 'mkfs', dev, partnum, fs_type, fs_label) def wait_for_dev(session, dev_path, max_seconds): return session.call_plugin_serialized('partition_utils.py', 'wait_for_dev', dev_path, max_seconds)