diff --git a/tests/python_client/customize/config_parser.py b/tests/python_client/customize/milvus_operator.py similarity index 66% rename from tests/python_client/customize/config_parser.py rename to tests/python_client/customize/milvus_operator.py index d77342dda6..f904f627e7 100644 --- a/tests/python_client/customize/config_parser.py +++ b/tests/python_client/customize/milvus_operator.py @@ -1,12 +1,11 @@ from benedict import benedict -from common.common_func import gen_unique_str from utils.util_log import test_log as log from common.cus_resource_opts import CustomResourceOperations as CusResource template_yaml = 'template/default.yaml' MILVUS_GRP = 'milvus.io' MILVUS_VER = 'v1alpha1' -MILVUS_KIND = 'MilvusCluster' +MILVUS_PLURAL = 'milvusclusters' def update_configs(yaml, template): @@ -14,52 +13,53 @@ def update_configs(yaml, template): log.error("customize configurations must be in dict type") return None - _configs = benedict.from_yaml(template) + d_configs = benedict.from_yaml(template) for key in yaml.keys(): - _configs[key] = yaml[key] + d_configs[key] = yaml[key] - print(_configs) - filename = gen_unique_str('cus_config') - customized_yaml = f'template/{filename}.yaml' - - customized_yaml = _configs.to_yaml(filepath=customized_yaml) - - return _configs.to_json() + # return a python dict for common use + log.info(f"customized configs: {d_configs._dict}") + return d_configs._dict def install_milvus(cus_configs, template=template_yaml): _configs = update_configs(cus_configs, template) - # apply custom resource object to deploy milvus - cus_res = CusResource(kind=MILVUS_KIND, + cus_res = CusResource(kind=MILVUS_PLURAL, group=MILVUS_GRP, version=MILVUS_VER, - namespace=_configs['metadata']['namespace']) + namespace='chaos-testing') + print(_configs) return cus_res.create(_configs) def uninstall_milvus(release_name, namespace='default'): # delete custom resource object to uninstall milvus - cus_res = CusResource(kind=MILVUS_KIND, + cus_res = CusResource(kind=MILVUS_PLURAL, group=MILVUS_GRP, version=MILVUS_VER, namespace=namespace) cus_res.delete(release_name) +def upgrade_milvus(release_name, configs): + # TODO: upgrade milvus with new configs + pass + + if __name__ == '__main__': cus_configs = {'spec.components.image': 'milvusdb/milvus-dev:master-20211013-91d8f85', 'metadata.namespace': 'chaos-testing', - 'metadata.name': 'milvus-dbl-testop', + 'metadata.name': 'milvus-dbl-testop2', 'spec.components.queryNode.replicas': 2, 'spec.components.queryNode.resources.limits.memory': '2048Mi' } - # milvus_instance = install_milvus(cus_configs, template_yaml) - # print(milvus_instance) + milvus_instance = install_milvus(cus_configs, template_yaml) + print(milvus_instance) # upgrade_milvus(cus_configs) - uninstall_milvus('milvus-dbl-testop', namespace='chaos-testing') + # uninstall_milvus('milvus-dbl-testop2', namespace='chaos-testing') # update_configs(cus_configs) diff --git a/tests/python_client/customize/template/default.yaml b/tests/python_client/customize/template/default.yaml index 8f382d35ba..165e8d3672 100644 --- a/tests/python_client/customize/template/default.yaml +++ b/tests/python_client/customize/template/default.yaml @@ -5,6 +5,16 @@ metadata: labels: app: milvus spec: - config: {} - components: {} - dependencies: {} + dependencies: + etcd: + inCluster: + deletionPolicy: Delete + persistenceKeep: false + pulsar: + inCluster: + deletionPolicy: Delete + persistenceKeep: false + storage: + inCluster: + deletionPolicy: Delete + persistenceKeep: false \ No newline at end of file