Category Archives: Tools

FUDCon Blacksburg: sysadminSG, Fedora Infrastructure, pam_otp and more!

Well, FUDCon Blacksburg has come and gone. I believe it was the most productive I’ve been at a FUDCon EVER! I was able to get quite a bit accomplished and much more than I had planned!

What was it that I did, you ask? Well let me tell you all of the tasks I was able to complete.

System Administration Study Group

Over the past year, I’ve been working on a way to do a regular free study group for those who want to improve their system administration skills, get certified, or just brush up on something they didn’t quite understand.

Enter sysadminSG, a self-guided tour of many of the standard tasks any system administrator should know. The main goal was to create an instance of a Fedora 14 machine for studiers to use.

Some of the tasks on the study sheets indicate certain issues that would need to be resolved which can’t be resolved without a ‘master’ instance. I was able to recruit a couple of excellent individuals to help get this further than I thought it would. Jon Stanley and Ivan Makfinsky helped put together many of the pieces which will help studiers get more done. Specifically, an ldap server for centralized authentication and iscsi target luns for use with LUKS encryption, LVM and disk partitioning.

Fedora Infrastructure

I attended the Fedora Infrastructure session, where we covered two major things of concern. One was removing the puppet staging branch and moving everything into ‘Production’. This is a mental shift for many, but makes sense because in truth, everything maintained from an infrastructure perspective is production.

Additionally, a longer term plan of being able to spin up ‘staging’ environments for any new things that will go into production looks to be the direction we’ll be going. Many of the applications we have in Fedora require some work to get us to this point, mostly so they can be more atomic pieces. I think a proof of concept environment will provide us with an good idea of how much work will be involved.

pam_otp

After the Fedora Infrastructure hackfest, there was a two-factor authentication hackfest. We discussed using Yubikeys and a unique PIN together for authentication within Fedora. The initial goal was determined to setup sudo authentication for sysadmin-main group with two-factor authentication.

Nathaniel McCallum found the pam_otp library and was able to get it to compile. He passed it on to me to test and document it, which I was able to get working after a drunk night by the fire. I was then able to document the usage of it and have a test rpm that we’ll be using.

All in all, it was a very productive weekend and more work will be getting done over the next few weeks as well. It’s all very exciting and fun, a really good reason for attending FUDCon!

Cheers,

Herlo

GoOSe Project: Progress toward Skein 2.0

As some of you may already know, I’ve been a part of this enterprise rebuild project for a while now and things have been going pretty well. Recently, though, I’ve made some good progress on our import and build tool, skein.

Skein’s goal is provide easy functionality for rebuilding SRPMS from upstream and import them into github, where they can be built using our koji instance. The process is actually easier than one might think:

  • skein request – Request a particular repository be setup on our github organization for the specified package. The package itself should be able to be requested from the SRPM, but that feature is not yet available.
  • skein query – To verify the request has been placed, this shows the open queries (by default).
  • skein show – For a particular request, show the detail of who requested and the purpose of such a request.
  • skein grant – Only an admin can grant the repository. Only members of the admin team on our github organization can grant the repository.
  • skein extract – Once granted, the SRPM can be extracted and placed into two basic directories:
    • /path/to/package/lookaside/ – contains the archive from the SRPM, usually a tar, tar.gz or zip file. The contents of this directory can then be pushed to the lookaside cache.
    • /path/to/package/git/ – contains the spec file, any patches and other sources that are not archives. A Makefile and sources file are also generated along with a .gitignore to provide useful functionality during the koji build

Other functionality is currently under development:

  • skein push – Once extracted and committed to the git repository, this pushes the git commits to github.
  • skein upload – Once extracted, this uploads the content of the lookaside directory to the lookaside cache at pkgs.gooselinux.org.
  • skein import – A combination of skein extract, push and upload, since that seems fairly logical.
  • skein build – Albeit mostly complete, it will need to be tested with an SRPM that has been run through this process.

I took a few minutes the other day and created a video of the completed process. I post this here for others to use for their benefit, but also so I can have it in another place besides my laptop.

Skein video

Cheers,

Herlo

Fedora Infrastructure will soon have fpaste-server

Today, I deployed the latest fpaste-server package on a development box within Fedora Infrastructure.

Test fpaste-server

I’d like to get some folks to hit it and do some testing. If you have time, I would love it if you could take a moment, read below and help.

On the development server

To help, just point your browser to http://paste01.dev.fedoraproject.org/ and add some pastes. In fact, it should be pretty sturdy. If you do happen to find a bug, please file it on our fedorahosted.org Trac instance.

