summaryrefslogtreecommitdiff
path: root/src/etcd/tests/integration/helpers.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/etcd/tests/integration/helpers.py')
-rw-r--r--src/etcd/tests/integration/helpers.py36
1 files changed, 25 insertions, 11 deletions
diff --git a/src/etcd/tests/integration/helpers.py b/src/etcd/tests/integration/helpers.py
index 9b1c127..6c7e21c 100644
--- a/src/etcd/tests/integration/helpers.py
+++ b/src/etcd/tests/integration/helpers.py
@@ -17,7 +17,9 @@ class EtcdProcessHelper(object):
proc_name='etcd',
port_range_start=4001,
internal_port_range_start=7001,
- cluster=False):
+ cluster=False,
+ tls=False
+ ):
self.base_directory = base_directory
self.proc_name = proc_name
@@ -25,8 +27,17 @@ class EtcdProcessHelper(object):
self.internal_port_range_start = internal_port_range_start
self.processes = {}
self.cluster = cluster
-
- def run(self, number=1, proc_args=None):
+ self.schema = 'http://'
+ if tls:
+ self.schema = 'https://'
+
+ def run(self, number=1, proc_args=[]):
+ if number > 1:
+ initial_cluster = ",".join([ "test-node-{}={}127.0.0.1:{}".format(slot, 'http://', self.internal_port_range_start + slot) for slot in range(0, number)])
+ proc_args.extend([
+ '-initial-cluster', initial_cluster,
+ '-initial-cluster-state', 'new'
+ ])
for i in range(0, number):
self.add_one(i, proc_args)
@@ -42,23 +53,22 @@ class EtcdProcessHelper(object):
prefix='python-etcd.%d-' % slot)
log.debug('Created directory %s' % directory)
+ client = '%s127.0.0.1:%d' % (self.schema, self.port_range_start + slot)
+ peer = '%s127.0.0.1:%d' % ('http://', self.internal_port_range_start
+ + slot)
daemon_args = [
self.proc_name,
'-data-dir', directory,
'-name', 'test-node-%d' % slot,
- '-peer-addr', '127.0.0.1:%d' % (self.internal_port_range_start +
- slot),
- '-addr', '127.0.0.1:%d' % (self.port_range_start + slot),
+ '-initial-advertise-peer-urls', peer,
+ '-listen-peer-urls', peer,
+ '-advertise-client-urls', client,
+ '-listen-client-urls', client
]
if proc_args:
daemon_args.extend(proc_args)
- if slot > 0 and self.cluster:
- daemon_args.append('-peers')
- daemon_args.append(
- '127.0.0.1:%d' % self.internal_port_range_start)
-
daemon = subprocess.Popen(daemon_args)
log.debug('Started %d' % daemon.pid)
log.debug('Params: %s' % daemon_args)
@@ -158,6 +168,10 @@ class TestingCA(object):
"extendedKeyUsage".encode('ascii'),
False,
"clientAuth,serverAuth".encode('ascii')),
+ crypto.X509Extension(
+ "subjectAltName".encode('ascii'),
+ False,
+ "IP: 127.0.0.1".encode('ascii')),
])
cert.gmtime_adj_notBefore(0)