All of lore.kernel.org
 help / color / mirror / Atom feed
* debian packaging for wip-10587-split-servers
@ 2015-07-09 15:57 Ken Dreyer
  2015-07-10 14:21 ` kefu chai
  0 siblings, 1 reply; 4+ messages in thread
From: Ken Dreyer @ 2015-07-09 15:57 UTC (permalink / raw)
  To: ceph-maintainers; +Cc: ceph-devel@vger.kernel.org

I need some Debian packaging help :)

For http://tracker.ceph.com/issues/10587 I'm working to split out the
"ceph-mon" and "ceph-osd" servers from the main "ceph" package. The goal
is to allow someone to "apt-get install" only a monitor or an OSD
without having to install the binaries for both. (ceph-mds is already
split out in this fashion.)

Here's what I'd like the process to look like for users:

1) User installs a Hammer MON/OSD with "apt-get install ceph".
2) User adjusts the sources.list to point to a newer Ceph version with
   the server split.
3) User runs "apt-get update"
4) Apt installs all three packages onto the user's system: "ceph",
   "ceph-mon", and "ceph-osd".
5) User then has the freedom to uninstall "ceph-mon" or "ceph-osd" as
   appropriate.

I've gotten about 90% of the way there with the Debian changes, but I
can't make "apt-get upgrade" do what I want in step 4. The only way I
can make Apt pull in all three (ceph/ceph-mon/ceph-osd) during an
"upgrade" operation is to make the "ceph" package depend on the -mon and
-osd sub-packages. That option means that step 5 above doesn't work.

I must be missing something in ./debian/control to make this work.

For the RPMs, I was able to make this work by introducing a
"ceph-compat" metapackage that used RPM's "Obsoletes" to replace the old
"ceph" and require "ceph-mon" and "ceph-osd" (which in turn required the
new "ceph"). But I'm not sure how to do that with Debian.

Should I use a ceph-compat package? Something else?

My WIP branch in GitHub is
https://github.com/ceph/ceph/tree/wip-10587-split-servers . Any tips
appreciated!

- Ken

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: debian packaging for wip-10587-split-servers
  2015-07-09 15:57 debian packaging for wip-10587-split-servers Ken Dreyer
@ 2015-07-10 14:21 ` kefu chai
  2015-07-10 22:54   ` Ken Dreyer
  0 siblings, 1 reply; 4+ messages in thread
From: kefu chai @ 2015-07-10 14:21 UTC (permalink / raw)
  To: Ken Dreyer; +Cc: ceph-maintainers, ceph-devel@vger.kernel.org

On Thu, Jul 9, 2015 at 11:57 PM, Ken Dreyer <kdreyer@redhat.com> wrote:
> I need some Debian packaging help :)
>
> For http://tracker.ceph.com/issues/10587 I'm working to split out the
> "ceph-mon" and "ceph-osd" servers from the main "ceph" package. The goal
> is to allow someone to "apt-get install" only a monitor or an OSD
> without having to install the binaries for both. (ceph-mds is already
> split out in this fashion.)
>
> Here's what I'd like the process to look like for users:
>
> 1) User installs a Hammer MON/OSD with "apt-get install ceph".
> 2) User adjusts the sources.list to point to a newer Ceph version with
>    the server split.
> 3) User runs "apt-get update"
> 4) Apt installs all three packages onto the user's system: "ceph",
>    "ceph-mon", and "ceph-osd".
> 5) User then has the freedom to uninstall "ceph-mon" or "ceph-osd" as
>    appropriate.
>
> I've gotten about 90% of the way there with the Debian changes, but I
> can't make "apt-get upgrade" do what I want in step 4. The only way I
> can make Apt pull in all three (ceph/ceph-mon/ceph-osd) during an
> "upgrade" operation is to make the "ceph" package depend on the -mon and
> -osd sub-packages. That option means that step 5 above doesn't work.

can we
- have another package named "ceph-base" which packages whatever ceph
currently has now.
- make the "ceph" a meta package which only offers the dependencies to
ceph-mon, ceph-osd, ceph-mds? and let ceph-{mon,osd,mds} Depends on
"ceph-base" instead?

>
> I must be missing something in ./debian/control to make this work.
>
> For the RPMs, I was able to make this work by introducing a
> "ceph-compat" metapackage that used RPM's "Obsoletes" to replace the old
> "ceph" and require "ceph-mon" and "ceph-osd" (which in turn required the
> new "ceph"). But I'm not sure how to do that with Debian.
>
> Should I use a ceph-compat package? Something else?

Ken, i commented on your commit of https://github.com/ceph/ceph/commit/25766b

HTH.

>
> My WIP branch in GitHub is
> https://github.com/ceph/ceph/tree/wip-10587-split-servers . Any tips
> appreciated!
>
> - Ken
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html



-- 
Regards
Kefu Chai

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: debian packaging for wip-10587-split-servers
  2015-07-10 14:21 ` kefu chai
