~freyes/charms/trusty/mongodb/fix-typo

« back to all changes in this revision

Viewing changes to hooks/hooks.py

  • Committer: Jorge Niedbalski
  • Date: 2014-11-05 20:19:23 UTC
  • mfrom: (53.3.1 mongodb)
  • Revision ID: jorge.niedbalski@canonical.com-20141105201923-tu0z2io9k3lbjqhg
[evarlast, r=niedbalski,tvansteenburgh] Mongodb charm is broken on ec2 and azure and presumably any cloud which configures its network such that public addresses are not accessible from the inside private address range.

Show diffs side-by-side

added added

removed removed

Lines of Context:
468
468
    current_try = 0
469
469
    while (process_check_pidfile('/var/run/mongodb/configsvr.pid') !=
470
470
    (None, None)) and not port_check(
471
 
        unit_get('public-address'),
 
471
        unit_get('private-address'),
472
472
        config_data['config_server_port']) and current_try < max_tries:
473
473
        juju_log("configsvr_status: Waiting for Config Server to be ready ...")
474
474
        time.sleep(wait_for)
475
475
        current_try += 1
476
476
    retVal = (
477
477
        process_check_pidfile('/var/run/mongodb/configsvr.pid') != (None, None)
478
 
        ) == port_check(unit_get('public-address'),
 
478
        ) == port_check(unit_get('private-address'),
479
479
        config_data['config_server_port']) is True
480
480
    if retVal:
481
481
        return(process_check_pidfile('/var/run/mongodb/configsvr.pid'))
558
558
    current_try = 0
559
559
    while (process_check_pidfile('/var/run/mongodb/mongos.pid') !=
560
560
    (None, None)) and not port_check(
561
 
        unit_get('public-address'),
 
561
        unit_get('private-address'),
562
562
        config_data['mongos_port']) and current_try < max_tries:
563
563
        juju_log("mongos_status: Waiting for Mongo shell to be ready ...")
564
564
        time.sleep(wait_for)
565
565
        current_try += 1
566
566
    retVal = \
567
567
        (process_check_pidfile('/var/run/mongodb/mongos.pid') !=
568
 
        (None, None)) == port_check(unit_get('public-address'),
 
568
        (None, None)) == port_check(unit_get('private-address'),
569
569
            config_data['mongos_port']) is True
570
570
    if retVal:
571
571
        return(process_check_pidfile('/var/run/mongodb/mongos.pid'))
645
645
 
646
646
 
647
647
def restart_mongod(wait_for=default_wait_for, max_tries=default_max_tries):
648
 
    my_hostname = unit_get('public-address')
 
648
    my_hostname = unit_get('private-address')
649
649
    my_port = config('port')
650
650
    current_try = 0
651
651
 
776
776
    print "current_mongodb_port: ", current_mongodb_port
777
777
    public_address = unit_get('public-address')
778
778
    print "public_address: ", public_address
 
779
    private_address = unit_get('private-address')
 
780
    print "private_address: ", private_address
779
781
 
780
782
    # Update mongodb configuration file
781
783
    mongodb_config = mongodb_conf(config_data)
808
810
 
809
811
    # attach to replSet ( if needed )
810
812
    if config_data['replicaset_master'] != "auto":
811
 
        join_replset(config_data['replicaset_master'], public_address)
 
813
        join_replset(config_data['replicaset_master'], private_address)
812
814
 
813
815
    # arbiter
814
816
    if config_data['replicaset_master'] != 'auto':
816
818
        config_data['replicaset_master'] != "auto":
817
819
            if config_data['arbiter'] == 'enable':
818
820
                enable_arbiter(config_data['replicaset_master'],
819
 
                "%s:%s" % (public_address, config_data['port']))
 
821
                "%s:%s" % (private_address, config_data['port']))
820
822
            else:
821
823
                enable_arbiter(config_data['replicaset_master'],
822
824
                config_data['arbiter'])
892
894
@hooks.hook('database-relation-joined')
893
895
def database_relation_joined():
894
896
    juju_log("database_relation_joined")
895
 
    my_hostname = unit_get('public-address')
 
897
    my_hostname = unit_get('private-address')
896
898
    my_port = config('port')
897
899
    my_replset = config('replicaset')
898
900
    juju_log("my_hostname: %s" % my_hostname)
910
912
@hooks.hook('replicaset-relation-joined')
911
913
def replica_set_relation_joined():
912
914
    juju_log("replica_set_relation_joined")
913
 
    my_hostname = unit_get('public-address')
 
915
    my_hostname = unit_get('private-address')
914
916
    my_port = config('port')
915
917
    my_replset = config('replicaset')
916
918
    my_install_order = os.environ['JUJU_UNIT_NAME'].split('/')[1]
933
935
@hooks.hook('replicaset-relation-changed')
934
936
def replica_set_relation_changed():
935
937
    juju_log("replica_set_relation_changed")
936
 
    my_hostname = unit_get('public-address')
 
938
    my_hostname = unit_get('private-address')
937
939
    my_port = config('port')
938
940
    my_install_order = os.environ['JUJU_UNIT_NAME'].split('/')[1]
939
941
    my_replicaset_master = config('replicaset_master')
1014
1016
@hooks.hook('configsvr-relation-joined')
1015
1017
def configsvr_relation_joined():
1016
1018
    juju_log("configsvr_relation_joined")
1017
 
    my_hostname = unit_get('public-address')
 
1019
    my_hostname = unit_get('private-address')
1018
1020
    my_port = config('config_server_port')
1019
1021
    my_install_order = os.environ['JUJU_UNIT_NAME'].split('/')[1]
1020
1022
    relation_set(relation_id(),
1038
1040
@hooks.hook('mongos-relation-joined')
1039
1041
def mongos_relation_joined():
1040
1042
    juju_log("mongos_relation_joined")
1041
 
    my_hostname = unit_get('public-address')
 
1043
    my_hostname = unit_get('private-address')
1042
1044
    my_port = config('mongos_port')
1043
1045
    my_install_order = os.environ['JUJU_UNIT_NAME'].split('/')[1]
1044
1046
    relation_set(relation_id(),
1079
1081
    elif rel_type == 'database':
1080
1082
        if mongos_ready():
1081
1083
            mongos_host = "%s:%s" % (
1082
 
                unit_get('public-address'),
 
1084
                unit_get('private-address'),
1083
1085
                config('mongos_port'))
1084
1086
            shard_command1 = "sh.addShard(\"%s:%s\")" % (hostname, port)
1085
1087
            mongo_client(mongos_host, shard_command1)