From f762f1cd168b0b00792f741dbfa81ffc3babc986 Mon Sep 17 00:00:00 2001 From: Andy Grover Date: Mon, 22 Apr 2013 14:26:00 -0700 Subject: [PATCH] Add update_mapping helper function. Fix syntax errors Signed-off-by: Andy Grover --- targetd/block.py | 1 - targetd/main.py | 27 +++++++++++++++++++-------- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/targetd/block.py b/targetd/block.py index ed853d8..860dae9 100644 --- a/targetd/block.py +++ b/targetd/block.py @@ -73,7 +73,6 @@ def initialize(config_dict): export_list=export_list, export_create=export_create, export_destroy=export_destroy, - pool_list=pools, ) diff --git a/targetd/main.py b/targetd/main.py index bab5507..6923a72 100644 --- a/targetd/main.py +++ b/targetd/main.py @@ -23,14 +23,16 @@ from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer from SocketServer import ThreadingMixIn from threading import Lock +import yaml +import itertools import socket import ssl config_path = "/etc/target/targetd.yaml" default_config = dict( - block_pools = ['vg-targetd'] - fs_pools = [] + block_pools = ['vg-targetd'], + fs_pools = [], user="admin", # security: no default password target_name="iqn.2003-01.org.linux-iscsi.%s:targetd" % socket.gethostname(), @@ -244,6 +246,20 @@ def load_config(config_path): raise AttributeError +def update_mapping(): + # wait until now so submodules can import 'main' safely + import block + import fs + + mapping.update(block.initialize(config)) + mapping.update(fs.initialize(config)) + + # one method requires output from both modules + def pool_list(req): + return list(itertools.chain(block.block_pools(req), fs.fs_pools(req))) + + mapping['pool_list'] = pool_list + def main(): server = None @@ -254,12 +270,7 @@ def main(): setproctitle.setproctitle("targetd") - # wait until now so submodules can import 'main' safely - import block - import fs - - mapping.update(block.initialize(config)) - mapping.update(fs.initialize(config)) + update_mapping() if config['ssl']: server_class = TLSThreadedHTTPServer