39 lines
1.3 KiB
Python
39 lines
1.3 KiB
Python
import configparser
|
|
import os
|
|
import logging
|
|
|
|
from ucloud.common.host import HostPool
|
|
from ucloud.common.request import RequestPool
|
|
from ucloud.common.vm import VmPool
|
|
from ucloud.common.storage_handlers import (FileSystemBasedImageStorageHandler,
|
|
CEPHBasedImageStorageHandler)
|
|
from ucloud.common.etcd_wrapper import Etcd3Wrapper
|
|
from ucloud.settings import Settings
|
|
from os.path import join as join_path
|
|
|
|
logger = logging.getLogger('ucloud.config')
|
|
|
|
|
|
|
|
config = Settings()
|
|
etcd_client = config.get_etcd_client()
|
|
|
|
host_pool = HostPool(etcd_client, config['etcd']['host_prefix'])
|
|
vm_pool = VmPool(etcd_client, config['etcd']['vm_prefix'])
|
|
request_pool = RequestPool(etcd_client, config['etcd']['request_prefix'])
|
|
|
|
running_vms = []
|
|
|
|
__storage_backend = config['storage']['storage_backend']
|
|
if __storage_backend == 'filesystem':
|
|
image_storage_handler = FileSystemBasedImageStorageHandler(
|
|
vm_base=config['storage']['vm_dir'],
|
|
image_base=config['storage']['image_dir']
|
|
)
|
|
elif __storage_backend == 'ceph':
|
|
image_storage_handler = CEPHBasedImageStorageHandler(
|
|
vm_base=config['storage']['ceph_vm_pool'],
|
|
image_base=config['storage']['ceph_image_pool']
|
|
)
|
|
else:
|
|
raise Exception('Unknown Image Storage Handler')
|