Difference between revisions of "Services"
(update Git updater) |
(→Tutorial) |
||
Line 25: | Line 25: | ||
* Found at: https://etk.cct.lsu.edu/ | * Found at: https://etk.cct.lsu.edu/ | ||
* Access to server: Steve Brandt | * Access to server: Steve Brandt | ||
− | * | + | * Accounts creation: Steve Brandt, Roland Haas via ET website repo |
== Wiki == | == Wiki == |
Revision as of 14:47, 28 January 2021
The Einstein Toolkit depends on a number of services managed by the ET maintainers. Here we list each of these, and give any relevant information. Ideally, this page should be sufficient for a maintainer to deal with urgent issues relating to these services in case the primary administrator is unavailable.
On 2018-12-10 and 2018-12-17 Steve Brandt and Roland Haas gave a short introduction to the ET infrastructure services. Here are the slides used which may contain information not yet included in this wiki.
Contents
Getting Help
- For LSU sites, you can email CCT IT Support <it-support@cct.lsu.edu>, please mention that you work with Steve Brandt. Ideally, you should have a CCT external user account when sending help mail. If you don't have one, please email the above it-support@cct.lsu.edu address to ask for one.
- For NCSA, the generic email for help of any kind is help@ncsa.illinois.edu and CC'ing Roland Haas (rhaas@illinois.edu) will help. If you are involved in a service hosted at NCSA we can create an external collaborators NCSA account for you, please contact Roland to create such an account.
Website
- https://einsteintoolkit.org
- Location: A VM at CCT
- Administrator: Steve Brandt
- Source for website: https://stevenrbrandt@bitbucket.org/einsteintoolkit/www.git
- Docker source for webserver: https://github.com/stevenrbrandt/et-websites.git
- Members list: The members list is updated manually, in response to an email sent by the website's PHP script. The email sends the subscribers email address, whether they'd like to be added to the mailing list, a link to add the user to the mailing list, and a text entry for members.txt (from which the members page is generated). In addition, there is a python script, sortmembers.py, which sorts the members.txt file.
- Release announcements: Each must be put in the about/releases directory, using the name ET_{year}_{month}_announcement.md. The script mk_release_announcements.py will generate a txt and html file from the md file.
Tutorial
- Source: https://github.com/nds-org/jupyter-et
- Found at: https://etk.cct.lsu.edu/
- Access to server: Steve Brandt
- Accounts creation: Steve Brandt, Roland Haas via ET website repo
Wiki
- https://docs.einsteintoolkit.org/et-docs/
- Location: A VM and Database at CCT
- Accounts: must be created at CCT. Users contact maintainers@einsteintoolkit.org
- Log into docker image as root (
docker exec -it wiki bash
) - To create a user named
dvader
with passworddieoobiwandie
, run the commandphp /var/www/mediawiki/maintenance/createAndPromote.php dvader dieobiwandie
- To change a password, run the command
php /var/www/mediawiki/maintenance/changePassword.php --user=dvader --password=iluvupadme
- Log into docker image as root (
- Administrator: Steve Brandt, Roland Haas
- Source code: https://github.com/stevenrbrandt/et-websites.git
Subversion
- https://svn.einsteintoolkit.org
- Location: A VM at CCT
- Administrator: Steve Brandt
git
- EinsteinToolkit bitbucket organization: https://www.bitbucket.org/einsteintoolkit, list of admins
- EinsteinToolkit github organization: https://github.com/einsteintoolkit, list of admins
The organizations should has administrator group and a developer group where administrators are the ET maintainers and developers are ET users who have been granted write access to the repos. We try to keep access control coarse grained, erring on the side of granting write access easily and to all repos rather than micromanaging access.
New code repositories on bitbucket should set up a "repo push" (the default) web-hook to contact https://einsteintoolkit.org/hooks/repo_changed.php?secret=XXX to send commit messages to commits@einsteintoolkit.org where XXX is to be found in https://bitbucket.org/einsteintoolkit/www/src/master/hooks/repo_changed.php#lines-18 (or thereabouts, look for the variable $secret
).
New code repositories on github should set up commits@einsteintoolkit.org as the recipient of push event emails in https://github.com/GITHUB_USER_NAME/REPO_NAME/settings/notifications/edit .
github is used by gitter.im to authenticate users but access to https://gitter.im/einsteintoolkit is possible without being in the github einsteintoolkit organization.
Bitbucket ticket repository
- https://trac.einsteintoolkit.org
- a regular bitbucket repository at https://bitbucket.org/einsteintoolkit/tickets owned by the einsteintoolkit organization
- default page has been changed to be "Issues" rather than code
- a web-hook has been set up to contact https://einsteintoolkit.org/hooks/issued_changed.php?secret=XXX for ticket change notifications where XXX is to be found in https://bitbucket.org/einsteintoolkit/www/src/master/hooks/issue_changed.php#lines-50
- conversion from trac used a File:tickets mod.python of the trac2bitbucket code.
Mailing lists
- http://lists.einsteintoolkit.org/mailman/listinfo
- Location: A VM at CCT
- Administrator: Steve Brandt. He needs to filter the spam daily. For those who want to know, Russian brides are still a popular subject in spam.
Chat channels
- IRC channel #cactus on irc.oftc.net
- Gitter channel https://gitter.im/EinsteinToolkit access is controlled using https://github.com accounts
Zoom
- we are using a zoom instance provided by LSU, details described on ET_call_Zoom_Info.
- Administrator: Steve Brandt
ET call reminders
- reminders to add to the agenda and for the calls themselves are sent to users@einsteintoolkit.org at Monday 15:18 Central time and Wednesday 17:15 Central time respectively, via cron jobs running on Roland Haas' workstation
- Administrator: Roland Haas
#!/bin/bash if [ $(date +%s) -lt $(date +%s -d 2019-06-21) ] ; then exit fi mail -r users@einsteintoolkit.org -s "Agenda for Thursday's Meeting" users@einsteintoolkit.org <<EOF Please update the Wiki with agenda items for Thursday's meeting. Thanks! https://docs.einsteintoolkit.org/et-docs/meeting_agenda --The Maintainers EOF
#!/bin/bash if [ $(date +%s) -lt $(date +%s -d 2019-06-21) ] ; then exit fi mail -r users@einsteintoolkit.org -s "Einstein Toolkit Meeting Reminder" users@einsteintoolkit.org <<EOF Hello, Please consider joining the weekly Einstein Toolkit phone call at 9:00 am US central time on Thursdays. For details on how to connect and what agenda items are to be discussed, use the link below. https://docs.einsteintoolkit.org/et-docs/Main_Page#Weekly_Users_Call --The Maintainers EOF
CactusCode.org
- https://www.cactuscode.org
- Location: a GitHub pages setup https://github.com/einsteintoolkit/www.cactuscode.org
- DNS for www.cactuscode.org maintained by CCT/LSU
Website monitoring
Websites are monitored by https://uptimerobot.com/ using an account owned by Ian Hinder. Currently monitored pages are:
- https://svn.cct.lsu.edu
- https://svn.cactuscode.org
- http://cactuscode.org
- https://einsteintoolkit.org
- https://docs.einsteintoolkit.org/et-docs/Main_Page
- the git updater at et.barrywardell.net
- https://build-test.barrywardell.net
- the NCSA Jenkins build node (141.142.209.184)
Email updates are sent to <maintainers@einsteintoolkit.org> which has had alert@uptimerobot.com add to its list of allowed posters. This current status of these monitors is visible at https://etstats.barrywardell.net/ while an older hand-written monitor of Frank Loeffler's is at https://www.cct.lsu.edu/~knarf/cgi-bin/monitor.cgi .
Access to the monitors has to be through Ian Hinder whose account runs them.
Cactus services?
Domain
- einsteintoolkit.org
- Owned by LSU
- Notes: Cannot point subdomains to any machines not controlled directly by LSU
Build and test
- https://build-test.barrywardell.net or https://jenkins.einsteintoolkit.ncsa.illinois.edu (same node)
- interactive login to VM similar to build slave: login.barrrywardell.net . Access: Roland Haas, Ian Hinder
- Location: A VM in NCSA Nebula
- Administrator: Roland Haas, Ian Hinder
- Nebula access: Roland Haas (and Gabrielle Allen)
- Detailed documentation at BuildAndTest
- Notes:
- Jenkins runs on the build master, and can connect to a variety of build nodes. One such node is also hosted on Nebula, and is currently (19-August-2020) the only working build node.
- Depends on the git super-repository https://bitbucket.org/einsteintoolkit/einsteintoolkit
- et.barraywardell.net should update super-repo, currently (as of 2019-03-15) this is not working (due to transitioning ExternalLibraries from LSU's svn servers to github) and Roland Haas's workstation is taking over that duty for now
- A login node for people to test failures on a system very similar to the build node is available at login.barrywardell.net. Contact Ian Hinder for access.
- Roland Haas is running 3 OSX VMs on a laptop in his office. Detailed description on how they were set up is in the CactusJenkins repo in build-slave-osx.md. Contact Roland Haas to gain access.
Git updater
- Roland's workstation running
#!/bin/bash while true ; do git pull gawk -vFS='[][ \t"=]+' '/path/{sm=$3} /branch/{b=$3} /upstreamtype/{print sm,b}' .gitmodules | while read m b ; do cd $m pwd git fetch git checkout origin/$b cd - >/dev/null git add $m done msg="updated submodules $(git diff --submodule=log --cached) " if git commit -m "$msg" ; then git push fi date sleep 900 done