<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.sysutils.bcfg2.devel">
    <title>gmane.comp.sysutils.bcfg2.devel</title>
    <link>http://blog.gmane.org/gmane.comp.sysutils.bcfg2.devel</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4531"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4528"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4523"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4521"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4516"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4515"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4510"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4508"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4504"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4503"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4486"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4473"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4466"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4462"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4452"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4450"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4447"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4450"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4447"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4450"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4531">
    <title>Problem with BDStats and MySQL</title>
    <link>http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4531</link>
    <description>&lt;pre&gt;Hello,
I hope this is the correct place to ask for help for a relative newbie. If
not, please let me know.

Having searched the archives, I don't see this specific problem addressed.
I am sure it is something simple I am missing.

I configured bcfg2-server to use BDStats plugin. I want to use a MySQL
database for flexibility. I have the database configured, tables creates,
packages installed, and /etc/bcfg2.conf edited. When I try to start the
bcfg2 daemon the status ends up "bcfg2-server dead but pid file exists".
When I don't daemonize:

root&amp;lt; at &amp;gt;server ~&amp;gt;bcfg2-server
Traceback (most recent call last):
  File "/usr/sbin/bcfg2-server", line 71, in ?
    ca=setup['ca'],
  File "/usr/lib/python2.4/site-packages/Bcfg2/Component.py", line 61, in
run_component
    component = component_cls(cfile=cfile, **cls_kwargs)
  File "/usr/lib/python2.4/site-packages/Bcfg2/Server/Core.py", line 94, in
__init__
    self.init_plugins(plugin)
  File "/usr/lib/python2.4/site-packages/Bcfg2/Server/Core.py", line 166,