@ 2015-07-10 22:54   ` Ken Dreyer
  2015-07-10 22:56     ` Ken Dreyer
  0 siblings, 1 reply; 4+ messages in thread
From: Ken Dreyer @ 2015-07-10 22:54 UTC (permalink / raw)
  To: kefu chai; +Cc: ceph-maintainers, ceph-devel@vger.kernel.org

On 07/10/2015 08:21 AM, kefu chai wrote:
> can we
> - have another package named "ceph-base" which packages whatever ceph
> currently has now.
> - make the "ceph" a meta package which only offers the dependencies to
> ceph-mon, ceph-osd, ceph-mds? and let ceph-{mon,osd,mds} Depends on
> "ceph-base" instead?

I was hoping to avoid this route because it seemed complex, but the
further I dig on this, I think your suggestion is going to be the best
way forward.

So to re-state the plan: Files that are shared between multiple servers
will move into "ceph-base", and then:

For RPMs:
- "ceph-{mon,osd,mds}" Require: ceph-base.
- "ceph" will become a metapackage that Requires: ceph-{mon,osd,mds}.

For DEBs:
- "ceph-{mon,osd,mds}" will Depends: ceph-base.
- "ceph" will become a metapackage that Depends: ceph-{mon,osd}.
- "ceph" will continue to Recommends: ceph-mds

I've done some testing with a dummy package and this works. "apt-get
upgrade" kept the update back, since there were new packages introduced,
but "apt-get dist-upgrade" worked. Is that expected? (... newbie Debian
user here :D )

I've pushed this approach to
https://github.com/ceph/ceph/tree/wip-10587-split-servers.

- Ken

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: debian packaging for wip-10587-split-servers
  2015-07-10 22:54   ` Ken Dreyer
@ 2015-07-10 22:56     ` Ken Dreyer
  0 siblings, 0 replies; 4+ messages in thread
From: Ken Dreyer @ 2015-07-10 22:56 UTC (permalink / raw)
  To: kefu chai; +Cc: ceph-maintainers, ceph-devel@vger.kernel.org

On 07/10/2015 04:54 PM, Ken Dreyer wrote:
> I've done some testing with a dummy package and this works. "apt-get
> upgrade" kept the update back, since there were new packages introduced,
> but "apt-get dist-upgrade" worked. Is that expected? (... newbie Debian
> user here :D )
> 
> I've pushed this approach to
> https://github.com/ceph/ceph/tree/wip-10587-split-servers.

Whoops, I lied, there's nothing new on that branch yet. I'll have to
pick this back up on Monday :)

Hopefully my reasoning above sounds correct, though?

- Ken


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-07-10 22:56 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-09 15:57 debian packaging for wip-10587-split-servers Ken Dreyer
2015-07-10 14:21 ` kefu chai
2015-07-10 22:54   ` Ken Dreyer
2015-07-10 22:56     ` Ken Dreyer

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.