# NF1 project ## Questions - Proposed archtiecture (Rough conecpt) - [x] Need explanation for diagram specially the unrelated flows of it - Requirements > General/System - [ ] Software updates: How do we update packages offline - Transfer Management - [ ] Does NF1 use libssh2's patched version as mentioned in the docs? - [ ] What is NF270 Default and fallback transfer target? - [ ] Does current NF1 code check for data corruption using checksum? - [ ] What is drive health state and how do we monitor it with smart? ## Readout Station Firmware ### Setup - Started with installing [Readout Station Firmware](http://gitlab.caetec:8929/ASO/software-readout-station/readout-station-firmware) - ~~Getting error `Failed to build python-crontab psutil pyrsistent pyudev ssh2-python uptime`~~ - Successfully built and set up. ## Current task **Draw flowchart of how the following states are achieved** - Ready - Busy - Disconnecting success - Discinnecting error - Physically connected - Remove - It is time taken to show blank on the UI after removing the drive. - Reconnected - It is time taken to come to ready state on subsequent 2nd time insertion of the drive. - FTP error - FTP reconnected **Ready state** ```mermaid flowchart TD subgraph one[class DrivebaySerial] DS4[def get_slot_nowait] --returns-->DS0 DS1[def run]--calls-->DS2[def _put_slot] DS2 --Keeps Updating--> DS0[self._detect_queue] end subgraph two[class Baymanager] BM0[self._readyDisks] BM1[def run] --calls--> BM2[def _getConnectedDevices] BM2 <--calls-->DS4 BM2 --updates-->BM0 end subgraph three[API] AP0[def _ready_disks] <--calls--> BM0 AP0 --calls--> AP1[def _readyDisksSubthread] AP1 --updates--> AP2[CACHE.Diskstatus_ALL] end ``` ## Questions - Why `drivebay.py:<class 'SLOTS'>` has only 6 slots when there are 12 slots in the drivebay? - Confusion in `drivebay.py:<class 'DrivebaySerial'>`. Which line of code detects insertion of a new SSD?