4444 "dbms.memory.heap.initial_size" : "300m" ,
4545 "dbms.memory.heap.max_size" : "500m" ,
4646 "dbms.transaction.bookmark_ready_timeout" : "5s" ,
47- "dbms.backup.enabled" : "false" }
47+ "dbms.backup.enabled" : "false" ,
48+ "dbms.connectors.default_listen_address" : "::" ,
49+ }
4850
4951DEFAULT_WAIT_TIMEOUT = 120 # 2 mins
5052
@@ -59,7 +61,7 @@ class Neo4jMachine:
5961
6062 ready = 0
6163
62- def __init__ (self , name , service_name , image , auth , bolt_port , http_port , volume , env , ** config ):
64+ def __init__ (self , name , service_name , image , auth , bolt_port , http_port , volume , env , user , ** config ):
6365 self .name = name
6466 self .service_name = service_name
6567 self .fq_name = "{}.{}" .format (self .name , self .service_name )
@@ -93,6 +95,7 @@ def __init__(self, name, service_name, image, auth, bolt_port, http_port, volume
9395 source , target = s .split (":" )
9496 volumes [source ] = {'bind' : target , 'mode' : 'rw' }
9597
98+
9699 def create_container (img ):
97100 return self .docker .containers .create (img ,
98101 detach = True ,
@@ -101,7 +104,8 @@ def create_container(img):
101104 name = self .fq_name ,
102105 network = self .service_name ,
103106 ports = ports ,
104- volumes = volumes )
107+ volumes = volumes ,
108+ user = user )
105109
106110 try :
107111 self .container = create_container (self .image )
@@ -340,7 +344,7 @@ def find_and_stop(cls, service_name):
340344class Neo4jStandaloneService (Neo4jService ):
341345 default_image = "neo4j:latest"
342346
343- def __init__ (self , name = None , bolt_port = None , http_port = None , volume = None , env = None , ** parameters ):
347+ def __init__ (self , name = None , bolt_port = None , http_port = None , volume = None , env = None , user = None , ** parameters ):
344348 super ().__init__ (name , ** parameters )
345349 machine = Neo4jMachine (
346350 "z" ,
@@ -351,6 +355,7 @@ def __init__(self, name=None, bolt_port=None, http_port=None, volume=None, env=N
351355 http_port = http_port or self .default_http_port ,
352356 volume = volume or {},
353357 env = env or {},
358+ user = user ,
354359 )
355360 self .routers [machine .fq_name ] = machine
356361 self .machines .append (machine )
@@ -375,7 +380,7 @@ def _port_range(cls, base_port, count):
375380 return range (base_port , base_port + count )
376381
377382 def __init__ (self , name = None , bolt_port = None , http_port = None , n_cores = None , n_replicas = None , volume = None , env = None ,
378- ** parameters ):
383+ user = None , ** parameters ):
379384 super ().__init__ (name , n_cores = n_cores , n_replicas = n_replicas , ** parameters )
380385 if not "enterprise" in self .image :
381386 raise ValueError ("Enterprise neo4j docker image is required for cluster" )
@@ -411,6 +416,7 @@ def __init__(self, name=None, bolt_port=None, http_port=None, n_cores=None, n_re
411416 http_port = core_http_port_range [i ],
412417 volume = ["{}:{}" .format (path .join (s .split (":" )[0 ], core_names [i ]), s .split (":" )[1 ]) for s in volume ],
413418 env = env ,
419+ user = user ,
414420 ** {
415421 "causal_clustering.initial_discovery_members" : "," .join (core_addresses ),
416422 "causal_clustering.minimum_core_cluster_size_at_formation" : self .n_cores ,
@@ -441,6 +447,7 @@ def __init__(self, name=None, bolt_port=None, http_port=None, n_cores=None, n_re
441447 http_port = replica_http_port_range [i ],
442448 volume = ["{}:{}" .format (path .join (s .split (":" )[0 ], replica_names [i ]), s .split (":" )[1 ]) for s in volume ],
443449 env = env ,
450+ user = user ,
444451 ** {
445452 "causal_clustering.initial_discovery_members" : "," .join (core_addresses ),
446453 "dbms.connector.bolt.advertised_address" : "localhost:{}" .format (replica_bolt_port_range [i ]),
0 commit comments