def render(self, session, logger, filesystem, type, mountpoint, blockdevice, bootmount, dumpfreq, fsckpass, options, hostname, cluster, resourcegroup, comments, **arguments): validate_basic("filesystem", filesystem) holder = get_resource_holder(session, hostname, cluster, resourcegroup, compel=False) Filesystem.get_unique(session, name=filesystem, holder=holder, preclude=True) if dumpfreq is None: dumpfreq = 0 if fsckpass is None: # This is already set by defaults in input.xml, but # we're being extra paranoid... fsckpass = 2 # pragma: no cover dbfs = Filesystem(name=filesystem, mountpoint=mountpoint, mountoptions=options, mount=bool(bootmount), blockdev=blockdevice, fstype=type, passno=fsckpass, dumpfreq=dumpfreq, comments=comments ) return add_resource(session, logger, holder, dbfs)
def render(self, session, logger, filesystem, type, mountpoint, blockdevice, bootmount, dumpfreq, fsckpass, options, hostname, cluster, resourcegroup, comments, **arguments): validate_basic("filesystem", filesystem) holder = get_resource_holder(session, hostname, cluster, resourcegroup, compel=False) Filesystem.get_unique(session, name=filesystem, holder=holder, preclude=True) if dumpfreq is None: dumpfreq = 0 if fsckpass is None: # This is already set by defaults in input.xml, but # we're being extra paranoid... fsckpass = 2 # pragma: no cover dbfs = Filesystem(name=filesystem, mountpoint=mountpoint, mountoptions=options, mount=bool(bootmount), blockdev=blockdevice, fstype=type, passno=fsckpass, dumpfreq=dumpfreq, comments=comments) return add_resource(session, logger, holder, dbfs)
def render(self, session, logger, filesystem, hostname, cluster, resourcegroup, **arguments): holder = get_resource_holder(session, hostname, cluster, resourcegroup) dbfs = Filesystem.get_unique(session, name=filesystem, holder=holder, compel=True) del_resource(session, logger, dbfs) return
def render(self, session, logger, filesystem, hostname, cluster, resourcegroup, **arguments): validate_basic("filesystem", filesystem) holder = get_resource_holder(session, hostname, cluster, resourcegroup) dbfs = Filesystem.get_unique(session, name=filesystem, holder=holder, compel=True) del_resource(session, logger, dbfs) return
def render(self, session, logger, machine, disk, controller, share, filesystem, resourcegroup, address, comments, size, boot, snapshot, **kw): if controller not in controller_types: raise ArgumentError("%s is not a valid controller type, use one " "of: %s." % (controller, ", ".join(controller_types))) dbmachine = Machine.get_unique(session, machine, compel=True) for dbdisk in dbmachine.disks: if dbdisk.device_name == disk: raise ArgumentError("Machine %s already has a disk named %s." % (machine, disk)) if dbdisk.bootable: if boot is None: boot = False elif boot: raise ArgumentError("Machine %s already has a boot disk." % machine) if boot is None: # Backward compatibility: "sda"/"c0d0" is bootable, except if there # is already a boot disk boot = (disk == "sda" or disk == "c0d0") if share: if not dbmachine.vm_container: raise ArgumentError("{0} is not a virtual machine, it is not " "possible to define a virtual disk." .format(dbmachine)) dbshare = find_resource(Share, dbmachine.vm_container.holder.holder_object, resourcegroup, share) dbdisk = VirtualNasDisk(device_name=disk, controller_type=controller, bootable=boot, capacity=size, address=address, snapshotable=snapshot, comments=comments) dbshare.disks.append(dbdisk) elif filesystem: if not dbmachine.vm_container: raise ArgumentError("{0} is not a virtual machine, it is not " "possible to define a virtual disk." .format(dbmachine)) dbfs = Filesystem.get_unique(session, name=filesystem, holder=dbmachine.vm_container.holder, compel=True) dbdisk = VirtualLocalDisk(device_name=disk, controller_type=controller, bootable=boot, capacity=size, address=address, snapshotable=snapshot, comments=comments) dbfs.disks.append(dbdisk) else: dbdisk = LocalDisk(device_name=disk, controller_type=controller, capacity=size, bootable=boot, comments=comments) dbmachine.disks.append(dbdisk) plenary_info = Plenary.get_plenary(dbmachine, logger=logger) plenary_info.write() return