mirror of https://github.com/jumpserver/jumpserver
				
				
				
			fix: 修复测试系统用户可连接性问题
							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_name=_task_name, hosts=_hosts, tasks=_tasks,
 | 
			
		||||
            pattern='all', options=const.TASK_OPTIONS,
 | 
			
		||||
            run_as=_username,
 | 
			
		||||
            run_as=_username, system_user=system_user
 | 
			
		||||
        )
 | 
			
		||||
        raw, summary = _task.run()
 | 
			
		||||
        success = summary.get('success', False)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"))
 | 
			
		||||
    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_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"))
 | 
			
		||||
    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)
 | 
			
		||||
| 
						 | 
				
			
			@ -167,7 +168,7 @@ class AdHoc(OrgModelMixin):
 | 
			
		|||
 | 
			
		||||
        inventory = JMSInventory(
 | 
			
		||||
            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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,7 +28,7 @@ def update_or_create_ansible_task(
 | 
			
		|||
        task_name, hosts, tasks,
 | 
			
		||||
        interval=None, crontab=None, is_periodic=False,
 | 
			
		||||
        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:
 | 
			
		||||
        return None, None
 | 
			
		||||
| 
						 | 
				
			
			@ -49,7 +49,7 @@ def update_or_create_ansible_task(
 | 
			
		|||
    adhoc = task.get_latest_adhoc()
 | 
			
		||||
    new_adhoc = AdHoc(task=task, pattern=pattern,
 | 
			
		||||
                      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.options = options
 | 
			
		||||
    new_adhoc.become = become_info
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue