Candlepin 0.5.5 released

Candlepin

It’s that time again, another release of Candlepin and associated projects available for your enjoyment. With this release we have subscription-manager in Fedora as well as a debut build of Thumbslug.

For more information on Candlepin, please visit: http://candlepinproject.org/

Features & Enhancements

subscription-manager

  • added support for host registration and guest association when host can not register itself
  • virt-who work to handle ESX guests
  • subscription-manager available in fedora

candlepin

  • build modified to use the tito hotness instead of bunch of disjoint bash scripts
  • disable manifest rules import
  • added support for host registration and guest association when host can not register itself

thumbslug

  • added appropriate init scripts to run as a service
  • uses Candlepin CRL
  • thumbslug talks to akamai
  • created puppet module for katello

Bugs fixed

subscription-manager

705883 Fix error dialog modal issues.
719743 Improved text output for successful pool subscription
740788 Getting error with quantity subscribe using subscription-assistance page.
746259 Don’t allow the user to pass in an empty string as an activation key
746732 Only use fallback locales for dates we need to parse
749332 Normalize the error messages for not being registered
749636 Client should not support users entering activation keys and existing consumer ids
752572 add interval logging statements back in on rhsmcertd startup
753093 The available subscriptions count does not show correctly in Subscription Manager GUI
754821 Default org of “Unknown” was not marked for gettext
755031 Unregister before attempting to run a second registration
755035 Migration script should work on RHEL 5.7 and up.
755130 add extra whitespace to classic warning
755541 Enhanced the message in the katello plugin to debug when the backend system does not support environments.
756173 Unexpected behavior change in subscription-manager unregister
756507 do not use output from “getlocale” as input for “setlocale”
758471 install-num-migrate-to-rhsm threw traceback when no instnum was found.
759199 rhsmcertd is logging the wrong value for certFrequency

candlepin

753093 The Available Subscriptions count do not show correctly in Subscription Manager GUI
754841 Implement DELETE /pools/id.
754843 Fix legacy virt bonus pools missing pool_derived.
755677 Activation Keys should not check quantity on unlimited pools
756628 Translate missing rule errors.
758462 ensure job detail isn’t null, skip it.

thumbslug

759607 update url for subscriptions handler

Download & Setup

Make sure you read over the Candlepin Setup Guide, which is located at https://fedorahosted.org/candlepin/wiki/Setup.

As well as the Headpin Install Guide which can be found at https://fedorahosted.org/candlepin/wiki/headpin/Install

Just give me the bits already! You can get the various bits at the urls below.

Candlepin:
http://repos.fedorapeople.org/repos/candlepin/candlepin/

Thumbslug:
http://repos.fedorapeople.org/repos/candlepin/thumbslug/

Headpin:
http://repos.fedorapeople.org/repos/katello

Subscription Manager:
http://repos.fedorapeople.org/repos/candlepin/subscription-manager/

Candlepin 0.4.16 released.

Another sprint gone by and another release of Candlepin for your enjoyment. Candlepin 0.4.16 is ready. You can get the bits at:

http://repos.fedorapeople.org/repos/candlepin/candlepin/

Make sure you read over the Setup Guide, which is located at
https://fedorahosted.org/candlepin/wiki/Setup

For more information on Candlepin, please visit our project page.

Features & Enhancements

client

  • A number of GUI changes
    • Center the machine type column header
    • Move quantity column to the end
    • Center the Arch column header
    • Center tree view table properties
    • Add ‘* Click to Adjust Quantity’ label to places allowing editable subscription quantity
    • New icons for red/green
    • Add virt_only attribute to subscription detail pane
    • Display subscription assistant’s subscriptions as a tree
    • Double click or button press (enter, return, space) on row will expand/collapse row
    • Update to All Available Subscriptions tab to put stacked subscriptions under parent node
    • Moved multi-entitlement column (*) next to the quantity column
    • Made the contract selector a little wider so all columns were visible (no manual resize)
  • Initial work done for the healing feature
    • Changes to rhsmcertd to support healing frequency (part I)
    • Add autoheal option to certmgr.py
    • Only autoheal when required
    • Use server-side consumer autoheal flag
  • Misc items
    • Update the strings and the remote server location
    • Make “make stylish” run all the checks, make whitespace “pop”
    • Update translations
    • managerlib was expecting a single ent_cert, but we return a list
    • Add a “refresh” method to cert_sorter
    • Add a require_connection callback to commands

