Exemple #1
0
    def start(self, add_principals=""):
        self.open_port(self.security_protocol)
        self.open_port(self.interbroker_security_protocol)

        self.start_minikdc(add_principals)
        self._ensure_zk_chroot()

        Service.start(self)

        self.logger.info("Waiting for brokers to register at ZK")

        retries = 30
        expected_broker_ids = set(self.nodes)
        wait_until(lambda: {node for node in self.nodes if self.is_registered(node)} == expected_broker_ids, 30, 1)

        if retries == 0:
            raise RuntimeError("Kafka servers didn't register at ZK within 30 seconds")

        # Create topics if necessary
        if self.topics is not None:
            for topic, topic_cfg in self.topics.items():
                if topic_cfg is None:
                    topic_cfg = {}

                topic_cfg["topic"] = topic
                self.create_topic(topic_cfg)
Exemple #2
0
    def start(self, add_principals=""):
        self.open_port(self.security_protocol)
        self.open_port(self.interbroker_security_protocol)

        self.start_minikdc(add_principals)
        Service.start(self)

        # Create topics if necessary
        if self.topics is not None:
            for topic, topic_cfg in self.topics.items():
                if topic_cfg is None:
                    topic_cfg = {}

                topic_cfg["topic"] = topic
                self.create_topic(topic_cfg)
Exemple #3
0
    def start(self):
        if self.security_config.has_sasl_kerberos:
            if self.minikdc is None:
                self.minikdc = MiniKdc(self.context, self.nodes)
                self.minikdc.start()
        Service.start(self)

        # Create topics if necessary
        if self.topics is not None:
            for topic, topic_cfg in self.topics.items():
                if topic_cfg is None:
                    topic_cfg = {}

                topic_cfg["topic"] = topic
                self.create_topic(topic_cfg)
Exemple #4
0
    def start(self):
        if self.security_config.has_sasl_kerberos:
            self.minikdc = MiniKdc(self.context, self.nodes)
            self.minikdc.start()
        else:
            self.minikdc = None
        Service.start(self)

        # Create topics if necessary
        if self.topics is not None:
            for topic, topic_cfg in self.topics.items():
                if topic_cfg is None:
                    topic_cfg = {}

                topic_cfg["topic"] = topic
                self.create_topic(topic_cfg)
Exemple #5
0
    def start(self, add_principals="", use_zk_to_create_topic=True):
        if self.zk_client_secure and not self.zk.zk_client_secure_port:
            raise Exception(
                "Unable to start Kafka: TLS to Zookeeper requested but Zookeeper secure port not enabled"
            )
        self.open_port(self.security_protocol)
        self.interbroker_listener.open = True

        self.start_minikdc_if_necessary(add_principals)
        self._ensure_zk_chroot()

        Service.start(self)

        self.logger.info("Waiting for brokers to register at ZK")

        retries = 30
        expected_broker_ids = set(self.nodes)
        wait_until(
            lambda: {node
                     for node in self.nodes
                     if self.is_registered(node)} == expected_broker_ids, 30,
            1)

        if retries == 0:
            raise RuntimeError(
                "Kafka servers didn't register at ZK within 30 seconds")

        # Create topics if necessary
        if self.topics is not None:
            for topic, topic_cfg in self.topics.items():
                if topic_cfg is None:
                    topic_cfg = {}

                topic_cfg["topic"] = topic
                self.create_topic(
                    topic_cfg, use_zk_to_create_topic=use_zk_to_create_topic)
Exemple #6
0
 def start(self, validation_cmd):
     self.validation_cmd = validation_cmd
     self.validation_outputs.clear()
     Service.start(self)