Default INCA domain for timing SCT is wrong
The INCA domain for timing domain SCT.* should be CTF (meaning CLEAR), not CTF3.
This causes a crash when starting:
22:14:36 kyrsjo@cwe-513-vol759 CLEARcontrol $ ipython
Python 3.6.0 |Anaconda 4.3.0 (64-bit)| (default, Dec 23 2016, 12:22:00)
Type "copyright", "credits" or "license" for more information.
IPython 5.1.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: import pyjapc
In [2]: japc = pyjapc.PyJapc('SCT.USER.ALL')
22:14:51 [main] INFO IncaConfigurator ==> Configuring for PRO environment
---------------------------------------------------------------------------
java.lang.IllegalArgumentExceptionPyRaisableTraceback (most recent call last)
<ipython-input-2-4ee18b0dbdf4> in <module>()
----> 1 japc = pyjapc.PyJapc('SCT.USER.ALL')
/user/bdisoft/operational/bin/Python/anaconda_py36/lib/python3.6/site-packages/pyjapc/pyjapc.py in __init__(self, selector, incaAcceleratorName, noSet, timeZone, logLevel)
146 self.log.info("Configuring INCA for {0}".format(incaAcceleratorName))
147 acceleratorJObj = getattr(cern.accsoft.commons.domain.CernAccelerator, incaAcceleratorName)
--> 148 ic.configure(acceleratorJObj)
149 else:
150 # None has been specified. Do no initialize INCA. Make use of CCS Directory Service DescriptorProvider
java.lang.IllegalArgumentExceptionPyRaisable: java.lang.IllegalArgumentException: rmiHost not found in {ps.rmiRegistry.host=PSINCASERVER.cern.ch, elena.rmiRegistry.host=ELENAINCASERVER.cern.ch, lhc.rmiRegistry.port=1198, ctf.rmiRegistry.host=CTFINCASERVER.cern.ch, sps.rmiRegistry.port=1199, leir.rmiRegistry.port=1199, lhc.rmiRegistry.host=LHCINCASERVER.cern.ch, sps.rmiRegistry.host=SPSINCASERVER.cern.ch, psb.rmiRegistry.port=1199, leir.rmiRegistry.host=LEIRINCASERVER.cern.ch, psb.rmiRegistry.host=PSBINCASERVER.cern.ch, ad.rmiRegistry.port=1198, isolde.rmiRegistry.port=1199, linac4.rmiRegistry.port=1198, ad.rmiRegistry.host=ADINCASERVER.cern.ch, ps.rmiRegistry.port=1199, isolde.rmiRegistry.host=ISOLDEINCASERVER.cern.ch, elena.rmiRegistry.port=1200, linac4.rmiRegistry.host=LINAC4INCASERVER.cern.ch, ctf.rmiRegistry.port=1197}
In [3]:
Setting it to CTF
fixes the problem:
22:16:56 kyrsjo@cwe-513-vol759 CLEARcontrol $ ipython
Python 3.6.0 |Anaconda 4.3.0 (64-bit)| (default, Dec 23 2016, 12:22:00)
Type "copyright", "credits" or "license" for more information.
IPython 5.1.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: import pyjapc
In [2]: japc = pyjapc.PyJapc('SCT.USER.ALL', 'CTF')
22:17:04 [main] INFO IncaConfigurator ==> Configuring for PRO environment
22:17:04 [main] INFO IncaConfigurator ==> Inca client system properties: {accelerator=CTF, log4j.configuration=cern/japc/ext/inca/impl/config/log4j-japc-ext-inca.properties, rmiRegistry.host=CTFINCASERVER.cern.ch, java.rmi.server.useCodebaseOnly=false, bypass.inca.server.for.parameter.operations=false, allowNonIncaParameters=true, rmiRegistry.port=1197, inca.environment=PRO, lsa.server=ctf}
In [3]:
This appears to be set in top of the pyjapc.py
file:
# INCA accelerator name from timing domain lookup
_incaAccFromTiming = {
"ADE": "AD",
"CPS": "PS",
"FCT": "CTF3",
"ISO": "ISOLDE",
"LEI": "LEIR",
"LHC": "LHC",
"LNA": "ELENA",
"PSB": "PSB",
"SCT": "CTF3",
"SPS": "SPS",
"LN4": "LINAC4",
}