Skip to content

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",
    }
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information