agent/SWSCloudNode/settings.py

52 lines
1.7 KiB
Python

# 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)