SL7 Server HOWTO

Intro

Every time we do a mass server upgrade, we try to coordinate things so that nobody has to wait too long for a crucial dependency to be ported to the new OS. In the past that has involved software such as bugzilla, with mixed success.

This time round, Chris and Ross are coordinating the SL7 server upgrade. The aim is to make a clear record of dependencies, and of which have already been done. At the same time the hope is to make the process as painless as possible.

We'll use RT, and in particular its facility for marking tickets as dependent on other tickets. We don't want the SL7 upgrade tickets to be confused with Support tickets, so we've[*] made a whole new RT just for the upgrade:

https://sl7rt.inf.ed.ac.uk

[*] Actually RAT did it, using its clever new "instant RT" config. Thanks RAT!

How to get access to sl7rt

The first time you visit the site you may have to go through the registration process, which is:
  1. Visit https://sl7rt.inf.ed.ac.uk
  2. Wait a minute or two.
  3. Visit it again. (Refresh or restart your web browser.) This time you should find yourself properly logged in to the usual full RT interface.

Queues

sl7rt has queues. There's one for each unit, and a default queue called General. By default, every member of a unit is made AdminCC for every ticket in their unit's queue. We're still working on adding extra "scrips", for example to ensure that people are mailed when a ticket gets a new dependency added to it.

Mail

  • Tickets can be created by mailing sl7rt-gate@inf.ed.ac.uk . Tickets are created in the General queue.
  • If you get mail from an sl7rt ticket, you can reply by adding +correspond or +comment in the usual RT way:
    • sl7rt-gate+correspond@inf.ed.ac.uk
    • sl7rt-gate+comment@inf.ed.ac.uk

How to declare your dependencies

We ask that every unit does the following:

  • Make a list of each server you have to upgrade - or each service, if that makes more sense.
  • (The tricky bit.) List the major dependencies that each will need - things which have to be on SL7, so that your service can be on SL7. Your service may depend on another service, or on a particular piece of software (e.g. remctl) or on an LCFG component which isn't universally installed (e.g. lcfg-apacheconf). The dependencies can be as detailed as you need them to be, but bear in mind that each dependency will be tracked separately. If you're unsure, err on the side of caution. The major dependencies of MPU services are in the MPU SL7 upgrade plan. The dependencies can be managed by any unit, not just yours. It's important that we find the cross-unit dependencies.
  • Then, get an RT ticket representing each service and each dependency. Some of them may already have tickets. Search sl7rt to find out. (See "How to search" below.)
  • If a service or dependency doesn't yet have a ticket, make one. (Click sl7rt's "New ticket in" button.) Make it as detailed or as sparse as you like, but please ensure that the subject line describes what it represents. At the Development meeting of 16/3/16 it was felt that putting a header name into the subject line would be an appropriately descriptive convention - for example options/multipath.h or live/console_server.h.
  • Then make your service ticket "depend on" each of its dependencies' tickets.
    1. In your service ticket, click "Links" then "Edit Links".
    2. Enter each dependency's ticket number into the "Depends on" field, clicking "Save Changes" after each number.
  • Lastly, make your unit's top level ticket depend on all of your services tickets. These are the top level tickets:

Once this has been done, you will have an easily searchable record of your unit's services' dependencies. Also, everyone in charge of upgrading those dependencies will know that your service needs their upgrade work.

How to search sl7rt

There are several ways. Whichever one you choose, you'll be searching the dependencies between the tickets in sl7rt.

  • There's a script in /afs/inf.ed.ac.uk/group/cos/utils.
Usage:
sl7rt_deps [on] <pattern>
For example:
sl7rt_deps bugzilla List tickets matching bugzilla, and the tickets they depend on.
sl7rt_deps on apacheconf List the tickets matching apacheconf, and those depending on them.

  • Visit https://sl7rt.inf.ed.ac.uk. Use RT's search mechanisms. For example, use the "Search..." box.
    In the search results, click on a ticket. Its Links section tells you what it Depends on or is Depended on by.

(Spoiler: at the time of writing only MPU had its tickets in place, so the other tickets may be underwhelming.)

How to graph in sl7rt

RT can graph the inter-ticket relationships. You may find this useful, or too complicated, but here's how to do it:

  • Navigate to the ticket you're interested in.
  • In the Links section, click on Graph (at the top right corner of the Links box).
  • Play with the Graph Properties. Try these:
sl7rt_graph_properties.png
  • Useful graphs can be saved in the Manage saved graphs section at the bottom.
  • Some graphs have been saved for you already. You can load them in Manage saved graphs - use the Load saved search menu to load the graph of your choice.
    If you are warned of a Possible cross-site request forgery then click on click here to resume your request. RT is being over-cautious / buggy here.
  • Or load the saved dependency graphs here:
Topic revision: r8 - 21 Mar 2016 - 15:59:42 - ChrisCooke
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
This Wiki uses Cookies