channel finder operational experience at bnl work by: gabriele carcassi, robert petkus, guobao shen,...

18
Channel Finder operational experience at BNL work by: Gabriele Carcassi, Robert Petkus, Guobao Shen, Kunal Shroff, Lingyun Yang, written by: Gabriele Carcassi performed by: Kunal Shroff

Upload: charla-chambers

Post on 14-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Channel Finder operational experience at BNL work by: Gabriele Carcassi, Robert Petkus, Guobao Shen, Kunal Shroff, Lingyun Yang, written by: Gabriele Carcassi

Channel Finderoperational experience at

BNLwork by: Gabriele Carcassi, Robert Petkus,Guobao Shen, Kunal Shroff, Lingyun Yang,

written by: Gabriele Carcassiperformed by: Kunal Shroff

Page 2: Channel Finder operational experience at BNL work by: Gabriele Carcassi, Robert Petkus, Guobao Shen, Kunal Shroff, Lingyun Yang, written by: Gabriele Carcassi

ChannelFinder at BNL

IOCs

GlassfishWeb service

/cf-update

Web proxy

CSSScripts to

- populate properties- create lattice

channelfinder.nsls2.bnl.gov

NFSupdate

daemon

dependency

data flow

Page 3: Channel Finder operational experience at BNL work by: Gabriele Carcassi, Robert Petkus, Guobao Shen, Kunal Shroff, Lingyun Yang, written by: Gabriele Carcassi

Getting channels from the IOCs

IOCs/cf-update

channelfinder.nsls2.bnl.gov

NFS

dependency

data flow

Page 4: Channel Finder operational experience at BNL work by: Gabriele Carcassi, Robert Petkus, Guobao Shen, Kunal Shroff, Lingyun Yang, written by: Gabriele Carcassi

Getting channels from the IOCs

• channelfinder.nsls2.bnl.gov exports the directory /cf-update through NFS

• Each IOC directly or indirectly has access to it• When the IOC boots, the startup script saves

the output of a dbl command to a file• Filename format: hostname.iocname.dbl

Page 5: Channel Finder operational experience at BNL work by: Gabriele Carcassi, Robert Petkus, Guobao Shen, Kunal Shroff, Lingyun Yang, written by: Gabriele Carcassi

Updating channel list

GlassfishWeb service

/cf-update

channelfinder.nsls2.bnl.gov

update daemon

dependency

data flow

Page 6: Channel Finder operational experience at BNL work by: Gabriele Carcassi, Robert Petkus, Guobao Shen, Kunal Shroff, Lingyun Yang, written by: Gabriele Carcassi

Updating channel list

• Daemon monitors for changes in the /cf-update directory and updates channelfinder– Setup a script in /etc/init.d– Uses /usr/bin/inoticoming to monitor for changes

in the directory– Uses CFUpdateIOC.py script coming with channel

finder python client to perform the update– Ignores all the channels that ends in “_” (NSLS-II

convention for “internal” channels)

Page 7: Channel Finder operational experience at BNL work by: Gabriele Carcassi, Robert Petkus, Guobao Shen, Kunal Shroff, Lingyun Yang, written by: Gabriele Carcassi

Updating channel list

• Update process feels very fast• System has been very reliable– no problems so far

Page 8: Channel Finder operational experience at BNL work by: Gabriele Carcassi, Robert Petkus, Guobao Shen, Kunal Shroff, Lingyun Yang, written by: Gabriele Carcassi

Glassfish setup

GlassfishWeb service

channelfinder.nsls2.bnl.gov

dependency

data flow

Page 9: Channel Finder operational experience at BNL work by: Gabriele Carcassi, Robert Petkus, Guobao Shen, Kunal Shroff, Lingyun Yang, written by: Gabriele Carcassi

Glassfish setup

• Running Glassfish 3.1• Single instance of Glassfish for multiple

applications– Will be the same deployment server for our log

service (collaboration with MSU)– Each application available as an alias– Top application changes according to the alias• http://channelfinder.nsls2.bnl.gov – ChannelFinder• http://log.nsls2.bnl.gov – log

Page 10: Channel Finder operational experience at BNL work by: Gabriele Carcassi, Robert Petkus, Guobao Shen, Kunal Shroff, Lingyun Yang, written by: Gabriele Carcassi

