def configure_kafka(zk):
    hookenv.status_set('maintenance', 'Setting up Kafka')
    kafka = Kafka()
    zks = zk.zookeepers()
    network_interface = hookenv.config().get('network_interface')

    kafka.configure_kafka(zks, network_interface)
    kafka.start()
    set_state('kafka.started')
    hookenv.status_set('active', 'Ready')
示例#2
0
def install_kafka(*args):
    kafka = Kafka()
    if kafka.verify_resources():
        hookenv.status_set('maintenance', 'Installing Kafka')
        kafka.install()
        kafka.open_ports()
        set_state('kafka.installed')
def update_config(zk):
    """Configure ready zookeepers and restart kafka if needed.

    Also restart if network_interface has changed.

    As zks come and go, server.properties will be updated. When that file
    changes, restart Kafka and set appropriate status messages.
    """
    hookenv.log('Checking Zookeeper configuration')
    kafka = Kafka()
    zks = zk.zookeepers()
    network_interface = hookenv.config().get('network_interface')
    kafka.configure_kafka(zks, network_interface)

    server_cfg = DistConfig().path('kafka_conf') / 'server.properties'
    if any_file_changed([server_cfg]):
        hookenv.status_set('maintenance', 'Server config changed: restarting Kafka')
        hookenv.log('Server config changed: restarting Kafka')
        kafka.restart()
        hookenv.status_set('active', 'Ready')
def install_kafka(*args):
    kafka = Kafka()
    if kafka.verify_resources():
        hookenv.status_set('maintenance', 'Installing Kafka')
        kafka.install()
        kafka.open_ports()
        set_state('kafka.installed')
示例#5
0
def configure_kafka(zk):
    hookenv.status_set('maintenance', 'Setting up Kafka')
    kafka = Kafka()
    zks = zk.zookeepers()
    network_interface = hookenv.config().get('network_interface')

    kafka.configure_kafka(zks, network_interface)
    kafka.start()
    set_state('kafka.started')
    hookenv.status_set('active', 'Ready')
示例#6
0
def update_config(zk):
    """Configure ready zookeepers and restart kafka if needed.

    Also restart if network_interface has changed.

    As zks come and go, server.properties will be updated. When that file
    changes, restart Kafka and set appropriate status messages.
    """
    hookenv.log('Checking Zookeeper configuration')
    kafka = Kafka()
    zks = zk.zookeepers()
    network_interface = hookenv.config().get('network_interface')
    kafka.configure_kafka(zks, network_interface)

    server_cfg = DistConfig().path('kafka_conf') / 'server.properties'
    if any_file_changed([server_cfg]):
        hookenv.status_set('maintenance', 'Server config changed: restarting Kafka')
        hookenv.log('Server config changed: restarting Kafka')
        kafka.restart()
        hookenv.status_set('active', 'Ready')
def stop_kafka_waiting_for_zookeeper_ready():
    hookenv.status_set('maintenance', 'Zookeeper not ready, stopping Kafka')
    kafka = Kafka()
    kafka.stop()
    remove_state('kafka.started')
    hookenv.status_set('waiting', 'Waiting for Zookeeper to become ready')
示例#8
0
def stop_kafka_waiting_for_zookeeper_ready():
    hookenv.status_set('maintenance', 'Zookeeper not ready, stopping Kafka')
    kafka = Kafka()
    kafka.stop()
    remove_state('kafka.started')
    hookenv.status_set('waiting', 'Waiting for Zookeeper to become ready')