Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from __future__ import annotations
- import random
- import time
- from datetime import timedelta
- from allauth.account.models import EmailAddress
- from django.apps import apps
- from django.core.management import BaseCommand
- from django.db import transaction
- from django.utils import timezone
- from backupner.apps.core.utils import encrypt_data
- from panel.settings import IS_PROD
- from ...interfaces import SecretInterface
- from ...models import StatusChoice, LaunchTypeChoice
- class Command(BaseCommand):
- help = 'Loads demo data'
- def create_backup_processes_and_jobs(self, data_sources):
- """ Create backup processes and jobs. """
- from ...services import create_backup_processes_for_data_source
- Job = apps.get_model('backupnercore', 'Job')
- jobs = []
- for ds in data_sources:
- backups = create_backup_processes_for_data_source(ds) # todo: refactor me
- backup_jobs = []
- for backup in backups:
- tdelta = 0
- date = timezone.now()
- initial_repository_size = 524288000 # 500 MB
- for i in range(30):
- # 1+ success 0 failed
- if i in [0, 1]:
- tower_status = StatusChoice.successful.value.lower()
- tower_failed = False
- # 1+ success 1+ failed
- elif i in [2, 3, 4, 5]:
- if i == 2:
- tdelta += 1
- if i in [2, 3]:
- tower_status = StatusChoice.successful.value.lower()
- tower_failed = False
- else:
- tower_status = StatusChoice.failed.value.lower()
- tower_failed = True
- # 0 success 1+ failed
- elif i in [6, 7]:
- if i == 6:
- tdelta += 1
- tower_status = StatusChoice.failed.value.lower()
- tower_failed = True
- # 0 success 0 failed
- elif i == 15:
- tdelta += 1
- continue
- else:
- tdelta += 1
- tower_status = StatusChoice.successful.value.lower()
- tower_failed = False
- tower_started = date - timedelta(days=tdelta)
- tower_elapsed = random.randint(1, 60)
- tower_finished = tower_started + timedelta(seconds=tower_elapsed)
- latest_copy_size = initial_repository_size + random.randint(10485760, 104857600) # between 10 and 100 MB
- repository_size = initial_repository_size + random.randint(10485760, 104857600) # between 10 and 100 MB
- total_size = repository_size + latest_copy_size
- job_kwargs = {
- 'backup': backup,
- 'tower_job_id': random.randint(1, 999999),
- 'tower_launch_type': LaunchTypeChoice.scheduled.value.lower(),
- 'tower_status': tower_status,
- 'tower_failed': tower_failed,
- 'tower_started': tower_started,
- 'tower_finished': tower_finished,
- 'tower_elapsed': tower_elapsed,
- 'tower_job_explanation': f'Test Job {i}',
- 'repository_size': repository_size,
- 'latest_copy_size': latest_copy_size,
- 'total_size': total_size,
- 'cache_size': 0,
- }
- backup_jobs.append(Job(**job_kwargs))
- jobs.extend(backup_jobs)
- Job.active.bulk_create(jobs)
- def handle(self, *args, **options):
- from ...interfaces import AuthInterface, InfrastructureInterface
- # Models
- User = apps.get_model('backupnerauth', 'User')
- Key = apps.get_model('backupnerkeys', 'Key')
- Node = apps.get_model('infrastructure', 'Node')
- Storage = apps.get_model('backupnerstorages', 'Storage')
- Secret = apps.get_model('backupnersecrets', 'Secret')
- Project = apps.get_model('backupnerprojects', 'Project')
- MariaDBServer = apps.get_model('backupnerdsmariadb', 'Server')
- MariaDBService = apps.get_model('backupnerdsmariadb', 'Service')
- MariaDBConnection = apps.get_model('backupnerdsmariadb', 'Connection')
- MariaDBDataSource = apps.get_model('backupnerdsmariadb', 'DataSource')
- PostgreSQLServer = apps.get_model('backupnerdspostgresql', 'Server')
- PostgreSQLService = apps.get_model('backupnerdspostgresql', 'Service')
- PostgreSQLConnection = apps.get_model('backupnerdspostgresql', 'Connection')
- PostgreSQLDataSource = apps.get_model('backupnerdspostgresql', 'DataSource')
- SSHServer = apps.get_model('backupnerdsssh', 'Server')
- SSHService = apps.get_model('backupnerdsssh', 'Service')
- SSHConnection = apps.get_model('backupnerdsssh', 'Connection')
- SSHDataSource = apps.get_model('backupnerdsssh', 'DataSource')
- if not IS_PROD and not Secret.active.exists():
- with transaction.atomic():
- # Create Super User
- superuser_email = 'admin@backupner.local'
- superuser = User.active.create_superuser(**{
- 'username': 'admin',
- 'email': superuser_email,
- 'first_name': 'Backupner',
- 'last_name': 'Admin',
- 'password': 'backupnerpassword1234',
- 'is_public_profile': False,
- })
- EmailAddress.objects.create(user=superuser, email=superuser_email, primary=True, verified=True)
- # Create Test User
- test_user_email = 'user@backupner.local'
- test_user = User.active.create_user(username='user', email=test_user_email, password='backupnerpassword1234', first_name='John', last_name='Doe', is_staff=False,
- is_superuser=False)
- AuthInterface.create_account(user_uuid=test_user.uuid)
- test_user_account_uuid = test_user.account.uuid
- Key.active.filter(id=1).update(account_uuid=test_user_account_uuid)
- EmailAddress.objects.create(user=test_user, email=test_user_email, primary=True, verified=True)
- # Nodes
- service_provider_codes = InfrastructureInterface.get_service_provider_codes()
- Node.active.bulk_create([
- Node(hostname="s1-dc1.example.com", data_center=service_provider_codes[0], ip='192.0.2.1', api_url='http://localhost/api/', useful_storage_capacity=500),
- Node(hostname="s2-dc2.example.com", data_center=service_provider_codes[1], ip='192.0.2.2', api_url='http://localhost/api/', useful_storage_capacity=600),
- Node(hostname="s3-dc3.example.com", data_center=service_provider_codes[2], ip='192.0.2.3', api_url='http://localhost/api/', useful_storage_capacity=700),
- Node(hostname="s4-dc4.example.com", data_center=service_provider_codes[3], ip='192.0.2.4', api_url='http://localhost/api/', useful_storage_capacity=800),
- Node(hostname="s5-dc5.example.com", data_center=service_provider_codes[4], ip='192.0.2.5', api_url='http://localhost/api/', useful_storage_capacity=900),
- Node(hostname="s6-dc6.example.com", data_center=service_provider_codes[5], ip='192.0.2.6', api_url='http://localhost/api/', useful_storage_capacity=1000),
- Node(hostname="s7-dc7.example.com", data_center=service_provider_codes[6], ip='192.0.2.7', api_url='http://localhost/api/', useful_storage_capacity=1100),
- Node(hostname="s8-dc8.example.com", data_center=service_provider_codes[7], ip='192.0.2.8', api_url='http://localhost/api/', useful_storage_capacity=1200),
- Node(hostname="s9-dc1.example.com", data_center=service_provider_codes[0], ip='192.0.2.9', api_url='http://localhost/api/', useful_storage_capacity=1500),
- Node(hostname="s10-dc1.example.com", data_center=service_provider_codes[0], ip='192.0.2.10', api_url='http://localhost/api/', useful_storage_capacity=2500),
- Node(hostname="s11-dc2.example.com", data_center=service_provider_codes[1], ip='192.0.2.11', api_url='http://localhost/api/', useful_storage_capacity=3500),
- Node(hostname="s12-dc2.example.com", data_center=service_provider_codes[1], ip='192.0.2.12', api_url='http://localhost/api/', useful_storage_capacity=4500),
- Node(hostname="s13-dc3.example.com", data_center=service_provider_codes[2], ip='192.0.2.13', api_url='http://localhost/api/', useful_storage_capacity=5500),
- Node(hostname="s14-dc3.example.com", data_center=service_provider_codes[2], ip='192.0.2.14', api_url='http://localhost/api/', useful_storage_capacity=4500),
- Node(hostname="s15-dc4.example.com", data_center=service_provider_codes[3], ip='192.0.2.15', api_url='http://localhost/api/', useful_storage_capacity=3500),
- Node(hostname="s16-dc4.example.com", data_center=service_provider_codes[3], ip='192.0.2.16', api_url='http://localhost/api/', useful_storage_capacity=4500),
- Node(hostname="s17-dc5.example.com", data_center=service_provider_codes[4], ip='192.0.2.17', api_url='http://localhost/api/', useful_storage_capacity=5500),
- Node(hostname="s18-dc5.example.com", data_center=service_provider_codes[4], ip='192.0.2.18', api_url='http://localhost/api/', useful_storage_capacity=4500),
- Node(hostname="s19-dc6.example.com", data_center=service_provider_codes[5], ip='192.0.2.19', api_url='http://localhost/api/', useful_storage_capacity=5500),
- Node(hostname="s20-dc6.example.com", data_center=service_provider_codes[5], ip='192.0.2.20', api_url='http://localhost/api/', useful_storage_capacity=2500),
- Node(hostname="s21-dc7.example.com", data_center=service_provider_codes[6], ip='192.0.2.21', api_url='http://localhost/api/', useful_storage_capacity=2500),
- Node(hostname="s22-dc7.example.com", data_center=service_provider_codes[6], ip='192.0.2.22', api_url='http://localhost/api/', useful_storage_capacity=1500),
- Node(hostname="s23-dc8.example.com", data_center=service_provider_codes[7], ip='192.0.2.23', api_url='http://localhost/api/', useful_storage_capacity=1500),
- Node(hostname="s24-dc8.example.com", data_center=service_provider_codes[7], ip='192.0.2.24', api_url='http://localhost/api/', useful_storage_capacity=500),
- ])
- # Secrets
- secret_uuids = []
- public_key_uuid = test_user.account.default_key_uuid
- Key = apps.get_model('backupnerkeys', 'Key')
- public_key = bytes(Key.active.get(uuid=public_key_uuid).data)
- for i in range(0, 48):
- encrypted_data = encrypt_data(data=f'secret{i}', public_key=public_key)
- secret_uuid = SecretInterface.create_secret(encrypted_data=encrypted_data)
- secret_uuids.append(secret_uuid)
- # Project 1
- project_1 = Project.active.create(name='Project Iron', account_uuid=test_user_account_uuid, dedicated_space=10, sla_plan='iron')
- project_1_uuid = project_1.uuid
- # Project 1 Allocated Resources
- Storage.active.create(account_uuid=test_user_account_uuid, project_uuid=project_1_uuid, service_provider=service_provider_codes[0])
- # Project 1 Servers
- project_1_mariadb_servers = MariaDBServer.active.bulk_create([
- MariaDBServer(hostname='clientserver.example.com'),
- MariaDBServer(hostname='clientserver2.example.com'),
- MariaDBServer(hostname='clientserver3.example.com'),
- MariaDBServer(hostname='clientserver4.example.com'),
- ])
- project_1_postgresql_servers = PostgreSQLServer.active.bulk_create([
- PostgreSQLServer(hostname='clientserver.example.com'),
- PostgreSQLServer(hostname='clientserver2.example.com'),
- PostgreSQLServer(hostname='clientserver3.example.com'),
- PostgreSQLServer(hostname='clientserver4.example.com'),
- ])
- project_1_ssh_servers = SSHServer.active.bulk_create([
- SSHServer(hostname='clientserver.example.com'),
- SSHServer(hostname='clientserver2.example.com'),
- SSHServer(hostname='clientserver3.example.com'),
- SSHServer(hostname='clientserver4.example.com'),
- ])
- # Project 1 Services
- project_1_mariadb_services = MariaDBService.active.bulk_create([
- MariaDBService(name='Project 1 MariaDB Server 1', port=3306, project_uuid=project_1.uuid, server=project_1_mariadb_servers[0], default_compression='lz4',
- default_frequency='no'),
- MariaDBService(name='Project 1 MariaDB Server 2', port=3306, project_uuid=project_1.uuid, server=project_1_mariadb_servers[1], default_compression='zstd22',
- default_frequency='daily'),
- MariaDBService(name='Project 1 MariaDB Server 3', port=3306, project_uuid=project_1.uuid, server=project_1_mariadb_servers[2], default_compression='zlib9',
- default_frequency='weekly'),
- MariaDBService(name='Project 1 MariaDB Server 4', port=3306, project_uuid=project_1.uuid, server=project_1_mariadb_servers[3], default_compression='lzma6',
- default_frequency='daily'),
- ])
- project_1_postgresql_services = PostgreSQLService.active.bulk_create([
- PostgreSQLService(name='Project 1 PostgreSQL Server 1', port=5432, project_uuid=project_1.uuid, server=project_1_postgresql_servers[0],
- default_compression='lz4', default_frequency='no'),
- PostgreSQLService(name='Project 1 PostgreSQL Server 2', port=5432, project_uuid=project_1.uuid, server=project_1_postgresql_servers[1],
- default_compression='zstd22', default_frequency='daily'),
- PostgreSQLService(name='Project 1 PostgreSQL Server 3', port=5432, project_uuid=project_1.uuid, server=project_1_postgresql_servers[2],
- default_compression='zlib9', default_frequency='weekly'),
- PostgreSQLService(name='Project 1 PostgreSQL Server 4', port=5432, project_uuid=project_1.uuid, server=project_1_postgresql_servers[3],
- default_compression='lzma6', default_frequency='daily'),
- ])
- project_1_ssh_services = SSHService.active.bulk_create([
- SSHService(name='Project 1 SSH Server 1', port=22, project_uuid=project_1.uuid, server=project_1_ssh_servers[0],
- default_compression='lz4', default_frequency='no'),
- SSHService(name='Project 1 SSH Server 2', port=22, project_uuid=project_1.uuid, server=project_1_ssh_servers[1],
- default_compression='zstd22', default_frequency='daily'),
- SSHService(name='Project 1 SSH Server 3', port=22, project_uuid=project_1.uuid, server=project_1_ssh_servers[2],
- default_compression='zlib9', default_frequency='weekly'),
- SSHService(name='Project 1 SSH Server 4', port=22, project_uuid=project_1.uuid, server=project_1_ssh_servers[3],
- default_compression='lzma6', default_frequency='daily'),
- ])
- # Project 1 Connections
- project_1_mariadb_connections = MariaDBConnection.active.bulk_create([
- MariaDBConnection(user='user1', password_uuid=secret_uuids[0], service=project_1_mariadb_services[0]),
- MariaDBConnection(user='user2', password_uuid=secret_uuids[1], service=project_1_mariadb_services[1]),
- MariaDBConnection(user='user3', password_uuid=secret_uuids[2], service=project_1_mariadb_services[2]),
- MariaDBConnection(user='user4', password_uuid=secret_uuids[3], service=project_1_mariadb_services[3]),
- ])
- project_1_postgresql_connections = PostgreSQLConnection.active.bulk_create([
- PostgreSQLConnection(user='user5', password_uuid=secret_uuids[4], service=project_1_postgresql_services[0]),
- PostgreSQLConnection(user='user6', password_uuid=secret_uuids[5], service=project_1_postgresql_services[1]),
- PostgreSQLConnection(user='user7', password_uuid=secret_uuids[6], service=project_1_postgresql_services[2]),
- PostgreSQLConnection(user='user8', password_uuid=secret_uuids[7], service=project_1_postgresql_services[3]),
- ])
- project_1_ssh_connections = SSHConnection.active.bulk_create([
- SSHConnection(user='user9', auth_type='key', key_uuid=secret_uuids[8], service=project_1_ssh_services[0]),
- SSHConnection(user='user10', auth_type='password', password_uuid=secret_uuids[9], service=project_1_ssh_services[1]),
- SSHConnection(user='user11', auth_type='key', key_uuid=secret_uuids[10], service=project_1_ssh_services[2]),
- SSHConnection(user='user12', auth_type='password', password_uuid=secret_uuids[11], service=project_1_ssh_services[3]),
- ])
- # Project 1 Data Sources
- project_1_mariadb_data_sources = MariaDBDataSource.active.bulk_create([
- MariaDBDataSource(name='mariadbdatabase1p1', connection=project_1_mariadb_connections[0]),
- MariaDBDataSource(name='mariadbdatabase2p1', connection=project_1_mariadb_connections[1]),
- MariaDBDataSource(name='mariadbdatabase3p1', connection=project_1_mariadb_connections[2]),
- MariaDBDataSource(name='mariadbdatabase4p1', connection=project_1_mariadb_connections[3]),
- ])
- project_1_postgresql_data_sources = PostgreSQLDataSource.active.bulk_create([
- PostgreSQLDataSource(name='postgresqldatabase1p1', connection=project_1_postgresql_connections[0]),
- PostgreSQLDataSource(name='postgresqldatabase2p1', connection=project_1_postgresql_connections[1]),
- PostgreSQLDataSource(name='postgresqldatabase3p1', connection=project_1_postgresql_connections[2]),
- PostgreSQLDataSource(name='postgresqldatabase4p1', connection=project_1_postgresql_connections[3]),
- ])
- project_1_ssh_data_sources = SSHDataSource.active.bulk_create([
- SSHDataSource(directory='/path/directory1p1', connection=project_1_ssh_connections[0]),
- SSHDataSource(directory='/path/directory2p1', connection=project_1_ssh_connections[1]),
- SSHDataSource(directory='/path/directory3p1', connection=project_1_ssh_connections[2]),
- SSHDataSource(directory='/path/directory4p1', connection=project_1_ssh_connections[3]),
- ])
- # Project 1 Directories
- # Project 1 Backups
- # Project 1 Jobs
- project_1_data_sources = project_1_mariadb_data_sources + project_1_postgresql_data_sources + project_1_ssh_data_sources
- self.create_backup_processes_and_jobs(project_1_data_sources)
- # Project 2
- project_2 = Project.active.create(name='Project Bronze', account_uuid=test_user_account_uuid, dedicated_space=25, sla_plan='bronze')
- project_2_uuid = project_2.uuid
- # Project 2 Allocated Resources
- Storage.active.bulk_create([
- Storage(account_uuid=test_user_account_uuid, project_uuid=project_2_uuid, service_provider=service_provider_codes[0]),
- Storage(account_uuid=test_user_account_uuid, project_uuid=project_2_uuid, service_provider=service_provider_codes[1]),
- Storage(account_uuid=test_user_account_uuid, project_uuid=project_2_uuid, service_provider=service_provider_codes[2]),
- ])
- # Project 2 Servers
- project_2_mariadb_servers = MariaDBServer.active.bulk_create([
- MariaDBServer(hostname='clientserver5.example.com'),
- MariaDBServer(hostname='clientserver6.example.com'),
- MariaDBServer(hostname='clientserver7.example.com'),
- MariaDBServer(hostname='clientserver8.example.com'),
- ])
- project_2_postgresql_servers = PostgreSQLServer.active.bulk_create([
- PostgreSQLServer(hostname='clientserver5.example.com'),
- PostgreSQLServer(hostname='clientserver6.example.com'),
- PostgreSQLServer(hostname='clientserver7.example.com'),
- PostgreSQLServer(hostname='clientserver8.example.com'),
- ])
- project_2_ssh_servers = SSHServer.active.bulk_create([
- SSHServer(hostname='clientserver5.example.com'),
- SSHServer(hostname='clientserver6.example.com'),
- SSHServer(hostname='clientserver7.example.com'),
- SSHServer(hostname='clientserver8.example.com'),
- ])
- # Project 2 Services
- project_2_mariadb_services = MariaDBService.active.bulk_create([
- MariaDBService(name='Project 2 MariaDB Server 1', port=3306, project_uuid=project_2.uuid, server=project_2_mariadb_servers[0], default_compression='lz4',
- default_frequency='no'),
- MariaDBService(name='Project 2 MariaDB Server 2', port=3306, project_uuid=project_2.uuid, server=project_2_mariadb_servers[1], default_compression='zstd22',
- default_frequency='daily'),
- MariaDBService(name='Project 2 MariaDB Server 3', port=3306, project_uuid=project_2.uuid, server=project_2_mariadb_servers[2], default_compression='zlib9',
- default_frequency='weekly'),
- MariaDBService(name='Project 2 MariaDB Server 4', port=3306, project_uuid=project_2.uuid, server=project_2_mariadb_servers[3], default_compression='lzma6',
- default_frequency='daily'),
- ])
- project_2_postgresql_services = PostgreSQLService.active.bulk_create([
- PostgreSQLService(name='Project 2 PostgreSQL Server 1', port=5432, project_uuid=project_2.uuid, server=project_2_postgresql_servers[0],
- default_compression='lz4', default_frequency='no'),
- PostgreSQLService(name='Project 2 PostgreSQL Server 2', port=5432, project_uuid=project_2.uuid, server=project_2_postgresql_servers[1],
- default_compression='zstd22', default_frequency='daily'),
- PostgreSQLService(name='Project 2 PostgreSQL Server 3', port=5432, project_uuid=project_2.uuid, server=project_2_postgresql_servers[2],
- default_compression='zlib9', default_frequency='weekly'),
- PostgreSQLService(name='Project 2 PostgreSQL Server 4', port=5432, project_uuid=project_2.uuid, server=project_2_postgresql_servers[3],
- default_compression='lzma6', default_frequency='daily'),
- ])
- project_2_ssh_services = SSHService.active.bulk_create([
- SSHService(name='Project 2 SSH Server 1', port=22, project_uuid=project_2.uuid, server=project_2_ssh_servers[0],
- default_compression='lz4', default_frequency='no'),
- SSHService(name='Project 2 SSH Server 2', port=22, project_uuid=project_2.uuid, server=project_2_ssh_servers[1],
- default_compression='zstd22', default_frequency='daily'),
- SSHService(name='Project 2 SSH Server 3', port=22, project_uuid=project_2.uuid, server=project_2_ssh_servers[2],
- default_compression='zlib9', default_frequency='weekly'),
- SSHService(name='Project 2 SSH Server 4', port=22, project_uuid=project_2.uuid, server=project_2_ssh_servers[3],
- default_compression='lzma6', default_frequency='daily'),
- ])
- # Project 2 Connections
- project_2_mariadb_connections = MariaDBConnection.active.bulk_create([
- MariaDBConnection(user='user1', password_uuid=secret_uuids[12], service=project_2_mariadb_services[0]),
- MariaDBConnection(user='user2', password_uuid=secret_uuids[13], service=project_2_mariadb_services[1]),
- MariaDBConnection(user='user3', password_uuid=secret_uuids[14], service=project_2_mariadb_services[2]),
- MariaDBConnection(user='user4', password_uuid=secret_uuids[15], service=project_2_mariadb_services[3]),
- ])
- project_2_postgresql_connections = PostgreSQLConnection.active.bulk_create([
- PostgreSQLConnection(user='user5', password_uuid=secret_uuids[16], service=project_2_postgresql_services[0]),
- PostgreSQLConnection(user='user6', password_uuid=secret_uuids[17], service=project_2_postgresql_services[1]),
- PostgreSQLConnection(user='user7', password_uuid=secret_uuids[18], service=project_2_postgresql_services[2]),
- PostgreSQLConnection(user='user8', password_uuid=secret_uuids[19], service=project_2_postgresql_services[3]),
- ])
- project_2_ssh_connections = SSHConnection.active.bulk_create([
- SSHConnection(user='user9', auth_type='key', key_uuid=secret_uuids[20], service=project_2_ssh_services[0]),
- SSHConnection(user='user10', auth_type='password', password_uuid=secret_uuids[21], service=project_2_ssh_services[1]),
- SSHConnection(user='user11', auth_type='key', key_uuid=secret_uuids[22], service=project_2_ssh_services[2]),
- SSHConnection(user='user12', auth_type='password', password_uuid=secret_uuids[23], service=project_2_ssh_services[3]),
- ])
- # Project 2 Data Sources
- project_2_mariadb_data_sources = MariaDBDataSource.active.bulk_create([
- MariaDBDataSource(name='mariadbdatabase1p2', connection=project_2_mariadb_connections[0]),
- MariaDBDataSource(name='mariadbdatabase2p2', connection=project_2_mariadb_connections[1]),
- MariaDBDataSource(name='mariadbdatabase3p2', connection=project_2_mariadb_connections[2]),
- MariaDBDataSource(name='mariadbdatabase4p2', connection=project_2_mariadb_connections[3]),
- ])
- project_2_postgresql_data_sources = PostgreSQLDataSource.active.bulk_create([
- PostgreSQLDataSource(name='postgresqldatabase1p2', connection=project_2_postgresql_connections[0]),
- PostgreSQLDataSource(name='postgresqldatabase2p2', connection=project_2_postgresql_connections[1]),
- PostgreSQLDataSource(name='postgresqldatabase3p2', connection=project_2_postgresql_connections[2]),
- PostgreSQLDataSource(name='postgresqldatabase4p2', connection=project_2_postgresql_connections[3]),
- ])
- project_2_ssh_data_sources = SSHDataSource.active.bulk_create([
- SSHDataSource(directory='/path/directory1p2', connection=project_2_ssh_connections[0]),
- SSHDataSource(directory='/path/directory2p2', connection=project_2_ssh_connections[1]),
- SSHDataSource(directory='/path/directory3p2', connection=project_2_ssh_connections[2]),
- SSHDataSource(directory='/path/directory4p2', connection=project_2_ssh_connections[3]),
- ])
- # Project 2 Directories
- # Project 2 Backups
- # Project 2 Jobs
- project_2_data_sources = project_2_mariadb_data_sources + project_2_postgresql_data_sources + project_2_ssh_data_sources
- self.create_backup_processes_and_jobs(project_2_data_sources)
- # Project 3
- project_3 = Project.active.create(name='Project Silver', account_uuid=test_user_account_uuid, dedicated_space=50, sla_plan='silver')
- project_3_uuid = project_3.uuid
- # Project 3 Allocated Resources
- Storage.active.bulk_create([
- Storage(account_uuid=test_user_account_uuid, project_uuid=project_3_uuid, service_provider=service_provider_codes[0]),
- Storage(account_uuid=test_user_account_uuid, project_uuid=project_3_uuid, service_provider=service_provider_codes[1]),
- Storage(account_uuid=test_user_account_uuid, project_uuid=project_3_uuid, service_provider=service_provider_codes[2]),
- Storage(account_uuid=test_user_account_uuid, project_uuid=project_3_uuid, service_provider=service_provider_codes[3]),
- Storage(account_uuid=test_user_account_uuid, project_uuid=project_3_uuid, service_provider=service_provider_codes[4]),
- ])
- # Project 3 Servers
- project_3_mariadb_servers = MariaDBServer.active.bulk_create([
- MariaDBServer(hostname='clientserver9.example.com'),
- MariaDBServer(hostname='clientserver10.example.com'),
- MariaDBServer(hostname='clientserver11.example.com'),
- MariaDBServer(hostname='clientserver12.example.com'),
- ])
- project_3_postgresql_servers = PostgreSQLServer.active.bulk_create([
- PostgreSQLServer(hostname='clientserver9.example.com'),
- PostgreSQLServer(hostname='clientserver10.example.com'),
- PostgreSQLServer(hostname='clientserver11.example.com'),
- PostgreSQLServer(hostname='clientserver12.example.com'),
- ])
- project_3_ssh_servers = SSHServer.active.bulk_create([
- SSHServer(hostname='clientserver9.example.com'),
- SSHServer(hostname='clientserver10.example.com'),
- SSHServer(hostname='clientserver11.example.com'),
- SSHServer(hostname='clientserver12.example.com'),
- ])
- # Project 3 Services
- project_3_mariadb_services = MariaDBService.active.bulk_create([
- MariaDBService(name='Project 3 MariaDB Server 1', port=3306, project_uuid=project_3.uuid, server=project_3_mariadb_servers[0], default_compression='lz4',
- default_frequency='no'),
- MariaDBService(name='Project 3 MariaDB Server 2', port=3306, project_uuid=project_3.uuid, server=project_3_mariadb_servers[1], default_compression='zstd22',
- default_frequency='daily'),
- MariaDBService(name='Project 3 MariaDB Server 3', port=3306, project_uuid=project_3.uuid, server=project_3_mariadb_servers[2], default_compression='zlib9',
- default_frequency='weekly'),
- MariaDBService(name='Project 3 MariaDB Server 4', port=3306, project_uuid=project_3.uuid, server=project_3_mariadb_servers[3], default_compression='lzma6',
- default_frequency='daily'),
- ])
- project_3_postgresql_services = PostgreSQLService.active.bulk_create([
- PostgreSQLService(name='Project 3 PostgreSQL Server 1', port=5432, project_uuid=project_3.uuid, server=project_3_postgresql_servers[0],
- default_compression='lz4', default_frequency='no'),
- PostgreSQLService(name='Project 3 PostgreSQL Server 2', port=5432, project_uuid=project_3.uuid, server=project_3_postgresql_servers[1],
- default_compression='zstd22', default_frequency='daily'),
- PostgreSQLService(name='Project 3 PostgreSQL Server 3', port=5432, project_uuid=project_3.uuid, server=project_3_postgresql_servers[2],
- default_compression='zlib9', default_frequency='weekly'),
- PostgreSQLService(name='Project 3 PostgreSQL Server 4', port=5432, project_uuid=project_3.uuid, server=project_3_postgresql_servers[3],
- default_compression='lzma6', default_frequency='daily'),
- ])
- project_3_ssh_services = SSHService.active.bulk_create([
- SSHService(name='Project 3 SSH Server 1', port=22, project_uuid=project_3.uuid, server=project_3_ssh_servers[0],
- default_compression='lz4', default_frequency='no'),
- SSHService(name='Project 3 SSH Server 2', port=22, project_uuid=project_3.uuid, server=project_3_ssh_servers[1],
- default_compression='zstd22', default_frequency='daily'),
- SSHService(name='Project 3 SSH Server 3', port=22, project_uuid=project_3.uuid, server=project_3_ssh_servers[2],
- default_compression='zlib9', default_frequency='weekly'),
- SSHService(name='Project 3 SSH Server 4', port=22, project_uuid=project_3.uuid, server=project_3_ssh_servers[3],
- default_compression='lzma6', default_frequency='daily'),
- ])
- # Project 3 Connections
- project_3_mariadb_connections = MariaDBConnection.active.bulk_create([
- MariaDBConnection(user='user1', password_uuid=secret_uuids[24], service=project_3_mariadb_services[0]),
- MariaDBConnection(user='user2', password_uuid=secret_uuids[25], service=project_3_mariadb_services[1]),
- MariaDBConnection(user='user3', password_uuid=secret_uuids[26], service=project_3_mariadb_services[2]),
- MariaDBConnection(user='user4', password_uuid=secret_uuids[27], service=project_3_mariadb_services[3]),
- ])
- project_3_postgresql_connections = PostgreSQLConnection.active.bulk_create([
- PostgreSQLConnection(user='user5', password_uuid=secret_uuids[28], service=project_3_postgresql_services[0]),
- PostgreSQLConnection(user='user6', password_uuid=secret_uuids[29], service=project_3_postgresql_services[1]),
- PostgreSQLConnection(user='user7', password_uuid=secret_uuids[30], service=project_3_postgresql_services[2]),
- PostgreSQLConnection(user='user8', password_uuid=secret_uuids[31], service=project_3_postgresql_services[3]),
- ])
- project_3_ssh_connections = SSHConnection.active.bulk_create([
- SSHConnection(user='user9', auth_type='key', key_uuid=secret_uuids[32], service=project_3_ssh_services[0]),
- SSHConnection(user='user10', auth_type='password', password_uuid=secret_uuids[33], service=project_3_ssh_services[1]),
- SSHConnection(user='user11', auth_type='key', key_uuid=secret_uuids[34], service=project_3_ssh_services[2]),
- SSHConnection(user='user12', auth_type='password', password_uuid=secret_uuids[35], service=project_3_ssh_services[3]),
- ])
- # Project 3 Data Sources
- project_3_mariadb_data_sources = MariaDBDataSource.active.bulk_create([
- MariaDBDataSource(name='mariadbdatabase1p3', connection=project_3_mariadb_connections[0]),
- MariaDBDataSource(name='mariadbdatabase2p3', connection=project_3_mariadb_connections[1]),
- MariaDBDataSource(name='mariadbdatabase3p3', connection=project_3_mariadb_connections[2]),
- MariaDBDataSource(name='mariadbdatabase4p3', connection=project_3_mariadb_connections[3]),
- ])
- project_3_postgresql_data_sources = PostgreSQLDataSource.active.bulk_create([
- PostgreSQLDataSource(name='postgresqldatabase1p3', connection=project_3_postgresql_connections[0]),
- PostgreSQLDataSource(name='postgresqldatabase2p3', connection=project_3_postgresql_connections[1]),
- PostgreSQLDataSource(name='postgresqldatabase3p3', connection=project_3_postgresql_connections[2]),
- PostgreSQLDataSource(name='postgresqldatabase4p3', connection=project_3_postgresql_connections[3]),
- ])
- project_3_ssh_data_sources = SSHDataSource.active.bulk_create([
- SSHDataSource(directory='/path/directory1p3', connection=project_3_ssh_connections[0]),
- SSHDataSource(directory='/path/directory2p3', connection=project_3_ssh_connections[1]),
- SSHDataSource(directory='/path/directory3p3', connection=project_3_ssh_connections[2]),
- SSHDataSource(directory='/path/directory4p3', connection=project_3_ssh_connections[3]),
- ])
- # Project 3 Directories
- # Project 3 Backups
- # Project 3 Jobs
- project_3_data_sources = project_3_mariadb_data_sources + project_3_postgresql_data_sources + project_3_ssh_data_sources
- self.create_backup_processes_and_jobs(project_3_data_sources)
- # Project 4
- project_4 = Project.active.create(name='Project Gold', account_uuid=test_user_account_uuid, dedicated_space=100, sla_plan='gold')
- project_4_uuid = project_4.uuid
- # Project 4 Allocated Resources
- Storage.active.bulk_create([
- Storage(account_uuid=test_user_account_uuid, project_uuid=project_4_uuid, service_provider=service_provider_codes[0]),
- Storage(account_uuid=test_user_account_uuid, project_uuid=project_4_uuid, service_provider=service_provider_codes[1]),
- Storage(account_uuid=test_user_account_uuid, project_uuid=project_4_uuid, service_provider=service_provider_codes[2]),
- Storage(account_uuid=test_user_account_uuid, project_uuid=project_4_uuid, service_provider=service_provider_codes[3]),
- Storage(account_uuid=test_user_account_uuid, project_uuid=project_4_uuid, service_provider=service_provider_codes[4]),
- Storage(account_uuid=test_user_account_uuid, project_uuid=project_4_uuid, service_provider=service_provider_codes[5]),
- Storage(account_uuid=test_user_account_uuid, project_uuid=project_4_uuid, service_provider=service_provider_codes[6]),
- ])
- # Project 4 Servers
- project_4_mariadb_servers = MariaDBServer.active.bulk_create([
- MariaDBServer(hostname='clientserver13.example.com'),
- MariaDBServer(hostname='clientserver14.example.com'),
- MariaDBServer(hostname='clientserver15.example.com'),
- MariaDBServer(hostname='clientserver16.example.com'),
- ])
- project_4_postgresql_servers = PostgreSQLServer.active.bulk_create([
- PostgreSQLServer(hostname='clientserver13.example.com'),
- PostgreSQLServer(hostname='clientserver14.example.com'),
- PostgreSQLServer(hostname='clientserver15.example.com'),
- PostgreSQLServer(hostname='clientserver16.example.com'),
- ])
- project_4_ssh_servers = SSHServer.active.bulk_create([
- SSHServer(hostname='clientserver13.example.com'),
- SSHServer(hostname='clientserver14.example.com'),
- SSHServer(hostname='clientserver15.example.com'),
- SSHServer(hostname='clientserver16.example.com'),
- ])
- # Project 4 Services
- project_4_mariadb_services = MariaDBService.active.bulk_create([
- MariaDBService(name='Project 4 MariaDB Server 1', port=3306, project_uuid=project_4.uuid, server=project_4_mariadb_servers[0], default_compression='lz4',
- default_frequency='no'),
- MariaDBService(name='Project 4 MariaDB Server 2', port=3306, project_uuid=project_4.uuid, server=project_4_mariadb_servers[1], default_compression='zstd22',
- default_frequency='daily'),
- MariaDBService(name='Project 4 MariaDB Server 3', port=3306, project_uuid=project_4.uuid, server=project_4_mariadb_servers[2], default_compression='zlib9',
- default_frequency='weekly'),
- MariaDBService(name='Project 4 MariaDB Server 4', port=3306, project_uuid=project_4.uuid, server=project_4_mariadb_servers[3], default_compression='lzma6',
- default_frequency='daily'),
- ])
- project_4_postgresql_services = PostgreSQLService.active.bulk_create([
- PostgreSQLService(name='Project 4 PostgreSQL Server 1', port=5432, project_uuid=project_4.uuid, server=project_4_postgresql_servers[0],
- default_compression='lz4', default_frequency='no'),
- PostgreSQLService(name='Project 4 PostgreSQL Server 2', port=5432, project_uuid=project_4.uuid, server=project_4_postgresql_servers[1],
- default_compression='zstd22', default_frequency='daily'),
- PostgreSQLService(name='Project 4 PostgreSQL Server 3', port=5432, project_uuid=project_4.uuid, server=project_4_postgresql_servers[2],
- default_compression='zlib9', default_frequency='weekly'),
- PostgreSQLService(name='Project 4 PostgreSQL Server 4', port=5432, project_uuid=project_4.uuid, server=project_4_postgresql_servers[3],
- default_compression='lzma6', default_frequency='daily'),
- ])
- project_4_ssh_services = SSHService.active.bulk_create([
- SSHService(name='Project 4 SSH Server 1', port=22, project_uuid=project_4.uuid, server=project_4_ssh_servers[0],
- default_compression='lz4', default_frequency='no'),
- SSHService(name='Project 4 SSH Server 2', port=22, project_uuid=project_4.uuid, server=project_4_ssh_servers[1],
- default_compression='zstd22', default_frequency='daily'),
- SSHService(name='Project 4 SSH Server 3', port=22, project_uuid=project_4.uuid, server=project_4_ssh_servers[2],
- default_compression='zlib9', default_frequency='weekly'),
- SSHService(name='Project 4 SSH Server 4', port=22, project_uuid=project_4.uuid, server=project_4_ssh_servers[3],
- default_compression='lzma6', default_frequency='daily'),
- ])
- # Project 4 Connections
- project_4_mariadb_connections = MariaDBConnection.active.bulk_create([
- MariaDBConnection(user='user1', password_uuid=secret_uuids[36], service=project_4_mariadb_services[0]),
- MariaDBConnection(user='user2', password_uuid=secret_uuids[37], service=project_4_mariadb_services[1]),
- MariaDBConnection(user='user3', password_uuid=secret_uuids[38], service=project_4_mariadb_services[2]),
- MariaDBConnection(user='user4', password_uuid=secret_uuids[39], service=project_4_mariadb_services[3]),
- ])
- project_4_postgresql_connections = PostgreSQLConnection.active.bulk_create([
- PostgreSQLConnection(user='user5', password_uuid=secret_uuids[40], service=project_4_postgresql_services[0]),
- PostgreSQLConnection(user='user6', password_uuid=secret_uuids[41], service=project_4_postgresql_services[1]),
- PostgreSQLConnection(user='user7', password_uuid=secret_uuids[42], service=project_4_postgresql_services[2]),
- PostgreSQLConnection(user='user8', password_uuid=secret_uuids[43], service=project_4_postgresql_services[3]),
- ])
- project_4_ssh_connections = SSHConnection.active.bulk_create([
- SSHConnection(user='user9', auth_type='key', key_uuid=secret_uuids[44], service=project_4_ssh_services[0]),
- SSHConnection(user='user10', auth_type='password', password_uuid=secret_uuids[45], service=project_4_ssh_services[1]),
- SSHConnection(user='user11', auth_type='key', key_uuid=secret_uuids[46], service=project_4_ssh_services[2]),
- SSHConnection(user='user12', auth_type='password', password_uuid=secret_uuids[47], service=project_4_ssh_services[3]),
- ])
- # Project 4 Data Sources
- project_4_mariadb_data_sources = MariaDBDataSource.active.bulk_create([
- MariaDBDataSource(name='mariadbdatabase1p4', connection=project_4_mariadb_connections[0]),
- MariaDBDataSource(name='mariadbdatabase2p4', connection=project_4_mariadb_connections[1]),
- MariaDBDataSource(name='mariadbdatabase3p4', connection=project_4_mariadb_connections[2]),
- MariaDBDataSource(name='mariadbdatabase4p4', connection=project_4_mariadb_connections[3]),
- ])
- project_4_postgresql_data_sources = PostgreSQLDataSource.active.bulk_create([
- PostgreSQLDataSource(name='postgresqldatabase1p4', connection=project_4_postgresql_connections[0]),
- PostgreSQLDataSource(name='postgresqldatabase2p4', connection=project_4_postgresql_connections[1]),
- PostgreSQLDataSource(name='postgresqldatabase3p4', connection=project_4_postgresql_connections[2]),
- PostgreSQLDataSource(name='postgresqldatabase4p4', connection=project_4_postgresql_connections[3]),
- ])
- project_4_ssh_data_sources = SSHDataSource.active.bulk_create([
- SSHDataSource(directory='/path/directory1p4', connection=project_4_ssh_connections[0]),
- SSHDataSource(directory='/path/directory2p4', connection=project_4_ssh_connections[1]),
- SSHDataSource(directory='/path/directory3p4', connection=project_4_ssh_connections[2]),
- SSHDataSource(directory='/path/directory4p4', connection=project_4_ssh_connections[3]),
- ])
- # Project 4 Directories
- # Project 4 Backups
- # Project 4 Jobs
- project_4_data_sources = project_4_mariadb_data_sources + project_4_postgresql_data_sources + project_4_ssh_data_sources
- self.create_backup_processes_and_jobs(project_4_data_sources)
- self.stdout.write("Demo data was successfully loaded!", ending='\n')
- self.stdout.flush()
- time.sleep(0.01)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement