mirror of
				https://github.com/ComputerScienceHouse/proxstar.git
				synced 2025-03-09 15:40:09 +00:00 
			
		
		
		
	remove ignored pools config, check valid user when generating pool list, add start for ssh tasks
This commit is contained in:
		
							parent
							
								
									b57279788d
								
							
						
					
					
						commit
						cab0745707
					
				
					 5 changed files with 20 additions and 5 deletions
				
			
		| 
						 | 
					@ -2,10 +2,6 @@ from os import environ
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Proxstar
 | 
					# Proxstar
 | 
				
			||||||
VM_EXPIRE_MONTHS = int(environ.get('PROXSTAR_VM_EXPIRE_MONTHS', '3'))
 | 
					VM_EXPIRE_MONTHS = int(environ.get('PROXSTAR_VM_EXPIRE_MONTHS', '3'))
 | 
				
			||||||
IGNORED_POOLS = [
 | 
					 | 
				
			||||||
    pool.strip()
 | 
					 | 
				
			||||||
    for pool in environ.get('PROXSTAR_IGNORED_POOLS', '').split(',')
 | 
					 | 
				
			||||||
]
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Flask
 | 
					# Flask
 | 
				
			||||||
IP = environ.get('PROXSTAR_IP', '0.0.0.0')
 | 
					IP = environ.get('PROXSTAR_IP', '0.0.0.0')
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -21,3 +21,12 @@ def is_active(user):
 | 
				
			||||||
    ldap = connect_ldap()
 | 
					    ldap = connect_ldap()
 | 
				
			||||||
    rtp_group = ldap.get_group('active')
 | 
					    rtp_group = ldap.get_group('active')
 | 
				
			||||||
    return rtp_group.check_member(ldap.get_member(user, uid=True))
 | 
					    return rtp_group.check_member(ldap.get_member(user, uid=True))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def is_user(user):
 | 
				
			||||||
 | 
					    ldap = connect_ldap()
 | 
				
			||||||
 | 
					    try:
 | 
				
			||||||
 | 
					        rtp_group = ldap.get_member(user, uid=True)
 | 
				
			||||||
 | 
					        return True
 | 
				
			||||||
 | 
					    except:
 | 
				
			||||||
 | 
					        return False
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -277,7 +277,7 @@ def get_pools(proxmox):
 | 
				
			||||||
    pools = []
 | 
					    pools = []
 | 
				
			||||||
    for pool in proxmox.pools.get():
 | 
					    for pool in proxmox.pools.get():
 | 
				
			||||||
        poolid = pool['poolid']
 | 
					        poolid = pool['poolid']
 | 
				
			||||||
        if poolid not in app.config['IGNORED_POOLS']:
 | 
					        if is_user(poolid):
 | 
				
			||||||
            pools.append(poolid)
 | 
					            pools.append(poolid)
 | 
				
			||||||
    pools = sorted(pools)
 | 
					    pools = sorted(pools)
 | 
				
			||||||
    return pools
 | 
					    return pools
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,5 @@
 | 
				
			||||||
import os
 | 
					import os
 | 
				
			||||||
 | 
					import paramiko
 | 
				
			||||||
from flask import Flask
 | 
					from flask import Flask
 | 
				
			||||||
from sqlalchemy import create_engine
 | 
					from sqlalchemy import create_engine
 | 
				
			||||||
from sqlalchemy.orm import sessionmaker
 | 
					from sqlalchemy.orm import sessionmaker
 | 
				
			||||||
| 
						 | 
					@ -101,3 +102,11 @@ def generate_pool_cache_task():
 | 
				
			||||||
        db = connect_db()
 | 
					        db = connect_db()
 | 
				
			||||||
        pools = get_vms_for_rtp(proxmox, db)
 | 
					        pools = get_vms_for_rtp(proxmox, db)
 | 
				
			||||||
        store_pool_cache(db, pools)
 | 
					        store_pool_cache(db, pools)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def setup_template(hostname):
 | 
				
			||||||
 | 
					    with app.app_context():
 | 
				
			||||||
 | 
					        db = connect_db()
 | 
				
			||||||
 | 
					        client = paramiko.SSHClient()
 | 
				
			||||||
 | 
					        client.connect('ssh.example.com', username='root', password='todo')
 | 
				
			||||||
 | 
					        stdin, stdout, stderr = client.exec_command('ls')
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,3 +9,4 @@ rq
 | 
				
			||||||
rq-scheduler
 | 
					rq-scheduler
 | 
				
			||||||
gunicorn
 | 
					gunicorn
 | 
				
			||||||
raven
 | 
					raven
 | 
				
			||||||
 | 
					paramiko
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue