|
|
|
@ -66,16 +66,9 @@ class decort_lb(DecortController):
|
|
|
|
|
self.result['msg'] = "Specified RG ID {} not found.".format(arg_amodule.params['vins_id'])
|
|
|
|
|
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.amodule.fail_json(**self.result)
|
|
|
|
|
|
|
|
|
|
elif arg_amodule.params['account_id'] or arg_amodule.params['account_name'] != "":
|
|
|
|
|
|
|
|
|
|
if arg_amodule.params['rg_name']:
|
|
|
|
|
if not arg_amodule.params['rg_name']:
|
|
|
|
|
self.result['failed'] = True
|
|
|
|
|
self.result['msg'] = ("RG name must be specified with account present")
|
|
|
|
|
self.amodule.fail_json(**self.result)
|
|
|
|
@ -86,8 +79,32 @@ class decort_lb(DecortController):
|
|
|
|
|
self.result['msg'] = ("Current user does not have access to the requested account "
|
|
|
|
|
"or non-existent account specified.")
|
|
|
|
|
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'])
|
|
|
|
|
self.rg_id, self.rg_facts = self.rg_find(self.acc_id,0, arg_rg_name=arg_amodule.params['rg_name'])
|
|
|
|
|
|
|
|
|
|
if arg_amodule.params['vins_id']:
|
|
|
|
|
self.vins_id, self.vins_facts = self.vins_find(
|
|
|
|
|
vins_id=arg_amodule.params['vins_id']
|
|
|
|
|
)
|
|
|
|
|
if not self.vins_id:
|
|
|
|
|
self.result['failed'] = True
|
|
|
|
|
self.result['msg'] = (
|
|
|
|
|
f'Specified ViNS ID {arg_amodule.params["vins_id"]}'
|
|
|
|
|
f' not found'
|
|
|
|
|
)
|
|
|
|
|
self.amodule.fail_json(**self.result)
|
|
|
|
|
elif arg_amodule.params['vins_name']:
|
|
|
|
|
self.vins_id, self.vins_facts = self.vins_find(
|
|
|
|
|
vins_id=arg_amodule.params['vins_id'],
|
|
|
|
|
vins_name=arg_amodule.params['vins_name'],
|
|
|
|
|
rg_id=self.rg_id)
|
|
|
|
|
if not self.vins_id:
|
|
|
|
|
self.result['failed'] = True
|
|
|
|
|
self.result['msg'] = (
|
|
|
|
|
f'Specified ViNS name {arg_amodule.params["vins_name"]}'
|
|
|
|
|
f' not found in RG ID {self.rg_id}'
|
|
|
|
|
)
|
|
|
|
|
self.amodule.fail_json(**self.result)
|
|
|
|
|
|
|
|
|
|
if self.rg_id and self.vins_id:
|
|
|
|
|
self.lb_id, self.lb_facts = self.lb_find(0,arg_amodule.params['lb_name'],self.rg_id)
|
|
|
|
|
return
|
|
|
|
@ -98,7 +115,8 @@ class decort_lb(DecortController):
|
|
|
|
|
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']:
|
|
|
|
|
if self.lb_id and (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'],
|
|
|
|
@ -114,10 +132,10 @@ class decort_lb(DecortController):
|
|
|
|
|
|
|
|
|
|
def action(self,d_state='',restore=False):
|
|
|
|
|
if restore == True:
|
|
|
|
|
self.lb_restore(arg_vins_id=self.lb_id)
|
|
|
|
|
self.lb_state(self.vins_facts, 'enabled')
|
|
|
|
|
self.lb_facts['status'] = "ENABLED"
|
|
|
|
|
self.lb_facts['techStatus'] = "STARTED"
|
|
|
|
|
self.lb_restore(lb_id=self.lb_id)
|
|
|
|
|
_, self.lb_facts = self._lb_get_by_id(lb_id=self.lb_id)
|
|
|
|
|
self.lb_state(self.lb_facts, 'enabled')
|
|
|
|
|
_, self.lb_facts = self._lb_get_by_id(lb_id=self.lb_id)
|
|
|
|
|
|
|
|
|
|
self.lb_update(
|
|
|
|
|
self.lb_facts['primaryNode'],
|
|
|
|
@ -132,6 +150,14 @@ class decort_lb(DecortController):
|
|
|
|
|
|
|
|
|
|
if d_state != '':
|
|
|
|
|
self.lb_state(self.lb_facts, d_state)
|
|
|
|
|
_, self.lb_facts = self._lb_get_by_id(lb_id=self.lb_id)
|
|
|
|
|
|
|
|
|
|
if (d_state == 'enabled' and
|
|
|
|
|
self.lb_facts.get('status') == 'ENABLED' and
|
|
|
|
|
self.lb_facts.get('techStatus') == 'STOPPED'):
|
|
|
|
|
self.lb_state(self.lb_facts, 'started')
|
|
|
|
|
_, self.lb_facts = self._lb_get_by_id(lb_id=self.lb_id)
|
|
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
def delete(self):
|
|
|
|
@ -288,23 +314,24 @@ def main():
|
|
|
|
|
elif decon.lb_facts['status'] == "DISABLED":
|
|
|
|
|
if amodule.params['state'] == 'absent':
|
|
|
|
|
decon.delete()
|
|
|
|
|
elif amodule.params['state'] in ('present', 'disabled'):
|
|
|
|
|
elif amodule.params['state'] == 'disabled':
|
|
|
|
|
decon.action()
|
|
|
|
|
elif amodule.params['state'] == 'enabled':
|
|
|
|
|
elif amodule.params['state'] in ('enabled', 'present'):
|
|
|
|
|
decon.action('enabled')
|
|
|
|
|
elif decon.lb_facts['status'] in ["CREATED", "ENABLED"]:
|
|
|
|
|
if amodule.params['state'] == 'absent':
|
|
|
|
|
decon.delete()
|
|
|
|
|
elif amodule.params['state'] in ('present', 'enabled'):
|
|
|
|
|
decon.action()
|
|
|
|
|
decon.action(d_state='enabled')
|
|
|
|
|
elif amodule.params['state'] == 'disabled':
|
|
|
|
|
decon.action('disabled')
|
|
|
|
|
elif amodule.params['state'] in ('stopped', 'started','restart'):
|
|
|
|
|
decon.action(amodule.params['state'])
|
|
|
|
|
elif decon.lb_facts['status'] == "DELETED":
|
|
|
|
|
if amodule.params['state'] in ['present', 'enabled']:
|
|
|
|
|
decon.action(restore=True)
|
|
|
|
|
elif amodule.params['state'] == 'absent':
|
|
|
|
|
decon.action(d_state='enabled', restore=True)
|
|
|
|
|
elif (amodule.params['state'] == 'absent' and
|
|
|
|
|
amodule.params['permanently']):
|
|
|
|
|
decon.delete()
|
|
|
|
|
elif amodule.params['state'] == 'disabled':
|
|
|
|
|
decon.error()
|
|
|
|
|