Bug 197791 - Review Request: stacaccli - Stateless Cached Client Tools
Review Request: stacaccli - Stateless Cached Client Tools
Status: CLOSED DEFERRED
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: David Cantrell
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2006-07-06 09:31 EDT by Mark McLoughlin
Modified: 2013-01-09 20:26 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-08-08 04:51:06 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Mark McLoughlin 2006-07-06 09:31:55 EDT
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 09:37:07 EDT
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 11:32:37 EDT
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 09:13:23 EDT
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 15:01:14 EDT
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 15:08:12 EDT
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 04:51:06 EDT
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.