TODO 2.06 KB
Newer Older
Jameson Rollins's avatar
Jameson Rollins committed
1 2 3 4 5 6 7 8 9
* supervise docs:
  * run under guardian systemd --user
  * touch ~/.guardctrl-home
  * journald persist
  * loginctl enable-linger guardian
  * /etc/guardian/local-env
  * ssh-proxy
  * caRepeater service
  * systemd-timesyncd
Jameson Rollins's avatar
Jameson Rollins committed
10
  * "machinectl shell guardian@ /bin/bash" for commands (systemd-container)
Jameson Rollins's avatar
Jameson Rollins committed
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
  * look at python-systemd:
     * sd_notify that daemon is running
     * systemd watchdog?

Match User guardian
  # PermitEmptyPasswords yes
  PermitTTY yes
  X11Forwarding no
  AllowTcpForwarding no
  ForceCommand /etc/guardian/guardctrl-ssh-bridge

* systemd-run for running tests
  * systemd-run --user --pty ...

* new channels:
  * STATE_TIME (time stamp for state enter, or time since state enter)
  * LOAD_TIME (time stamp for LOAD)

* test for manager reload retains __{managed,request} in NodeManager

* handle Node in system?
   in case user defines e.g.

   node = Node('FOOBAR')

* pre-load system
  * load code in separate process
  * provide X dialog:
    * guardmedm
    * guardmedm RELOAD click
    * guardmedm STATES related display (calls system.load())
    echo message | zenity --text-info --title "GUARD ERROR" --filename /dev/stdin --ok-label Edit
  * pylint

* MUST GET RID OF REQUEST MENU (REQUEST shell list?)
  * or patch MEDM to do *something* when
  * https://epics.anl.gov/tech-talk/2015/msg00585.php (id:5512E093.3040003@aps.anl.gov)

* STATE_N + ARCHIVE_ID => STATE_S (arrays + archive_git)
  * "epoch" channel for state string/num hash?

* grouped "sub" states?

* bypass decorators (GuardStateDecorator) for state/path execution

* "init" state by number instead of by name?

* xguard interface
  * list all module files + view/edit
  * archive navigation
    * multiprocess for commit view?
    * change background for current
  * show STATE/STATUS

* guardctrl nci
  * curses listing of status of all nodes in system

* monitor: ganglia per-node monitor infrastructure
  * memory usage
  * cpu usage
  * thread count

* periodic dump of channels

* check archive not properly deleting old files

* log completion of MAIN

* log all writes, regardless of changes or not