Roll your own

Another way to help is to install your own instance of fpaste-server. I’ve posted some simple installation instructions for anyone who is interested.

We are always looking for helpers to make fpaste-server better. Please contact me (herlo AT fedoraproject doT Org) if you are interested in helping improve or maintain this simple and fun project.

Cheers,

herlo

Packaging Update: pydf now in Fedora

Recently, my friend beandog introduced me to pydf. After playing with it for a couple of days, I decided I liked it enough that I packaged and included into Fedora. (If you are interested in other packages I maintain, you can check them out here.)

What is pydf?

$ yum info pydf

Name             : pydf
Arch               : noarch
Version          : 9
Release         : 3.fc15
Size                : 14 k
Repo              : updates
Summary       : Fully colorized df clone written in python
URL                : http://kassiopeia.juls.savba.sk/~garabik/software/pydf/
License          : Public Domain
Description   : pydf displays the amount of used and available space on your file systems,
: just like df, but in colors. The output format is completely customizable.

I was also able to send in a patch for the python 2.4 version to the upstream author. He was very happy to receive and apply the fix. The patch is also available in the source rpm.

A nice looking screenshot of the output from pydf is below:

Cheers,

herlo

Introducing Silver

I thought a few of you might be interested in a project I’ve recently started, called Silver.

Today, I released version 0.2. Silver is a full-fledged development environment built on one machine built purely in Python. Silver (formerly PyCamps) is inspired by the Perl based DevCamps project created by EndPoint. The idea is simply to make it easy for developers to have their own little environments to build web applications.

Silver is built to enable work on several projects in small, reusable areas, called camps. Focused on web applications, Silver helps to make quick and easy-to-manage environments. Each camp uses version control, and gives the developer ultimate control. Silver enables an easy workflow for quality assurance, integration testing and deployment to production for each project in similar workflows.

Building a camp is simple, easy and very flexible for both corporate and community projects. I’d like to get some feedback on Silver and am looking forward to continuing work toward more power and flexibility.

More information can be found by reading the documentation at http://projects.purpleatom.com/silver/0.2/index.html. Silver also has a github repository if you’d like to try to set it up.

Tell me what you think! It is of course open source, with an MIT license, and I am hoping some of you will join up and help the project grow!

If you are interested, please join the Silver Project google group and let’s build the awesomest development environment of the future, with Python!

Cheers,

Herlo

Fpaste-Server: The new hotness of pastebins

If you have been on the internet for a while, you probably have seen or been told to use a pastebin when submitting large amounts of text or code in IRC. If not, you may have used a pastebin to show your buddy the code you are working through and getting advice.

My point…

PASTEBINS ARE EVERYWHERE

One of the pastebins that has been in use for a very long time is http://fpaste.org and the focus of my post today. Essentially, the Fedora community tends to use fpaste.org over other pastebins as it has a bunch of nice features and it’s Fedora branded. About 2 months ago, I was asked by Jonathan Steffan (aka daMaestro) if I would be interested in packaging fpaste.org’s code and get it into Fedora infrastructure (FI). I accepted that challenge.

As Jonathan will tell you, the code was hacked together over a weekend at a coffee shop. Thus, it needed a bit of clean-up to make things work without including libs from other projects (a big no-no when packaging a Fedora rpm). After a few weeks of clean-up and back-and-forth with Jonathan, fpaste-server was born. That was the first big step to get fpaste-server into FI.

Fpaste-Server is comprised of many other packages. Since I wasn’t the maintainer on many of them, I worked with the amazingly awesome Dave Riches (dcr226) to get django-mptt, django-tracking, django-simple-captcha and django-dpaste into the EPEL repositories for both EL5 and EL6. Dave was not only helpful, but went above and beyond to complete these builds. Thank you, sir!

Over the past month, I’ve been really busy, prepping for my wedding and what not, but found some time recently to finish the package builds of fpaste-server. The packages are all approved, save for el5 which was submitted this morning. This was the second big step to get fpaste-server into FI.

This week, and after my honeymoon, I plan to finish up the work to get fpaste-server into FI. All that’s really left is to get django-tracking into EPEL6.

If you haven’t tried fpaste-server yet, you should. It’s a pretty cool and stable pastebin, it’s also very hackable. Changing out the background to fit your own logos and such is very simple. Please comment here if you find any bugs or issues, have questions or comments.

Cheers,

Herlo

 

Firefox – set browser.tabs.insertRelatedAfterCurrent to false

I honestly hate that the default function in Firefox is to open a tab from a link right next to my current tab. I suppose others have their idiosynchratic preferences, but this one is mine!

