diff options
author | Marek Wolczanski <marek.wolczanski@cloudify.co> | 2017-10-03 14:55:19 +0200 |
---|---|---|
committer | Marek Wolczanski <marek.wolczanski@cloudify.co> | 2017-10-03 15:27:26 +0200 |
commit | 63f2cc936ed6e6790f287195694f6d067decdd89 (patch) | |
tree | e79b62b7fc3e099708b6707454b4c52ee3e581da /cloudify-onap/plugins/onap-installation-plugin/k8s_installer/common/init_pod.py | |
parent | b9644b17f8545dedd3ede40f778b33f9b4ecf480 (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-onap/plugins/onap-installation-plugin/k8s_installer/common/init_pod.py')
-rw-r--r-- | cloudify-onap/plugins/onap-installation-plugin/k8s_installer/common/init_pod.py | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/cloudify-onap/plugins/onap-installation-plugin/k8s_installer/common/init_pod.py b/cloudify-onap/plugins/onap-installation-plugin/k8s_installer/common/init_pod.py new file mode 100644 index 0000000000..1376818b7b --- /dev/null +++ b/cloudify-onap/plugins/onap-installation-plugin/k8s_installer/common/init_pod.py @@ -0,0 +1,63 @@ +######## +# 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. + +from cloudify import ctx +import yaml + +import constants +import resources_services + +SERVICES_FILE_PARTS_SEPARATOR = '---' + + +def do_create_init_pod(): + ctx.logger.info('Creating init pod') + + yaml_config = resources_services.render_chart( + ctx.node.properties["init_pod"], + _retrieve_root_path(), + _retrieve_helm_cli_path() + ) + yaml_content_part = yaml_config.split(SERVICES_FILE_PARTS_SEPARATOR)[2] + enhanced_yaml = _add_openstack_envs(yaml_content_part) + + resources_services.create_resource(enhanced_yaml) + + ctx.logger.info('Init pod created successfully') + + +def do_delete_init_pod(): + ctx.logger.info('Deleting init pod') + + ctx.logger.info('Init pod deleted successfully') + +def _add_openstack_envs(yaml_content): + input_dict = yaml.load(yaml_content) + + container_dict = input_dict['spec']['containers'][0] + container_dict.pop('envFrom') + + openstack_envs = ctx.node.properties["openstack_envs"] + for item in openstack_envs.items(): + ctx.logger.debug("adding item = {}".format(item)) + container_dict['env'].append(item) + + return input_dict + +def _retrieve_root_path(): + return ctx.instance.runtime_properties.get(constants.RT_APPS_ROOT_PATH, None) + +def _retrieve_helm_cli_path(): + return ctx.instance.runtime_properties.get(constants.RT_HELM_CLI_PATH, None)
\ No newline at end of file |