diff options
author | Krzysztof Bijakowski <krzysztof.bijakowski@cloudify.co> | 2017-09-05 10:26:20 +0200 |
---|---|---|
committer | Krzysztof Bijakowski <krzysztof.bijakowski@cloudify.co> | 2017-09-05 10:42:51 +0200 |
commit | 06bdb6a3ec916137534e627a275141c8c587dff7 (patch) | |
tree | 1ca2d6c9f3b3faddcc1c6cf26742cc0872690a9c /cloudify/scripts/onap/delete_init_pod.py | |
parent | 2ba543f3568fb58f53f4d0f646ff4a2c8519d7d4 (diff) |
Cloudify blueprint for provisioning ONAP
Change-Id: Ibe0f7e626ca2ebaa5d5e7eeb49a33b19cacbafa3
Issue-ID: OOM-106
Signed-off-by: Krzysztof Bijakowski <krzysztof.bijakowski@cloudify.co>
Diffstat (limited to 'cloudify/scripts/onap/delete_init_pod.py')
-rw-r--r-- | cloudify/scripts/onap/delete_init_pod.py | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/cloudify/scripts/onap/delete_init_pod.py b/cloudify/scripts/onap/delete_init_pod.py new file mode 100644 index 0000000000..1da805b959 --- /dev/null +++ b/cloudify/scripts/onap/delete_init_pod.py @@ -0,0 +1,64 @@ +import pip + +from cloudify import ctx +from cloudify.exceptions import NonRecoverableError + + +SERVICES_FILE_PARTS_SEPARATOR = '---' + + +def _import_or_install(): + try: + import yaml + except ImportError: + pip.main(["install", "pyaml"]) + + try: + import cloudify_kubernetes.tasks as kubernetes_plugin + except ImportError: + pip.main([ + "install", + "https://github.com/cloudify-incubator/cloudify-kubernetes-plugin/archive/1.2.1rc1.zip" + ]) + + import yaml + import cloudify_kubernetes.tasks as kubernetes_plugin + + return yaml, kubernetes_plugin + + +def _retrieve_path(): + return ctx.node.properties.get('init_pod', None) + + +def _set_deployment_result(key): + result = ctx.instance.runtime_properties.pop(key) + ctx.instance.runtime_properties['kubernetes'] = result + + +def _do_delete_init_pod(kubernetes_plugin, yaml): + ctx.logger.info('Deleting init pod') + init_pod_file_path = _retrieve_path() + + if not init_pod_file_path: + raise NonRecoverableError('Init pod file is not defined.') + + temp_file_path = ctx.download_resource_and_render( + init_pod_file_path + ) + + with open(temp_file_path) as temp_file: + init_pod_file_content = temp_file.read() + init_pod_yaml_content = yaml.load(init_pod_file_content) + + _set_deployment_result('init_pod') + kubernetes_plugin.resource_delete(definition=init_pod_yaml_content) + + ctx.logger.info('Init pod deleted successfully') + + +if __name__ == '__main__': + yaml, kubernetes_plugin = _import_or_install() + + _do_delete_init_pod(kubernetes_plugin, yaml) + |