Tux

...making Linux just a little more fun!

is it possible to make CUPS daemons cooperate between themselves?

Mulyadi Santosa [mulyadi.santosa at gmail.com]


Wed, 9 Jul 2008 17:26:55 +0700

Hi gang...

Sorry if the subject sounds confusing, but I wonder, is it possible? AFAIK, each CUPS daemons manage its own queue on the node's own disk...and by design I don't see CUPS is designed as cooperative daemon.

By "cooperative" I mean something like having unified print spool, unified and shared printer device's name among CUPS daemons...and so on.

Looking forward to hear any ideas about it...

regards,

Mulyadi.


Top    Back


René Pfeiffer [lynx at luchs.at]


Wed, 9 Jul 2008 12:52:24 +0200

On Jul 09, 2008 at 1726 +0700, Mulyadi Santosa appeared and said:

> Hi gang...
>=20
> Sorry if the subject sounds confusing, but I wonder, is it possible?
> AFAIK, each CUPS daemons manage its own queue on the node's own
> disk...and by design I don't see CUPS is designed as cooperative
> daemon.

But CUPS is designed to be highly cooperative. Every CUPS daemon can send out broadcasts to the local subnet or multicast packets that announce all available printer queues to all other CUPS servers. You can also do failover, balancing and introduce TCP polling in order to cross routers or WANs. You just have to define the access lists accordingly.

Best, René.


Top    Back


Mulyadi Santosa [mulyadi.santosa at gmail.com]


Wed, 9 Jul 2008 18:50:49 +0700

Hi...

On Wed, Jul 9, 2008 at 5:52 PM, René Pfeiffer <lynx@luchs.at> wrote:

> But CUPS is designed to be highly cooperative. Every CUPS daemon can
> send out broadcasts to the local subnet or multicast packets that
> announce all available printer queues to all other CUPS servers. You can
> also do failover, balancing and introduce TCP polling in order to cross
> routers or WANs. You just have to define the access lists accordingly.

Interesting, I failed to see those option in CUPS online documentation. Can you kindly point me to some URLs that explain how to do it?

Many thanks in advance...

regards,

Mulyadi.


Top    Back


René Pfeiffer [lynx at luchs.at]


Wed, 9 Jul 2008 14:06:19 +0200

On Jul 09, 2008 at 1850 +0700, Mulyadi Santosa appeared and said:

> Hi...
>
> On Wed, Jul 9, 2008 at 5:52 PM, René Pfeiffer <lynx@luchs.at> wrote:
> > But CUPS is designed to be highly cooperative. Every CUPS daemon can
> > send out broadcasts to the local subnet or multicast packets that
> > announce all available printer queues to all other CUPS servers. You can
> > also do failover, balancing and introduce TCP polling in order to cross
> > routers or WANs. You just have to define the access lists accordingly.
>
> Interesting, I failed to see those option in CUPS online
> documentation. Can you kindly point me to some URLs that explain how
> to do it?

I forgot to include this in my first reply, but it seems the CUPS people have restructured the documentation. I can give you some lines from my local CUPS server here in the office.

# This directive polls our main CUPS server 172.16.2.2 and copies its
# printer spools
BrowsePoll 172.16.2.2:631
 
# Show shared printers on the local network.
Browsing On
BrowseOrder allow,deny
BrowseAllow @LOCAL

This should do the trick. Don't forget to configure the <Location></Location> directives accordingly so that clients have access to the printer queues.

On the main server we have basically the following configuration:

Browsing On
BrowseProtocols cups
BrowseAddress @LOCAL
BrowseShortNames Yes
BrowseAllow @LOCAL
BrowseInterval 60
BrowseOrder allow,deny

By having this you should see network broadcasts from your CUPS server every 60 seconds. This is sufficient for all other CUPS servers in the network to synchronise the printer queues. You can now send a print job to any CUPS server and they sort out where the job has to go. It works perfect in our office and with the satellite CUPS servers on systems connecting via VPN.

Best, René.


Top    Back


Mulyadi Santosa [mulyadi.santosa at gmail.com]


Thu, 10 Jul 2008 15:14:43 +0700

Hi rene!

On Wed, Jul 9, 2008 at 7:06 PM, René Pfeiffer <lynx@luchs.at> wrote:

> I forgot to include this in my first reply, but it seems the CUPS people
> have restructured the documentation. I can give you some lines from my
> local CUPS server here in the office.

Big thanks! Actually I was looking on those "Browse" options but never realize those are the ones. I'll try to test your configuration snippet real soon.

NB: Too bad you're far away....I can buy you a "poor man" hamburger if you're in Indonesia :)

regards,

Mulyadi.


Top    Back


René Pfeiffer [lynx at luchs.at]


Thu, 10 Jul 2008 10:35:54 +0200

Hello, Mulyadi!

On Jul 10, 2008 at 1514 +0700, Mulyadi Santosa appeared and said:

> [...]
> Big thanks! Actually I was looking on those "Browse" options but never
> realize those are the ones. I'll try to test your configuration
> snippet real soon.

I see. The config works in our LAN. You have to be careful about encryption; the recent CUPS installations on Debian default to HTTPS instead of HTTP (at least CUPS tried to switch to HTTPS when I upgraded our CUPS server). This can be turned off.

> NB: Too bad you're far away....I can buy you a "poor man" hamburger if
> you're in Indonesia :)

But it's The Answer Gang, not The Lunch Gang. ;)

Best, René.


Top    Back


Kat Tanaka Okopnik [kat at linuxgazette.net]


Thu, 10 Jul 2008 09:25:54 -0700

(Sorry you're getting it twice, Mulyadi - I forgot to send a copy to TAG.)

On Thu, Jul 10, 2008 at 03:14:43PM +0700, Mulyadi Santosa wrote:

> Hi rene!

[I elided all the tech content in favor of a really important topic.]

> NB: Too bad you're far away....I can buy you a "poor man" hamburger if
> you're in Indonesia :)

Mulyadi, you tease!

I've done my homework and tried a net.search, and still have no idea what a "poor man" hamburger in Indonesia is. Please do share? (Drat that net.protocols still have trouble with sending food over the aether!)

-- 
Kat Tanaka Okopnik
Linux Gazette Mailbag Editor
kat@linuxgazette.net


Top    Back