Browse Source

fix: 华为交换机执行快捷命令报错

pull/12934/head
wangruidong 8 months ago committed by Bryan
parent
commit
22d70eb416
  1. 4
      apps/ops/ansible/inventory.py
  2. 1
      apps/ops/const.py
  3. 7
      apps/ops/models/job.py

4
apps/ops/ansible/inventory.py

@ -115,6 +115,10 @@ class JMSInventory:
else:
host.update(self.make_account_ansible_vars(account))
if platform.name == 'Huawei':
host['ansible_connection'] = 'network_cli'
host['ansible_network_os'] = 'asa'
if gateway:
ansible_connection = host.get('ansible_connection', 'ssh')
if ansible_connection in ('local', 'winrm', 'rdp'):

1
apps/ops/const.py

@ -54,6 +54,7 @@ class JobModules(models.TextChoices):
postgresql = 'postgresql', _('PostgreSQL')
sqlserver = 'sqlserver', _('SQLServer')
raw = 'raw', _('Raw')
huawei = 'huawei', _('HUAWEI')
class AdHocModules(models.TextChoices):

7
apps/ops/models/job.py

@ -66,7 +66,7 @@ class JMSPermedInventory(JMSInventory):
'mysql': ['mysql'],
'postgresql': ['postgresql'],
'sqlserver': ['sqlserver'],
'ssh': ['shell', 'python', 'win_shell', 'raw'],
'ssh': ['shell', 'python', 'win_shell', 'raw', 'huawei'],
'winrm': ['win_shell', 'shell'],
}
@ -301,6 +301,11 @@ class JobExecution(JMSOrgBaseModel):
shell += " chdir={}".format(self.current_job.chdir)
if self.current_job.module in ['python']:
shell += " executable={}".format(self.current_job.module)
if module == JobModules.huawei.value:
module = 'ce_command'
shell = "commands=\"{}\" ".format(self.current_job.args)
return module, shell
def get_runner(self):

Loading…
Cancel
Save