Differences between revisions 38 and 80 (spanning 42 versions)
Revision 38 as of 2021-11-16 17:26:32
Size: 4113
Comment:
Revision 80 as of 2022-05-26 18:05:01
Size: 4687
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
 * [[https://git.ligo.org/lscsoft/lvalert/-/tree/master|LValert]] is The LIGO-Virgo Alert System (LVAlert)
  * a prototype notification service built on the xmpp (jabber) protocol and the pubsub extension.
  * It provides a basic notification tool which allows multiple producers and consumers of notifications.
 * 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.
  * 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.
Line 7: 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 11: Line 14:
sudo apt install python-ligo-lvalert conda install igwn-alert
Line 14: Line 17:
== Setting in advance ==
 
 * see [[https://gracedb.ligo.org/documentation/responding_to_lvalert.html|this document]]
 {{{
pip install igwn-alert
 }}}
Line 18: 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 20: 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}}} .

 * Note that in the authentification credential is connected to conda environment. You can see the environment name in {{{~/.config/hop/auth.toml}}}.
  * If you make new conda environment, you should run

  {{{
hop auth add --force
  }}}

== 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 `Add permission`).

 * This doesn't show anything.
Line 25: Line 79:
$ 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 31: Line 83:
== Usage of lvalert_admin == == Receive alert from MDC (Mock Data Challenge) analysis ==
 * Follow [[https://o4-dqr.docs.ligo.org/o4-dqr-configuration/#setting-up-igwn-alert-to-test-taskmanager|instruction by Joe]].
Line 33: Line 86:
 * get a list of existing nodes  * If you set up properly, check the topics which you are subscribing.
Line 35: Line 88:
$ lvalert_admin -s lvalert-playground.cgca.uwm.edu --get-nodes % igwn-alert --group gracedb-playground topics
Topics for group gracedb-playground associated with the current credential:
mdc_superevent
cbc_pycbc
Line 38: Line 95:
 * create a test node  * Launch the igwn-alert
Line 40: Line 97:
$ lvalert_admin -s lvalert-playground.cgca.uwm.edu --create --node test_k1det
Creating node test_k1det
Successfully completed operation
% igwn-alert --g gracedb-playground listen
Line 45: Line 100:
 * subscribe a node
 {{{
$ lvalert_admin -s lvalert-playground.cgca.uwm.edu --subscribe --node test_k1det
Successfully subscribed to node test_k1det
 }}}
 * To see the MDC alert on gracedb (2022/02/09), visit [[https://gracedb-playground.ligo.org/latest/?query=mdc&query_type=S|gracedb-playground]] (Require log-in).
Line 51: Line 102:
 * remove a note
 {{{
$ lvalert_admin -s lvalert-playground.cgca.uwm.edu --delete --node test_k1det
 }}}
== Links ==
Line 56: Line 104:
 * check current subscriptions
 {{{
$ lvalert_admin -s lvalert-playground.cgca.uwm.edu --subscriptions
 }}}
 * [[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 61: Line 108:
 * 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 115: Line 112:
 * [[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)]]
 * [[https://git.ligo.org/emfollow/userguide|LIGO/Virgo Public Alerts User Guide (not igwn-alert)]]

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 .

  • Note that in the authentification credential is connected to conda environment. You can see the environment name in ~/.config/hop/auth.toml.

    • If you make new conda environment, you should run
      hop auth add --force

Usage in local

  • Initially, no topic (you can consider channel) is registered to your account.
  • This doesn't show anything.
    % igwn-alert topics
    Topics for group gracedb associated with the current credential:

Receive alert from MDC (Mock Data Challenge) analysis

  • Follow instruction by Joe.

  • If you set up properly, check the topics which you are subscribing.
    % igwn-alert --group gracedb-playground topics
    Topics for group gracedb-playground associated with the current credential:
    mdc_superevent
    cbc_pycbc
  • Launch the igwn-alert
    % igwn-alert --g gracedb-playground listen
  • To see the MDC alert on gracedb (2022/02/09), visit gracedb-playground (Require log-in).

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