k8s/lb update && bug fixes
This commit is contained in:
@@ -29,7 +29,7 @@ class decort_group(DecortController):
|
||||
self.result['failed'] = True
|
||||
self.result['changed'] = False
|
||||
self.result['msg'] = ("Cannot find B-service ID {}.").format(arg_amodule.params['bservice_id'])
|
||||
self.fail_json(**self.result)
|
||||
self.amodule.fail_json(**self.result)
|
||||
#find group
|
||||
self.bservice_id = validated_bservice_id
|
||||
self.bservice_info = bservice_info
|
||||
|
||||
@@ -132,6 +132,7 @@ class decort_k8s(DecortController):
|
||||
k8s_name=arg_amodule.params['name'],
|
||||
rg_id=validated_rg_id,
|
||||
check_state=False)
|
||||
|
||||
if self.k8s_id:
|
||||
self.k8s_should_exist = True
|
||||
self.acc_id = self.k8s_info['accountId']
|
||||
@@ -165,6 +166,9 @@ class decort_k8s(DecortController):
|
||||
ret_dict['rg_id'] = self.rg_id
|
||||
ret_dict['vins_id'] = self.k8s_vins_id
|
||||
ret_dict['account_id'] = self.acc_id
|
||||
ret_dict['k8s_Masters'] = self.k8s_info['k8sGroups']['masters']
|
||||
ret_dict['k8s_Workers'] = self.k8s_info['k8sGroups']['workers']
|
||||
|
||||
if self.amodule.params['getConfig'] and self.k8s_info['techStatus'] == "STARTED":
|
||||
ret_dict['config'] = self.k8s_getConfig()
|
||||
|
||||
@@ -206,6 +210,7 @@ class decort_k8s(DecortController):
|
||||
k8s_id = self.k8s_provision(self.amodule.params['name'],
|
||||
self.amodule.params['k8ci_id'],
|
||||
self.amodule.params['rg_id'],
|
||||
self.amodule.params['vins_id'],
|
||||
self.amodule.params['network_plugin'],
|
||||
self.amodule.params['master_count'],
|
||||
self.amodule.params['master_cpu'],
|
||||
@@ -216,7 +221,17 @@ class decort_k8s(DecortController):
|
||||
self.amodule.params['workers'][0],
|
||||
self.amodule.params['extnet_id'],
|
||||
self.amodule.params['with_lb'],
|
||||
self.amodule.params['description'],)
|
||||
self.amodule.params['ha_lb'],
|
||||
self.amodule.params['additionalSANs'],
|
||||
self.amodule.params['init_conf'],
|
||||
self.amodule.params['cluster_conf'],
|
||||
self.amodule.params['kublet_conf'],
|
||||
self.amodule.params['kubeproxy_conf'],
|
||||
self.amodule.params['join_conf'],
|
||||
self.amodule.params['oidc_cert'],
|
||||
self.amodule.params['description'],
|
||||
self.amodule.params['extnet_only'],
|
||||
)
|
||||
|
||||
if not k8s_id:
|
||||
self.result['failed'] = True
|
||||
@@ -241,7 +256,8 @@ class decort_k8s(DecortController):
|
||||
|
||||
def action(self,disared_state,started=True):
|
||||
|
||||
self.k8s_state(self.k8s_info, disared_state,started)
|
||||
#k8s state
|
||||
self.k8s_state(self.k8s_info, disared_state, started)
|
||||
self.k8s_id,self.k8s_info = self.k8s_find(k8s_id=self.amodule.params['id'],
|
||||
k8s_name=self.amodule.params['name'],
|
||||
rg_id=self.rg_id,
|
||||
@@ -249,7 +265,11 @@ class decort_k8s(DecortController):
|
||||
if started == True and self.k8s_info['techStatus'] == "STOPPED":
|
||||
self.k8s_state(self.k8s_info, disared_state,started)
|
||||
self.k8s_info['techStatus'] == "STARTED"
|
||||
#check groups and modify if needed
|
||||
self.k8s_workers_modify(self.k8s_info,self.amodule.params['workers'])
|
||||
if self.result['changed'] == True:
|
||||
self.k8s_info = self.k8s_get_by_id(k8s_id=self.k8s_id)
|
||||
#TODO check workers metadata and modify if needed
|
||||
|
||||
return
|
||||
@staticmethod
|
||||
@@ -295,23 +315,29 @@ class decort_k8s(DecortController):
|
||||
getConfig=dict(type='bool',required=False, default=False),
|
||||
rg_id=dict(type='int', default=0),
|
||||
rg_name=dict(type='str',default=""),
|
||||
vins_id=dict(type='int', required=False,default=None),
|
||||
k8ci_id=dict(type='int', required=True),
|
||||
network_plugin=dict(type='str',required=False,default="flannel"),
|
||||
wg_name=dict(type='str', required=False),
|
||||
master_count=dict(type='int', default=1),
|
||||
master_cpu=dict(type='int', default=2),
|
||||
master_ram=dict(type='int', default=2048),
|
||||
master_disk=dict(type='int', default=10),
|
||||
master_sepid=dict(type='int', required=False, default=None),
|
||||
master_pool=dict(type='str', required=False, default=None),
|
||||
worker_count=dict(type='int', default=1),
|
||||
worker_cpu=dict(type='int', default=1),
|
||||
worker_ram_mb=dict(type='int', default=1024),
|
||||
worker_disk_gb=dict(type='int', default=10),
|
||||
workers=dict(type='list',required=True),
|
||||
workers_metadata=dict(type='bool',required=False,default=False),
|
||||
extnet_id=dict(type='int', default=0),
|
||||
description=dict(type='str', default="Created by decort ansible module"),
|
||||
with_lb=dict(type='bool', default=True),
|
||||
ha_lb=dict(type='bool', default=False),
|
||||
extnet_only=dict(type='bool', default=False),
|
||||
additionalSANs=dict(type='list',required=False, default=None),
|
||||
init_conf=dict(type='dict', required=False, default=None),
|
||||
cluster_conf=dict(type='str', required=False, default=None),
|
||||
kublet_conf=dict(type='str', required=False, default=None),
|
||||
kubeproxy_conf=dict(type='str', required=False, default=None),
|
||||
join_conf=dict(type='str', required=False, default=None),
|
||||
oidc_cert=dict(type='raw',required=False,default=None),
|
||||
verify_ssl=dict(type='bool', required=False, default=True),
|
||||
workflow_callback=dict(type='str', required=False),
|
||||
workflow_context=dict(type='str', required=False),)
|
||||
|
||||
@@ -531,9 +531,7 @@ class decort_kvmvm(DecortController):
|
||||
"shell": '/bin/bash'}
|
||||
]}
|
||||
elif self.amodule.params['ci_user_data']:
|
||||
cloud_init_params = {}
|
||||
for ci_param in self.amodule.params['ci_user_data']:
|
||||
cloud_init_params.update(ci_param)
|
||||
cloud_init_params = self.amodule.params['ci_user_data']
|
||||
else:
|
||||
cloud_init_params = None
|
||||
# if we get through here, all parameters required to create new Compute instance should be at hand
|
||||
|
||||
@@ -21,7 +21,6 @@ EXAMPLES = '''
|
||||
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.basic import env_fallback
|
||||
|
||||
from ansible.module_utils.decort_utils import *
|
||||
|
||||
class decort_lb(DecortController):
|
||||
@@ -65,28 +64,28 @@ class decort_lb(DecortController):
|
||||
if not self.rg_id:
|
||||
self.result['failed'] = True
|
||||
self.result['msg'] = "Specified RG ID {} not found.".format(arg_amodule.params['vins_id'])
|
||||
self.fail_json(**self.result)
|
||||
self.amodule.fail_json(**self.result)
|
||||
|
||||
if arg_amodule.params['vins_id']:
|
||||
self.vins_id, self.vins_facts = self.vins_find(arg_amodule.params['vins_id'])
|
||||
if not self.vins_id:
|
||||
self.result['failed'] = True
|
||||
self.result['msg'] = "Specified ViNS ID {} not found.".format(arg_amodule.params['vins_id'])
|
||||
self.fail_json(**self.result)
|
||||
self.amodule.fail_json(**self.result)
|
||||
|
||||
elif arg_amodule.params['account_id'] or arg_amodule.params['account_name'] != "":
|
||||
|
||||
if arg_amodule.params['rg_name']:
|
||||
self.result['failed'] = True
|
||||
self.result['msg'] = ("RG name must be specified with account present")
|
||||
self.fail_json(**self.result)
|
||||
self.amodule.fail_json(**self.result)
|
||||
self.acc_id, self.acc_facts = self.account_find(arg_amodule.params['account_name'],
|
||||
arg_amodule.params['account_id'])
|
||||
if not self.acc_id:
|
||||
self.result['failed'] = True
|
||||
self.result['msg'] = ("Current user does not have access to the requested account "
|
||||
"or non-existent account specified.")
|
||||
self.fail_json(**self.result)
|
||||
self.amodule.fail_json(**self.result)
|
||||
self.rg_id, self.rg_facts = self.rg_find(self._acc_id,0, arg_rg_name=arg_amodule.params['rg_name'])
|
||||
|
||||
if self.rg_id and self.vins_id:
|
||||
@@ -97,10 +96,14 @@ class decort_lb(DecortController):
|
||||
self.lb_id = self.lb_provision(self.amodule.params['lb_name'],
|
||||
self.rg_id,self.vins_id,
|
||||
self.amodule.params['ext_net_id'],
|
||||
self.amodule.params['ha_lb'],
|
||||
self.amodule.params['annotation'])
|
||||
if self.amodule.params['backends'] or self.amodule.params['frontends']:
|
||||
self.lb_id, self.lb_facts = self.lb_find(0,self.amodule.params['lb_name'],self.rg_id)
|
||||
self.lb_update(
|
||||
self.lb_facts['primaryNode'],
|
||||
self.lb_facts['frontendHAIP'],
|
||||
self.lb_facts['backendHAIP'],
|
||||
self.lb_facts['backends'],
|
||||
self.lb_facts['frontends'],
|
||||
self.amodule.params['backends'],
|
||||
@@ -117,11 +120,14 @@ class decort_lb(DecortController):
|
||||
self.lb_facts['techStatus'] = "STARTED"
|
||||
|
||||
self.lb_update(
|
||||
self.lb_facts['primaryNode'],
|
||||
self.lb_facts['frontendHAIP'],
|
||||
self.lb_facts['backendHAIP'],
|
||||
self.lb_facts['backends'],
|
||||
self.lb_facts['frontends'],
|
||||
self.amodule.params['backends'],
|
||||
self.amodule.params['servers'],
|
||||
self.amodule.params['frontends']
|
||||
self.amodule.params['frontends'],
|
||||
)
|
||||
|
||||
if d_state != '':
|
||||
@@ -243,6 +249,7 @@ class decort_lb(DecortController):
|
||||
verify_ssl=dict(type='bool', required=False, default=True),
|
||||
lb_id=dict(type='int', required=False, default=0),
|
||||
lb_name=dict(type='str', required=True),
|
||||
ha_lb=dict(type='bool', required=False, default=False),
|
||||
backends=dict(type='list',required=False,default=[]),
|
||||
frontends=dict(type='list',required=False,default=[]),
|
||||
servers=dict(type='list',required=False,default=[]),
|
||||
|
||||
@@ -260,7 +260,7 @@ class decort_vins(DecortController):
|
||||
if self.vins_id == 0:
|
||||
self.result['failed'] = True
|
||||
self.result['msg'] = "Specified ViNS ID {} not found.".format(arg_amodule.params['vins_id'])
|
||||
self.fail_json(**self.result)
|
||||
self.amodule.fail_json(**self.result)
|
||||
self.vins_level = "ID"
|
||||
#raise Exception(self.vins_facts)
|
||||
validated_acc_id = self.vins_facts['accountId']
|
||||
|
||||
Reference in New Issue
Block a user