X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cloudify-onap%2Fplugins%2Fonap-installation-plugin%2Fk8s_installer%2Fcommon%2Fnamespace.py;fp=cloudify%2Fscripts%2Fonap%2Fcreate_namespace.py;h=d1336768acaccac9074bfcfbe18b4402d9b418f8;hb=refs%2Fchanges%2F51%2F17051%2F2;hp=c0f1f19680ff4ed8198715f86298953a6195020d;hpb=b9644b17f8545dedd3ede40f778b33f9b4ecf480;p=oom.git diff --git a/cloudify/scripts/onap/create_namespace.py b/cloudify-onap/plugins/onap-installation-plugin/k8s_installer/common/namespace.py similarity index 50% rename from cloudify/scripts/onap/create_namespace.py rename to cloudify-onap/plugins/onap-installation-plugin/k8s_installer/common/namespace.py index c0f1f19680..d1336768ac 100644 --- a/cloudify/scripts/onap/create_namespace.py +++ b/cloudify-onap/plugins/onap-installation-plugin/k8s_installer/common/namespace.py @@ -1,37 +1,67 @@ -import pip - +######## +# Copyright (c) 2017 GigaSpaces Technologies Ltd. All rights reserved +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# * See the License for the specific language governing permissions and +# * limitations under the License. + +import cloudify_kubernetes.tasks as kubernetes_plugin from cloudify import ctx from cloudify.exceptions import NonRecoverableError +import deployment_result -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" - ]) +def do_create_namespace(): + namespace = _retrieve_namespace() + ctx.logger.info('Creating namespace: {0}'.format(namespace)) - import yaml - import cloudify_kubernetes.tasks as kubernetes_plugin + namespace_resource_template = _prepare_namespace_resource_template( + namespace + ) - return yaml, kubernetes_plugin + ctx.logger.debug( + 'Kubernetes object which will be deployed: {0}' + .format(namespace_resource_template) + ) + kubernetes_plugin.custom_resource_create(**namespace_resource_template) + deployment_result.save_deployment_result('namespace') + ctx.logger.info('Namespace created successfully') -def _retrieve_namespace(): - namespace = ctx.node.properties.get( - 'namespace', - ctx.node.properties - .get('options', {}) - .get('namespace', None) + +def do_delete_namespace(): + 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) ) + deployment_result.set_deployment_result('namespace') + kubernetes_plugin.custom_resource_delete(**namespace_resource_template) + ctx.logger.info('Namespace deleted successfully') + + + +def _retrieve_namespace(): + + default_namespace = ctx.node.properties.get('options', {}).get('namespace') + namespace = ctx.node.properties.get('namespace', default_namespace) + if not namespace: raise NonRecoverableError( 'Namespace is not defined (node={})'.format(ctx.node.name) @@ -69,33 +99,3 @@ def _prepare_namespace_resource_template(name): } } } - - -def _save_deployment_result(key): - result = ctx.instance.runtime_properties['kubernetes'] - ctx.instance.runtime_properties[key] = result - ctx.instance.runtime_properties['kubernetes'] = {} - - -def _do_create_namespace(kubernetes_plugin): - namespace = _retrieve_namespace() - ctx.logger.info('Creating namespace: {0}'.format(namespace)) - - namespace_resource_template = _prepare_namespace_resource_template( - namespace - ) - - ctx.logger.debug( - 'Kubernetes object which will be deployed: {0}' - .format(namespace_resource_template) - ) - - kubernetes_plugin.custom_resource_create(**namespace_resource_template) - _save_deployment_result('namespace') - ctx.logger.info('Namespace created successfully') - - -if __name__ == '__main__': - _, kubernetes_plugin = _import_or_install() - - _do_create_namespace(kubernetes_plugin)