A python module for configuration of block devices

Overview

Blivet is a python module for system storage configuration.

CI status

CI status

Licence

See COPYING

Installation

From Fedora repositories

Blivet is available in Fedora repositories. You can install it using

# dnf install python3-blivet

Daily builds for Fedora

Daily builds of Blivet are available in @storage/blivet-daily Copr repository. You can enable it using

# dnf copr enable @storage/blivet-daily

Daily builds of libblockdev and libbytesize are also in this repo.

OBS repository for Ubuntu and Debian

Packages for Debian (testing and unstable) and Ubuntu (19.04 and newer) are available through the Open Build Service. Instructions for adding the repository are available here.

Copr repository for openSUSE, Mageia and OpenMandriva

Packages for openSUSE Tumbleweed, Mageia (8 and newer) and OpenMandriva (Cooker and Rolling) are available in our blivet-stable Copr repository.

PyPI

Blivet is also available through the Python Package Index. You can install it using

$ pip3 install blivet

Blivet depends on some C libraries that are not available on PyPI so you need to install these manually.

The main dependencies include libblockdev, libbytesize, parted and their Python bindings. These libraries should be available on most distributions in the standard repositories.

To install these dependencies use following commands:

  • On Fedora and RHEL/CentOS based distributions:

    # dnf install python3-blockdev libblockdev-plugins-all python3-bytesize libbytesize python3-pyparted parted libselinux-python3
    
  • On Debian and Ubuntu based distributions:

    # apt-get install python3-blockdev python3-bytesize python3-parted python3-selinux gir1.2-blockdev-2.0 libblockdev-lvm2 libblockdev-btrfs2 libblockdev-swap2 libblockdev-loop2 libblockdev-crypto2 libblockdev-mpath2 libblockdev-dm2 libblockdev-mdraid2 libblockdev-nvdimm2
    

Development

See CONTRIBUTING

Developer documentation is available on our website or on Read the Docs.

Additional information about the release process, roadmap and other development-related materials are also available in the GitHub Wiki.

Localization

Translation

Bug reporting

Bugs should be reported to bugzilla.redhat.com.

You can also report bug using the GitHub issues.