in init_plugins
    mod = getattr(__import__("Bcfg2.Server.Plugins.%s" %
  File "/usr/lib/python2.4/site-packages/Bcfg2/Server/Plugins/DBStats.py",
line 14, in ?
    import Bcfg2.Server.Reports.importscript
  File
"/usr/lib/python2.4/site-packages/Bcfg2/Server/Reports/importscript.py",
line 30, in ?
    from Bcfg2.Server.Reports.updatefix import update_database
  File
"/usr/lib/python2.4/site-packages/Bcfg2/Server/Reports/updatefix.py", line
152, in ?
    _fixes = [_merge_database_table_entries,
  File
"/usr/lib/python2.4/site-packages/Bcfg2/Server/Reports/updatefix.py", line
126, in _remove_table_column
    cursor.execute(sql)
  File "/usr/lib/python2.4/site-packages/django/db/backends/mysql/base.py",
line 84, in execute
    return self.cursor.execute(query, args)
  File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 173,
in execute
    self.errorhandler(self, exc, value)
  File "/usr/lib64/python2.4/site-packages/MySQLdb/connections.py", line
36, in defaulterrorhandler
    raise errorclass, errorvalue
_mysql_exceptions.ProgrammingError: (1064, 'You have an error in your SQL
syntax; check the manual that corresponds to your MySQL server version for
the right syntax to use near \'"t_backup" (\n    "id" integer NOT NULL
PRIMARY KEY,\n    "client_id" integer NOT \' at line 1')

This does not appear to be a permissions issue, as far as I can tell. I
think I have all the required packages installed:
Django
Version    : 1.1.4
Release    : 1.el5
python-simplejson
Version    : 2.0.9
Release    : 8.el5
mod_python
Version    : 3.2.8
Release    : 3.1
mod_wsgi
Version    : 3.2
Release    : 2.el5
MySQL-python
Version    : 1.2.3
Release    : 0.1.c1.el5

mysql-server
Version    : 5.0.95
Release    : 1.el5_7.1

mysql
Version    : 5.0.95
Release    : 1.el5_7.1
Some of those are only required for the web stuff, which I will be
configuring later.

I am running this on:
root&amp;lt; at &amp;gt;server ~&amp;gt;lsb_release -a
LSB Version:
:core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarch
Distributor ID: RedHatEnterpriseServer
Description:    Red Hat Enterprise Linux Server release 5.7 (Tikanga)
Release:        5.7
Codename:       Tikanga
Other possibly interesting facts:
-I tried the Snapshots plugin...with the same results as above.
-I tried the sqlite database instead of MySQL...it works fine.
-I tried python2.4 and python5.x...same results for both.

This is my /etc/bcfg2.conf file:
root&amp;lt; at &amp;gt;server ~&amp;gt;cat /etc/bcfg2.conf
[server]
repository = /var/lib/bcfg2
plugins = Bundler,Cfg,Metadata,Pkgmgr,Rules,SSHbase,DBStats
[statistics]
sendmailpath = /usr/lib/sendmail
database_engine = mysql
# 'postgresql', 'mysql', 'mysql_old', 'sqlite3' or 'ado_mssql'.
database_name = bcfg2DB
# Or path to database file if using sqlite3.
#&amp;lt;repository&amp;gt;/etc/brpt.sqlite is default path if left empty
database_user = bcfg2
# Not used with sqlite3.
database_password = &amp;lt;removed&amp;gt;
# Not used with sqlite3.
database_host = localhost
# Not used with sqlite3.
database_port =
[communication]
protocol = xmlrpc/ssl
password = &amp;lt;removed&amp;gt;
certificate = /etc/bcfg2.crt
key = /etc/bcfg2.key
ca = /etc/bcfg2.crt
[components]
bcfg2 = https://server.somedomain.com:6789
Thank you for any help you can provide!
&lt;/pre&gt;</description>
    <dc:creator>Rodney Young</dc:creator>
    <dc:date>2012-05-10T17:55:12</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4528">
    <title>Client Tool Drivers for bcfg2</title>
    <link>http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4528</link>
    <description>&lt;pre&gt;Hello,

I am new to bcfg2 and am currently experimenting with it.

The first thing I noticed though is that it doesn't seem to offer client
tool drivers for arch linux.

Has anyone written something like that for arch linux? If so, I would like
to check it out and hopefully, some one could incorporate it into bcfg2
source.

&lt;/pre&gt;</description>
    <dc:creator>Calvin Cheng</dc:creator>
    <dc:date>2012-04-30T03:06:32</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4523">
    <title>OpenStack and bcfg2</title>
    <link>http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4523</link>
    <description>&lt;pre&gt;Narayan,

So I couldn't help noticing your email today on the OpenStack list (I
swear I'm not cyberstalking you :)  ) so I was wondering if you could
give a few sentences about your impressions of OpenStack in general
and specifically how well bcfg2 works with it.

My company is considering a OpenStack trail and any quick words you
have on it would be great.


--

Michael F. March ----- mmarch&amp;lt; at &amp;gt;gmail.com
Ph: (415) 894-9269 ---- Fax: (602)296-0400
Twitter: cowmix -------------- Skype: Cowmix

&lt;/pre&gt;</description>
    <dc:creator>Michael March</dc:creator>
    <dc:date>2012-04-20T14:32:29</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4521">
    <title>PHP Pear Packages</title>
    <link>http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4521</link>
    <description>&lt;pre&gt;Hello,

Is it possible to manage PHP Pear packages with bcfg2?

Thank you in advance for your reply!

# mitchell
&lt;/pre&gt;</description>
    <dc:creator>mitchell</dc:creator>
    <dc:date>2012-03-31T23:14:03</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4516">
    <title>bcfg2 client and preinstall scripts</title>
    <link>http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4516</link>
    <description>&lt;pre&gt;I've noticed recently that RPM preinstall scripts don't get run when I 
use the bcfg2 client to set up new systems (CentOS 6, for instance). 
Consequently, new user accounts don't get installed when a package like 
bind or postgresql-server is installed.

Is anyone else seeing that problem?

&lt;/pre&gt;</description>
    <dc:creator>Gordon Messmer</dc:creator>
    <dc:date>2012-03-21T23:31:54</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4515">
    <title>bcfg2 1.2.2</title>
    <link>http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4515</link>
    <description>&lt;pre&gt;A new release for bcfg2 1.2.2 is now available at:

ftp://ftp.mcs.anl.gov/pub/bcfg


This release has very few changes, but was necessary in order to restore
successful package builds (due to a missing dependency).


Sol
&lt;/pre&gt;</description>
    <dc:creator>Sol Jerome</dc:creator>
    <dc:date>2012-03-20T16:02:32</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4510">
    <title>Bcfg2/bcfg2/examples</title>
    <link>http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4510</link>
    <description>&lt;pre&gt;I'd like to change the examples folder for the CI work. Is anyone
currently using it as it for anything? I'll also check the docs and
trac site before I start making changes.

https://github.com/Bcfg2/bcfg2/tree/master/examples

&lt;/pre&gt;</description>
    <dc:creator>Raul Cuza</dc:creator>
    <dc:date>2012-02-25T04:52:57</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4508">
    <title>Unified bcfg2.spec file?</title>
    <link>http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4508</link>
    <description>&lt;pre&gt;Hello list,
all the talk about the spec file last week made me wonder why we
currently have two of them (misc/bcfg2.spec and redhat/bcfg2.spec.in)
and who is using which one.

Them educationated folks on IRC clarified for me that the latter file
can be used to build with "make rpmdist" from git (or previously, from
svn) directly (at least as long as you retain the .git/ directory,
from which the version info is fetched). The misc/ file can be used
with the open build service, rpmbuild, and mock, and it seems to have
received a little more love recently (the redhat one does not build
the bcfg2-web package, f.e.). But then again, the misc/ version still
uses the debian init-scripts and /etc/defaults directory (and so does
the, most likely derived, fedora package, and some of my own
packages).

On IRC, everybody seemed to be using the file in misc/. Is anybody on
this list using the redhat/ flavor?

On top of the above differences, at least the Fedora project (Fabian
Affolter et al) and myself (openSUSE, someday maybe even SLES again)
roll our own, so we have all these versions:
    https://github.com/Bcfg2/bcfg2/blob/master/misc/bcfg2.spec
    https://github.com/Bcfg2/bcfg2/blob/master/redhat/bcfg2.spec.in
    http://pkgs.fedoraproject.org/gitweb/?p=bcfg2.git;a=blob;f=bcfg2.spec;hb=HEAD
    https://build.opensuse.org/package/view_file?file=bcfg.spec&amp;amp;package=bcfg2-stable&amp;amp;project=home%3Am4z&amp;amp;rev=97acdd17c95e23e1cb99cd4bfcddf2f7
(that's one out of five-and-a-half different ones I currently have to
build.)

In other words, we have a zoo of different files that I'd like to either
    a) merge (as much as possible) into a single file with a lot of
macros (preferred), or
    b) split into separate files for the different distros and/or
build mechanisms.

The goal is to be able to build with this/these official spec file(s)
then, or to roll your own on top of them with less work (I guess the
need/desire to create distro/site-specific packages won't magically
disappear).

Objections? Concerns? Ideas? Recommendations? Ponies?

I'll begin by throwing the openSUSE-specific stuff upstream sometime
this month, I've been wanting to do that for a long time.


&lt;/pre&gt;</description>
    <dc:creator>686f6c6d</dc:creator>
    <dc:date>2012-02-07T14:02:07</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4504">
    <title>Making the bcfg2.spec mock-friendly</title>
    <link>http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4504</link>
    <description>&lt;pre&gt;In an effort to make the .../misc/bcfg2.spec buildable in mock
(https://fedorahosted.org/mock/) I think we need to remove the part of
the specfile that runs the 'rpm' command, which doesn't work under
mock.

To address this issue, I went back to see why it was added in the
first place.  It appears to have been added to address a requirement
difference between RHEL and SUSE:
https://github.com/Bcfg2/bcfg2/commit/f5bb417f750cc4b39d8b6cc6cae31e5c95800c67
(to address ticket 445
http://trac.mcs.anl.gov/projects/bcfg2/ticket/445).

Now, I'm looking at the OpenSUSE repos, I only see python-lxml
packages anyway, so would it be ok to revert to just requiring
python-lxml?  I don't have any installed SUSE systems so I'm not sure
if older versions of OpenSUSE or the commercial distro still require a
simple 'lxml' package.  If so, I think we should simply use the RPM
spec macro language and distro variables to detect that platform and
require lxml, rather than executing the rpm command.

Any comments?

&lt;/pre&gt;</description>
    <dc:creator>Jonathan Billings</dc:creator>
    <dc:date>2012-01-30T17:15:22</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4503">
    <title>Bcfg2 1.2.1 released</title>
    <link>http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4503</link>
    <description>&lt;pre&gt;A new release for Bcfg2 1.2.1 is now available at:

ftp://ftp.mcs.anl.gov/pub/bcfg

Bcfg2 1.2.1 is primarily a bugfix release, with over 2 dozen reported
bugs and dozens more unreported bugs fixed. The only significant
change from 1.2.0 is that regular expression support in Rules is now
optional, and off by default; see
http://docs.bcfg2.org/server/plugins/generators/rules.html#using-regular-expressions-in-rules
for more details.

A full list of bug fixes and cool new features is available at
https://trac.mcs.anl.gov/projects/bcfg2/wiki/ReleaseAnnouncement/1.2.1

&lt;/pre&gt;</description>
    <dc:creator>Chris St. Pierre</dc:creator>
    <dc:date>2012-01-27T20:38:36</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4486">
    <title>Proposal: Bcfg2 Branching Model</title>
    <link>http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4486</link>
    <description>&lt;pre&gt;http://trac.mcs.anl.gov/projects/bcfg2/wiki/DevelopmentBranchingModel

I've created a wiki page with a proposed branching model and request
your feedback. The goal of this wiki is to document how branches in
the Bcfg2 code repo will be managed. My hope is that it meets the
following stories:

 * As a user, I want to easily clone Bcfg2 and have confidence that it
will work in my environment.

 * As a developer, I want clear guidelines on how to contribute code
and work with others on features and fixes.

 * As QA or release manager, I want to change the CI server's job
configurations as little as possible.

--
Raul Cuza

&lt;/pre&gt;</description>
    <dc:creator>Raul Cuza</dc:creator>
    <dc:date>2012-01-23T05:04:35</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4473">
    <title>Bcfg2 server rearchitecture</title>
    <link>http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4473</link>
    <description>&lt;pre&gt;As hinted at earlier this week, I've been working on writing up a plan
for overhauling the Bcfg2 server architecture to make it more
scalable.  I'm finally done with the first draft, and it's long.
Really long.  I've put it up on Github so we can work on it
collaboratively:

https://github.com/stpierre/bcfg2-rearchitecture/

If you're interested in this kind of stuff and get a few spare
moments, please read it over, critique it, and, ideally, fork and
improve it.

Thanks!

&lt;/pre&gt;</description>
    <dc:creator>Chris St. Pierre</dc:creator>
    <dc:date>2012-01-20T14:23:39</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4466">
    <title>Bcfg2 server architecture -- backend storage</title>
    <link>http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4466</link>
    <description>&lt;pre&gt;I'm working on a writeup of what I see as the path forward to
rearchitect the server portion of Bcfg2 to make it more scalable --
or, really, scalable at all -- according to some discussions I've had
with Narayan and Sol, plus my own half-baked ideas.  I need some input
on what the best way to store the data is going to be as we move to a
more distributed architecture.

My thought is that we can split up the server into a few basic
components which, with proper asynchronous message passing, could be
run on a single machine or on multiple machines to let people scale
where their bottlenecks are.  The components are:

1.  A "master" process that handles SSL, authentication, and request
routing.  This would be fairly lightweight; ideally, something like a
WSGI app under Nginx/Apache, a Mongrel2 app, or a Twisted app.  (All
of those have benefits and drawbacks that I will be exploring further
as I feel this process out.)  It would probably also handle the
initial portion of the client-server discussion -- asserting profiles,
getting probes, receiving probe data, and getting decision lists.
2.  A configuration render process that does all the actual heavy
lifting of rendering templates, generating package lists, and so on.
This is most people's bottleneck nowadays, so I figure most people
would want to run multiple renderers.
3.  Some sort of document/content store to hold the data that is today
stored on the filesystem.  This is my sticking point.

The plain old boring filesystem actually works really great for this,
for a number of reasons:

1.  Really simple retrieval of documents stored in a tree hierarchy.
2.  Concurrent/asynchronous processing for free.
3.  Particularly with tmpfs, very fast storage and retrieval.
4.  Ubiquity.  Obviously.

But it has a big drawback, which becomes apparent when you either a)
run multiple Bcfg2 servers (as we're doing currently); or b) try to
split out the Bcfg2 server into multiple components.  Namely,
filesystems are usually local.  When they're not local, they incur
lots of overhead.

As I see it, there are four options available to us:

1.  Every renderer and master server keeps its own local file store.
We devise a protocol for communicating file changes made by Bcfg2
amongst all of the machines.

Upsides include:
  * Everything we get from using a local filesystem
  * Simplicity
  * Redundancy

Downsides include:
  * Storing data multiple times
  * Writing the protocol for announcing file changes and making all
plugins that can write data back support it.
  * Possible conflicts with the VCS that is storing the data
ultimately.  (E.g., if I run a new machine against Bcfg2 for the first
time, it gets added to clients.xml.  If Bcfg2 itself communicates out
that change to all nodes at the same time as a cron job or similar is
trying to commit the change, conflicts will arise.)

2.  Every renderer and master server keeps its own local file store
*on tmpfs*, which is created on-the-fly at system startup time.  We
devise a protocol for communicating file changes made by Bcfg2 amongst
all of the machines.

Upsides include:
  * All the upsides to approach (1)
  * By storing things on tmpfs, we'd be able to get rid of the FAM
subsystem, since polling memory is pretty dang quick.

Downsides include:
  * All the downsides to approach (1), plus data is being stored
multiple times in memory, a fairly expensive medium

3.  A single data store machine keeps its own local file store on
tmpfs, populated on-the-fly at system startup time.  That store is
shared out via NFS.

Upsides include:
  * Most of the benefits of a local filesystem.  tmpfs-over-NFS
actually isn't that bad, performance-wise, and you'd need a seriously
monstrous Bcfg2 installation to saturate even a 1Gb pipe.
  * Storing data once.
  * We'd probably still be able to get rid of the FAM subsystem.

Downsides include:
  * NFS on Linux has a bad rap, and deservedly so.  It's gotten
better, but it's still lame.
  * Lacks redundancy.
  * Really? tmpfs-over-NFS?  Sheesh.

4.  A custom-written network data store

Upsides include:
  * Storing data once
  * As redundant as we wanna be.
  * We can perform common pre-processing tasks once, on the content
server, as opposed to once per master server and once per
configuration renderer.

Downsides include:
  * Holy crap that's a lot of work
  * Making all plugins that write data back support the new magic.
  * Making all plugins that _read_ data support the new magic.  Yikes!
  * We'd likely have to keep FAM around on the content server machine,
or else do some tmpfs hackery.  There'd be no FAM anywhere else.
  * Bugs in filesystems are pretty rare.  Bugs in code I write are not.
  * Initial startup of some plugins (e.g., SSHbase) currently depends
on reading in a buttload of data, so those would need to be rewritten
to shift some of that burden to the content server.

tl;dr: All the options I can think of suck.  I keep vacillating
between the extremes (dumb local data stores, ultra-fancy custom
content server) because there are plenty of crappy things about each
approach.

Thoughts/suggestions/boots to the head?  Thanks!

&lt;/pre&gt;</description>
    <dc:creator>Chris St. Pierre</dc:creator>
    <dc:date>2012-01-18T19:50:45</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4462">
    <title>Metadata group parsing improvements</title>
    <link>http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4462</link>
    <description>&lt;pre&gt;This is another BEP - a Bcfg2 Enhancement Proposal.

I'd like to rewrite the groups.xml Metadata parser to implement
several new features:

1.  Nested group tags.

Currently, Bcfg2 does not support nesting group tags in groups.xml,
although it's supported everywhere else.  This reduces consistency,
and also makes it difficult to specify certain types of
configurations.  You can implement this sort of logic in Bundler, but
you cannot push out Cfg specific files to compositions of groups.
This would be implemented as, e.g.:

&amp;lt;Group name="foo"&amp;gt;
  &amp;lt;Group name="bar"&amp;gt;
    &amp;lt;Group name="baz"/&amp;gt;
    &amp;lt;Bundle name="quux"/&amp;gt;
  &amp;lt;/Group&amp;gt;
  &amp;lt;Bundle name="xyzzy"/&amp;gt;
&amp;lt;/Group&amp;gt;

2.  Client tags.

Client tags are supported in most other structural files -- anything
that uses the StructFile object for its internal modeling.  This
includes Bundler, info.xml, Decisions, Properties, and plenty of
others.  Adding Client tags to groups.xml will increase consistency.
It does not add any features that cannot already be obtained with
GroupPatterns, but it can reduce the complexity of both groups.xml and
GroupPatterns config.  This would be implemented as:

&amp;lt;Client name="foo.example.com"&amp;gt;
  &amp;lt;Group name="foo"/&amp;gt;
  &amp;lt;Bundle name="bar"/&amp;gt;
&amp;lt;/Client&amp;gt;

Client tags could be nested inside Group tags and vice-versa.

3.  Negation of groups.

Currently, there's no method to remove a machine from a group.  This
makes it difficult at times to set defaults that may be overridden,
particularly with multiple layers of defaults.  For instance, by
default perhaps we install the "foo" package on all machines, so we
create the "install-foo" group.  But one particular team of sysadmins
doesn't want "foo," so they create "dont-install-foo".  The logic in
Bundler would look like:

&amp;lt;Group name="install-foo"&amp;gt;
  &amp;lt;Group name="dont-install-foo" negate="true"&amp;gt;
    &amp;lt;Package name="foo"/&amp;gt;
  &amp;lt;/Group&amp;gt;
&amp;lt;/Group&amp;gt;

That's getting messy.  But if they then wanted to install "foo" on one
of their machines, they'd either have to a) individually set
"dont-install-foo" on every other machine; or b) create a
"really-install-foo" group and make Bundler even more complex.  And,
of course, if you needed to distribute a certain version of a file to
all machines that install foo, you can't do that -- Cfg has no support
for composed groups.

This would be implemented as:

&amp;lt;Group name="fooless-team"&amp;gt;
  &amp;lt;Group name="install-foo" negate="true"/&amp;gt;
&amp;lt;/Group&amp;gt;

Negating a group would remove that machine from the specified group
_absolutely_; that is, it doesn't matter how many times you add a
group or negate it, if you negate once you negate completely.  Nor
would order matter.  So in the following example, foo.example.com
would not be a member of the "bar" group:

&amp;lt;Client name="foo.example.com"&amp;gt;
  &amp;lt;Group name="bar"/&amp;gt;
  &amp;lt;Group name="bar" negate="true"/&amp;gt;
  &amp;lt;Group name="bar"/&amp;gt;
  &amp;lt;Group name="bar"/&amp;gt;
&amp;lt;/Client&amp;gt;

This is a fairly complex addition, but we're finding it's increasingly
necessary with a large, complex set of groups managed by a large
number of admins.  I'm sure I've explained some of my examples poorly,
so if I need to clarify anything just let me know.

Thanks!

&lt;/pre&gt;</description>
    <dc:creator>Chris St. Pierre</dc:creator>
    <dc:date>2012-01-18T02:22:21</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4452">
    <title>bcfg2-server and NAT</title>
    <link>http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4452</link>
    <description>&lt;pre&gt;Hello!


This is my scheme of bcfg2-server &amp;lt;&amp;gt; clients

*client                  gate (NAT)          bcfg2-server
8.8.8.8     &amp;lt;-&amp;gt;    4.4.4.4       &amp;lt;-&amp;gt;   10.11.110.111*

On gate I opened port 6789-&amp;gt;10.11.110.111.

Then I run bcfg2

/# bcfg2 -qvn -p ovz-ubuntu10

Traceback (most recent call last):
  File "/usr/sbin/bcfg2", line 340, in &amp;lt;module&amp;gt;
    client.run()
  File "/usr/sbin/bcfg2", line 191, in run
    proxy.AssertProfile(self.setup['profile'])
  File "/usr/lib/python2.6/xmlrpclib.py", line 1199, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python2.6/xmlrpclib.py", line 1489, in __request
    verbose=self.__verbose
  File "/usr/lib/pymodules/python2.6/Bcfg2/Proxy.py", line 304, in request
    self.send_content(h, request_body)
  File "/usr/lib/python2.6/xmlrpclib.py", line 1349, in send_content
    connection.endheaders()
  File "/usr/lib/python2.6/httplib.py", line 904, in endheaders
    self._send_output()
  File "/usr/lib/python2.6/httplib.py", line 776, in _send_output
    self.send(msg)
  File "/usr/lib/python2.6/httplib.py", line 735, in send
    self.connect()
  File "/usr/lib/pymodules/python2.6/Bcfg2/Proxy.py", line 186, in connect
    self._connect_py26ssl()
  File "/usr/lib/pymodules/python2.6/Bcfg2/Proxy.py", line 220, in
_connect_py26ssl
    self.sock.connect((self.host, self.port))
  File "/usr/lib/python2.6/ssl.py", line 309, in connect
    self.do_handshake()
  File "/usr/lib/python2.6/ssl.py", line 293, in do_handshake
    self._sslobj.do_handshake()
socket.error: [Errno 104] Connection reset by peer/


tcpdump on 8.8.8.8

/12:20:22.950748 IP 8.8.8.8.55147 &amp;gt; 4.4.4.4.6789: tcp 0
12:20:22.952753 IP 4.4.4.4.6789 &amp;gt; 8.8.8.8.55147: tcp 0
12:20:22.952788 IP 8.8.8.8.55147 &amp;gt; 4.4.4.4.6789: tcp 0
12:20:22.953610 IP 8.8.8.8.55147 &amp;gt; 4.4.4.4.6789: tcp 105
12:20:23.151201 IP 4.4.4.4.6789 &amp;gt; 8.8.8.8.55147: tcp 0
12:20:44.076819 IP 4.4.4.4.6789 &amp;gt; 8.8.8.8.55147: tcp 0
/
bcfc2.conf 8.8.8.8
/[communication]
protocol = xmlrpc/ssl
user = 3ED9E831-A914-3906-662BA06A44A64F29
password = 123
ca = /etc/bcfg2.crt

[components]
encoding = UTF-8
bcfg2 = https://4.4.4.4:6789
/
I read about NAT http://docs.bcfg2.org/appendix/guides/nat_howto.html ,
but I can't understand, how use those HOWTO in my choice.

Any ideas are welcomed.
&lt;/pre&gt;</description>
    <dc:creator>Alexander Tiurin</dc:creator>
    <dc:date>2012-01-13T08:40:18</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4450">
    <title>Commercial support for Bcfg2?</title>
    <link>http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4450</link>
    <description>&lt;pre&gt;Folks,

Here's an interesting question.  Does anyone offer commercial support
for Bcfg2?

Thanks,
Jack

&lt;/pre&gt;</description>
    <dc:creator>Jack Neely</dc:creator>
    <dc:date>2012-01-06T22:50:55</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4447">
    <title>Problems with RPM build from git</title>
    <link>http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4447</link>
    <description>&lt;pre&gt;Greetings,

I'm attempting to build 1.2.0 rpms from a git checkout following these
instructions:
http://docs.bcfg2.org/installation/packages.html#building-from-an-git-checkout

after "cd redhat; make" I get this error:

    error: File
/root/VCS/git/bcfg2.davisj/redhat/build/bcfg2-1.2.0.tar.gz: No such
file or directory
    make: *** [buildrpmdist] Error 1

I can get past that if I do this "cp build/bcfg2-1.2.0-0.0.tar.gz
build/bcfg2-1.2.0.tar.gz"
But then near the end I get this:

....
    Checking for unpackaged file(s): /usr/lib/rpm/check-files
/var/tmp/bcfg2-1.2.0-0.0-root-root
    error: Installed (but unpackaged) file(s) found:
       /usr/lib/python2.4/site-packages/Bcfg2/Bcfg2Py3k.py
       /usr/lib/python2.4/site-packages/Bcfg2/Bcfg2Py3k.pyc
       /usr/lib/python2.4/site-packages/Bcfg2/Bcfg2Py3k.pyo
       /usr/sbin/bcfg2-test

    RPM build errors:
        Installed (but unpackaged) file(s) found:
       /usr/lib/python2.4/site-packages/Bcfg2/Bcfg2Py3k.py
       /usr/lib/python2.4/site-packages/Bcfg2/Bcfg2Py3k.pyc
       /usr/lib/python2.4/site-packages/Bcfg2/Bcfg2Py3k.pyo
       /usr/sbin/bcfg2-test
    make: *** [buildrpmdist] Error 1

I'm guessing these problems can be overcome by a makefile edit, but
I'm not seeing anything obvious to me.


Thanks,
-Jake

&lt;/pre&gt;</description>
    <dc:creator>Jake Davis</dc:creator>
    <dc:date>2012-01-03T20:45:53</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4450">
    <title>Commercial support for Bcfg2?</title>
    <link>http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4450</link>
    <description>&lt;pre&gt;Folks,

Here's an interesting question.  Does anyone offer commercial support
for Bcfg2?

Thanks,
Jack

&lt;/pre&gt;</description>
    <dc:creator>Jack Neely</dc:creator>
    <dc:date>2012-01-06T22:50:55</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4447">
    <title>Problems with RPM build from git</title>
    <link>http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4447</link>
    <description>&lt;pre&gt;Greetings,

I'm attempting to build 1.2.0 rpms from a git checkout following these
instructions:
http://docs.bcfg2.org/installation/packages.html#building-from-an-git-checkout

after "cd redhat; make" I get this error:

    error: File
/root/VCS/git/bcfg2.davisj/redhat/build/bcfg2-1.2.0.tar.gz: No such
file or directory
    make: *** [buildrpmdist] Error 1

I can get past that if I do this "cp build/bcfg2-1.2.0-0.0.tar.gz
build/bcfg2-1.2.0.tar.gz"
But then near the end I get this:

....
    Checking for unpackaged file(s): /usr/lib/rpm/check-files
/var/tmp/bcfg2-1.2.0-0.0-root-root
    error: Installed (but unpackaged) file(s) found:
       /usr/lib/python2.4/site-packages/Bcfg2/Bcfg2Py3k.py
       /usr/lib/python2.4/site-packages/Bcfg2/Bcfg2Py3k.pyc
       /usr/lib/python2.4/site-packages/Bcfg2/Bcfg2Py3k.pyo
       /usr/sbin/bcfg2-test

    RPM build errors:
        Installed (but unpackaged) file(s) found:
       /usr/lib/python2.4/site-packages/Bcfg2/Bcfg2Py3k.py
       /usr/lib/python2.4/site-packages/Bcfg2/Bcfg2Py3k.pyc
       /usr/lib/python2.4/site-packages/Bcfg2/Bcfg2Py3k.pyo
       /usr/sbin/bcfg2-test
    make: *** [buildrpmdist] Error 1

I'm guessing these problems can be overcome by a makefile edit, but
I'm not seeing anything obvious to me.


Thanks,
-Jake

&lt;/pre&gt;</description>
    <dc:creator>Jake Davis</dc:creator>
    <dc:date>2012-01-03T20:45:53</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4450">
    <title>Commercial support for Bcfg2?</title>
    <link>http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4450</link>
    <description>&lt;pre&gt;Folks,

Here's an interesting question.  Does anyone offer commercial support
for Bcfg2?

Thanks,
Jack

&lt;/pre&gt;</description>
    <dc:creator>Jack Neely</dc:creator>
    <dc:date>2012-01-06T22:50:55</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4447">
    <title>Problems with RPM build from git</title>
    <link>http://comments.gmane.org/gmane.comp.sysutils.bcfg2.devel/4447</link>
    <description>&lt;pre&gt;Greetings,

I'm attempting to build 1.2.0 rpms from a git checkout following these
instructions:
http://docs.bcfg2.org/installation/packages.html#building-from-an-git-checkout

after "cd redhat; make" I get this error:

    error: File
/root/VCS/git/bcfg2.davisj/redhat/build/bcfg2-1.2.0.tar.gz: No such
file or directory
    make: *** [buildrpmdist] Error 1

I can get past that if I do this "cp build/bcfg2-1.2.0-0.0.tar.gz
build/bcfg2-1.2.0.tar.gz"
But then near the end I get this:

....
    Checking for unpackaged file(s): /usr/lib/rpm/check-files
/var/tmp/bcfg2-1.2.0-0.0-root-root
    error: Installed (but unpackaged) file(s) found:
       /usr/lib/python2.4/site-packages/Bcfg2/Bcfg2Py3k.py
       /usr/lib/python2.4/site-packages/Bcfg2/Bcfg2Py3k.pyc
       /usr/lib/python2.4/site-packages/Bcfg2/Bcfg2Py3k.pyo
       /usr/sbin/bcfg2-test

    RPM build errors:
        Installed (but unpackaged) file(s) found:
       /usr/lib/python2.4/site-packages/Bcfg2/Bcfg2Py3k.py
       /usr/lib/python2.4/site-packages/Bcfg2/Bcfg2Py3k.pyc
       /usr/lib/python2.4/site-packages/Bcfg2/Bcfg2Py3k.pyo
       /usr/sbin/bcfg2-test
    make: *** [buildrpmdist] Error 1

I'm guessing these problems can be overcome by a makefile edit, but
I'm not seeing anything obvious to me.


Thanks,
-Jake

&lt;/pre&gt;</description>
    <dc:creator>Jake Davis</dc:creator>
    <dc:date>2012-01-03T20:45:53</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.sysutils.bcfg2.devel">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.sysutils.bcfg2.devel</link>
  </textinput>
</rdf:RDF>

