mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-06-24 22:12:00 +00:00
fix: 修复测试系统用户可连接性问题
This commit is contained in:
parent
019f00a34a
commit
d7f587216d
@ -83,7 +83,7 @@ def test_system_user_connectivity_util(system_user, assets, task_name):
|
|||||||
_task, created = update_or_create_ansible_task(
|
_task, created = update_or_create_ansible_task(
|
||||||
task_name=_task_name, hosts=_hosts, tasks=_tasks,
|
task_name=_task_name, hosts=_hosts, tasks=_tasks,
|
||||||
pattern='all', options=const.TASK_OPTIONS,
|
pattern='all', options=const.TASK_OPTIONS,
|
||||||
run_as=_username,
|
run_as=_username, system_user=system_user
|
||||||
)
|
)
|
||||||
raw, summary = _task.run()
|
raw, summary = _task.run()
|
||||||
success = summary.get('success', False)
|
success = summary.get('success', False)
|
||||||
|
20
apps/ops/migrations/0020_adhoc_run_system_user.py
Normal file
20
apps/ops/migrations/0020_adhoc_run_system_user.py
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# Generated by Django 3.1.6 on 2021-07-14 08:44
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('assets', '0076_delete_assetuser'),
|
||||||
|
('ops', '0019_adhocexecution_celery_task_id'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='adhoc',
|
||||||
|
name='run_system_user',
|
||||||
|
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='assets.systemuser'),
|
||||||
|
),
|
||||||
|
]
|
@ -146,6 +146,7 @@ class AdHoc(OrgModelMixin):
|
|||||||
hosts = models.ManyToManyField('assets.Asset', verbose_name=_("Host"))
|
hosts = models.ManyToManyField('assets.Asset', verbose_name=_("Host"))
|
||||||
run_as_admin = models.BooleanField(default=False, verbose_name=_('Run as admin'))
|
run_as_admin = models.BooleanField(default=False, verbose_name=_('Run as admin'))
|
||||||
run_as = models.CharField(max_length=64, default='', blank=True, null=True, verbose_name=_('Username'))
|
run_as = models.CharField(max_length=64, default='', blank=True, null=True, verbose_name=_('Username'))
|
||||||
|
run_system_user = models.ForeignKey('assets.SystemUser', null=True, on_delete=models.CASCADE)
|
||||||
become = EncryptJsonDictCharField(max_length=1024, default='', blank=True, null=True, verbose_name=_("Become"))
|
become = EncryptJsonDictCharField(max_length=1024, default='', blank=True, null=True, verbose_name=_("Become"))
|
||||||
created_by = models.CharField(max_length=64, default='', blank=True, null=True, verbose_name=_('Create by'))
|
created_by = models.CharField(max_length=64, default='', blank=True, null=True, verbose_name=_('Create by'))
|
||||||
date_created = models.DateTimeField(auto_now_add=True, db_index=True)
|
date_created = models.DateTimeField(auto_now_add=True, db_index=True)
|
||||||
@ -167,7 +168,7 @@ class AdHoc(OrgModelMixin):
|
|||||||
|
|
||||||
inventory = JMSInventory(
|
inventory = JMSInventory(
|
||||||
self.hosts.all(), run_as_admin=self.run_as_admin,
|
self.hosts.all(), run_as_admin=self.run_as_admin,
|
||||||
run_as=self.run_as, become_info=become_info
|
run_as=self.run_as, become_info=become_info, system_user=self.run_system_user
|
||||||
)
|
)
|
||||||
return inventory
|
return inventory
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ def update_or_create_ansible_task(
|
|||||||
task_name, hosts, tasks,
|
task_name, hosts, tasks,
|
||||||
interval=None, crontab=None, is_periodic=False,
|
interval=None, crontab=None, is_periodic=False,
|
||||||
callback=None, pattern='all', options=None,
|
callback=None, pattern='all', options=None,
|
||||||
run_as_admin=False, run_as=None, become_info=None,
|
run_as_admin=False, run_as=None, system_user=None, become_info=None,
|
||||||
):
|
):
|
||||||
if not hosts or not tasks or not task_name:
|
if not hosts or not tasks or not task_name:
|
||||||
return None, None
|
return None, None
|
||||||
@ -49,7 +49,7 @@ def update_or_create_ansible_task(
|
|||||||
adhoc = task.get_latest_adhoc()
|
adhoc = task.get_latest_adhoc()
|
||||||
new_adhoc = AdHoc(task=task, pattern=pattern,
|
new_adhoc = AdHoc(task=task, pattern=pattern,
|
||||||
run_as_admin=run_as_admin,
|
run_as_admin=run_as_admin,
|
||||||
run_as=run_as)
|
run_as=run_as, run_system_user=system_user)
|
||||||
new_adhoc.tasks = tasks
|
new_adhoc.tasks = tasks
|
||||||
new_adhoc.options = options
|
new_adhoc.options = options
|
||||||
new_adhoc.become = become_info
|
new_adhoc.become = become_info
|
||||||
|
Loading…
Reference in New Issue
Block a user