From d6aad037661f1372524f3e9a9708c23dc0bd7feb Mon Sep 17 00:00:00 2001 From: Stef Graces Date: Wed, 5 May 2021 18:49:30 +0200 Subject: [PATCH 1/3] WIP stackl hosts output --- stackl/core/core/handler/stack_handler.py | 7 ++++--- .../core/core/models/items/stack_instance_service_model.py | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/stackl/core/core/handler/stack_handler.py b/stackl/core/core/handler/stack_handler.py index 70c716f6..1f0050b9 100644 --- a/stackl/core/core/handler/stack_handler.py +++ b/stackl/core/core/handler/stack_handler.py @@ -350,6 +350,7 @@ def update_service_definition(self, count, item, opa_service_params, **stack_instance.service_secrets.get(svc, {}) } service_definition.agent = agent + # TODO delete this if "stackl_hostname" in service_definition.provisioning_parameters: service_definition.template_hosts( service_definition.provisioning_parameters["stackl_hostname"], @@ -375,9 +376,9 @@ def add_outputs(self, outputs_update): **service_definition.provisioning_parameters, **service_definition.outputs } - if "stackl_hostname" in service_definition.outputs: - service_definition.hostname = service_definition.outputs[ - "stackl_hostname"] + if "stackl_hosts" in service_definition.outputs: + service_definition.hosts = service_definition.outputs[ + "stackl_hosts"] return stack_instance diff --git a/stackl/core/core/models/items/stack_instance_service_model.py b/stackl/core/core/models/items/stack_instance_service_model.py index a2cbf2b2..10c6aa34 100644 --- a/stackl/core/core/models/items/stack_instance_service_model.py +++ b/stackl/core/core/models/items/stack_instance_service_model.py @@ -23,7 +23,7 @@ class StackInstanceService(BaseModel): provisioning_parameters: Dict[str, Any] = None cloud_provider: str = "generic" secrets: Dict[str, Any] = None - hosts: List[str] = None + hosts: List[str] = [] resources: Dict[str, str] = None service: str = None agent: str = "" From 1e3ddc22773e67c9610eea807b66362a78a0d1aa Mon Sep 17 00:00:00 2001 From: Stef Graces Date: Mon, 10 May 2021 20:39:48 +0200 Subject: [PATCH 2/3] Fix pylint --- stackl/agent/agent/kubernetes/handlers/ansible_handler.py | 3 +-- .../agent/kubernetes/handlers/ansible_plugins/callback.py | 3 +++ .../agent/kubernetes/handlers/ansible_plugins/inventory.py | 6 ++++-- stackl/agent/agent/kubernetes/outputs/output.py | 2 -- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/stackl/agent/agent/kubernetes/handlers/ansible_handler.py b/stackl/agent/agent/kubernetes/handlers/ansible_handler.py index 5018b4fc..be10b338 100644 --- a/stackl/agent/agent/kubernetes/handlers/ansible_handler.py +++ b/stackl/agent/agent/kubernetes/handlers/ansible_handler.py @@ -3,11 +3,10 @@ """ import json import os +from typing import List from agent.kubernetes.handlers.ansible_plugins.inventory import STACKL_PLUGIN from agent.kubernetes.handlers.ansible_plugins.callback import ANSIBLE_CALLBACK_PLUGIN -from typing import List - from agent.kubernetes.kubernetes_secret_factory import get_secret_handler from .base_handler import Handler diff --git a/stackl/agent/agent/kubernetes/handlers/ansible_plugins/callback.py b/stackl/agent/agent/kubernetes/handlers/ansible_plugins/callback.py index b75ead02..9b93cccb 100644 --- a/stackl/agent/agent/kubernetes/handlers/ansible_plugins/callback.py +++ b/stackl/agent/agent/kubernetes/handlers/ansible_plugins/callback.py @@ -1,3 +1,6 @@ +""" +Stackl callback plugin for Ansible +""" ANSIBLE_CALLBACK_PLUGIN = """ DOCUMENTATION = ''' author: GBrawl diff --git a/stackl/agent/agent/kubernetes/handlers/ansible_plugins/inventory.py b/stackl/agent/agent/kubernetes/handlers/ansible_plugins/inventory.py index 98e42f7e..cd2933eb 100644 --- a/stackl/agent/agent/kubernetes/handlers/ansible_plugins/inventory.py +++ b/stackl/agent/agent/kubernetes/handlers/ansible_plugins/inventory.py @@ -1,4 +1,6 @@ - +""" +Stackl inventory script for Ansible +""" STACKL_PLUGIN = """ from __future__ import (absolute_import, division, print_function) __metaclass__ = type @@ -277,4 +279,4 @@ def parse(self, inventory, loader, path, cache): except Exception as e: raise AnsibleError('Error: this was original exception: %s' % to_native(e)) -""" \ No newline at end of file +""" diff --git a/stackl/agent/agent/kubernetes/outputs/output.py b/stackl/agent/agent/kubernetes/outputs/output.py index 9336f912..3d7181e4 100644 --- a/stackl/agent/agent/kubernetes/outputs/output.py +++ b/stackl/agent/agent/kubernetes/outputs/output.py @@ -56,8 +56,6 @@ def stackl_container(self): """ return client.V1Container(name='stackl-output', image=self.stackl_cli_image, - env=self.env, - volume_mounts=self.volume_mounts, image_pull_policy='Always', command=self.stackl_cli_command, args=[self.stackl_cli_command_args]) From b910fe9be5eb1d6550ec51af75ef0ffed906092d Mon Sep 17 00:00:00 2001 From: Stef Graces Date: Tue, 11 May 2021 14:01:57 +0200 Subject: [PATCH 3/3] Delete stackl_hostname and fix indentation --- stackl/core/core/handler/stack_handler.py | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/stackl/core/core/handler/stack_handler.py b/stackl/core/core/handler/stack_handler.py index 419b4f7c..a8a38b12 100644 --- a/stackl/core/core/handler/stack_handler.py +++ b/stackl/core/core/handler/stack_handler.py @@ -350,12 +350,7 @@ def update_service_definition(self, count, item, opa_service_params, **stack_instance.service_secrets.get(svc, {}) } service_definition.agent = agent - # TODO delete this - if "stackl_hostname" in service_definition.provisioning_parameters: - service_definition.template_hosts( - service_definition.provisioning_parameters["stackl_hostname"], - service_definition.provisioning_parameters.get( - "instances", None), count + 1) + return service_definition def add_outputs(self, outputs_update): @@ -376,14 +371,14 @@ def add_outputs(self, outputs_update): **service_definition.outputs, **outputs_update.outputs } - service_definition.provisioning_parameters = { - **service_definition.provisioning_parameters, - **stack_instance.instance_outputs, - **service_definition.outputs - } - if "stackl_hosts" in service_definition.outputs: - service_definition.hosts = service_definition.outputs[ - "stackl_hosts"] + service_definition.provisioning_parameters = { + **service_definition.provisioning_parameters, + **stack_instance.instance_outputs, + **service_definition.outputs + } + if "stackl_hosts" in service_definition.outputs: + service_definition.hosts = service_definition.outputs[ + "stackl_hosts"] return stack_instance