All new accounts created on Gitlab now require administrator approval. If you invite any collaborators, please let Flux staff know so they can approve the accounts.

  1. 31 Oct, 2001 4 commits
    • Robert Ricci's avatar
      3c21b3ae
    • Robert Ricci's avatar
      Fix minor typo · 9a8519be
      Robert Ricci authored
      9a8519be
    • Robert Ricci's avatar
      6881dc73
    • Robert Ricci's avatar
      Major overhaul of snmpit. Highlights, in no particular order: · 7e53c10a
      Robert Ricci authored
      Now supports multiple switches and multiple stacks. To do this, the existing
      snmpit_cisco module had to be modified to behave as a true object, and its
      interface changed.
      
      A new layer of abstraction has been added: the stack. This is to hide the
      details of how things such as VLAN creation occur across multiple devices. For
      example, in Cisco stacks, you always contact the stack leader (VTP server) to
      create/delete VLANs. Other switches may have different semantics, such as
      having to contact every switch to create the VLAN.
      
      Now uses libdb for database access and permissions checks.
      
      Hardware details are hidden as much as possible in the user interface. For
      example, the creation and deletion commands now take VLAN identifiers, and
      snmpit transparently turns these into device-specific VLAN numbers.
      
      snmpit.in has been re-written from scratch. The new version uses three basic
      steps:
      1) Process command line options and determine operation to run
      2) Determine which devices, ports, and VLANs will be involved and make
         the appropriate objects
      3) Actually perform the operation
         when TESTMODE is set, does only steps 1 and 2
      
      Some command-line options have changed. This is because we now use getopt,
      rather than a home-grown parser, to parse the command line. As a result of the
      large number of options, and an attempt to mimic old options as much as
      possible, the options are no longer very mnemonic.
      
      Uses a new table called switch_stacks to figure out which switches belong to
      which stacks. A stack is defined as a set of switches that share VLANs.
      
      All snmpit scripts and modules now run with 'use strict' to help catch certain
      programming errors.
      
      VLAN listing now prints out the pid/eid and vname for VLANs, if possible.
      
      A few things have bitrotted due to these changes:
      * snmpit_intel will need to be re-tooled to use the new interface, and to
        behave as a proper object
      * vlansync, vlandiff, and resetvlans depend on the output of snmpit, and will
        need to be updated to understand its new output format
      7e53c10a
  2. 30 Oct, 2001 7 commits
  3. 29 Oct, 2001 5 commits
  4. 26 Oct, 2001 3 commits
  5. 25 Oct, 2001 5 commits
  6. 24 Oct, 2001 7 commits
    • Leigh B. Stoller's avatar
    • Leigh B. Stoller's avatar
      Add delete nodelog entry option in log listing. · b27efd96
      Leigh B. Stoller authored
      Remove hot list for osids from big node listing to cut down on the
      size of the html that gets spit out.
      b27efd96
    • Leigh B. Stoller's avatar
    • Leigh B. Stoller's avatar
      Add swappable and priority bits to experiment creation form. Not used, · 28c1968f
      Leigh B. Stoller authored
      but simply entered into the DB record for the experiment until we know
      what to do with them. Add to batchexp script arguments, since all that
      stuff is done outside the web interface. Add a swapexp perl script to
      swap an an experiment in/out form the command line. Add web links on
      the Experiment Information page to do this from the web interface. A
      bunch of locking changes. Previously expt_terminating in the
      experiment record prevented multiple calls to terminate an experiment,
      but now we have a more general locking problem with
      start,swapin,swapout, and terminate, so change expt_terminating to
      expt_locked (still a datetime field) and add locking to all of
      startexp, swapexp, and endexp. Note that batch experiments cannot be
      swapped yet because of locking issues still to be resolved. Minor
      cleanup in tbreport to make email message look better.
      28c1968f
    • Leigh B. Stoller's avatar
      Change to interface. If not pid provided in URL, get a list of all · d1c48ea4
      Leigh B. Stoller authored
      projects that the user has project_root permissions in, and give a
      list of those to choose from.
      d1c48ea4
    • Leigh B. Stoller's avatar
    • Leigh B. Stoller's avatar
      Largish rework of nfree. Started out that I just wanted to map the · 895a44f6
      Leigh B. Stoller authored
      default OSID from the node_types table, to a specific OSID from the
      partition table on the actual node. This is to avoid setting the boot
      OSID to RHL_STD when the node is released, which causes a boot
      failure. Okay, so I added a library routine to do this (yanked out of
      os_setup where I did the code originally). This would solve most of
      the problems, except where there was no OS loaded that would satisfy
      the mapping, in which case the user must have done an os_load, and now
      that auto schedules a reload. Anyway, seemed like this should work.
      Ha! Mysql locking is downright dumb; all tables used within a lock
      region must be locked. nfree was already locking 9 tables, and in
      order to call out to library routines (which might use anything) I
      would have to lock the world, which is not actually possible anyway.
      Why all this locking in nfree in the first place? The idea is that
      there is a race between releasing the node from reserved, and cleaning
      up all those tables (interfaces, delays, nodes, etc). We don't want to
      free a node, and have it get allocated to another experiment before
      the cleanup is done, since that would mess up the state of the node.
      The solution (albiet a crufty one) was to lock just the reserved table
      (which guards against multiple people trying to nfree the same node at
      the same time) and switch the reservation out of the pid,eid and into
      a holding reservation. This effectively removes the node from the
      users control, but keeps it reserved. Then I unlock the reserved
      table. With that done, I can clean up all those tables without any
      locking, since the node is still reserved. After cleanup, I can either
      delete the reservation, or move it to the next reserve or reload
      reservation if those were pending. No locking is needed at this point
      since single table changes are atomic (and nalloc locks reserved
      anyway). Okay, so now we sit back and see if this was a good idea.
      895a44f6
  7. 23 Oct, 2001 1 commit
  8. 22 Oct, 2001 6 commits
  9. 20 Oct, 2001 2 commits