# coding: utf-8 import sys import os import ConfigParser from .logger import logging default_file = '/etc/sws/cloud/node.ini' settings_file = os.getenv('CLOUD_SETTINGS_FILE', default_file) # setting file read settings = ConfigParser.ConfigParser() if os.path.exists(settings_file): settings.read(settings_file) if not settings.has_section('server'): logging.error("No section: 'server'") sys.exit() if not settings.has_section('node'): logging.error("No section: 'node'") sys.exit() if not settings.has_option('node', 'interface'): logging.error("No option 'interface' in section: 'node'") sys.exit() else: if settings.get('node', 'interface') not in os.listdir('/sys/class/net/'): logging.warning('Interface not found: %s' % settings.get('node', 'interface')) # sys.exit() if not settings.has_option('node', 'sleep'): logging.error("No option 'sleep' in section: 'node'") sys.exit() if not settings.has_option('node', 'dir'): logging.error("No option 'dir' in section: 'node'") sys.exit() else: if not os.path.exists(settings.get('node', 'dir')): if not os.makedirs(settings.get('node', 'dir')): logging.error('Not found: %s' % settings.get('node', 'dir')) sys.exit() if not settings.has_option('node', 'sleep'): logging.error("No option 'sleep' in section: 'node'") sys.exit() if not settings.has_option('container', 'packages'): logging.error("No option 'packages' in section: 'container'") sys.exit() else: sys.exit('settings file not found: %s' % settings_file)