To fix it, in both Firefox 3 or Firefox 4, type ‘about:config‘.

Next, search for ‘browser.tabs.insertRelatedAfterCurrent‘, set the value to ‘false’ as shown below.

This tip is brought to you by the number 4 and the letter F.

Cheers,

Herlo

On wireless and media, FUDCon Tempe configuration begins

Today, I’m sitting around the lobby at the fabulous Courtyard Marriott after a nice morning of listening to the fire alarm tests.  It seems silly to me that anyone would allow the fire alarm to go off at 7:30 in the $%^&* morning at a hotel!  Come on people, do the tests in the afternoon.  The good part, however, is that the train right next to our room is no big deal and I slept right through the horns and vibrations.  Even our 7 month-old slept through the night, YAY!

Today I’m heading over to the Brickyard Artisan Courtyard to test out the wireless access and make sure proper ports are open.  I’m certain to run into issues, but I’m planning on making sure ssh is open for sure.  If you have a particular port you want opened, please comment here or ping ‘herlo’ in irc before noon MST.

I’m also in charge of printing the Fedora Media and have brought a ton for FUDCon attendees.  Watch for the media to be out near the registration tables and take a copy or three.  I’m sure your friends back at home would love for you to share the love, so make sure you get plenty!

I’m ready for FUDCon Tempe, are you!?

Cheers,

Herlo

Presenting at UTOSC 2010

Hi all,

Well, as you probably know, I am the originator and current manager of the Utah Open Source Conference.  As it turns out, this year, I am also presenting on a topic I’ve been working on for quite some time.  If you haven’t already, register for the conference and come see my presentation.

I’m presenting FreeSeeR: Capturing audio and video on the cheap, a talk about recording audio and video using completely free software and the best hardware at the lowest prices.

Also, all of our conference presentations this year are going to be recorded using FreeSeer.  This will be a fun and exciting experiment as FreeSeeR has been proven to work well in a conference environment.

I’m really excited to be sharing this information and meeting friends old and new.  I sure hope you can make it to the conference and possibly my presentation as well.

Cheers,

Herlo

Fedora Activity Days 1-3 – A ‘Frank (aka Francis) the Fedora pwnie’ report

It appears to me that the weekend in Raleigh went rather well.  Even with the difficult weather conditions on Saturday into Sunday morning, I feel the result was a ‘smashing’ success!  There were so many things being accomplished that I couldn’t keep track of them all.  I will try to make a fairly complete list of the events of the weekend, and what we accomplished overall.

Friday, January 29 — Day 1

Gathered at Red Hat’s main office, we brainstormed in a manual ‘tag cloud’ kind of way.  Mel had us all take sticky notes, write upon them based upon a few words on the white board and then, stick them to said white board appropriately.  This got our minds going about what a FUDCon or FAD should be, why it was important and the things that could really be improved.  I felt very happy about the amount of ideas that were shared on these sticky notes.  it was quite cathartic to get out the things that always had bugged me or I thought needed improvement in our Events.  I have a few pictures of us doing this process, enjoy them.

After spending about 1.5 hours doing this and discussing it, we broke into separate groups, the FUDCon 2.0 folks (upstairs) and FUDCon Live folks, aka me, Yaakov, and the freeseer folks online (downstairs).  My main target was to get the freeseer application working with completely free software and build the AV Kit from components I had, plus the ones that Mel had purchased for this project.

After getting downstairs with Dennis Gilmore (he was my helper for the first hour), we quickly discovered that one component, the Epiphan vga2usb device, was not working.  After a bit of digging, we also discovered that it had a non-free driver and that it would likely not be easy to find a free driver alternative.  We did, however, attempt to build the binary they provided, but kept getting errors.  More on this later on (or in another post), so stay tuned.

I spent the next few hours trying to get everything else up and running, doing research to find a different alternative for video output from a VGA source to USB input.  heffer joined us on IRC and gave me some good links as to where I might look for a Scan Converter and a easyCAP device.  While a little lower quality, the Linux drivers for it are completely open and free, so I set out with a plan to find one in Raleigh.

At 4pm, Max and I headed out on the town, hunting down several items, including firewire PCMCIA adapters (for our miniDV camera) and the Scan Converter components.  We needed to get a screw driver and some other firewire adapter stuff too, we headed to CompUSA. Though normally I wouldn’t go there, but this CompUSA had actually been converted from a Tiger Direct, so I thought we had a chance.  After about 1.5 hours of failure, we ended up with two firewire cards and some audio cables, we headed off to see Avatar in 3D.

