From 6585ca1b4ec2bbd91711a3952146114727320ab8 Mon Sep 17 00:00:00 2001 From: David Lehman Date: Thu, 10 Jul 2014 17:33:52 -0500 Subject: [PATCH 2/6] Establish the basic layout of the site. --- data/authors.yml | 5 +++ data/navigation.yml | 7 ++-- source/about.html.haml | 64 +++++++++++++++++++++++++++++ source/blog.html.haml | 4 +- source/blog/2013-11-06-hello-world.html.md | 11 ----- source/blog/2014-06-26-blivet.html.markdown | 23 +++++++++++ source/blog/2014-07-08-blivet.html.md | 21 ++++++++++ source/development.html.haml | 36 ++++++++++++++++ source/index.html.haml | 64 ++++++++++++----------------- source/layouts/_subhead.haml | 9 ---- source/layouts/post.html.haml | 4 +- 11 files changed, 181 insertions(+), 67 deletions(-) create mode 100644 source/about.html.haml delete mode 100644 source/blog/2013-11-06-hello-world.html.md create mode 100644 source/blog/2014-06-26-blivet.html.markdown create mode 100644 source/blog/2014-07-08-blivet.html.md create mode 100644 source/development.html.haml delete mode 100644 source/layouts/_subhead.haml diff --git a/data/authors.yml b/data/authors.yml index 5baae9d..2b52141 100644 --- a/data/authors.yml +++ b/data/authors.yml @@ -1,6 +1,11 @@ admin: name: Administrator +dlehman: + name: David Lehman + description: | + Original author of blivet, now an aspiring web developer. + example: name: Example Author Name twitter: example_twitter_person diff --git a/data/navigation.yml b/data/navigation.yml index ae0bf86..177cb05 100644 --- a/data/navigation.yml +++ b/data/navigation.yml @@ -1,5 +1,4 @@ - Home: "/" -- Source Code: "https://github.com/dwlehman/blivet" -- Docs: "http://dlehman.fedorapeople.org/blivet-docs/" -- Contributing: "/contributing" -#- Blog: /blog/ +- About: "/about" +- Development: "/development" +- Blog: "/blog" diff --git a/source/about.html.haml b/source/about.html.haml new file mode 100644 index 0000000..050b4cc --- /dev/null +++ b/source/about.html.haml @@ -0,0 +1,64 @@ +--- +title: About +--- + +%h2 About Blivet + +%p + Blivet is a free, open-source python module for configuring storage on Linux. + It was originally written as the storage backend for Anaconda -- the OS + installer used by + %a(href="http://fedoraproject.org") Fedora + and + = succeed ',' do + %a(href="http://www.redhat.com/products/enterprise-linux/") Red Hat Enterprise Linux + among others. + +%p + The main thing that makes Blivet stand apart from other storage configuration + tools is the ability to model an arbitrarily large set of changes in memory + without changing anything on disk. This makes it possible to specify your full + configuration before ever changing anything on disk instead of applying + changes as you define each layer. + +%p + Another powerful feature of Blivet is its DeviceFactory class hierarchy, which + allows creation of full device stacks with a single method call using a + top-down specification. + +%p + Blivet also features a powerful partitioning engine that can allocate new + partitions based on flexible specifications. + +%h2 Related Projects + +%ul + %li + %a(href="https://fedoraproject.org/wiki/Anaconda") Anaconda + = surround '(',')' do + %a(href="https://git.fedorahosted.org/git/anaconda.git") git + is the + %a(href="http://fedoraproject.org") Fedora + and + %a(href="http://www.redhat.com/products/enterprise-linux/") Red Hat Enterprise Linux + OS installer. + + %li + Pykickstart + = surround '(',')' do + %a(href="https://git.fedorahosted.org/git/pykickstart.git") git + is a python module that provides the functionality known as kickstart. + + %li + Libblockdev + = surround '(', ')' do + %a(href="https://github.com/vpodzime/libblockdev") git + is a new library being written to provide a mid-level storage API to be + shared by tools like Blivet, + = succeed ',' do + %a(href="http://www.openlmi.org") OpenLMI + = succeed ',' do + %a(href="http://cockpit-project.org") Cockpit + and others. It is still in a relatively early stage in its development, but + should be fully functional by the end of this summer. + diff --git a/source/blog.html.haml b/source/blog.html.haml index 80a78b2..1405c0d 100644 --- a/source/blog.html.haml +++ b/source/blog.html.haml @@ -1,10 +1,8 @@ --- -title: Red Hat Community News +title: News pageable: true --- %section.container.blog-archive - %h2 Red Hat Community News - = partial :blog_posts, locals: locals diff --git a/source/blog/2013-11-06-hello-world.html.md b/source/blog/2013-11-06-hello-world.html.md deleted file mode 100644 index 2b6868c..0000000 --- a/source/blog/2013-11-06-hello-world.html.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: hello world -date: 2013-11-06 09:20 UTC -author: Springboard -tags: ---- - -You can add another blog post with: - - bundle exec middleman article "your article title" - diff --git a/source/blog/2014-06-26-blivet.html.markdown b/source/blog/2014-06-26-blivet.html.markdown new file mode 100644 index 0000000..f8ae54d --- /dev/null +++ b/source/blog/2014-06-26-blivet.html.markdown @@ -0,0 +1,23 @@ +--- +title: Introduction +date: 2014-06-26 14:21 CDT +published: false +author: dlehman +--- + +In this first post I want to give a quick introduction to Blivet. + +Blivet is a python module for configuring storage on Linux. It is also the +storage backend for Anaconda -- the Fedora OS installer. That's where +Blivet came from, so anything you've done with storage while installing +Fedora (since Fedora 11) is something Blivet can do. + +It can create and manage LVM, MD, LUKS, BTRFS, and a whole slew of other +storage technologies. + +It can model a series of operations so you can tweak your layout before +changing anything on disk. + +It also includes a set of classes for specifying new devices based on a top- +down specification, so you can go from an empty disk to an encrypted LVM +setup using thin provisioning with a single method call. diff --git a/source/blog/2014-07-08-blivet.html.md b/source/blog/2014-07-08-blivet.html.md new file mode 100644 index 0000000..6e0761c --- /dev/null +++ b/source/blog/2014-07-08-blivet.html.md @@ -0,0 +1,21 @@ +--- +title: Overview of Blivet's Architecture +slug: blivet-architecture-overview +date: 2014-07-08 +published: false +author: dlehman +--- + +There are four primary building blocks: device, format, action, and devicetree. +Each block device is represented by an instance of StorageDevice. The format of +the data on that device is represented by an instance of DeviceFormat. Any +change to a device or format is represented by an instance of DeviceAction. The +collection of devices is represented by an instance of DeviceTree. To schedule a +change to a device (create, destroy, resize) or its formatting (create, resize, +destroy) you instantiate an instance of the appropriate class and then register +that action with the devicetree. Once this is done, the tree will appear as if +the action had already been performed. That means devices scheduled for creation +are visible in the tree and devices scheduled for destruction are no longer in +the tree once the action has been registered. This can go on until you have the +full configuration you want, at which point you tell blivet to process the +action queue. This is where the changes are actually written to disk. diff --git a/source/development.html.haml b/source/development.html.haml new file mode 100644 index 0000000..66d21f0 --- /dev/null +++ b/source/development.html.haml @@ -0,0 +1,36 @@ +--- +title: Development +pageable: true +--- + + +%h2 Source Code + +Blivet's source code is hosted on += succeed '.' do + %a(href="https://github.com/dwlehman/blivet/") GitHub + + +%h2 Documentation + +Documentation is currently hosted on += succeed '.' do + %a(href="http://blivet.readthedocs.org") readthedocs.org + +API documentation is available += succeed '.' do + %a(href="http://dlehman.fedorapeople.org/blivet-docs/modules.html") here + + +%h2 Contributing + +Pull requests are accepted, as are git-generated patches sent to +anaconda-patches@lists.fedorahosted.org for review. + + +%h2 Major Planned Features + +%ul + %li System event handling (uevents initially) + %li Creation of LVM RAID (We can already recognize and use these.) + diff --git a/source/index.html.haml b/source/index.html.haml index ac408db..e215cd5 100644 --- a/source/index.html.haml +++ b/source/index.html.haml @@ -2,8 +2,6 @@ pageable: true --- - - - content_for :head do %link(href="/blog/feed.xml" rel="alternate" title="Atom feed" type="application/atom+xml") @@ -14,58 +12,48 @@ pageable: true #about - Blivet is a free & open source python module for management of a - system's storage configuration. It a reliable and powerful tool for - dealing with the complexity and inconsistency of storage technologies - in an elegant and simplified way. - -%h2 Supported Storage Technologies & File Systems + Blivet is a free & open source python module for configuring system storage + on Linux. It provides powerful modeling capabilities along with a simple, + seamless interface for managing all of your favorite storage technologies. + = succeed '.' do + %a(href="/about") Learn more + +%h2 Features + +%ul + %li Modeling of changes before committing to disk + %li Easy configuration of complex device stacks using a top-down specification + %li Powerful disk partitioning functionality + +%h2 Supported Storage Technologies #tech %ul %li LVM - %li BTRFS - %li XFS + %li MD + %li LUKS %ul - %li EXT 2/3/4 - %li VFAT - %li LVM Thin Provisioning + %li XFS + %li EXT4 + %li BTRFS %ul - %li Fibre Channel - %li DASD - %li FCoE - %ul - %li CCISS - %li BIOS RAID - %li MD RAID - %ul - %li Multipath devices - %li SANs + %li Firmware RAID + %li SAN + %li Mainframe + #featuring .feature.python %a{href: "http://python.org"} - Written in Python. + %img{src: "/images/logo-python.png"} .feature.lgpl %a{href: "https://www.gnu.org/licenses/lgpl-2.1.html"} - LGPL 2+ licensed. + %img{src: "/images/logo-lgpl.png"} .feature.fedora %a{href: "http://fedoraproject.org"} - Part of the Fedora Project. - -/ - .row - - %section.blog-posts - - %section.container - - %h2 - = data.site.name - News + %img{src: "/images/logo-fedora.png"} - = partial :blog_posts, locals: locals diff --git a/source/layouts/_subhead.haml b/source/layouts/_subhead.haml deleted file mode 100644 index fb27a1d..0000000 --- a/source/layouts/_subhead.haml +++ /dev/null @@ -1,9 +0,0 @@ -%header#subhead - = image_tag('/images/blivet-graphic.png') - - - if data.site.subhead - %h2#site-title - = data.site.subhead - - %a{href: "https://github.com/dwlehman/blivet"} - %button.btn.button-primary.btn-lg{type: "button"} Get the Source diff --git a/source/layouts/post.html.haml b/source/layouts/post.html.haml index ccfdb28..9c17e13 100644 --- a/source/layouts/post.html.haml +++ b/source/layouts/post.html.haml @@ -14,7 +14,6 @@ - else = yield - -# .col-sm-4 %aside @@ -22,7 +21,7 @@ %ol - blog.articles[0...10].each do |article| %li - = link_to article.title, article + = link_to article.title, article.url %span= pretty_date(article.date) %h3 Tags @@ -33,6 +32,7 @@ = link_to tag, tag_path(tag) (#{articles.size}) + / %h3 By Year %ol - blog.articles.group_by {|a| a.date.year }.each do |year, articles| -- 1.9.3