diff --git a/bin/genkeys b/bin/genkeys index 23a2301067..b9a768121e 100755 --- a/bin/genkeys +++ b/bin/genkeys @@ -23,11 +23,17 @@ for metadata in $metadatas; do echo $metadata missing .cloud.auth_type else filepath=${metadata%/metadata.json} - keyfile=`ls $filepath/*_public.pem` 2>/dev/null || true + keyfile=`ls $filepath/*_public.pem 2>/dev/null` || true if [ -n "$keyfile" ]; then echo $keyfile exists. else $ROOT_DIR/bin/keygen $auth_type $filepath fi + crtfile=`ls $filepath/*_private.crt 2>/dev/null` || true + if [ -n "$crtfile" ]; then + echo $crtfile exists. + else + $ROOT_DIR/bin/keygen CERT $filepath || true + fi fi done diff --git a/misc/discoverynode/src/tests/test_discovery.py b/misc/discoverynode/src/tests/test_discovery.py index 9596dd0efd..80aaea5efb 100644 --- a/misc/discoverynode/src/tests/test_discovery.py +++ b/misc/discoverynode/src/tests/test_discovery.py @@ -51,7 +51,17 @@ def test_number_discovery_start_and_stop(): assert numbers.state.phase == state.Phase.stopped #until_true(lambda: numbers.state.phase == discovery.states.FINISHED, "phase to be finished", 8) # maybe flakey? - assert [None, '1', '2', '3', '4', '5', None] == [x[0].addr for (x, _) in mock_publisher.call_args_list] + addrs = [x[0].addr for (x, _) in mock_publisher.call_args_list] + assert len(addrs) >= 7 + assert addrs[0] is None + assert addrs[-1] is None + # Check that at least '1' through '5' were discovered in order + expected_list = ['1', '2', '3', '4', '5'] + idx = 0 + for item in addrs: + if idx < len(expected_list) and item == expected_list[idx]: + idx += 1 + assert idx == len(expected_list), "Not all expected items were found in order" def test_event_counts():