Saturday, January 30 — Day 2

After leaving Avatar, we discovered a nice big blanket of snow had come down in Raleigh.  Just 2-3 inches, and in Utah, we’d think nothing of this, but here it’s quite a bit different.  First off, North Carolina doesn’t seems to have the infrastructure, no plows or ice melt, to really deal with something like this kind of storm.  There were news reports of it on every station, the Governor called for a state of emergency, and I just thought it was odd.  Because of this, it was determined that we would not leave the hotel for Day 2 of the FAD.  Instead, we reserved a room in the hotel and worked from there.  Luckily, the hotels infrastructure, plus the Days Inn next door provided us with our networking needs, while Max stayed at his apartment and called in using Fedora Talk.

My work was to spend as much time with the FreeSeeR folks and do tons and tons of testing of their code, plus provide feedback and gstreamer pipelines to get us closer and closer to our eventual goal.  Thanh had spent a lot of time while we were at Avatar to turn FreeSeeR into an API.  He also altered the code to put the gui into a more sensible tool, with both Qt and Gtk implementations.

About half way through the day, I discovered that I had accidentally left my power adapter for my audio mixer in Max’s car (he was 15 minutes way with no snow and at least 25 with), essentially eliminating my high quality audio testing.  Luckily Chris Tyler had a headset with a microphone and Dennis Gilmore had a webcam we could use because the firewire cards were a bit flaky and kept crashing my kernel.

By the end of the night, with some tweaking by Dennis and I, we had FreeSeeR working with DV input, USB video input, 1/4″ audio input and were able to output to an ogg file with reasonable quality and consistency.  A lot of testing later, and we were able to determine that we still needed to tweak some of the code to provide for a better way to adjust audio and video settings prior to recording.  All in all, the FreeSeeR software is coming along very nicely.  Andrew Ross and Thanh Ha have been doing an amazing job and I really appreciate their help working on getting this working.  The new version of FUDCon Live thanks you as well, because without this, we won’t be able to provide our users with a good quality remote experience.

Sunday, January 31 — Day 3

The sun is shining, but for some reason, the roads are still not that clear.  Several cars are still having difficulty climbing the incline out of the Best Western to the main road, which is now melting, but still very snow covered.  Today, we discover that we’ve met one major part of our goals, the Fedora Pony has been created!!  We must thank Robyn Bergeron for creating, Frank, the Fedora Pwnie.  Now mind you, Francis is really her name, but she’s such a tomboy that, well, you just can’t call her that, she doesn’t enjoy it too much.  So we call her Frank.

In addition to our major goal above of a Pony, the FUDCon Live team has done some amazing work.  Yaakov has been working on the FUDCon Live document with Mel, while I was working with the FreeSeeR guys to get their git repo moved over to fedorahosted.org, which is awesome!  I’ve been given commit and sponsor rights to the repo, so we’ll start getting more developers involved right away.  Have a look at the screenshots of the GUI if you’d like to see what FreeSeeR can do.

Jon Stanley and I discussed the possibility of moving fedorahosted.org over to gitolite, and discovered that Jesse Keating has been experimenting with it himself, so this might be something we can do in the near future.  While we currently appear to use gitosis, gitolite gives us the ability to set ACLs on a particular branch, which then can help keep the master branch cleaner.  To help illustrate this, there’s a very great article on nvie.com which explains a git branching system which can really make development and commits very clean and easy to track.  Gitolite can help with this, so I’m going to be experimenting with it this coming week.

I spent the rest of the day writing up the AV Kit wiki page along with Mel.  I stubbed it out, and she added a big section regarding the modules in the AV Kit.  I then rewrote much of that to cover the two styles of AV Kit we’ll be building over the next month or two.  In fact, I plan to have one complete in time for the Marketing FAD in March, where they can use and test it out.  I really hope to get some good feedback on it and improve FreeSeeR some more using these upcoming events as testing grounds.

Currently, I’m on a plane which I didn’t think would take off tonight, headed home for Salt Lake City.  I’m excited to see my sweetie and get some much needed sleep.  As much as I enjoy hanging out with my Fedora friends and working on projects like this, it really wears me out.  I’m ecstatic at the amount of work we accomplished though, and am very appreciative to Paul, Jon, Chris, Denis, Dave, Mel and Max, plus all the folks online for their hard work this weekend.

FUDCon 2.0 is alive and kicking, FUDCon Live will make it just that much better.  Watch for upcoming posts in the near future regarding FreeSeeR and the Fedora AV Kit and how everything is going to work.

Cheers,

Herlo