[skip ci]Update milvus operator class with python dict type (#10177)

Signed-off-by: yanliang567 <yanliang.qiao@zilliz.com>
pull/10190/head
yanliang567 2021-10-19 17:02:49 +08:00 committed by GitHub
parent ba92d772b5
commit edf3377fe1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 32 additions and 22 deletions

View File

@ -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)

View File

@ -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