Comments
  • resize encrypted devices

    resize encrypted devices

    Support resize of encrypted (LUKS) block devices

    Motivation

    Many people resize devices and many people encrypt devices. Since it is possible to resize encrypted block devices it makes sense for blivet to be able to do so.

    Requirements
    1. be able to resize any encrypted block device that contains formatting considered resizeable by blivet
    Scope

    This should amount to a resize method in blivet.formats.LUKS, some expansion of the logic in Blivet.resizeDevice, and adaptation of any anaconda code that schedules resize actions directly.

    Notes

    Since we do not currently support resize of LVM PVs (and therefore VGs) there is no need to be concerned with this use case.

    enhancement 
    opened by dwlehman 21
  • Allow passing fractional MiB values to vgcreate -s option

    Allow passing fractional MiB values to vgcreate -s option

    Currently blivet expects pesize parm of the vgcreate function to be in MiB. However it does not accept any floating values. This limits passing any values which are KiBs for pesize to create a vg. This patch fixes the issue by accepting floating values also.

    Bug url: https://bugzilla.redhat.com/show_bug.cgi?id=1198568

    Signed-off-by: Timothy Asir Jeyasingh [email protected]

    ACK 
    opened by TimothyAsirJeyasing 18
  • Use libbytesize's Size class as a base for our Size class

    Use libbytesize's Size class as a base for our Size class

    libbytesize provides an implementation of what we need for manipulations and calculations with sizes in bytes. It's a little bit faster and more importantly it can be shared with other projects because it's written in C. Thus we should use it.

    At some point it would be nice if we could drop our own Size class and the blivet/size.py module altogether because they don't bring any extra value, but for now we need this thin wrapper to keep the API (almost*) stable. The only real changes are:

    1. Strings like "100 kibibytes" are no longer accepted, I doubt anybody has ever used this functionality. If the opposite turns out to be true such support will be added to libbytesize and no change will be needed in Blivet.

    2. humanReadable() now ignores the 'skip' and 'min_value' attributes. The former one is always replaced by 'True' (i.e. trailing zeroes are always stripped), the latter one is ignored because it made things really cryptic and weird.

    • see the commit, mainly the part modifying/removing the tests for more details

    Note: tests are expected to be failing at this phase -- libbytesize is not available as a package yet. I am of course not going to merge this before that changes.

    ACK 
    opened by vpodzime 17
  • LVM classes unification

    LVM classes unification

    These commits change how we represent LVs. Instead of having special classes for various types of LVs, we now have a single class with the type of LV being more a dynamic property than a once-given thing. This will allow us to implement various LVM-related features in the future that have so far been limited by our multi-class representation.

    I'm not adding any new functionality or features so no tests are added. Just the existing ones are modified to continue working.

    I'll add a section to the release_notes.rst file tomorrow as an extra commit to this PR.

    ACK 
    opened by vpodzime 15
  • WIP: Allow setting file system UUIDs

    WIP: Allow setting file system UUIDs

    Implements setting UUIDs via passing new_uuid="..." to the format.

    This is similar to setting labels, but while labels are set by just passing the label=something argument, this uses new_uuid=something because first of all, an UUID is not optional and we also have an uuid argument that's already used by the device tree populator to pass the UUID from the udev attributes.

    File systems that support setting UUIDs are now ext2/3/4, FAT, NTFS, XFS, JFS, ReiserFS, HFS+ and swap. Not supported is HFS, because it doesn't seem to have a notion for setting serial or any kind of volume ID.

    opened by aszlig 14
  • Add a public API specification

    Add a public API specification

    Where a class is listed that means instantiating that class is supported. Where is it not, we are specifying the public methods and attributes. There are some issues with undocumented members and singletons, but they are minor.

    api 2.x 
    opened by dwlehman 14
  • Run the test suite with both Python 2 and Python 3

    Run the test suite with both Python 2 and Python 3

    Since blivet is supposed to be compatible with both python 2 and 3 IMO it makes sense to run the test suite with both versions. (not to mention build the entire package with 2 or 3) At present only python2 is used to execute the test suite while python3 is used for pylint (due to pocketlint being python3 only).

    This PR introduces the following changes:

    • adds Makefile targets to execute the test suite under python 2 and 3 separately
    • make test now runs the test suite with both python 2 and 3
    • adds 2 separate targets to execute test suite with coverage report for python 2 and 3
    • adds new check-requires target which checks if Requires:/BuildRequires and a few manual added ones are present
    • replaces /usr/bin/python with /usr/bin/env python inside test cases. NOTE: I don't see any executable tests/*.py files but maybe this is a good measure. Otherwise this line doesn't have any effect and can be removed.
    • updates the test cases to take care of several deprecation warnings coming from unittest. I've introduces a BlivetTestCase class which adds some aliases in case we're running with python2.

    TODO:

    There are still a few places which use hard-coded python version:

    • Makefile uses PYTHON=python2 which is used in a few places calling setup.py
    • some scripts/ use /usr/bin/python explicitly
    • runpylint.py uses /usr/bin/python3 explicitly

    make check uses pocketlint which is Python3 only. I have not looked into how hard it will be to build it for Python2. Will do it tomorrow.

    Test results:

    Running the test suite with python2 gives me 4 errors:

    ======================================================================
    ERROR: testAvailabilityMDRAIDplugin (devices_test.dependencies_test.MockingDeviceDependenciesTestCase)
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/root/blivet/tests/devices_test/dependencies_test.py", line 64, in testAvailabilityMDRAIDplugin
        self.assertIsNotNone(ActionCreateFormat(self.luks, fmt=getFormat("macefi")))
      File "blivet/deviceaction.py", line 530, in __init__
        raise ValueError("resource to create this format %s is unavailable" % fmt)
    ValueError: resource to create this format non-existent macefi filesystem is unavailable
    
    ======================================================================
    ERROR: testGetLabelArgs (formats_test.labeling_test.MethodsTestCase)
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/root/blivet/tests/formats_test/labeling_test.py", line 73, in testGetLabelArgs
        reiserfs = self.fs["reiserfs"]
    KeyError: 'reiserfs'
    
    ======================================================================
    ERROR: testActionDependencies (action_test.DeviceActionTestCase)
    Verify correct functioning of action dependencies.
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/root/blivet/tests/action_test.py", line 944, in testActionDependencies
        format_lv = ActionCreateFormat(testlv, fmt)
      File "blivet/deviceaction.py", line 530, in __init__
        raise ValueError("resource to create this format %s is unavailable" % fmt)
    ValueError: resource to create this format non-existent None is unavailable
    
    ======================================================================
    ERROR: testContainerActions (action_test.DeviceActionTestCase)
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/root/blivet/tests/action_test.py", line 1122, in testContainerActions
        fmt=new_lv_format)
      File "tests/storagetestcase.py", line 245, in scheduleCreateFormat
        action = blivet.deviceaction.ActionCreateFormat(device, fmt)
      File "blivet/deviceaction.py", line 530, in __init__
        raise ValueError("resource to create this format %s is unavailable" % fmt)
    ValueError: resource to create this format non-existent xfs filesystem is unavailable
    
    ----------------------------------------------------------------------
    Ran 467 tests in 704.377s
    
    FAILED (errors=4, skipped=319)
    

    Running with python3 gives me much more of the type:

    ======================================================================
    ERROR: testMountingXFS (formats_test.selinux_test.SELinuxContextTestCase)
    XFS does not have a lost+found directory.
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/root/blivet/tests/formats_test/selinux_test.py", line 67, in testMountingXFS
        an_fs = fs.XFS(device=self.loopDevices[0], label="test")
      File "/root/blivet/blivet/formats/fs.py", line 101, in __init__
        DeviceFormat.__init__(self, **kwargs)
      File "/root/blivet/blivet/formats/__init__.py", line 186, in __init__
        self.device = kwargs.get("device")
      File "/root/blivet/blivet/formats/__init__.py", line 315, in <lambda>
        lambda f,d: f._setDevice(d),
      File "/root/blivet/blivet/formats/__init__.py", line 306, in _setDevice
        error_msg = self._deviceCheck(devspec)
      File "/root/blivet/blivet/formats/__init__.py", line 301, in _deviceCheck
        if devspec and not devspec.startswith("/"):
    TypeError: startswith first arg must be bytes or a tuple of bytes, not str
    
    ----------------------------------------------------------------------
    
    
    I'm running on a recent F22 system upgraded to packages from the Rawhide repo. Let me know how would you like to proceed. 
    
    opened by atodorov 14
  • Support configuring partition type UUIDs for GPT partition auto-discovery

    Support configuring partition type UUIDs for GPT partition auto-discovery

    The discoverable partitions specification defines a way to identify partitions used for various well known mount points:

    https://uapi-group.org/specifications/specs/discoverable_partitions_specification/

    This relies on setting well known GPT partition GUIDs, instead of parted's generic "Linux Data" GUID which more or less everything gets set to today (swap being a notable exception).

    My goal is to make it possible for applications like Anaconda to "do the right thing(tm)" with little to no effort when doing disk partitioning. This series aims to make that possible, while still retaining the current behaviour by default for the sake of backwards compatibility.

    With this series, a simple app usage might not need anything more than to opt-in to discoverable partitions with:

    from blivet.git import gpt_set_discoverable_partitions
    
    gpt_set_discoverable_partitions(True)
    

    Assuming the disk has 'gpt' disk label and the app is already passing 'mountpoint' to the blivet.new_partition() method then it will "just work" and pick the right GUID for the given mount point. The mountpoint parameter would historically only be needed if a format is requested with new_partition, but now it can be passed regardless so it can be forwarded onto the PartitionDevice constructor.

    The examples/partitioning.py script illustrates this, as does a comprehensive test at tests/vmtests/gpt_test.py

    If the app is more advanced and creating PartitionDevice instances directly instead of via the convenient blivet.py API entrypoints, then it will need to be changed to pass mountpoint to this object constructor too, but this is still hopefully fairly straightforward.

    Note that this functionality relies on pypartd exposing the type_uuid attribute on the Partition object. This is new functionality added to pyparted last month in https://github.com/dcantrell/pyparted/pull/95 Note pyparted only exposes this if compiled against a new enough parted. As a result some code additions in this series have 'hasattr' changes to attempt to gracefully degrade when the functionality is missing.

    Since this is my first time looking at Blivet code in any detail, its taken me a while to get my head around the design and expected usage patterns. I'm still not entirely confident in my understanding, but the examples/partitioning.py script is at least doing the right thing with this series of changes.

    Happy to have feedback on things I've overlooked / approached in the wrong/suboptimal way.

    opened by berrange 13
  • Tell lvm to ignore skip-activation flag on lvs we are removing or otherwise modifying. (#1766498)

    Tell lvm to ignore skip-activation flag on lvs we are removing or otherwise modifying. (#1766498)

    The problem is that we try to activate an lv in order to remove the formatting before destroying the lv, but the activation fails because the user set the lv to ignore activation commands.

    It is possible that we should be more cautious and possibly only pass ignore_skip=True when we're about to wipe the formatting. That would require setting up a generic mechanism for passing additional arguments, which seems quite disruptive given the problem.

    Opinions?

    opened by dwlehman 13
  • Include automatic and manual test documentation.

    Include automatic and manual test documentation.

    This is my first attempt to bring some test documentation to blivet before actually trying to write any more tests. Summary of changes:

    • modify existing Makefile target to include test documentation in the main document
    • add dependency on Graphviz which is used to create inheritance graphs for test cases (used to outline which are the base test classes in Blivet). WARNING: may break Red The Docs if they don't have graphviz installed. Possibly needs a BuildRequires change for the spec file as well.
    • update .gitignore
    • add tests/README.rst with basic description of blivet's test suite.
    opened by atodorov 13
  • Support legacy MBR (msdos) as part of UEFI to enable hybrid builds

    Support legacy MBR (msdos) as part of UEFI to enable hybrid builds

    The UEFI spec supports legacy MBR (msdos) in section 5.2 of the UEFI 2.7 spec [1]. There's a number of use cases where we might boot on a UEFI device but want to support, but not by default, the creation of images using legacy MBR partitions. One of these use cases is cloud images where we can produce a single image tha will run on UEFI supported, including secure-boot, clouds but also support AWS which only supports MBR partitioning schemes [2] and in the current config anaconda fails the install where this is a perfectly valid and widely supported deployment mechanism.

    So enable the ability to use legacy msdos partitioning schemes, but don't use it for default installs, so people may consume this mechanism using kickstarts rather than having the install fail for a valid use case.

    [1] https://uefi.org/sites/default/files/resources/UEFI%20Spec%202_7_A%20Sept%206.pdf [2] https://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html

    Signed-off-by: Peter Robinson [email protected]

    opened by nullr0ute 12
  • Please add f2fs multi-drive support

    Please add f2fs multi-drive support

    Hello! Please add multi-drive support for f2fs It is impossible to select manually partitioned disk without reformating by blivet (at least in Fedora) It does not support f2fs multidrive

    https://lkml.iu.edu/hypermail/linux/kernel/1611.1/01814.html

    enhancement 
    opened by user-name11111 0
  • Determine CPU architecture & choose appropriate algorithm for BTRFS partitions

    Determine CPU architecture & choose appropriate algorithm for BTRFS partitions

    This is indirectly related to the bugzilla issue Hardware without AES-NI: use xchacha12/Adiantum instead of AES-XTS.

    If the availability of AES-NI is checked to choose the most appropriate disk encryption (see the issue ticket), it might make sense to also check if the system is a 64 bit architecture.

    If the system is a 64 bit architecture, the performance and consistency of BTRFS partitions can be improved by choosing xxhash instead of CRC32c by default for BTRFS. On one hand, xxhash is usually faster than CRC32c on 64 bit architectures (I expect most installations are already on 64 bit hardware). On the other hand, xxhash's 64 bit are much more resistant to collisions when compared to CRC32c's 32 bit.

    Implementing the bugzilla ticket and the 64 bit-check together may save some work time, e.g. one function to get both information.

    opened by py0xc3 0
  • 3.4.3: pep517 based build and instyall places files in incorrect locations

    3.4.3: pep517 based build and instyall places files in incorrect locations

    Looks like it is some issue with pep17 based build. Content of the generated .whl archive

    [[email protected] dist]$ unzip -l blivet-3.4.3-py3-none-any.whl
    Archive:  blivet-3.4.3-py3-none-any.whl
      Length      Date    Time    Name
    ---------  ---------- -----   ----
         4986  02-01-2022 13:45   blivet/__init__.py
        14043  02-01-2022 13:45   blivet/actionlist.py
         9563  02-01-2022 13:45   blivet/arch.py
        46624  02-01-2022 13:45   blivet/blivet.py
         9454  02-01-2022 13:45   blivet/callbacks.py
        41757  04-29-2022 11:44   blivet/deviceaction.py
        79792  02-01-2022 13:45   blivet/devicefactory.py
        41238  02-01-2022 13:45   blivet/devicetree.py
         6303  02-01-2022 13:45   blivet/errors.py
         7768  02-01-2022 13:45   blivet/fcoe.py
         3716  02-01-2022 13:45   blivet/flags.py
         2436  02-01-2022 13:45   blivet/i18n.py
        22000  02-01-2022 13:45   blivet/iscsi.py
         6935  02-01-2022 13:45   blivet/mounts.py
        84871  02-01-2022 13:45   blivet/partitioning.py
         7233  02-01-2022 13:45   blivet/safe_dbus.py
         7154  02-01-2022 13:45   blivet/size.py
         2687  02-01-2022 13:45   blivet/storage_log.py
         3751  02-01-2022 13:45   blivet/threads.py
         3459  02-01-2022 13:45   blivet/tsort.py
        31981  02-01-2022 13:45   blivet/udev.py
        34721  02-01-2022 13:45   blivet/util.py
        14451  02-01-2022 13:45   blivet/zfcp.py
         1014  02-01-2022 13:45   blivet/dbus/__init__.py
         1982  02-01-2022 13:45   blivet/dbus/action.py
        10379  02-01-2022 13:45   blivet/dbus/blivet.py
         1732  02-01-2022 13:45   blivet/dbus/constants.py
         3154  02-01-2022 13:45   blivet/dbus/device.py
         2451  02-01-2022 13:45   blivet/dbus/format.py
         2971  02-01-2022 13:45   blivet/dbus/manager.py
         4683  02-01-2022 13:45   blivet/dbus/object.py
            0  02-01-2022 13:45   blivet/devicelibs/__init__.py
         1429  02-01-2022 13:45   blivet/devicelibs/btrfs.py
         2202  02-01-2022 13:45   blivet/devicelibs/crypto.py
         3521  02-01-2022 13:45   blivet/devicelibs/disk.py
        32101  02-01-2022 13:45   blivet/devicelibs/edd.py
         7685  02-01-2022 13:45   blivet/devicelibs/lvm.py
         1576  02-01-2022 13:45   blivet/devicelibs/mdraid.py
        24513  02-01-2022 13:45   blivet/devicelibs/raid.py
         1992  02-01-2022 13:45   blivet/devices/__init__.py
        23692  02-01-2022 13:45   blivet/devices/btrfs.py
         3726  02-01-2022 13:45   blivet/devices/cache.py
         7659  02-01-2022 13:45   blivet/devices/container.py
        12301  02-01-2022 13:45   blivet/devices/device.py
        25634  02-01-2022 13:45   blivet/devices/disk.py
        10118  02-01-2022 13:45   blivet/devices/dm.py
         5287  02-01-2022 13:45   blivet/devices/file.py
         6618  02-01-2022 13:45   blivet/devices/lib.py
         4458  02-01-2022 13:45   blivet/devices/loop.py
         8403  02-01-2022 13:45   blivet/devices/luks.py
       104781  02-01-2022 13:45   blivet/devices/lvm.py
        29633  02-01-2022 13:45   blivet/devices/md.py
         2087  02-01-2022 13:45   blivet/devices/network.py
         3031  02-01-2022 13:45   blivet/devices/nfs.py
         3743  02-01-2022 13:45   blivet/devices/nodev.py
         2871  02-01-2022 13:45   blivet/devices/optical.py
        38653  02-01-2022 13:45   blivet/devices/partition.py
         4820  02-01-2022 13:45   blivet/devices/raid.py
        30792  02-01-2022 13:45   blivet/devices/storage.py
            0  02-01-2022 13:45   blivet/events/__init__.py
         4285  02-01-2022 13:45   blivet/events/changes.py
        11201  02-01-2022 13:45   blivet/events/handler.py
        11418  02-01-2022 13:45   blivet/events/manager.py
        25419  02-01-2022 13:45   blivet/formats/__init__.py
         2225  02-01-2022 13:45   blivet/formats/biosboot.py
        22268  02-01-2022 13:45   blivet/formats/disklabel.py
         4031  02-01-2022 13:45   blivet/formats/dmraid.py
        48225  02-01-2022 13:45   blivet/formats/fs.py
         1573  02-01-2022 13:45   blivet/formats/fslib.py
        17959  02-01-2022 13:45   blivet/formats/luks.py
         7171  02-01-2022 13:45   blivet/formats/lvmpv.py
         4047  02-01-2022 13:45   blivet/formats/mdraid.py
         2903  02-01-2022 13:45   blivet/formats/multipath.py
         3619  02-01-2022 13:45   blivet/formats/prepboot.py
         7795  02-01-2022 13:45   blivet/formats/swap.py
           38  02-01-2022 13:45   blivet/populator/__init__.py
        20284  02-01-2022 13:45   blivet/populator/populator.py
         2493  02-01-2022 13:45   blivet/populator/helpers/__init__.py
         2712  02-01-2022 13:45   blivet/populator/helpers/boot.py
         4453  02-01-2022 13:45   blivet/populator/helpers/btrfs.py
         2082  02-01-2022 13:45   blivet/populator/helpers/devicepopulator.py
         9348  02-01-2022 13:45   blivet/populator/helpers/disk.py
         6349  02-01-2022 13:45   blivet/populator/helpers/disklabel.py
         2468  02-01-2022 13:45   blivet/populator/helpers/dm.py
         3992  02-01-2022 13:45   blivet/populator/helpers/dmraid.py
         4103  02-01-2022 13:45   blivet/populator/helpers/formatpopulator.py
         2590  02-01-2022 13:45   blivet/populator/helpers/loop.py
         6019  02-01-2022 13:45   blivet/populator/helpers/luks.py
        19727  04-29-2022 11:44   blivet/populator/helpers/lvm.py
         8471  02-01-2022 13:45   blivet/populator/helpers/mdraid.py
         2566  02-01-2022 13:45   blivet/populator/helpers/multipath.py
         2064  02-01-2022 13:45   blivet/populator/helpers/optical.py
         4678  02-01-2022 13:45   blivet/populator/helpers/partition.py
         2869  02-01-2022 13:45   blivet/populator/helpers/populatorhelper.py
          149  02-01-2022 13:45   blivet/static_data/__init__.py
         3523  02-01-2022 13:45   blivet/static_data/luks_data.py
         4047  02-01-2022 13:45   blivet/static_data/lvm_info.py
         2431  02-01-2022 13:45   blivet/static_data/mpath_info.py
         5359  02-01-2022 13:45   blivet/static_data/nvdimm.py
            0  02-01-2022 13:45   blivet/tasks/__init__.py
        20368  02-01-2022 13:45   blivet/tasks/availability.py
         1598  02-01-2022 13:45   blivet/tasks/dfresize.py
         5413  02-01-2022 13:45   blivet/tasks/fsck.py
         3085  02-01-2022 13:45   blivet/tasks/fsinfo.py
         3186  02-01-2022 13:45   blivet/tasks/fslabeling.py
         5790  02-01-2022 13:45   blivet/tasks/fsminsize.py
        10426  02-01-2022 13:45   blivet/tasks/fsmkfs.py
         6033  02-01-2022 13:45   blivet/tasks/fsmount.py
         3723  02-01-2022 13:45   blivet/tasks/fsreadlabel.py
         6128  02-01-2022 13:45   blivet/tasks/fsresize.py
         4838  02-01-2022 13:45   blivet/tasks/fssize.py
         2961  02-01-2022 13:45   blivet/tasks/fssync.py
         1784  02-01-2022 13:45   blivet/tasks/fstask.py
         2127  02-01-2022 13:45   blivet/tasks/fsuuid.py
         3362  02-01-2022 13:45   blivet/tasks/fswritelabel.py
         1949  02-01-2022 13:45   blivet/tasks/fswriteuuid.py
         3355  02-01-2022 13:45   blivet/tasks/lukstasks.py
         2885  02-01-2022 13:45   blivet/tasks/pvtask.py
         3333  02-01-2022 13:45   blivet/tasks/task.py
          400  02-01-2022 13:45   etc/dbus-1/system.d/blivet.conf
          113  02-01-2022 13:45   usr/lib/systemd/system/blivet.service
          364  02-01-2022 13:45   usr/libexec/blivetd
          106  02-01-2022 13:45   usr/share/dbus-1/system-services/com.redhat.Blivet0.service
        18092  04-29-2022 11:44   blivet-3.4.3.dist-info/COPYING
         3973  04-29-2022 11:44   blivet-3.4.3.dist-info/METADATA
           92  04-29-2022 11:44   blivet-3.4.3.dist-info/WHEEL
            7  04-29-2022 11:44   blivet-3.4.3.dist-info/top_level.txt
        10459  04-29-2022 11:44   blivet-3.4.3.dist-info/RECORD
    ---------                     -------
      1341519                     128 files
    
    opened by kloczek 1
  • Report error when trying to use uninitialized disk in device factory

    Report error when trying to use uninitialized disk in device factory

    When using uninitialized disks the factory fails with not enough free space for new device because without a partition table we fail to find a free space for a new partition. We should report that the disk has no partition table and cannot be used because of this.

    See #725 for RFE for supporting unpartitioned disks in the factory.

    opened by vojtechtrefny 1
Releases(blivet-3.6.1)
  • blivet-3.6.1(Nov 28, 2022)

    • misc: Remove "warn: false" from Ansible "command" (vtrefny)
    • spec: Change license string to the SPDX format required by Fedora (vtrefny)
    • Catch BlockDevNotImplementedError for btrfs plugin calls (vtrefny)
    • tests: document how to use the VM tests (berrange)
    • tests: allow filtering tests to run in VM (berrange)
    • tests: don't start/stop VM if it was already running (berrange)
    • tests: use correct password arg for SSH to VM (berrange)
    • tests: add logging to runvmtests.py (berrange)
    • Fix potential AttributeError when getting stratis blockdev info (vtrefny)
    • spec: Fix recommended libblockdev plugins (vtrefny)
    • tests: remove unused global variables (berrange)
    • Backport total_memory improvements from anaconda (vslavik)
    • Fix regex for checking e2fsprogs version (vtrefny)
    Source code(tar.gz)
    Source code(zip)
    blivet-3.6.1-tests.tar.gz(136.88 KB)
    blivet-3.6.1.tar.gz(897.42 KB)
  • blivet-3.6.0(Sep 20, 2022)

    • pylint: Explicitly allow loading the _ped module from pyparted (vtrefny)
    • ci: Run static analysis on Ubuntu 22.04 (vtrefny)
    • tests: Create bigger devices for XFS testing (vtrefny)
    • Set XFS minimal size to 300 MiB (vtrefny)
    • Fix missing whitespaces around not keyword (vtrefny)
    • Remove the Blivet.roots attribute (vponcova)
    • packit: Set downstream_package_name to python-blivet (vtrefny)
    • packit: Add srpm_build_deps for SRPM builds in Copr (vtrefny)
    • tests: Fix message when skipping stratis tests (vtrefny)
    • tests: Tell pytest to ignore symlinks when gathering test cases (vtrefny)
    • Configure ids for Mock devices in populator_test (vtrefny)
    • Add storage tests for Stratis (vtrefny)
    • ci: Fix installing targetcli on Debian/Ubuntu (vtrefny)
    • tests: Add test for creating and attaching cache pools (vtrefny)
    • tests: Add storage tests for more LVM RAID levels (vtrefny)
    • tests: Add test for ActionAddMember/ActionRemoveMember (vtrefny)
    • tests: Add a test for creating and attaching a cache pool (vtrefny)
    • Mark LVM cache pool format as immutable (vtrefny)
    • tests: Skip test_lvcreate_type on CentOS/RHEL 9 (vtrefny)
    • Add a YAML config for skipping tests on specified distributions (vtrefny)
    • Add targetcli to the test dependencies playbook (vtrefny)
    • Add a simple LVM test case that uses real storage (vtrefny)
    • Add a test case that creates targetcli disks to run tests on (vtrefny)
    • Allow running action_test even if some dependencies are missing (vtrefny)
    • Use "fake" names for disks in DeviceTreeTestCase (vtrefny)
    • Change how we import LoopBackedTestCase in fs_test (vtrefny)
    • Add information about the new test suites to tests/README.rst (vtrefny)
    • Makefile: Add targets to run the two new test suites separately (vtrefny)
    • Fix typo in name of test_new_encrypted_stratis (vtrefny)
    • Patch access to lvs in stratis tests (vtrefny)
    • Fix pylint issues in the tests/pylint scripts (vtrefny)
    • Make sure LVM unit tests can run without dependencies (vtrefny)
    • Patch _pre_create in StorageDeviceMethodsTestCase.test_create (vtrefny)
    • Assure that tests that set LVM devices filter can run without root (vtrefny)
    • Fix running StratisFactoryTestCase as a non-root user (vtrefny)
    • Split the test suite into "unit" and "storage" tests (vtrefny)
    • Add support for attaching and creating LVM writecached LVs (vtrefny)
    • Add support for enabling/disabling compression/deduplication (vtrefny)
    Source code(tar.gz)
    Source code(zip)
    blivet-3.6.0-tests.tar.gz(134.61 KB)
    blivet-3.6.0.tar.gz(893.90 KB)
  • blivet-3.5.0(Jul 19, 2022)

    • tests: Fix patching NVDIMM static data in populator_test
    • Ignore pylint false positives about missing methods in Gio and GLib
    • Ignore pylint warning about missing inspect.getargspec
    • Rename class ZFCPDevice to ZFCPDeviceFullPath
    • Move _is_associated_with_fcp() implementation to the derived class
    • Improve naming of zfcp classes/methods/functions
    • Correct zfcp comments and strings
    • Fix checking for stratis pool free space when adding a new filesystem
    • tests: Add a VM test case for Stratis
    • Use libblockdev to check for DBus service availability
    • Allow specifying size for stratis filesystems
    • tests: Skip Stratis DeviceFactory tests if missing dependencies
    • Use availability checks in devicelibs.stratis
    • Add external dependencies for Stratis devices classes
    • Add availability checks for Stratis dependencies
    • availability: Add a method to check for DBus service availability
    • Use the new Stratis tool to predict pool and fs used size
    • misc: Vagrantfile update
    • Add CentOS 9 Stream to the install-test-dependencies playbook
    • ci: Run static analysis checks in GitHub actions
    • doc: Add LVMWriteCache and LVMCachePoolMixin to public API
    • pylint: Remove deprecated pylint warnings from pylintrc and code
    • Add option to attach a newly created cache pool to existing LV
    • Add support for LVM RAID raid0 level
    • Do not fail when we can't get LVM cache information (#2086310)
    • Add a very simple NVMe module
    • Do not check for "problematic" disks in ActionList._pre_process
    • Change label_format_ok and uuid_format_ok to class methods
    • Generate correct dracut boot arguments for NPIV devices
    • Add new class for NPIV-enabled devices
    • LUN and WWPN should not be used for NPIV zFCP devices
    • Add a function for reading the value of a kernel module parameter
    • Allow to delete more than one SCSI device
    • Move offline_scsi_device() to the base class
    • Refactor the ZFCPDevice class
    • misc: Vagrantfile update
    • Do not crash when a disk populator doesn't return kwargs
    • Disable Fedora ELN builds in packit
    • Fix raising exception when trying to resize internal LVs
    • Create loop devices for tests with --partscan
    • Make sure configure actions obsolete only actions with same attribute
    • Fix exception message when trying to format an non-existing device
    • Add default arguments for mkntfs
    • Mark NTFS as supported
    • Do no try to read cache MD size for inactive LVs from cache stats
    • Show better error when using unitialized disk in do_partitioning
    • Exclude unusable disks from PartitionFactory
    • Mark StratisXFS format as unsupported
    • Adjust to Stratis 3.0 API
    • lvm: Use blivet static data when checking if the VG is active
    • examples: Add LVM cache pool example
    • Add suport for creating LVM cache pools
    • Do not run pvcreate with --devices and list of PVs
    • Fix object type for ActionConfigureDevice
    • Use subvolume mountpoints when listing btrfs subvolumes
    • Squashed 'translation-canary/' changes from 4d4e65b8..d6a40985
    • Fix log message for the LVM devices filter
    • Add support for creating standalone integrity devices
    • Use bigger chunk size for thinpools bigger than ~15.88 TiB
    • Fix removing zFCP SCSI devices
    • Add public functions to add/remove PV to/from the LVM system.devices
    • Ignore errors for LVM devices file actions
    • Make sure PVs are added/deleted to/from the LVM device file
    • Use LVM devices for filtering LVM devices with LVM >= 2.02.13
    • Switch LVM devices filter from "reject" to "accept" by default
    • tests: Mark "fake" disks in test_get_related_disks as non-existing
    • Set correct map name for existing LUKS devices
    • Do not raise deprecated IOError from iscsi and fcoe modules
    • Remove unused flag multipath
    • Do not add device name as a parameter for errors.DeviceError
    • Add stratis filesystem metadata size and pool free space
    • Fix parameters differ from overridden in StratisPoolDevice
    • Fix/unify importing mock module in stratis tests
    • Add fstab options for Stratis Filesystem devices
    • Add MountClass for StratisXFS filesystem
    • Add Stratis devices and formats to the public API documentation
    • Hide the private LUKS device for unlockded Stratis pools
    • Add property with list of Stratis block devices to StratisPoolDevice
    • Set pool info on the block devices when adding/removing Stratis pool
    • Set the StratisBlockdev format status based on whether it has a pool or not
    • Add more tests for creating Stratis devices
    • Add support for creating encrypted Stratis devices with DeviceFactory
    • Add support for working with locked Stratis pools
    • Add support for creating encrypted Stratis pools
    • Add Stratis device factory
    • Mark format on Stratis pool devices as immutable
    • Add Stratis example
    • Add simple test case for Stratis
    • Add basic support for creating Stratis devices
    • Add a special "XFS Stratis" filesystem for Stratis filesystem devices
    • Avoid circular depency when in static_data/stratis_info.py
    • Add dracut setup args for Stratis devices
    • Add support for removing Stratis devices using DBus API
    • Add basic support for Stratis devices
    • Ignore all "private" devices during populate
    • safe_dbus: Add function to get all properties for an interface
    • Add support for renaming devices using ActionConfigureDevice
    Source code(tar.gz)
    Source code(zip)
    blivet-3.5.0-tests.tar.gz(126.70 KB)
    blivet-3.5.0.tar.gz(883.65 KB)
  • blivet-3.4.4(May 16, 2022)

    • Use LVM PV format current_size in LVMVolumeGroupDevice._remove (vtrefny)
    • Correctly set vg_name after adding/removing a PV from a VG (vtrefny)
    • Do not crash when changing disklabel on disks with active devices (vtrefny)
    • ActionDestroyDevice should not obsolete ActionRemoveMember (vtrefny)
    • Correctly set compression and deduplication for existing VDO pools (vtrefny)
    • Correctly cancel configure actions in cancel() (vtrefny)
    • Set partition flags after setting parted filesystem (#2033875) (vtrefny)
    Source code(tar.gz)
    Source code(zip)
    blivet-3.4.4-tests.tar.gz(124.07 KB)
    blivet-3.4.4.tar.gz(851.79 KB)
  • blivet-3.4.3(Feb 1, 2022)

  • blivet-3.4.2(Sep 30, 2021)

    • pylint: Remove pdb breakpoint in device_properties_test (vtrefny)
    • pylint: Fix exception string in get_cow_sysfs_path (vtrefny)
    • pylint: Remove redundant 'u' prefixes for strings in doc/conf.py (vtrefny)
    • pylint: Ignore the "redundant-u-string-prefix" warning in i18n.py (vtrefny)
    • pylint: Ignore the new warning W1514 "unspecified-encoding" (vtrefny)
    • pylint: Fix multuple unused variables 'e' in exceptions (vtrefny)
    • Makefile: Specify weblate repository branch for the potfile target (vtrefny)
    • flags: Fix leaking file descriptor (vtrefny)
    • README: Add info about our openSUSE/Mageia/OpenMandriva Copr repo (vtrefny)
    • Fix checking for LVM VDO support with libblockdev 2.23 and older (vtrefny)
    • tasks: Allow specifying custom error message for UnavailableMethod (vtrefny)
    • Use setuptools instead of distutils in setup.py (vtrefny)
    • Use shutil.which instead of distutils.spawn.find_executable (vtrefny)
    • Do not use FS.mount for btrfs temporary mounts (vtrefny)
    Source code(tar.gz)
    Source code(zip)
    blivet-3.4.2-tests.tar.gz(123.96 KB)
    blivet-3.4.2.tar.gz(838.09 KB)
  • blivet-3.4.1(Aug 19, 2021)

    • pylint: Ignore deprecation warning about threading.currentThread (vtrefny)
    • Fix getting PV info in LVMPhysicalVolume from the cache (vtrefny)
    • Fix ActionRemoveMember requires check (#1993655) (vtrefny)
    • util: Ignore false positive assignment-from-no-return warning in ObjectID (vtrefny)
    • tasks: Ignore pylint arguments-differ warning for do_tasks (vtrefny)
    • Remove unused __save_passphrase member from LUKS_Data (vtrefny)
    • size: Ignore new pylint warning "arguments-renamed" (vtrefny)
    • Do not use deprecated (vtrefny)
    • Remove unused member __names from DeviceFactory (vtrefny)
    • Improve error message printed for missing dependecies (vtrefny)
    • tests: Print version and blivet location when running tests (vtrefny)
    • tests: Allow running tests without the tests directory in PYTHONPATH (vtrefny)
    • edd_test: Locate the edd_data based on the test file location (vtrefny)
    • Run Anaconda tests on blivet pull requests (jkonecny)
    • Do not set chunk size for RAID 1 (vtrefny)
    • When sorting devices make sure partitions are sorted correctly (vtrefny)
    • Make sure LVM config is updated before running pvcreate (vtrefny)
    • Tell LVM to ignore the new devices file for now (vtrefny)
    • Revert "Use PARTITION_ESP flag for EFIFS partitions (#1930486)" (vtrefny)
    • Fix resolving devices with names that look like BIOS drive number (vtrefny)
    • Ignore pylint false positive no-member warning (vtrefny)
    • Fix util.virt_detect on Xen (vtrefny)
    • Fix/unify importing mock module in tests (vtrefny)
    • Convert LVM filter lists to sets (vtrefny)
    • Remove action device from LVM reject list (vtrefny)
    • Fix activating old style LVM snapshots (vtrefny)
    • Make sure the device is setup before configuring its format (vtrefny)
    • Remove RHEL 9 specific patch from SPEC (vtrefny)
    • Use package list instead of cycle in our dependencies Ansible playbook (vtrefny)
    • Add vagrant file for running tests and development in a VM (vtrefny)
    • Update our playbook for installing test dependencies (vtrefny)
    • Add example for working with actions (vtrefny)
    • Add LUKS encrypted LV to LVM example (vtrefny)
    • Add example for LVM thin provisioning (vtrefny)
    • Squashed 'translation-canary/' changes from 3bc2ad68..4d4e65b8 (vtrefny)
    Source code(tar.gz)
    Source code(zip)
    blivet-3.4.1-tests.tar.gz(123.96 KB)
    blivet-3.4.1.tar.gz(829.01 KB)
  • blivet-3.4.0(May 7, 2021)

    • Fix setting SELinux flag in SELinuxContextTestCase (vtrefny)
    • Allow running blivet without Python SELinux module (vtrefny)
    • Adapt to dosfstools 4.2 FAT label changes (vtrefny)
    • Add LVM VDO to public API (vtrefny)
    • Add a special exception type for LVM inconsistent sector sizes (vtrefny)
    • Remove the "encryption_passphrase" attribute from Blivet class (vtrefny)
    • Use PARTITION_ESP flag for EFIFS partitions (#1930486) (vtrefny)
    • Provide better error message for LVM with inconsistent sector sizes (vtrefny)
    • Avoid AttributeError for DiskLabel formats without disklabel type (vtrefny)
    • Ignore ArithmeticError when trying to align partition size down (vtrefny)
    • Do not log entire exception when trying to get ISCSI initiator name (vtrefny)
    • Fix running BlivetLVMVDODependenciesTest test case as non-root (vtrefny)
    • Remove EDD test logs after the tests finish (vtrefny)
    • Replace IOError with OSError around file operations (vslavik)
    • spec: Add 'make' to BuildRequires (vtrefny)
    • Fix usage of assert_called_with in lvm_test (vtrefny)
    • apply directory's SELinux context to freshly created mount points (rmetrich)
    • Try to get Btrfs volume UUID using libblockdev if UDev lookup fails (vtrefny)
    • Allow removing LVM VDO devices without VDO support (vtrefny)
    • Sync spec with downstream (vtrefny)
    • Use real paths to Python site packages (vponcova)
    • Fix excessive logging in udev.__is_ignored_blockdev (vtrefny)
    • Make sure we use size >= LVM VDO min size in test_lv_unique_name (vtrefny)
    • Replace pocketlint by a custom script (vtrefny)
    • Fix pylint errors in translation canary (jkonecny)
    • Bump required libblockdev version to 2.24 (vtrefny)
    • Fix external dependencies for LVM VDO devices (vtrefny)
    • Use better description for libblockdev plugins in tasks.availability (vtrefny)
    • Set minimum size for LVM VDO pool devices (vtrefny)
    • Add LVM VDO documentation (vtrefny)
    • Add LVM VDO example (vtrefny)
    • Add nodiscard option by default when creating VDO logical volumes (vtrefny)
    • Allow adding nodiscard option when running mkfs (vtrefny)
    • Add VM test for LVM VDO (vtrefny)
    • Add LVM VDO device factory (vtrefny)
    • Allow creating LVM VDO pools and volumes using "blivet.new_lv" (vtrefny)
    • Add support for creating LVM VDO pools and LVM VDO volumes (vtrefny)
    • Add "vdo_lv" property to LVMVDOPoolMixin (vtrefny)
    • Read the LVM VDO pool current size from the internal data LV (vtrefny)
    • Add availability functions for LVM VDO (vtrefny)
    • Add VDO pool data LV to internal LVs during populate (vtrefny)
    • Fix type of LVM VDO logical volumes (vtrefny)
    Source code(tar.gz)
    Source code(zip)
    blivet-3.4.0-tests.tar.gz(123.80 KB)
    blivet-3.4.0.tar.gz(821.36 KB)
  • blivet-3.3.3(Feb 18, 2021)

  • blivet-3.3.2(Jan 14, 2021)

    • Fix "suggest_container_name" for Anaconda (vtrefny)
    • Add test for util.get_sysfs_attr (vtrefny)
    • Use util.get_sysfs_attr in __is_ignored_blockdev to read device mode (vtrefny)
    • Fix possible UnicodeDecodeError when reading sysfs attributes (vtrefny)
    • Update LUKS device name after parent partition name change (vtrefny)
    • TFT is still broken so let's avoid failures by just doing a build (jkonecny)
    • Fix logging information about ignoring hidden devices (vtrefny)
    • Add __repr__ and __str__ methods to ParentList (vtrefny)
    • Make sure LV name is unique when adding it in device factory (vtrefny)
    • In name checks add name which is already in use to error message (vtrefny)
    • Refactor suggest device/container name functions (vtrefny)
    • Remove an unused attribute from the Blivet class (vponcova)
    • Add PyPI build artifacts to .gitignore (vtrefny)
    • Sync spec with downstream (vtrefny)
    Source code(tar.gz)
    Source code(zip)
    blivet-3.3.2-tests.tar.gz(114.89 KB)
    blivet-3.3.2.tar.gz(809.69 KB)
  • blivet-3.3.1(Oct 20, 2020)

    • Make sure the product name is safe when using it for device name (vtrefny)
    • Run packit RPM builds on Fedora ELN (vtrefny)
    • Allow specifying 'mode' for the sdist command (vtrefny)
    • Enable packit RPM builds on pull requests (vtrefny)
    • Start the iscsi-init service (#1880673) (vponcova)
    • Let parted fix fixable issues with partition table (vtrefny)
    • edd: Fix UnboundLocalError when trying to close fd in collect_mbrs (vtrefny)
    • Use UnusableConfigurationError for partially hidden multipath devices (vtrefny)
    • Close fd if it fails to read the device (nashok)
    • Do not run udev.settle in StorageDevice._pre_teardown (vtrefny)
    • Try to not use udev.resolve_devspec when querying MountsCache (vtrefny)
    • Remove Zanata config file (vtrefny)
    • Ignore new pylint warning W0707 "raise-missing-from" (vtrefny)
    • Use SSH "link" for l10n repository in Makefile (vtrefny)
    • Fix source tarball cleanup in srpm and rpm Makefile targets (vtrefny)
    Source code(tar.gz)
    Source code(zip)
    blivet-3.3.1-tests.tar.gz(114.37 KB)
    blivet-3.3.1.tar.gz(803.32 KB)
  • blivet-3.3.0(Aug 20, 2020)

    • Account for pmspare grow when adjusting thinpool metadata size (vtrefny)
    • Fix ignoring disk devices with parents or children (vtrefny)
    • Terminology cleanup, part 3 (vtrefny)
    • Terminology cleanups, part 2. (dlehman)
    • Clean up some terminology. (dlehman)
    • Add tests for udev.device_get_name for RAID devices (vtrefny)
    • Fix name resolution for MD devices and partitions on them (vtrefny)
    • Fix reading hidden sysfs attribute (vtrefny)
    • Add support for specifying sector size for LUKS 2 devices (vtrefny)
    • Do not ignore unknown/unsupported device mapper devices (vtrefny)
    • Allow specifying custom hash function for LUKS 2 format (vtrefny)
    • Ignore devices marked as hidden in sysfs (#1856974) (vtrefny)
    • Add basic F2FS support (#1794950) (vtrefny)
    • Make safe_device_name device type specific (vtrefny)
    • Add exFAT to filesystems we recognize (vtrefny)
    • Use xfs_db in read-only mode when getting XFS information (vtrefny)
    • Add support for checking and fixing XFS using xfs_repair (vtrefny)
    • Ignore zRAM devices in VMBackedTestCase (vtrefny)
    • Add tests for XFS resize (vtrefny)
    • Add support for XFS format grow (vtrefny)
    • Typo fix (vtrefny)
    • tests: Skip test_reset when running as non-root (vtrefny)
    • tests: Patch LVM availability functions for some tests (vtrefny)
    • tests: Patch LVM lvs call for some non-LVM tests (vtrefny)
    • Do not propagate ped exception from add_partition (vtrefny)
    • Do not use BlockDev.utils_have_kernel_module to check for modules (vtrefny)
    • set allowed disk labels for s390x as standard ones (msdos + gpt) plus dasd (dan)
    • Do not use FSAVAIL and FSUSE%% options when running lsblk (vtrefny)
    • Rewrite README and add it as a long_description in setup.py (vtrefny)
    • Round down to nearest MiB value when writing ks parittion info. (sbueno+anaconda)
    • Add _teardown method to IntegrityDevice (vtrefny)
    • Fix status for DM Integrity format (#1814005) (vtrefny)
    • udev: Add function to get list of device's holders (vtrefny)
    • Add basic support for LVM writecache devices (vtrefny)
    • Add test for SwapSpace max size (vtrefny)
    • Do not limit swap to 128 GiB (vtrefny)
    • Fix possible UnicodeDecodeError when reading model from sysfs (vtrefny)
    • Add install_requires and classifiers to setup.py (vtrefny)
    • Import setuptools in setup.py to make bdist_wheel work (vtrefny)
    • Set device.original_format to the new format in ActionCreateFormat (vtrefny)
    • Fix resizable property for partitions (vtrefny)
    • Update TODO. (dlehman)
    • Ignore pycodestyle warning E741 (vtrefny)
    • Skip test_mounting for filesystems that are not mountable (vtrefny)
    • Sync specfile with downstream (japokorn)
    • Make extended partitions resizable (vtrefny)
    • Fix LV min size for resize in test_action_dependencies (vtrefny)
    • Fix checking for filesystem support in action_test (vtrefny)
    • Add basic support for LVM VDO devices (vtrefny)
    • Update POT file in the Weblate repo during "make potfile" (vtrefny)
    • Skip translation canary check if POT file is not available (vtrefny)
    • Add blivet-weblate repository as a submodule (vtrefny)
    • Remove Zanata from our build process (vtrefny)
    • Remove po folder (vtrefny)
    • More consistent lvm errors (API break) (japokorn)
    • Added support for device tags (japokorn)
    Source code(tar.gz)
    Source code(zip)
    blivet-3.3.0-tests.tar.gz(114.30 KB)
    blivet-3.3.0.tar.gz(790.54 KB)
  • blivet-3.2.2(May 21, 2020)

    • Allow setting size for non-existing LUKS devices (vtrefny)
    • Fix toggling container encryption in devicefactory (#1827254) (vtrefny)
    • Do no include destroyed devices in list of names (#1830515) (vtrefny)
    • Fix changing LUKS version in devicefactory (#1834373) (vtrefny)
    • Add "is_empty" property to StorageDevice (vtrefny)
    • Mark warning "'GError' has no 'message' member" as false positive (vtrefny)
    • Use the specified LUKS version for container encryption (vponcova)
    • Log current storage state before reset using lsblk (vtrefny)
    • Do not remove _netdev mount option specified manually by users (vtrefny)
    • Fix renaming encrypted devices in the DeviceFactory (vtrefny)
    • Fix typo in string formatter in EddEntry (vtrefny)
    Source code(tar.gz)
    Source code(zip)
    blivet-3.2.2-tests.tar.gz(108.44 KB)
    blivet-3.2.2.tar.gz(768.57 KB)
  • blivet-3.2.1(Apr 6, 2020)

  • blivet-3.2.0(Jan 29, 2020)

    • Align base sizes up if smaller than min I/O size. (dlehman)
    • Make minimal and optimal alignment getters public. (dlehman)
    • Add support for relabeling of the swap format (vtrefny)
    • Define the 'relabels' method for all formats (vtrefny)
    • Add support for LVMPV format resize (vtrefny)
    • Add a new "id_path" attribute for iSCSI and FCoE disks (vtrefny)
    • Do not load module when creating an FS instance (vtrefny)
    • Add a simple script for running tests manually (vtrefny)
    • Remove unused API code (jkonecny)
    • devicetree.names is now a property (japokorn)
    • initial PowerNV class support (dan)
    • Use LUKS2 by default (vponcova)
    Source code(tar.gz)
    Source code(zip)
    blivet-3.2.0-tests.tar.gz(107.80 KB)
    blivet-3.2.0.tar.gz(764.04 KB)
Pytorch reimplementation of the Mixer (MLP-Mixer: An all-MLP Architecture for Vision)

MLP-Mixer Pytorch reimplementation of Google's repository for the MLP-Mixer (Not yet updated on the master branch) that was released with the paper ML

Eunkwang Jeon 18 Dec 08, 2022
Code release for NeurIPS 2020 paper "Co-Tuning for Transfer Learning"

CoTuning Official implementation for NeurIPS 2020 paper Co-Tuning for Transfer Learning. [News] 2021/01/13 The COCO 70 dataset used in the paper is av

THUML @ Tsinghua University 35 Sep 23, 2022
🐸STT integration examples

🐸 STT 0.9.x Examples These are various examples on how to use or integrate 🐸 STT using our packages. It is a good way to just try out 🐸 STT before

coqui 92 Dec 19, 2022
Basit bir burç modülü.

Bu modulu burclar hakkinda gundelik bir sekilde bilgi alin diye yaptim ve sizler icin kullanima sunuyorum. Modulun kullanimi asiri basit: Ornek Kullan

Special 17 Jun 08, 2022
Subdivision-based Mesh Convolutional Networks

Subdivision-based Mesh Convolutional Networks The official implementation of SubdivNet in our paper, Subdivion-based Mesh Convolutional Networks Requi

Zheng-Ning Liu 181 Dec 28, 2022
This example implements the end-to-end MLOps process using Vertex AI platform and Smart Analytics technology capabilities

MLOps with Vertex AI This example implements the end-to-end MLOps process using Vertex AI platform and Smart Analytics technology capabilities. The ex

Google Cloud Platform 238 Dec 21, 2022
Multi-Stage Progressive Image Restoration

Multi-Stage Progressive Image Restoration Syed Waqas Zamir, Aditya Arora, Salman Khan, Munawar Hayat, Fahad Shahbaz Khan, Ming-Hsuan Yang, and Ling Sh

Syed Waqas Zamir 859 Dec 22, 2022
Torchreid: Deep learning person re-identification in PyTorch.

Torchreid Torchreid is a library for deep-learning person re-identification, written in PyTorch. It features: multi-GPU training support both image- a

Kaiyang 3.7k Jan 05, 2023
PyTorch implementation of SQN based on CloserLook3D's encoder

SQN_pytorch This repo is an implementation of Semantic Query Network (SQN) using CloserLook3D's encoder in Pytorch. For TensorFlow implementation, che

PointCloudYC 1 Oct 21, 2021
Official implementation of the NeurIPS'21 paper 'Conditional Generation Using Polynomial Expansions'.

Conditional Generation Using Polynomial Expansions Official implementation of the conditional image generation experiments as described on the NeurIPS

Grigoris 4 Aug 07, 2022
codes for paper Combining Dynamic Local Context Focus and Dependency Cluster Attention for Aspect-level sentiment classification

DLCF-DCA codes for paper Combining Dynamic Local Context Focus and Dependency Cluster Attention for Aspect-level sentiment classification. submitted t

15 Aug 30, 2022
A crossplatform menu bar application using mpv as DLNA Media Renderer.

Macast Chinese README A menu bar application using mpv as DLNA Media Renderer. Install MacOS || Windows || Debian Download link: Macast release latest

4.4k Jan 01, 2023
EZ graph is an easy to use AI solution that allows you to make and train your neural networks without a single line of code.

EZ-Graph EZ Graph is a GUI that allows users to make and train neural networks without writing a single line of code. Requirements python 3 pandas num

1 Jul 03, 2022
Implementation of Memory-Compressed Attention, from the paper "Generating Wikipedia By Summarizing Long Sequences"

Memory Compressed Attention Implementation of the Self-Attention layer of the proposed Memory-Compressed Attention, in Pytorch. This repository offers

Phil Wang 47 Dec 23, 2022
Keras attention models including botnet,CoaT,CoAtNet,CMT,cotnet,halonet,resnest,resnext,resnetd,volo,mlp-mixer,resmlp,gmlp,levit

Keras_cv_attention_models Keras_cv_attention_models Usage Basic Usage Layers Model surgery AotNet ResNetD ResNeXt ResNetQ BotNet VOLO ResNeSt HaloNet

319 Dec 28, 2022
PyTorch implementation of some learning rate schedulers for deep learning researcher.

pytorch-lr-scheduler PyTorch implementation of some learning rate schedulers for deep learning researcher. Usage WarmupReduceLROnPlateauScheduler Visu

Soohwan Kim 59 Dec 08, 2022
50-days-of-Statistics-for-Data-Science - This repository consist of a 50-day program

50-days-of-Statistics-for-Data-Science - This repository consist of a 50-day program. All the statistics required for the complete understanding of data science will be uploaded in this repository.

komal_lamba 22 Dec 09, 2022
This repository contains the exercises and its solution contained in the book "An Introduction to Statistical Learning" in python.

An-Introduction-to-Statistical-Learning This repository contains the exercises and its solution contained in the book An Introduction to Statistical L

2.1k Jan 02, 2023
Easily benchmark PyTorch model FLOPs, latency, throughput, max allocated memory and energy consumption

⏱ pytorch-benchmark Easily benchmark model inference FLOPs, latency, throughput, max allocated memory and energy consumption Install pip install pytor

Lukas Hedegaard 21 Dec 22, 2022
🎃 Core identification module of AI powerful point reading system platform.

ppReader-Kernel Intro Core identification module of AI powerful point reading system platform. Usage 硬件: Windows10、GPU:nvdia GTX 1060 、普通RBG相机 软件: con

CrashKing 1 Jan 11, 2022