split network environment

Bug #1603007 reported by Paolo de Rosa
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
apache-zookeeper (Juju Charms Collection)
Fix Released
High
Unassigned

Bug Description

In some environments traffic segregation is needed due to security reasons, it would be good if zookeeper charm let us to decide where to bind zookeeper.
It would be useful to have an option in the charm where to select on which interface/network we can bind the service without relying on "unit-get private-address".

Tags: 4010
James Page (james-page)
Changed in zookeeper (Juju Charms Collection):
status: New → Triaged
importance: Undecided → Wishlist
Revision history for this message
Cory Johns (johnsca) wrote :

As I noted on https://bugs.launchpad.net/charms/+source/apache-kafka/+bug/1602666, we're going to add this functionality to the Apache Bigtop charm for Zookeeper. I believe the current plan is for the Bigtop charm to replace the current Zookeeper charm maintained by James for the Xenial series.

The work for that is not yet in review, but it should be very similar to the work on the Kafka charm, so we are targeting to have it done next week and the new charm promulgated for Xenial.

Revision history for this message
Kevin W Monroe (kwmonroe) wrote :

Development version of the xenial/zookeeper charm with support for binding to a specific address has been pushed to:

https://jujucharms.com/u/bigdata-dev/zookeeper/xenial

We'll kick the tires on this one and promulgate if all looks good.

Revision history for this message
Kevin W Monroe (kwmonroe) wrote :

Well, we kicked the tires and the car fell apart. The current impl allows you to bind zookeeper to a single ip address via a config option. However, config is applied to all zookeeper units. This is problematic because different units will have different IPs.

We're re-working this config option to support a network or interface name. This would allow you to configure zookeeper so it only binds to an IP in the given network or to the IP of the given interface name.

We'll update this bug with a new rev is ready to test.

Revision history for this message
Kevin W Monroe (kwmonroe) wrote :

Similar story here as I just noted in Kafka bug 1602666. The issue raised in comment #3 was addressed in the following PRs:

https://github.com/juju-solutions/bigtop/pull/31
https://github.com/juju-solutions/bigtop/pull/33

Rev 0 of the bigtop zookeeper charm supports binding to a specific ip or interface:

https://jujucharms.com/zookeeper/xenial/0

Note!!
There are 2 Zookeeper charms in play here. "zookeeper" provides the Bigtop zookeeper package, but will not work in a network restricted environment. "apache-zookeeper" provides the vanilla upstream zookeeper package, and does have a mechanism for installing in a net-restricted env.

Only "zookeeper" contains this interface binding functionality. I'll leave this bug opened to track the progress of bringing this feature into the "apache-zookeeper" charm.

affects: zookeeper (Juju Charms Collection) → apache-zookeeper (Juju Charms Collection)
Changed in apache-zookeeper (Juju Charms Collection):
importance: Wishlist → High
Revision history for this message
Pen Gale (pengale) wrote :

I have backported the binding changes to apache-zookeeper, and made fixes similar to those in kafka (interface now shares correct ip; local ipv6 addresses no longer cause Exceptions on physical machines).

PRs are here:
https://github.com/juju-solutions/layer-apache-zookeeper/pull/8
https://github.com/juju-solutions/interface-zookeeper/pull/4

And I've uploaded a charm to bigdata-dev for testing purposes:
cs:~bigdata-dev/trusty/apache-zookeeper-21

Revision history for this message
Pen Gale (pengale) wrote :

Updated the zookeeper charm: cs:~bigdata-dev/trusty/apache-zookeeper-22

(It was passing an interface name, rather than an ip, to the relation.)

tags: added: 4010
Michał Ajduk (majduk)
Changed in apache-zookeeper (Juju Charms Collection):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.