322
323
###############################################################################
323
324
# Global variables
324
325
###############################################################################
325
parser = argparse.ArgumentParser()
326
parser.add_argument('-H', '--hook_name', dest='hook_name', help='hook to call')
327
args = parser.parse_args()
328
if args.hook_name is not None:
329
hook_name = args.hook_name
331
hook_name = os.path.basename(sys.argv[0])
332
326
default_mongodb_config = "/etc/mongodb.conf"
333
327
default_mongodb_init_config = "/etc/init/mongodb.conf"
334
328
default_mongos_list = "/etc/mongos.list"
826
820
if os.path.exists('/var/lib/mongodb/mongod.lock'):
827
821
os.remove('/var/lib/mongodb/mongod.lock')
829
service('mongodb', 'start')
823
if not service('mongodb', 'start'):
831
while service('mongodb', 'status') and \
832
not port_check(my_hostname, my_port) and \
833
current_try < max_tries:
834
juju_log("restart_mongod: Waiting for MongoDB to be ready ...")
826
while (service('mongodb', 'status') and
827
not port_check(my_hostname, my_port) and
828
current_try < max_tries):
830
"restart_mongod: Waiting for MongoDB to be ready ({}/{})".format(
831
current_try, max_tries))
835
832
time.sleep(wait_for)
1429
1429
"Invalid volume storage configuration, not applying changes")
1433
#------------------------------------------------------------------------------
1434
# Write mongodb-server logrotate configuration
1435
#------------------------------------------------------------------------------
1436
def write_logrotate_config(config_data,
1437
conf_file = '/etc/logrotate.d/mongodb-server'):
1439
juju_log('Writing {}.'.format(conf_file))
1440
contents = dedent("""
1442
{logrotate-frequency}
1443
rotate {logrotate-rotate}
1444
maxsize {logrotate-maxsize}
1451
contents = contents.format(**config_data)
1453
with open(conf_file, 'w') as f:
1456
juju_log('Could not write {}.'.format(conf_file))
1432
1461
###############################################################################
1434
1463
###############################################################################
1435
if hook_name == "install":
1436
retVal = install_hook()
1437
elif hook_name == "config-changed":
1438
retVal = config_changed()
1439
elif hook_name == "start":
1440
retVal = start_hook()
1441
elif hook_name == "stop":
1442
retVal = stop_hook()
1443
elif hook_name == "database-relation-joined":
1444
retVal = database_relation_joined()
1445
elif hook_name == "replica-set-relation-joined":
1446
retVal = replica_set_relation_joined()
1447
elif hook_name == "replica-set-relation-changed":
1448
retVal = replica_set_relation_changed()
1449
elif hook_name == "configsvr-relation-joined":
1450
retVal = configsvr_relation_joined()
1451
elif hook_name == "configsvr-relation-changed":
1452
retVal = configsvr_relation_changed()
1453
elif hook_name == "mongos-cfg-relation-joined":
1454
retVal = mongos_relation_joined()
1455
elif hook_name == "mongos-cfg-relation-changed":
1456
retVal = mongos_relation_changed()
1457
elif hook_name == "mongos-cfg-relation-broken":
1458
retVal = mongos_relation_broken()
1459
elif hook_name == "mongos-relation-joined":
1460
retVal = mongos_relation_joined()
1461
elif hook_name == "mongos-relation-changed":
1462
retVal = mongos_relation_changed()
1463
elif hook_name == "mongos-relation-broken":
1464
retVal = mongos_relation_broken()
1466
print "Unknown hook"
1464
if __name__ == '__main__':
1465
parser = argparse.ArgumentParser()
1466
parser.add_argument('-H', '--hook_name', dest='hook_name',
1467
help='hook to call')
1468
args = parser.parse_args()
1469
if args.hook_name is not None:
1470
hook_name = args.hook_name
1472
hook_name = os.path.basename(sys.argv[0])
1474
if hook_name == "install":
1475
retVal = install_hook()
1476
elif hook_name == "config-changed":
1477
retVal = config_changed()
1478
elif hook_name == "start":
1479
retVal = start_hook()
1480
elif hook_name == "stop":
1481
retVal = stop_hook()
1482
elif hook_name == "database-relation-joined":
1483
retVal = database_relation_joined()
1484
elif hook_name == "replica-set-relation-joined":
1485
retVal = replica_set_relation_joined()
1486
elif hook_name == "replica-set-relation-changed":
1487
retVal = replica_set_relation_changed()
1488
elif hook_name == "configsvr-relation-joined":
1489
retVal = configsvr_relation_joined()
1490
elif hook_name == "configsvr-relation-changed":
1491
retVal = configsvr_relation_changed()
1492
elif hook_name == "mongos-cfg-relation-joined":
1493
retVal = mongos_relation_joined()
1494
elif hook_name == "mongos-cfg-relation-changed":
1495
retVal = mongos_relation_changed()
1496
elif hook_name == "mongos-cfg-relation-broken":
1497
retVal = mongos_relation_broken()
1498
elif hook_name == "mongos-relation-joined":
1499
retVal = mongos_relation_joined()
1500
elif hook_name == "mongos-relation-changed":
1501
retVal = mongos_relation_changed()
1502
elif hook_name == "mongos-relation-broken":
1503
retVal = mongos_relation_broken()
1505
print "Unknown hook"