2016-04-20 03:39:25 +03:00
|
|
|
# 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/'):
|
2016-06-02 03:29:36 +03:00
|
|
|
logging.warning('Interface not found: %s' % settings.get('node', 'interface'))
|
|
|
|
# sys.exit()
|
2016-04-20 03:39:25 +03:00
|
|
|
if not settings.has_option('node', 'sleep'):
|
|
|
|
logging.error("No option 'sleep' in section: 'node'")
|
|
|
|
sys.exit()
|
|
|
|
|
2016-04-20 10:58:12 +03:00
|
|
|
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()
|
|
|
|
|
2016-04-20 03:39:25 +03:00
|
|
|
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)
|