server

  • upgraded to RESTEasy 2.2.1GA
  • export virt entitlements to non-candlepin consumers
  • refactored pinsetter to work in clustering mode
  • add new api to query jobs by owner, principal, consumer uuid

Bugs fixed

707641 CLI auto-subscribe tries to re-use basic auth credentials
712047 yum prints non-error messages when running in quiet mode
718052 Remove owner from consumer resource return codes. Only use the term org.
730020 Change the help text to show that config can list or set changes
731577 API to query jobs by owner, principal, consumer uuid.
731996 SQL Error when using REST query for events
732538 Disallow the relationship between a ‘person’ pool and an activation key
734174 Add missing produces annotations for role resource.
734880 Handle bundled certs in the installed produict status.
734606 ImportFileExtractor now creates cert/key files based on serial number of the cert
735087 If quartz is in clustered mode, we shouldn’t schedule any jobs.
735226 Importing should fail without a valid key and cert
735338 Subscription Manager CLI tool does not allow unsubscribe when not registered.
735695 add support for multiple config “–remove” options via cli
736166 move certs from subscription-manager to python-rhsm
736784 config –remove add config property to rhsm.conf if it doesn’t exist.
737841 Handle dates beyond 2038 on 32-bit systems.

Candlepin 0.4.11 released

Candlepin 0.4.11 has been released. You can get the bits at:

http://repos.fedorapeople.org/repos/candlepin/candlepin/

Make sure you read over the Setup Guide, which is located at
https://fedorahosted.org/candlepin/wiki/Setup

For more information on Candlepin, please visit our project page.

Features & Enhancements

client

  • group subscriptions based on stacking attribute in the following screens:
    • subscriptions page
    • compliance assistant
    • view available subscription page
  • the cli and gui now denote the state of the subscription: Subscribed, Partially Subscribed, Expired or Not Subscribed.
  • Nag messages now denote the ‘Partially Subscribed’ state.
  • registration with multiple activation keys now supported
  • list --available now shows if a subscription is multi-entitle capable
  • GUI shows an asterisk to denote a subscription is multi-entitle capable
  • config command added to cli enabling editing of the configuration values
  • client tries to optionally heal the system to keep it properly subscribed.

server

  • the list of consumer’s installed product IDs are now stored
  • the candlepin job status stable now stores the consumer uuid for async bind.
  • configuration added to disable batch jobs on a particular node
  • Moved the translations to fedora.zanata.org

Bugs fixed

729780 non-existent secure objects throw a 404 instead of a 403.
708058 Server 500 error thrown when user auto-subscribes and has no entitlements
728622 Inconsistent enable config entries
728624 Activation keys are successfully being created with invalid chars
728636 Duplicate activation key error is hard to decipher
729125 Adding pools to an activation key should fail when quantity totalQuantity for a multi-entitlement pool
729070 Adding pools to an activation key should be blocked when specifying a quantity>1 for a non-multi-entitlement pool
728721 NullPointerException thrown when registering with an activation key bound to a pool that requires_consumer_type person.
729066 remove logging statement to avoid filling up logs.

tig + mutt = commit review

I spend some of my time reviewing team members commits. Typically I’d use the RSS feed from Google Reader, but it doesn’t have the actual diff to comment on.

Most of the time I use tig to view
the commits. And instinctively I’d want to email the author with my comments, so here’s how to do that. I’m sure there are easier commands but this is what worked for me, your experience may vary.

First thing I did was create a git alias which is useful by itself. It outputs the commit to a temp file, then gets the title and the author’s email address from the same commit passing that to mutt.

[alias]
    ...
    prepmail = !sh -c 'git show $1 > /tmp/commit && mutt -s \"`git show --pretty=format:\"%s\" $1 | head -n 1`\" -i /tmp/commit -- \"`git show --pretty=format:\"%ae\" $1 | head -n 1`\"' -

Now I want to be able to press a key in tig at the diff screen to reply to the author’s commit.

Simply bind a key, in my case I bound s in the diff view to call git prepmail with the commit’s SHA1.

In your $HOME/.tigrc add the following line. Checkout the tigrc man page for more information.