Glassfish setup

• Glassfish runs as glassfish user• Glassfish redirects to PAM for authentication– This is supported only as root user– We had to make glassfish member of the shadow

group and allow it to access /etc/shadow (for local accounts) and /etc/pam_ldap.conf (for ldap accounts)

– Runs fine now

Page 11: Channel Finder operational experience at BNL work by: Gabriele Carcassi, Robert Petkus, Guobao Shen, Kunal Shroff, Lingyun Yang, written by: Gabriele Carcassi

Glassfish setup

• In ldap created the following groups:– cf-admins, admins– cf-channels, users that adds/removes channels,

currently only cf-update– cf-properties, users that can add properties, a

couple of people in our group and physics group– cf-tags, users that can only add tags, more people in

the physics group– aphla, accelerator physics high level application, to

group tags/properties from that group

Page 12: Channel Finder operational experience at BNL work by: Gabriele Carcassi, Robert Petkus, Guobao Shen, Kunal Shroff, Lingyun Yang, written by: Gabriele Carcassi

Glassfish setup

• Main problems– Increase max file descriptors– OutOfMemory error• Used to hit it, now we don’t anymore• Quantum-bug: stopped appearing once we setup the

infrastructure to debug it when it would happen again

Page 13: Channel Finder operational experience at BNL work by: Gabriele Carcassi, Robert Petkus, Guobao Shen, Kunal Shroff, Lingyun Yang, written by: Gabriele Carcassi

Usage from high level physics

GlassfishWeb service

Scripts to- populate properties

- create lattice

channelfinder.nsls2.bnl.gov

dependency

data flow

Page 14: Channel Finder operational experience at BNL work by: Gabriele Carcassi, Robert Petkus, Guobao Shen, Kunal Shroff, Lingyun Yang, written by: Gabriele Carcassi

Usage from high level physics

• Our physics group adds properties/tags• From Linyun Yang (accelerator physics) talk:

– From Channel Access to Channel Finder Service:• Channel Accesses in Python and Matlab are simple to use.• High level applications (HLA) deals with thousands of magnets,

instruments and more channels.• Organized/structured channel information is necessary.• Channels linked to accelerator lattice and diagnostics are even better.• Searching instead of remembering is easier for HLA users.

– A “dictionary” service can help HLA to manage the channels and build a lattice structure to which the AP is familiar. (they done simulation, analysis with it in the design).

Page 15: Channel Finder operational experience at BNL work by: Gabriele Carcassi, Robert Petkus, Guobao Shen, Kunal Shroff, Lingyun Yang, written by: Gabriele Carcassi

device FM1G4C02AChannel Name

SR:C02-MG:G04A{HFCor:FM1} SR:C02-MG:G04A{VFCor:FM1}Fld-I Fld-SP Fld-I Fld-SP

handle READBACK SETPOINT READBACK SETPOINTelemName FXM1G4C02A FYM1G4C02A

elemType HFCOR VFCORelemField x ydevName FM1G4C02A

sEnd 65.5222cell C02

girder G4symmetry A

length 0.044ordinal 263 264

tagseget eput eget eput

x ysys.SR

Page 16: Channel Finder operational experience at BNL work by: Gabriele Carcassi, Robert Petkus, Guobao Shen, Kunal Shroff, Lingyun Yang, written by: Gabriele Carcassi

Usage from high level physics

• Physics group can re-create the lattice from the information in channel finder

• By tags, different lattices can be built, and elements can be shared between them.– Sharing is important for injection, where LTD1 and

LTD2 shares a lot of elements with LTB

Page 17: Channel Finder operational experience at BNL work by: Gabriele Carcassi, Robert Petkus, Guobao Shen, Kunal Shroff, Lingyun Yang, written by: Gabriele Carcassi

CSS & ChannelFinder

GlassfishWeb service

CSS

channelfinder.nsls2.bnl.gov

dependency

data flow

Page 18: Channel Finder operational experience at BNL work by: Gabriele Carcassi, Robert Petkus, Guobao Shen, Kunal Shroff, Lingyun Yang, written by: Gabriele Carcassi

CSS & ChannelFinder

• See next talk!