summaryrefslogtreecommitdiffstats
path: root/cloudify/scripts/onap/delete_namespace.py
diff options
context:
space:
mode:
authorMarek Wolczanski <marek.wolczanski@cloudify.co>2017-10-03 14:55:19 +0200
committerMarek Wolczanski <marek.wolczanski@cloudify.co>2017-10-03 15:27:26 +0200
commit63f2cc936ed6e6790f287195694f6d067decdd89 (patch)
treee79b62b7fc3e099708b6707454b4c52ee3e581da /cloudify/scripts/onap/delete_namespace.py
parentb9644b17f8545dedd3ede40f778b33f9b4ecf480 (diff)
Cloudify support for OOM
Issue-ID: OOM-106 Change-Id: Ie0a37ef378fd1907825da181c81502c6fbe9134c Signed-off-by: Marek Wolczanski <marek.wolczanski@cloudify.co>
Diffstat (limited to 'cloudify/scripts/onap/delete_namespace.py')
-rw-r--r--cloudify/scripts/onap/delete_namespace.py101
1 files changed, 0 insertions, 101 deletions
diff --git a/cloudify/scripts/onap/delete_namespace.py b/cloudify/scripts/onap/delete_namespace.py
deleted file mode 100644
index 6973e59944..0000000000
--- a/cloudify/scripts/onap/delete_namespace.py
+++ /dev/null
@@ -1,101 +0,0 @@
-import pip
-
-from cloudify import ctx
-from cloudify.exceptions import NonRecoverableError
-
-
-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_namespace():
- namespace = ctx.node.properties.get(
- 'namespace',
- ctx.node.properties
- .get('options', {})
- .get('namespace', None)
- )
-
- if not namespace:
- raise NonRecoverableError(
- 'Namespace is not defined (node={})'.format(ctx.node.name)
- )
-
- return namespace
-
-
-def _prepare_namespace_resource_template(name):
- return {
- 'definition': {
- 'apiVersion': 'v1',
- 'kind': 'Namespace',
- 'metadata': {
- 'name': name,
- 'labels': {
- 'name': name
- },
- },
- },
- 'api_mapping': {
- 'create': {
- 'api': 'CoreV1Api',
- 'method': 'create_namespace',
- 'payload': 'V1Namespace'
- },
- 'read': {
- 'api': 'CoreV1Api',
- 'method': 'read_namespace',
- },
- 'delete': {
- 'api': 'CoreV1Api',
- 'method': 'delete_namespace',
- 'payload': 'V1DeleteOptions'
- }
- }
- }
-
-
-def _set_deployment_result(key):
- result = ctx.instance.runtime_properties.pop(key)
- ctx.instance.runtime_properties['kubernetes'] = result
-
-
-def _do_delete_namespace(kubernetes_plugin):
- namespace = _retrieve_namespace()
- ctx.logger.info('Deleting namespace: {0}'.format(namespace))
-
- namespace_resource_template = _prepare_namespace_resource_template(
- namespace
- )
-
- ctx.logger.debug(
- 'Kubernetes object which will be deleted: {0}'
- .format(namespace_resource_template)
- )
-
- _set_deployment_result('namespace')
- kubernetes_plugin.custom_resource_delete(**namespace_resource_template)
- ctx.logger.info('Namespace deleted successfully')
-
-
-if __name__ == '__main__':
- _, kubernetes_plugin = _import_or_install()
-
- _do_delete_namespace(kubernetes_plugin)
-