Documentation Data Master Test System
Martin Skorsky
Last change: 2021-07-22

Hardware

SuperMicro fel0069

The data master for the test system is hosted on SuperMicro fel0069 with two PEXARIA5d (fel0069.acc.gsi.de). One of these is the data master. The other one is used to analyse the timing messages with snoop. The SuperMicro is accessible with ssh root@fel0069.acc via ASL cluster or other hosts. The management interface (ILO) is accessible via https://fel0069i64.acc.
  1. fel0069.acc.gsi.de
    • IP: 140.181.169.146
    • Location: BG2.009, Rack BG2A.A9, Slot 28
  2. pexaria248t (dev/wbm0), Data master
    • IP: 192.168.131.184
    • MAC: 00:26:7b:00:08:0b
    • Name: pexaria248t
    • CID: 55 0113 0012 0
    • PEXARIA5d, Serie EE
  3. pexaria305t (dev/wbm1), Timing receiver for snoop
    • IP: 192.168.131.241
    • MAC: 00:26:7b:00:08:44
    • Name: pexaria305t
    • CID: 55 0113 0069 4
    • PEXARIA5d, Serie EE
After power on, set the IP addresses of the two pexarrias. This host has no BootP service.

The SuperMicro is configured for PXE boot and nfsinit with links (following https://www-acc.gsi.de/wiki/Timing/Intern/TimingSystemHowToHintsForFECS).
  1. On ASL cluster links in folder /common/tftp/csco/pxe/pxelinux.cfg for PXE boot: 8CB5A992 to fel0069, fel0069 to scuxl.fallout
  2. On ASL cluster links in folder /common/export/nfsinit/fel0069/ for nfsinit.
  3. On ASL cluster create folder /common/fesadata/data/fel0069/.
Connections: network cable to acc network. For management: network cable to acc network.

After reboot of fel0069:
  1. Set the IP addresses of the two pexarria5.
  2. Start saftd: saftd tr1:dev/wbm1
  3. On each host, which needs access to fel0069, copy the public ssh key to fel0069. This has to be done for every user / host which needs access to fel0069 with ssh.
    ssh-copy-id -i .ssh/id_rsa.pub root@fel0069.acc
  4. Test (check before automated testing starts)
    ssh -t root@fel0069.acc.gsi.de "saft-ctl tr1 -xv snoop 0 0 0 3"
    (snoop on tr1 for all events for 3 seconds)

White Rabbit Switch nwt0473m66

Location: BG2.009, Rack BG2A.A9, Slot 29
Configuration: blank. Not an access switch or distribution switch!
Access via tsl001, like other switches.
Name: nwt0473m66.timing.acc.gsi.de,
IP: 192.168.21.219.
Connections: fibre optic cable from wri2 to pexaria248t, fibre optic cable from wri3 to pexaria305t. Network cable to acc network for management.

Software

Firmware Images

Datamaster: build with make ftm in bel_projects root folder. Current version:
Project     : ftm
Platform    : pexaria5 +db[12] +wrex1
FPGA model  : Arria V (5agxma3d4f27i3)
Source info : fallout-3295
Build type  : developer preview
Build date  : Wed Oct 28 16:45:33 CET 2020
Prepared by : Martin Skorsky <m.skorsky@gsi.de>
Prepared on : ACOPC042
OS version  : Linux Mint 19.3 Tricia, kernel 4.15.0-122-generic
Quartus     : Version 18.1.0 Build 625 09/12/2018 SJ Standard Edition

  176fccd2 pmc: changed seed
  d3ab3c45 vetar2a-ee-butis: changed seed
  5419e84e microtca: changed seed
  c0d44bd6 Merge pull request #260 from GSI-CS-CO/dm-fallout-merge-v2
  50444f38 scu4: changed seed

Detecting Firmwares ...

Found 4 RAMs, 4 holding a Firmware ID


********************
* RAM @ 0x04120000 *
********************
UserLM32
Stack Status:
Project     : ftm
Version     : 7.0.1
Platform    :
Build Date  : Wed Oct 28 16:45:19 CET 2020
Prepared by : martin Martin Skorsky <m.skorsky@gsi.de>
Prepared on : ACOPC042
OS Version  : Linux Mint 19.3 Tricia  Linux 4.15.0-122-generic x86_64
GCC Version : lm32-elf-gcc(GCC)4.5.3 (build 190527-673a32-f3d6)
IntAdrOffs  : 0x10000000
SharedOffs  : 0x500
SharedSize  : 98304
FW-ID ROM will contain:

   176fccd2 pmc: changed seed
   d3ab3c45 vetar2a-ee-butis: changed seed
   5419e84e microtca: changed seed
   c0d44bd6 Merge pull request #260 from GSI-CS-CO/dm-fallout-merge-v2
   50444f38 scu4: changed seed
*****

Pexaria dev/wbm1 for snoop: https://github.com/GSI-CS-CO/bel_projects/releases/download/fallout-v6.0.1/pexarria5.rpd

Update: https://github.com/GSI-CS-CO/bel_projects/releases/download/fallout-v6.1.2-rc1/falloutv6_1_2-rc1-pexarria5.rpd

Access the Data Master

dm-cmd tcp/fel0069.acc
dm-sched tcp/fel0069.acc

Remote Snoop of Timing Messages

Snoop per remote ssh: Set up of ssh without password: use public key of user@host and transfer it to root@fel0069.acc: /.ssh/authorized_keys with ssh-copy-id. Snoop with Python3: the tests using python3 / pytest read the command for snooping from environment variable SNOOP.
  • Example for local environment: saft-ctl tr0 -xv snoop 0 0 0
  • Example for remote environment on fel0069.acc: ssh -t root@fel0069.acc 'saft-ctl tr1 -xv snoop 0 0 0'
    saftd on fel0069.acc monitors dev/wbm1 as tr1.
The tests add an additional parameter for the number of seconds to snoop.

Required versions

  1. Python 3.6.9
  2. pytest 6.1.2

Jenkins on tsl025.acc.gsi.de

Preparation of jenkins user on tsl025 for remote snoop. Switch to user jenkins on tsl025:
sudo su -s /bin/bash jenkins
ssh-keygen -t rsa -b 4096
ssh-copy-id -i /var/lib/jenkins/.ssh/id\_rsa.pub root@fel0069
ssh -t root@fel0069 'saft-ctl tr1 -xv snoop 0 0 0 3'

(The last command is the test that the previous commands were successful.)

Jenkins Jobs on tsl025: http://tsl025:8080/
  1. Build and install the tools (dm-cmd, dm-sched, libcarpedm)
  2. Build and install scheduleCompare
  3. check remote snoop
  4. Run tests (13 out of 49 tests are skipped because of longer duration). Takes about 40 seconds. Useful during test developement.
  5. Run all 49 tests. Takes up to 6 min. Normal test execution.

Open Tasks

  1. Configure tsl025 as Jenkins-Slave of builder.acc.gsi.de
  2. Add scripts / jobs to install a defined firmware / datamaster firmware on fel0069/dev/wbm0
  3. Merge dm-analytics into fallout. This simplifies the Jenkins jobs above and the configuration (no installation of scheduleCompare as a prereuisite).
Topic revision: r3 - 22 Jul 2021, MartinSkorsky
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback