Differences between revisions 41 and 69 (spanning 28 versions)
Revision 41 as of 2021-11-16 17:47:56
Size: 4283
Comment:
Revision 69 as of 2021-12-07 19:58:56
Size: 3727
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
 * The LIGO-Virgo Alert System (LVAlert) [[https://git.ligo.org/lscsoft/igwn-alert|igwn-alert]]
  * The IGWN Alert System (LVAlert) is a prototype notification service built on Apache Kafka, using the publish-subscribe (pubsub) protocol.
 * LIGO-Virgo Alert System (LVAlert) [[https://git.ligo.org/lscsoft/igwn-alert|igwn-alert]]
  * The International Gravitational Wave Network Alert System (igwn-alert) is a notification service built on the Apache Kafka protocol and the pubsub extension.
Line 6: Line 6:
  * The API are compatible with Python 3.   * The API are compatible with Python 3
 * Retirement of existing LVAlert service targeted for ~April 2022.
  * In O4, we will use igwn-alert.
Line 9: Line 11:
 * We can't install lvalert by [[https://computing.docs.ligo.org/conda/environments/igwn-py37/|igwn]] on conda environment. (see [[https://git.ligo.org/lscsoft/lvalert/-/issues/19|lvalert_admin broken on both conda igwn-py2 and igwn-py37 environments]])
  * because lvalert depends on legacy package (`pyxmpp`)
 * To install lvalert on python2,
 * The latest version is 0.1.2 (2021/12/07)
  * Available in pip and conda shortly.
Line 13: Line 14:
sudo apt install python-ligo-lvalert conda install igwn-alert
Line 16: Line 17:
== Setting in advance ==
 
 * see [[https://gracedb.ligo.org/documentation/responding_to_lvalert.html|this document]]
 {{{
pip install igwn-alert
 }}}
Line 20: Line 21:
 * visit [[https://lvalert-test.cgca.uwm.edu]] and activate your account.  * help
 {{{
% igwn-alert -h
usage: igwn-alert [-h] [-g GROUP] [-l {critical,error,warning,info,debug}] [-n NETRC] [-s SERVER] [-u USERNAME] {listen,subscriptions,topics,unsubscribe,send} ...
Line 22: Line 26:
 * prepare `$HOME/.netrc`
  * albert.einstein should be your KAGRA account.
  * `PASSWORD` should be the password you set at Account Activation site.
positional arguments:
  {listen,subscriptions,topics,unsubscribe,send}
                        sub-command help
    listen Listen for igwn-alert messages and print them to stdout.
    subscriptions List your subscriptions
    topics List available pubsub topics
    unsubscribe Unsubscribe from one or more topics
    send publish contents of a file to a pubsub topic

optional arguments:
  -h, --help show this help message and exit
  -g GROUP, --group GROUP
                        GraceDB group name (e.g., gracedb, gracedb-playground)
  -l {critical,error,warning,info,debug}, --log {critical,error,warning,info,debug}
                        Log level
  -n NETRC, --netrc NETRC
                        netrc file (default: read from NETRC environment variable or ~/.netrc)
  -s SERVER, --server SERVER
                        igwn-alert server hostname
  -u USERNAME, --username USERNAME
                        User name (default: look up in auth.toml or .netrc)
}}}


== Setting in advance on web ==
 * The authentification between the client and the server is managed by SciMMA.
 * The first step is to make a SCiMMa account by visiting [[https://my.hop.scimma.org/|https://my.hop.scimma.org/]].
  * At this time, access to igwn-alert is limited to LIGO, Virgo, or KAGRA members.
 * After log-in [[https://my.hop.scimma.org/|https://my.hop.scimma.org/]], by clicking {{{Create new credentials}}}, the password for your account will be shown just once.

== Adding Authentication in local ==
 * Run the {{{hop}}} command and enter the username and the password.
  * Empty Hostname is fine.
 {{{
hop auth add
 }}}
 * Once you entered, the authentification credential is stored in {{{~/.config/hop/auth.toml}}} .

== Usage in local ==
 * Initially, no topic (you can consider channel) is registered to your account.
  * From [[https://my.hop.scimma.org/|https://my.hop.scimma.org/]], please add channel (they call Adde permission).

 * [[https://lscsoft.docs.ligo.org/igwn-alert/index.html#command-line-interface|Command Line Interface]]
Line 27: Line 71:
$ echo 'machine lvalert.cgca.uwm.edu login albert.einstein password PASSWORD' >> ~/.netrc
$ echo 'machine lvalert-playground.cgca.uwm.edu login albert.einstein password PASSWORD' >> ~/.netrc
$ echo 'machine lvalert-test.cgca.uwm.edu login albert.einstein password PASSWORD' >> ~/.netrc
$ chmod 0600 ~/.netrc
% igwn-alert topics
Topics for group gracedb associated with the current credential:
Line 33: Line 75:
== Usage of lvalert_admin == == Links ==
Line 35: Line 77:
 * get a list of existing nodes
 {{{
$ lvalert_admin -s lvalert-playground.cgca.uwm.edu --get-nodes
 }}}
 * [[https://git.ligo.org/lscsoft/igwn-alert|git repo, igwn-alert]]
 * [[https://lscsoft.docs.ligo.org/igwn-alert/|igwn-alert, documentation outlining API]]
 * [[https://lscsoft.docs.ligo.org/igwn-alert/guide.html|igwn-alert, user guide for how to get started]]
Line 40: Line 81:
 * create a test node
 {{{
$ lvalert_admin -s lvalert-playground.cgca.uwm.edu --create --node test_k1det
Creating node test_k1det
Successfully completed operation
 }}}

 * subscribe a node
 {{{
$ lvalert_admin -s lvalert-playground.cgca.uwm.edu --subscribe --node test_k1det
Successfully subscribed to node test_k1det
 }}}

 * remove a note
 {{{
$ lvalert_admin -s lvalert-playground.cgca.uwm.edu --delete --node test_k1det
 }}}

 * check current subscriptions
 {{{
$ lvalert_admin -s lvalert-playground.cgca.uwm.edu --subscriptions
 }}}

 * unsubscribe
  * This works only a node which you created.

  {{{
$ lvalert_admin --username hirotaka.yuzurihara -s lvalert-playground.cgca.uwm.edu --node "tagoshi-testnode"
  }}}

== Usage of lvalert_listen and lvalert_send ==

 * launch the lvalert_listern
  * this should run in the background
 {{{
% lvalert_listen -s lvalert-playground.cgca.uwm.edu -c /users/yuzu/work/lvalert/setting/my_l
isten.ini -r listener1 &
 }}}

 * prepare the dummy alert
  * the real alert will be sent as JSON format. (But, I don't know the actual keys.)
 {{{
$ cat test1.txt
{"uid": "G12345", "alert_type": "new", "far": 1e-8, "gps_time": 1301640384}

$ cat test2.txt
{"uid": "G12345", "alert_type": "new", "far": 1e-8}
 }}}

 * prepare configuration file
  * when we got the alert, the following shell script will run. (Note that this shell script can't use option.)
  * the details of shell script at `/users/yuzu/work/lvalert` in the Kamioka workstation.
  * the details of configuration files at `/users/yuzu/work/lvalert/setting` in the Kamioka workstation.
 
 {{{
$ cat my_listen.ini
[test_k1det]
executable = ./run_test_k1det.sh
}}}

 * send the test alert
  * Although test1.txt has gps_time, test2.txt has no gps_time.
 {{{
$ lvalert_send --username hirotaka.yuzurihara -s lvalert-playground.cgca.uwm.edu -n test_k1det --file test1.txt

$ lvalert_send --username hirotaka.yuzurihara -s lvalert-playground.cgca.uwm.edu -n test_k1det --file test2.txt
 }}}

 


== Related links ==

 * [[KAGRA/Subgroups/DET/LVAlert_python2 |LVAlert instruction for python2]]
 * [[KAGRA/Subgroups/DET/LVAlert_python2 |LVAlert instruction for python2 (out of date)]]
Line 116: Line 84:

 * [[https://git.ligo.org/lscsoft/lvalert| git repository(lvalert)]]

 * [[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=11522|Tagoshi-san's note]]

 * [[https://lscsoft.docs.ligo.org/lvalert/index.html|document of lvalert (not completed)]]

Introduction

  • LIGO-Virgo Alert System (LVAlert) igwn-alert

    • The International Gravitational Wave Network Alert System (igwn-alert) is a notification service built on the Apache Kafka protocol and the pubsub extension.
    • It is a higher-level modification of SCIMMA's hop-client to streamline receiving and responding to alerts from GraceDB.
    • This package replaces the legacy LIGO LVAlert XMPP-based alert system.
    • The API are compatible with Python 3
  • Retirement of existing LVAlert service targeted for ~April 2022.
    • In O4, we will use igwn-alert.

Install

  • The latest version is 0.1.2 (2021/12/07)
    • Available in pip and conda shortly.
    conda install igwn-alert
    pip install igwn-alert
  • help
    % igwn-alert -h
    usage: igwn-alert [-h] [-g GROUP] [-l {critical,error,warning,info,debug}] [-n NETRC] [-s SERVER] [-u USERNAME] {listen,subscriptions,topics,unsubscribe,send} ...
    
    positional arguments:
      {listen,subscriptions,topics,unsubscribe,send}
                            sub-command help
        listen              Listen for igwn-alert messages and print them to stdout.
        subscriptions       List your subscriptions
        topics              List available pubsub topics
        unsubscribe         Unsubscribe from one or more topics
        send                publish contents of a file to a pubsub topic
    
    optional arguments:
      -h, --help            show this help message and exit
      -g GROUP, --group GROUP
                            GraceDB group name (e.g., gracedb, gracedb-playground)
      -l {critical,error,warning,info,debug}, --log {critical,error,warning,info,debug}
                            Log level
      -n NETRC, --netrc NETRC
                            netrc file (default: read from NETRC environment variable or ~/.netrc)
      -s SERVER, --server SERVER
                            igwn-alert server hostname
      -u USERNAME, --username USERNAME
                            User name (default: look up in auth.toml or .netrc)

Setting in advance on web

  • The authentification between the client and the server is managed by SciMMA.
  • The first step is to make a SCiMMa account by visiting https://my.hop.scimma.org/.

    • At this time, access to igwn-alert is limited to LIGO, Virgo, or KAGRA members.
  • After log-in https://my.hop.scimma.org/, by clicking Create new credentials, the password for your account will be shown just once.

Adding Authentication in local

  • Run the hop command and enter the username and the password.

    • Empty Hostname is fine.
    hop auth add
  • Once you entered, the authentification credential is stored in ~/.config/hop/auth.toml .

Usage in local

  • Initially, no topic (you can consider channel) is registered to your account.
  • Command Line Interface

    % igwn-alert topics
    Topics for group gracedb associated with the current credential:

KAGRA/Subgroups/DET/LVAlert (last edited 2022-05-26 18:05:01 by HirotakaYuzurihara)