Bug#705262: ceph

2013-09-15 Thread Bastian Blank
Thank you for not Cc-ing me.

However there are several problems left:
- ceph-common depends on python-flask and python-ceph.
- ceph-common is not _arch-all_, why does it exist?
- Why ceph-mds?
- ceph depends on fdisk, parted and whole lot other crap it does not
  need.
- A lot of Replaces.
- python-ceph needs stricter dependencies.
- Split between -java and -jni for no apparent reason, it only add a
  package to the global index.

About the debug packages: I can also ask ftp-team to kill it, because it
ten packages that can't be used independently fills the package index.

Bastian

-- 
Oblivion together does not frighten me, beloved.
-- Thalassa (in Anne Mulhall's body), Return to Tomorrow,
   stardate 4770.3.


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#705262: ceph

2013-09-15 Thread GCS
On Sun, Sep 15, 2013 at 12:00 PM, Bastian Blank wa...@debian.org wrote:
 Thank you for not Cc-ing me.
 Can be my fault, I'd the thought as a bugreport owner, you'll get all mails.

 However there are several problems left:
 - ceph-common depends on python-flask and python-ceph.
 Why this is a problem? What I see is that python-flask should be
moved to python-ceph .

 - ceph-common is not _arch-all_, why does it exist?
 Tools that used by other packages that can be installed
independently. Should it be named like ceph-base or ceph-tools?

 - Why ceph-mds?
 Ceph has three independent blocks. Metadata servers (-mds) are one of
them. Please see the overview[1].

 - ceph depends on fdisk, parted and whole lot other crap it does not
   need.
 Agree on this. Don't know how it made there.

 - A lot of Replaces.
 There were package renames, users may have packages from upstream or
Ubuntu. That's make it complex.

 - python-ceph needs stricter dependencies.
 Will check.

 - Split between -java and -jni for no apparent reason, it only add a
   package to the global index.
 James?

 About the debug packages: I can also ask ftp-team to kill it, because it
 ten packages that can't be used independently fills the package index.
 Still not sure they should be integrated.

In a rush now, may write more later.
Laszlo/GCS
[1] http://ceph.com/docs/next/cephfs/


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#705262: ceph

2013-09-15 Thread Daniel Swarbrick
On Sun, Sep 15, 2013 at 12:00 PM, Bastian Blank wa...@debian.org wrote:

 - ceph depends on fdisk, parted and whole lot other crap it does not
   need.


This is most likely a dependency of the ceph-disk-prepare or ceph-deploy
scripts, which handle preparing partitions and filesystems on new disks
intended for Ceph OSDs.


Bug#705262: ceph

2013-09-15 Thread Bastian Blank
On Sun, Sep 15, 2013 at 12:30:22PM +0200, László Böszörményi (GCS) wrote:
 On Sun, Sep 15, 2013 at 12:00 PM, Bastian Blank wa...@debian.org wrote:
  However there are several problems left:
  - ceph-common depends on python-flask and python-ceph.
  Why this is a problem? What I see is that python-flask should be
 moved to python-ceph .

There is a python script ceph-rest-api.  Where is this used?  Why does
it warrant a dependency on 20 other packages?

  - ceph-common is not _arch-all_, why does it exist?
  Tools that used by other packages that can be installed
 independently. Should it be named like ceph-base or ceph-tools?

Not sure right now.  It looks like a random dash of tools, stashed
together without much thinking.
- ceph, rados, rbd: Tools to manage different parts of ceph, remotely.
- ceph-authtool: Works on keyring files, so needs to run locally on the
  monitor.
- ceph-rest-api: Where does this belong to?
- ceph-dencoder, ceph-syn: This are test or debugging tools.

I would
- move ceph-authotool and maybe ceph-rest-api into ceph,
- move cephfs and mount.ceph into ceph-common
- move ceph-dencoder and ceph-syn into ceph-test,
- move stuff from ceph-resource-agents into ceph and
- drop ceph-fs-common and ceph-resource-agents.

  - Why ceph-mds?
  Ceph has three independent blocks. Metadata servers (-mds) are one of
 them. Please see the overview[1].

Yeah.  But why does it need a different package?  What does this extra
package bring for the user?

  - ceph depends on fdisk, parted and whole lot other crap it does not
need.
  Agree on this. Don't know how it made there.

Because ceph-disk (another incompletely documented indirection) uses it.
The important parts (ceph-mon, ceph-osd) works fine without it.

  - A lot of Replaces.
  There were package renames, users may have packages from upstream or
 Ubuntu. That's make it complex.

Not a concern for Debian.  It was never in a stable release.

  - python-ceph needs stricter dependencies.
  Will check.

At least the dependencies for librados2 and librdb1 needs to be
stricter.  The dependency on libcephfs1 is missing.

- Symbols files are missing.

Bastian

-- 
There's a way out of any cage.
-- Captain Christopher Pike, The Menagerie (The Cage),
   stardate unknown.


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#705262: ceph

2013-09-15 Thread Daniel Swarbrick
On Sun, Sep 15, 2013 at 1:03 PM, Bastian Blank wa...@debian.org wrote:

 There is a python script ceph-rest-api.  Where is this used?  Why does
 it warrant a dependency on 20 other packages?


This is the as yet sparsely documented admin REST WSGI app (which can also
run as a standalone server), which was a new feature in the 0.67 dumpling
release. This should not be confused with the RADOSGW REST stuff.

I have not looked at the source of the script yet, but have had a play with
it. I suspect it depends on things like Jinja2 because it renders HTML
tables for self-documenting purposes if you simply open the API with a web
browser. This seems like a bit of an overkill for using a template engine
like Jinja2, but oh well. If you make an API request using a non-browser
client (e.g. wget or XmlHttpRequest), it returns JSON for the most part.

I suspect this could be made a separate package, since it is not essential
to running an OSD, MDS or mon.

  - Why ceph-mds?

  Ceph has three independent blocks. Metadata servers (-mds) are one of
  them. Please see the overview[1].

 Yeah.  But why does it need a different package?  What does this extra
 package bring for the user?


Ceph MDS are not needed on every OSD, and are in fact only needed if using
CephFS. If you're only using RBD pools and RADOSGW, then a MDS is
completely unnecessary. Similarly, a mon is not needed on every Ceph node
either.

A typical setup consists of two or more OSDs (likely many more), three or
more (preferably an odd number) monitors - either on selected OSD nodes, or
separate servers, and one or more MDS nodes - but only if using CephFS.

I only know of one or two people who've actually tried CephFS, and
according to the developers, it should not be considered quite
production-ready yet.

Bear in mind however that OSDs, mons, and MDSs all use the same
/etc/ceph/ceph.conf config file, making it potentially hard to split them
into separate packages.


Bug#705262: ceph

2013-09-15 Thread Bastian Blank
On Sun, Sep 15, 2013 at 04:18:05PM +0200, Daniel Swarbrick wrote:
 On Sun, Sep 15, 2013 at 1:03 PM, Bastian Blank wa...@debian.org wrote:
  There is a python script ceph-rest-api.  Where is this used?  Why does
  it warrant a dependency on 20 other packages?
 This is the as yet sparsely documented admin REST WSGI app (which can also
 run as a standalone server), which was a new feature in the 0.67 dumpling
 release. This should not be confused with the RADOSGW REST stuff.

Thats why I asked it this sparsely documented and not enabled by default
piece of software warrants the hard inclusion of a lot of dependencies.

  Yeah.  But why does it need a different package?  What does this extra
  package bring for the user?
 Ceph MDS are not needed on every OSD, and are in fact only needed if using
 CephFS. If you're only using RBD pools and RADOSGW, then a MDS is
 completely unnecessary. Similarly, a mon is not needed on every Ceph node
 either.

Neither mon, osd nor mds should run on the same system I would assume,
at least in large installations.  So my question is just _why_ mds needs
this extra package, while mon/osd can live in the same.

Bastian

-- 
Vulcans never bluff.
-- Spock, The Doomsday Machine, stardate 4202.1


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#705262: ceph

2013-09-15 Thread James Page
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Bastian  Lazlo

On 15/09/13 12:03, Bastian Blank wrote:
 On Sun, Sep 15, 2013 at 12:30:22PM +0200, László Böszörményi (GCS)
 wrote:
 On Sun, Sep 15, 2013 at 12:00 PM, Bastian Blank
 wa...@debian.org wrote:
 However there are several problems left: - ceph-common depends
 on python-flask and python-ceph.
 Why this is a problem? What I see is that python-flask should be 
 moved to python-ceph .
 There is a python script ceph-rest-api.  Where is this used?  Why
 does it warrant a dependency on 20 other packages?

Dumpling (0.67.x) is the first release with basic support for a REST
api for administering a ceph cluster - this binary supports this
feature - but more of a demo of how to use than anything really usable
(dev mode only).  However I do agree that it looks like it should be
in ceph.

 - ceph-common is not _arch-all_, why does it exist?
 Tools that used by other packages that can be installed 
 independently. Should it be named like ceph-base or ceph-tools?
 
 Not sure right now.  It looks like a random dash of tools, stashed 
 together without much thinking. - ceph, rados, rbd: Tools to manage
 different parts of ceph, remotely. - ceph-authtool: Works on
 keyring files, so needs to run locally on the monitor. -
 ceph-rest-api: Where does this belong to? - ceph-dencoder,
 ceph-syn: This are test or debugging tools.
 
 I would - move ceph-authotool and maybe ceph-rest-api into ceph, -
 move cephfs and mount.ceph into ceph-common - move ceph-dencoder
 and ceph-syn into ceph-test, - move stuff from ceph-resource-agents
 into ceph and - drop ceph-fs-common and ceph-resource-agents.
 
 - Why ceph-mds?
 Ceph has three independent blocks. Metadata servers (-mds) are
 one of them. Please see the overview[1].
 
 Yeah.  But why does it need a different package?  What does this
 extra package bring for the user?

For context, the ceph-mds function was split out in the packaging as
MDS is not as well tested/production grade as the RADOS and RBD
features;  In Ubuntu we use this to signal which parts receive full
support from the Ubuntu Server and Security teams. I appreciate that
this is not required for Debian but its also in the upstream packaging
so it would be nice if these splits could stay (see notes below about
why keeping packaging consistent across upstream, Debian and Ubuntu is
a good idea).

 - ceph depends on fdisk, parted and whole lot other crap it
 does not need.
 Agree on this. Don't know how it made there.
 
 Because ceph-disk (another incompletely documented indirection)
 uses it. The important parts (ceph-mon, ceph-osd) works fine
 without it.

ceph-disk is a key part of the deployment infrastructure for ceph so
these are important dependencies for anyone deploying ceph at scale
using upstream Chef recipes or ceph-deploy.

 - A lot of Replaces.
 There were package renames, users may have packages from upstream
 or Ubuntu. That's make it complex.
 
 Not a concern for Debian.  It was never in a stable release.

I think it is a concern for Debian; the principle source of Ceph
packages for Debian to-date has been from upstream, so ensuring smooth
transitions to/from Debian/upstream is important IMHO.

 - python-ceph needs stricter dependencies.
 Will check.
 
 At least the dependencies for librados2 and librdb1 needs to be 
 stricter.  The dependency on libcephfs1 is missing.

Agreed - python-ceph only just grew bindings for cephfs so that's just
an oversight. Good spot.  = on equiv binary package version should do
the job for the librbd/rados depends.

Laszlo - re -java/-jni split - this is in compliance with the Java
packaging policy:

http://www.debian.org/doc/packaging-manuals/java-policy/x114.html

I really think we need to stick with the packaging structure and
naming that is already in place as much as possible; All of the
existing deployment tooling (chef, juju, ceph-deploy) is written based
on this structure on Debian based systems; diverging is just going to
create work in other areas and potentially alienate the Debian
packaging as its different to the packaging that the Ceph community
has been using for the last two years... at least!

FYI once ceph is up-to-date in Debian I'm intending on landing
ceph-deploy as a way of deploying ceph on Debian - it makes testing
much easier.

- -- 
James Page
Ubuntu and Debian Developer
james.p...@ubuntu.com
jamesp...@debian.org
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.14 (GNU/Linux)
Comment: Using GnuPG with undefined - http://www.enigmail.net/

iQIcBAEBCAAGBQJSNe0LAAoJEL/srsug59jDGLEP/3KDiq6fbzcNUeaw0JuCSK0F
QNfMdAQWRa86UX8zOJvtlhjbRJlwPWY4kRj52fxsXZTOcs+9t+ooTZ0ACwYTy0K3
jPscTwoev1rBvbYD1kJXCrd8OVg9I1WC0cK30OiPQ7y6SrTf+84fpHWHAZhcoQa7
TD5j+stSk0Nfko8Wj6K3xEy1J7PgoY16gcAbozEW/35zAz7tFUjhRgwJSJ9tBCdR
2H7rn2Dmxdk5RPNutKM1pKFiOdCTYOz87+ptYYdeKbvRuxU9b+dl2wb5U9D5IfTH
mBJm4dcQQr0IDxMdhG7VJxb/wSA8Nog5fxIxelloPg7wI65D4Lf/m0QvYXEpRc56
N5xCWaLKw5aTmh4Cviz7k6SvnXNfWoemF7LueETJFo1IUFS2jBB2tbYOcXFpzvhX

Bug#705262: ceph

2013-09-15 Thread Bastian Blank
On Sun, Sep 15, 2013 at 06:23:23PM +0100, James Page wrote:
 On 15/09/13 12:03, Bastian Blank wrote:
  There is a python script ceph-rest-api.  Where is this used?  Why
  does it warrant a dependency on 20 other packages?
 Dumpling (0.67.x) is the first release with basic support for a REST
 api for administering a ceph cluster - this binary supports this
 feature - but more of a demo of how to use than anything really usable
 (dev mode only).  However I do agree that it looks like it should be
 in ceph.

How does the authentication work?  The whole Python code in Ceph looks
pretty bad for me.

  Because ceph-disk (another incompletely documented indirection)
  uses it. The important parts (ceph-mon, ceph-osd) works fine
  without it.
 ceph-disk is a key part of the deployment infrastructure for ceph so
 these are important dependencies for anyone deploying ceph at scale
 using upstream Chef recipes or ceph-deploy.

Well.  Then it would be one, not three diffrent implementations of
fdisk.

  Not a concern for Debian.  It was never in a stable release.
 I think it is a concern for Debian; the principle source of Ceph
 packages for Debian to-date has been from upstream, so ensuring smooth
 transitions to/from Debian/upstream is important IMHO.

Nope.  Other sources are no concern.

  At least the dependencies for librados2 and librdb1 needs to be 
  stricter.  The dependency on libcephfs1 is missing.
 Agreed - python-ceph only just grew bindings for cephfs so that's just
 an oversight. Good spot.  = on equiv binary package version should do
 the job for the librbd/rados depends.

Nope.  They need to be ==.  The (bad written) Python wrappers uses
ctypes, which does not implement a full ELF-loader.

 Laszlo - re -java/-jni split - this is in compliance with the Java
 packaging policy:
 http://www.debian.org/doc/packaging-manuals/java-policy/x114.html

You forgot the should.  Plus this is not part of the Debian policy.

 I really think we need to stick with the packaging structure and
 naming that is already in place as much as possible; All of the
 existing deployment tooling (chef, juju, ceph-deploy) is written based
 on this structure on Debian based systems; diverging is just going to
 create work in other areas and potentially alienate the Debian
 packaging as its different to the packaging that the Ceph community
 has been using for the last two years... at least!

I'm talked to the ftp-masters.  They usualy don't like if a package is
split too much for no apparent reason.  It is nice if they are
compatible, but for Debian all problems have to be taken into account.

Bastian

-- 
Pain is a thing of the mind.  The mind can be controlled.
-- Spock, Operation -- Annihilate! stardate 3287.2


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#705262: ceph

2013-09-15 Thread James Page
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 15/09/13 20:04, Bastian Blank wrote:
 On Sun, Sep 15, 2013 at 06:23:23PM +0100, James Page wrote:
 On 15/09/13 12:03, Bastian Blank wrote:
 There is a python script ceph-rest-api.  Where is this used?
 Why does it warrant a dependency on 20 other packages?
 Dumpling (0.67.x) is the first release with basic support for a
 REST api for administering a ceph cluster - this binary supports
 this feature - but more of a demo of how to use than anything
 really usable (dev mode only).  However I do agree that it looks
 like it should be in ceph.
 
 How does the authentication work?  The whole Python code in Ceph
 looks pretty bad for me.

Ceph itself uses a key based kerberos style authentication system
called cephx; the ceph_rest_api library uses the keys/config in
/etc/ceph but provides no additional auth for HTTP API access; neither
does the wrapper ceph-rest-api which is why right now there is no init
script or upstart configuration for this feature.

I make no general observations about the python code in ceph other
than it's worked well for me for the last 18 months.

 
 Because ceph-disk (another incompletely documented
 indirection) uses it. The important parts (ceph-mon, ceph-osd)
 works fine without it.
 ceph-disk is a key part of the deployment infrastructure for ceph
 so these are important dependencies for anyone deploying ceph at
 scale using upstream Chef recipes or ceph-deploy.
 
 Well.  Then it would be one, not three diffrent implementations of 
 fdisk.

Technically its just two - gdisk and parted; I don't have any strong
objection to upstream using two different tools if it makes massaging
block devices easier for them.

 Not a concern for Debian.  It was never in a stable release.
 I think it is a concern for Debian; the principle source of Ceph 
 packages for Debian to-date has been from upstream, so ensuring
 smooth transitions to/from Debian/upstream is important IMHO.
 
 Nope.  Other sources are no concern.

I'd like to try and play nice with other methods of distribution
especially if one of those has been used extensively by Debian users
to-date; makes life easier for potential users of these packages.

 At least the dependencies for librados2 and librdb1 needs to be
  stricter.  The dependency on libcephfs1 is missing.
 Agreed - python-ceph only just grew bindings for cephfs so that's
 just an oversight. Good spot.  = on equiv binary package version
 should do the job for the librbd/rados depends.
 
 Nope.  They need to be ==.  The (bad written) Python wrappers uses 
 ctypes, which does not implement a full ELF-loader.

OK; I know they are just a simple wrap over the core libs so that
makes sense.

 Laszlo - re -java/-jni split - this is in compliance with the
 Java packaging policy: 
 http://www.debian.org/doc/packaging-manuals/java-policy/x114.html

 
 You forgot the should.  Plus this is not part of the Debian
 policy.

Meh - well it works for me; the -java is arch independent whereas the
- -jni is not; saves duping the jar file in binary packages. If the -jni
every gets multi-arched then this approach is required anyway.

 I really think we need to stick with the packaging structure and 
 naming that is already in place as much as possible; All of the 
 existing deployment tooling (chef, juju, ceph-deploy) is written
 based on this structure on Debian based systems; diverging is
 just going to create work in other areas and potentially alienate
 the Debian packaging as its different to the packaging that the
 Ceph community has been using for the last two years... at
 least!
 
 I'm talked to the ftp-masters.  They usualy don't like if a package
 is split too much for no apparent reason.  It is nice if they are 
 compatible, but for Debian all problems have to be taken into
 account.

I don't think the ceph packages are split for no apparent reason;  I
believe that by adopting the current structure which works with the
most popular deployment tooling for ceph we work with upstream, rather
than going against the grain.

- -- 
James Page
Ubuntu and Debian Developer
james.p...@ubuntu.com
jamesp...@debian.org
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.14 (GNU/Linux)
Comment: Using GnuPG with undefined - http://www.enigmail.net/

iQIcBAEBCAAGBQJSNhlBAAoJEL/srsug59jDgQgQAM91nm57XBaWGQoxJ6mC7hy3
n0hsT9ehI+FJDL2nC9jr1vSBCMgQKgfkt4LHrBXUt4t/Dz6YVu1vwZbmrhfP36Bi
O1WcZ+StIJZaBxHYq37XheoLqShR39VSPfGmp7dK5u0RBrcqj1PatVfF/oYrLSxL
KSkqmccaOeAvbE0G4gGuceEuLnR6ZI1kgeJkFCE0daEtJdDe89ojj3PBRz6H4Ya0
zRSP3Es4YcHgEr6vlFV0+jDNrsuq72g/1kn+ouW0jLQQ+a9+12+v4kkVBNL4fUBj
d9+2wwOEuiFOK1/tOGQjwc5XdOtPe+P6oHQ1uWoZzYOYOCw45+LDO6IIMgrr8+Xa
QtolHNKPJtEr24myCowOkQ9tmbrx7YRzs/y7EMAo6faYI7ZPDc6gwRZESUtiqAuJ
+HgyEGyqUjuJGOjQ0PIhB1KteJdJNoFFeAUAvbDh1UaEgMLdrRw+ZyFoC0NkeGjX
2xoHPIInN8v/qeOc1vGkwzCXg9SFe6VkVi338SU8M4k/nEGwPxr6TCgKs0bK+P9x
lbdK17HPr5ZtzmoMyVT83WPTyIad7IfyeLOU2N0EX3zbWaBwp1NplZhKRx+qeAGP