def _install_milvus(seg_size): release_name = f"mil-segsize-{seg_size}-" + cf.gen_digits_by_length(6) cus_configs = {'spec.components.image': 'milvusdb/milvus:master-latest', 'metadata.namespace': namespace, 'metadata.name': release_name, 'spec.components.proxy.serviceType': 'LoadBalancer', 'spec.config.dataCoord.segment.maxSize': seg_size } milvus_op = MilvusOperator() log.info(f"install milvus with configs: {cus_configs}") milvus_op.install(cus_configs) healthy = milvus_op.wait_for_healthy(release_name, namespace, timeout=1200) log.info(f"milvus healthy: {healthy}") if healthy: endpoint = milvus_op.endpoint(release_name, namespace).split(':') log.info(f"milvus endpoint: {endpoint}") host = endpoint[0] port = endpoint[1] return release_name, host, port else: return release_name, None, None
def test_milvus_install(self, request, simd): release_name = "mil-simd-" + cf.gen_digits_by_length(6) namespace = 'chaos-testing' cus_configs = { 'spec.components.image': 'milvusdb/milvus-dev:master-latest', 'metadata.namespace': namespace, 'metadata.name': release_name, 'spec.components.proxy.serviceType': 'LoadBalancer', # TODO: use simd config instead of replicas 'spec.components.queryNode.replicas': 2 } milvus_op = MilvusOperator() log.info(f"install milvus with configs: {cus_configs}") milvus_op.install(cus_configs) healthy = milvus_op.wait_for_healthy(release_name, namespace) log.info(f"milvus healthy: {healthy}") assert healthy endpoint = milvus_op.endpoint(release_name, namespace).split(':') log.info(f"milvus endpoint: {endpoint}") host = endpoint[0] port = endpoint[1] conn = connections.connect(simd, host=host, port=port) assert conn is not None mil = MilvusSys(alias=simd) log.info(f"milvus build version: {mil.build_version}") # TODO: Verify simd config instead of replicas assert len(mil.query_nodes) == 2 # cache results for dependent tests cache = { 'release_name': release_name, 'namespace': namespace, 'alias': simd, 'simd': simd } request.config.cache.set(simd, cache)