Bug 197791 - Review Request: stacaccli - Stateless Cached Client Tools
Summary: Review Request: stacaccli - Stateless Cached Client Tools
Keywords:
Status: CLOSED DEFERRED
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: David Cantrell
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-07-06 13:31 UTC by Mark McLoughlin
Modified: 2013-01-10 01:26 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-08-08 08:51:06 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Mark McLoughlin 2006-07-06 13:31:55 UTC
Spec URL: http://people.redhat.com/markmc/stacaccli/stacaccli.spec
SRPM URL: http://people.redhat.com/markmc/stacaccli/stacaccli-0.2-1.src.rpm
Description:
Stateless Linux is not a deployment model. It is not any single
technology. It's a new way of thinking about how a system is
supposed to run and be managed.

The "Cached Client" mode of deploying stateless clients is
similar to using a network mounted root filesystem, except
that an entire copy of the OS image is cached locally thereby
allowing offline support and better performance.

stacaccli contains the tools needed for running a cached client.
stacaccli-install is responsible for installing such a client
by initializing the local cache of the OS image. stacacclid
is a daemon which downloads updates from the image server and
integrates them into the local image cache.

Comment 1 Mark McLoughlin 2006-07-06 13:37:07 UTC
Some notes:

  - Overview of what this is all about:

      http://fedoraproject.org/wiki/StatelessLinuxCachedClient

  - In order for the updating part of this to work, we need a new "snapshot
    merging" feature in LVM and device-mapper. Patches here:

      http://www.gnome.org/~markmc/code/lvm-snapshot-merging/

    agk is currently reviewing these for upstream inclusion.

    The cached client install part works without this feature, though.

  - Only works on i386 and x86_64 currently. The partitioning and bootloader
    code is specific to these arches.

Comment 2 Jesse Keating 2006-07-10 15:32:37 UTC
NEEDSWORK:
- pyver checking not necessary.  Python now autoadds the python(abi) requirement.
- needs 'noarch' listed in ExclusiveArch.
- Currently our build system doesn't like the combo of BuildArch: noarch and
ExclusiveArch: i386 x86_64.  As a workaround I would put noarch in the
ExclusiveArch.  I don't know what this will do for composes though, we need to
fix the build system.
- rpmlint output on the packages:

E: stacaccli explicit-lib-dependency libxml2-python
E: stacaccli non-executable-script
/usr/lib/python2.4/site-packages/stacaccli/common/bootloader.py 0644
E: stacaccli non-executable-script
/usr/lib/python2.4/site-packages/stacaccli/common/config.py 0644
E: stacaccli non-executable-script
/usr/lib/python2.4/site-packages/stacaccli/common/fileutils.py 0644
E: stacaccli non-executable-script
/usr/lib/python2.4/site-packages/stacaccli/common/grabutils.py 0644
E: stacaccli non-executable-script
/usr/lib/python2.4/site-packages/stacaccli/common/imagemetadata.py 0644
E: stacaccli non-executable-script
/usr/lib/python2.4/site-packages/stacaccli/common/__init__.py 0644
E: stacaccli non-executable-script
/usr/lib/python2.4/site-packages/stacaccli/common/logger.py 0644
E: stacaccli non-executable-script
/usr/lib/python2.4/site-packages/stacaccli/common/lvm.py 0644
E: stacaccli non-executable-script
/usr/lib/python2.4/site-packages/stacaccli/common/shvar.py 0644
E: stacaccli non-executable-script
/usr/lib/python2.4/site-packages/stacaccli/common/sysutils.py 0644
E: stacaccli non-executable-script
/usr/lib/python2.4/site-packages/stacaccli/common/udevmonitor.py 0644
E: stacaccli non-executable-script
/usr/lib/python2.4/site-packages/stacaccli/daemon/config.py 0644
E: stacaccli non-executable-script
/usr/lib/python2.4/site-packages/stacaccli/daemon/__init__.py 0644
E: stacaccli non-executable-script
/usr/lib/python2.4/site-packages/stacaccli/daemon/main.py 0644
E: stacaccli non-executable-script
/usr/lib/python2.4/site-packages/stacaccli/daemon/updater.py 0644
E: stacaccli non-executable-script
/usr/lib/python2.4/site-packages/stacaccli/__init__.py 0644
E: stacaccli non-executable-script
/usr/lib/python2.4/site-packages/stacaccli/install/config.py 0644
E: stacaccli non-executable-script
/usr/lib/python2.4/site-packages/stacaccli/install/__init__.py 0644
E: stacaccli non-executable-script
/usr/lib/python2.4/site-packages/stacaccli/install/installer.py 0644
E: stacaccli non-executable-script
/usr/lib/python2.4/site-packages/stacaccli/install/main.py 0644
W: stacaccli incoherent-init-script-name stacacclid
W: stacaccli incoherent-version-in-changelog 0.1-1 0.2-1
W: stacaccli non-conffile-in-etc /etc/rwtab.d/stacaccli
W: stacaccli strange-permission stacaccli.spec 0600


Comment 3 Mark McLoughlin 2006-07-12 13:13:23 UTC
Thanks

(In reply to comment #2)

> - pyver checking not necessary.  Python now autoadds the python(abi) requirement.

Done.

> - needs 'noarch' listed in ExclusiveArch.

Done.

> E: stacaccli explicit-lib-dependency libxml2-python

Not actually a lib dependency. Just matches the regex.

> E: stacaccli non-executable-script
> /usr/lib/python2.4/site-packages/stacaccli/common/bootloader.py 0644

[snip more non-executable-script]

Yes, they're python modules and not intended to be executable, even though they
start with #!

Fairly common with python code e.g. rpmlint yum.

> W: stacaccli incoherent-init-script-name stacacclid

i.e. rename the initscript stacaccli ? It starts the daemon (stacacclid), so I
think the current name is probably more appropriate.

> W: stacaccli incoherent-version-in-changelog 0.1-1 0.2-1

Fixed.

> W: stacaccli non-conffile-in-etc /etc/rwtab.d/stacaccli

/etc/rwtab isn't marked with %config, and I don't think it's correct to mark
this one either.

> W: stacaccli strange-permission stacaccli.spec 0600

Fixed.

Comment 4 Jesse Keating 2006-07-17 19:01:14 UTC
rpmlint package does not have a sha-bang in the module files not designed to be
executed directly.  They really don't belong there.

The complaint about a direct lib requirement is because rpm itself can most
often figure out the package requirements on its own.  Is this not the case if
you remove the Requires: line?  (This may not work for python module requirements)

Getting more input on the rwtab issue.

Comment 5 Jesse Keating 2006-07-17 19:08:12 UTC
More info on rwtab.

Since the rwtab file will be package version specific most likely, its not
designed to be user editable right?  And thus it can't be marked noreplace, so
there is little value (other than rpmlint) in marking it as config.  You can
ignore if the above assumptions are true.

Comment 6 Mark McLoughlin 2006-08-08 08:51:06 UTC
Closing this as deferred for now - the device-mapper changes didn't make it into
the kernel in time for feature freeze

Thanks


Note You need to log in before you can comment on or make changes to this bug.