Jump to content

Backport windows/Deployers/Script

From Wikitech
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

The following Bash script automates the steps in Backport windows/Deployers#SSH Connections and Error Logs: Set up before deploying:

function backport {
    # open browser window
    firefox \
        https://wikitech.wikimedia.org/wiki/Deployments#!/deploycal/current \
        https://wikitech.wikimedia.org/wiki/Backport_windows/Deployers \
        https://logstash.wikimedia.org/app/dashboards#/view/mediawiki-errors \
        https://logstash.wikimedia.org/app/dashboards#/view/mwdebug1002 \
        https://integration.wikimedia.org/zuul/ \
        https://versions.toolforge.org/
    # ensure the ssh key is in the agent and the ControlMaster connection is alive
    ssh mwdebug2002.codfw.wmnet true
    # ensure the new tmux session will still be able to connect to the agent
    # (in case the tmux server was started before the agent was set up)
    tmux set-environment -g SSH_AUTH_SOCK "$SSH_AUTH_SOCK"
    # set up the backport/config terminal window:
    # logspam-watch deployment
    # mwdebug1002   mwmaint1002
    gnome-terminal --maximize \
        tmux \
        new-session -s backport ssh mwlog2002.codfw.wmnet \; \
        split-window -h ssh deployment.eqiad.wmnet \; \
        split-window -t {left} -v ssh mwdebug2002.codfw.wmnet \; \
        split-window -t {right} -v ssh maintenance.eqiad.wmnet \; \
        send-keys -t {top-left} "exec logspam-watch" Enter \; \
        send-keys -t {top-right} "cd /srv/mediawiki-staging" Enter \; \
        select-pane -t {top-right} \;
}

It will open a new Firefox window with some relevant tabs, and a GNOME Terminal window with four SSH sessions arranged like this:

logspam-watch on mwlog1002, keep an eye on this deployment, run git fetch, scap sync-file etc. here
mwdebug1002, run scap pull here maintenance server, run mwscript here if necessary