bind diff s !git prepmail %(commit)

Now in the diff view press ‘s’ and tig will launch mutt with the appropriate information.

The email shows up first:

Followed by the email’s subject, notice it matches the commit’s message.

And finally, the diff as an email body allowing you to comment on the changes
to the author.

So a simple git alias in $HOME/.gitconfig, a key binding for $HOME/.tigrc, and you can now review commits using tig. Enjoy!

sm-photo-tool release – 1.20

Version 1.20 of sm-photo-tool is ready to go. You can download it from github: http://github.com/jmrodri/sm-photo-tool/downloads.

The following are new configuration options:

  • square thumbs
  • hide owner
  • world searchable
  • smug searchable
  • sort method
  • max size option added to create

Bugs fixed:

  • If filename ends with +, append instead of overwriting log file
  • prompt for password if not in config file
  • invalid login no longer throws a stack trace

Thanks got Lloyd Cha for contributing the fixes for this release.

prompting for password

can I have a do over?

The next webapp I write, I think I’m going with some of the new hotness: NoSQL datastore, RESTful API, and Ruby. On a recent project I chose to use a RESTful API which I really like, but it definitely changes how you think of things coming from the XML-RPC way of doing APIs, but I still like its simplicity.

Unfortunately, I went with Java as the implementation instead of something like python or Ruby, and looking back I don’t know why I did that. I should know by now that python and Ruby are much easier to work with than Java has proven to. Hell even the build environment is a pain: ant – write xml build file from scratch, maven – reminds me of make with lot’s of pom.xml files, or buildr – ruby based maven replacement, annoys all Java people. If I had a do over on this I’d choose Ruby as the implementation language.

Since we’re using Java and needed a database we went with Hibernate. If I had to redo this decision, I most certainly would’ve gone with a NoSQL datastore like MongoDB or CouchDB, this way I could avoid the annoying mapping of domain model to relational tables which is highly annoying.

So if you’re planning a new webapp avoid the boring, traditional webapp design of using a relational database with ORM and compiled languages :)

To C or Ruby that is the question :)

I’m trying to decide whether to pick up C again (as it’s been almost 13 years since I’ve done it) or Ruby. I’ve spent the last 13 years in the Java world, as of late I’ve been working with python as much as humanly possible. Ruby keeps me in the web side of things, but C would open up a bunch of Linux opportunities which I find interesting. I know one of my friends would say neither go for Erlang :)

</thinking>

sm-photo-tool bug fix release – 1.19

sm-photo-tool had a problem where it would no longer upload pictures to your smugmug.com account, a bug of this magnitude pretty much renders a photo uploader useless :) I fixed the upload issue and at the same time switched it from using a HTTP POST with multipart encoded data to HTTP PUT. Uploads are now FASTER!

You can download version 1.19 here: http://github.com/jmrodri/sm-photo-tool/downloads

Evil Robot Conference (no robots allowed)

On Saturday, I attended the Evil Robot Conference held at Red Hat HQ.

I got there a bit late, but I caught the tail end of Clinton Ebadi’s talk on “UnCommon Web: A Common Lisp Tale of Continuations, Multimethods,
Metaclasses, and Web Applications”. While Lisp can be hard to understand, what you can do with it from a web programming perspective made Java webapps look quite lame considering the amount of code you have to write to make them do anything.

Had lunch at El Cerro with Kevin Smith, from Hypothetical Labs, and a few other folks attending the conference. A good time was had by all, and the salsa was quite spicy but oh so good today :)

After lunch, I sat through Dan DeMaggio’s “Anti-databases (NoSQL): Where they came from and where they’re going”. I learned a lot of alternatives to the old school single database setup. There’s a lot of cool stuff out there for this such as redis, Cassandra, couchdb, BigTable.

Dan’s talk was followed by Kevin’s “Intro to Erlang” which was most excellent as well. Kevin seemed very comfortable talking and definitely knows his stuff. Great job!

Last but not least, I got to hear what BRTFS was from Josef Bacik. Very cool stuff, most of the time I forget how much cool stuff goes into OS development compared to the webapps I do for a living.

All in all, it was a great day long conference. I hope we can make it at least a yearly event.

PS. Sorry I missed your talk Max :) and thanks for the donuts.