##// END OF EJS Templates
Fixing numerous bugs in ipcluster on Win32....
Fixing numerous bugs in ipcluster on Win32. * External processes are now started by calling "python.exe -u" * We find external process locations by importing them and using their __file__ attribute. This make the search robust against different ways of installing the scripts on Win32. * We now check to make sure that if the user wants to run in secure mode that pyOpenSSL is actually installed and working. This is now done in the controller, engine and ipcluster.

File last commit:

r1769:e574479c
r1815:2d593d7e
Show More
__init__.py
123 lines | 4.2 KiB | text/x-python | PythonLexer
# encoding: utf-8
"""Default kernel configuration."""
__docformat__ = "restructuredtext en"
#-------------------------------------------------------------------------------
# Copyright (C) 2008 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# Imports
#-------------------------------------------------------------------------------
from os.path import join as pjoin
from IPython.external.configobj import ConfigObj
from IPython.config.api import ConfigObjManager
from IPython.genutils import get_ipython_dir, get_security_dir
default_kernel_config = ConfigObj()
security_dir = get_security_dir()
#-------------------------------------------------------------------------------
# Engine Configuration
#-------------------------------------------------------------------------------
engine_config = dict(
logfile = '', # Empty means log to stdout
furl_file = pjoin(security_dir, 'ipcontroller-engine.furl')
)
#-------------------------------------------------------------------------------
# MPI Configuration
#-------------------------------------------------------------------------------
mpi_config = dict(
mpi4py = """from mpi4py import MPI as mpi
mpi.size = mpi.COMM_WORLD.Get_size()
mpi.rank = mpi.COMM_WORLD.Get_rank()
""",
pytrilinos = """from PyTrilinos import Epetra
class SimpleStruct:
pass
mpi = SimpleStruct()
mpi.rank = 0
mpi.size = 0
""",
default = ''
)
#-------------------------------------------------------------------------------
# Controller Configuration
#-------------------------------------------------------------------------------
controller_config = dict(
logfile = '', # Empty means log to stdout
import_statement = '',
reuse_furls = False, # If False, old furl files are deleted
engine_tub = dict(
ip = '', # Empty string means all interfaces
port = 0, # 0 means pick a port for me
location = '', # Empty string means try to set automatically
secure = True,
cert_file = pjoin(security_dir, 'ipcontroller-engine.pem'),
),
engine_fc_interface = 'IPython.kernel.enginefc.IFCControllerBase',
engine_furl_file = pjoin(security_dir, 'ipcontroller-engine.furl'),
controller_interfaces = dict(
# multiengine = dict(
# controller_interface = 'IPython.kernel.multiengine.IMultiEngine',
# fc_interface = 'IPython.kernel.multienginefc.IFCMultiEngine',
# furl_file = 'ipcontroller-mec.furl'
# ),
task = dict(
controller_interface = 'IPython.kernel.task.ITaskController',
fc_interface = 'IPython.kernel.taskfc.IFCTaskController',
furl_file = pjoin(security_dir, 'ipcontroller-tc.furl')
),
multiengine = dict(
controller_interface = 'IPython.kernel.multiengine.IMultiEngine',
fc_interface = 'IPython.kernel.multienginefc.IFCSynchronousMultiEngine',
furl_file = pjoin(security_dir, 'ipcontroller-mec.furl')
)
),
client_tub = dict(
ip = '', # Empty string means all interfaces
port = 0, # 0 means pick a port for me
location = '', # Empty string means try to set automatically
secure = True,
cert_file = pjoin(security_dir, 'ipcontroller-client.pem')
)
)
#-------------------------------------------------------------------------------
# Client Configuration
#-------------------------------------------------------------------------------
client_config = dict(
client_interfaces = dict(
task = dict(
furl_file = pjoin(security_dir, 'ipcontroller-tc.furl')
),
multiengine = dict(
furl_file = pjoin(security_dir, 'ipcontroller-mec.furl')
)
)
)
default_kernel_config['engine'] = engine_config
default_kernel_config['mpi'] = mpi_config
default_kernel_config['controller'] = controller_config
default_kernel_config['client'] = client_config
config_manager = ConfigObjManager(default_kernel_config, 'IPython.kernel.ini')