in bigtop-packages/src/charm/zeppelin/layer-zeppelin/lib/charms/layer/bigtop_zeppelin.py [0:0]
def install(self):
'''
Perform initial one-time setup and trigger puppet.
'''
# Dirs are handled by the bigtop deb, so no need to call out to
# dist_config to do that work. However, we want to adjust the
# groups for the `ubuntu` user for better interaction with Juju.
self.dist_config.add_users()
# Set ports based on layer.yaml options
self._add_override('zeppelin::server::server_port',
self.dist_config.port('zeppelin'))
self._add_override('zeppelin::server::web_socket_port',
self.dist_config.port('zeppelin_websocket'))
# Default spark to local mode on initial install. This will be
# reconfigured if/when hadoop or spark relations are made.
local_master = 'local[*]'
self._add_override('zeppelin::server::spark_master_url', local_master)
# The spark-client role expects hdfs by default. Since we want to
# keep Hadoop optional, ensure we remove hadoopy bits from our
# local spark config. This has no effect if/when a remote spark joins,
# and since there is no spark history server running, the event dirs
# are not important -- they just need not be 'hdfs:///blah'.
events_log_dir = 'file:///tmp'
self._add_override('spark::common::master_url', local_master)
self._add_override('spark::common::event_log_dir', events_log_dir)
self._add_override('spark::common::history_log_dir', events_log_dir)
self.trigger_bigtop()