1. 17 Jun, 2013 1 commit
  2. 13 Jun, 2013 2 commits
    • Leigh Stoller's avatar
    • Leigh Stoller's avatar
      Changes for XEN container loadinfo call, to support whole disk images · 533f7030
      Leigh Stoller authored
      and more efficient space usage.
      When loading a whole disk image, we need to know what partition is
      going to be the boot partition, since we do not get that info from
      Lets be more efficient with space/time; there is no reason to unzip
      the image on the client until we create the container. Instead, tell
      frisbee to write the raw ndz file to its lvm. Later, we unzip from
      that into the target lvm. But to do that, we need to know how many
      chunks the file is in advance, and that is easy to figure out in tmcd.
  3. 04 Jun, 2013 1 commit
    • Leigh Stoller's avatar
      No longer return tunnel info to containers; just plain interfaces. · bd2964e2
      Leigh Stoller authored
      Neither OpenVZ or XEN containers can do anything with the tunnel info,
      since tunnels are created in the root context and all the container
      sees is an interface. We have a hack in the client side for openvz,
      but rather then try to duplicate that hack for every XEN guest, lets
      do this the right way, and return plain ifconfig lines from tmcd and
      config them like any other interface. Since we rely on MAC addresses
      to do this, we now return MACs to the root context when it gets the
      tunnel info.
      To do this we need to know the difference between the root context
      asking for info *about* the container, and the container asking for
      its *own* info. Since both XEN and OpenVZ containers are redirected
      through the tmcc proxy, I changed the protocol so tmcd can tell who is
      asking. This is imperfect, since we might someday want the container
      to bypass the proxy, but for now it will do.
      The other consideration is that a XEN container might have requested a
      public IP, in which case it could actually do all of the tunnel stuff
      itself, but then again we have to worry about all of the guests being
      able to do tunnels, and so the easiest thing to do is just always do
      it in the root context for the container.
  4. 28 May, 2013 1 commit
    • Leigh Stoller's avatar
      Woeful genirack hack; return mounts on the 172 network to avoid going · ce3d8572
      Leigh Stoller authored
      through the 172 phony router we have setup on the control node. This
      is silly to do for local traffic, but getting XEN guests to not do it,
      turned into a pit that I didn't want to enter. We want this so that
      arplockdown works properly; the mac address is really the client not a
      router. Revisit later.
  5. 22 May, 2013 2 commits
  6. 15 May, 2013 1 commit
  7. 14 May, 2013 1 commit
    • Leigh Stoller's avatar
      Add new script to do arp lockdown on boss. · f5cc889a
      Leigh Stoller authored
      The other version is only for the client side (subboss,ops), but does
      not work on real boss. Also hooked into tbswap so that the arps are
      updated during swapin/swapout. Also change tmcd to return arp
      directives for all containers, not just on shared nodes.
  8. 10 May, 2013 1 commit
  9. 02 May, 2013 1 commit
  10. 01 May, 2013 1 commit
  11. 30 Apr, 2013 3 commits
    • Kirk Webb's avatar
      Add complete local node storage support from parser down to tcmd. · dab52801
      Kirk Webb authored
      Doing this required adding columns to the virt and physical blockstores
      tables to mark the attributes that will be considered for mapping.
      Unmarked entries just flow through to the client-side.
      This commit also introduces filesystem support in the form of passing
      through a mount point to the client-side.  It is left to the client to
      decide what filesystem and fs options to use to setup the space, including
      any logical volume aggregation required to support the request.
    • Mike Hibler's avatar
      Avoid redundent output in hwinfo command. · d468c60f
      Mike Hibler authored
    • Mike Hibler's avatar
      Implement the "hwinfo" call. · 636e6436
      Mike Hibler authored
      This call returns info about the HW on the node (duh!) for the benefit
      of the upcoming "nodetest". It returns whatever info about the CPU, memory,
      disks and network interfaces is in the DB. The info comes from a variety of
        node_attributes, node_type_attributes, blockstores, blockstore_attributes,
        blockstore_type_attributes, and interfaces
      at last count.
      We will need to add some new node_type_attributes for cpu/memory.
      Even though some of the info exists already (e.g., "memory", "frequency"),
      I chose to use uniformly prefixed attributes (hw_cpu_*, hw_mem_*) to
      make my tmcd-life easier.
  12. 09 Apr, 2013 1 commit
  13. 29 Mar, 2013 1 commit
  14. 22 Mar, 2013 1 commit
  15. 04 Mar, 2013 1 commit
  16. 28 Feb, 2013 2 commits
    • Mike Hibler's avatar
      More jailconfig fixes. · d274ae74
      Mike Hibler authored
      Move client_writeback inside conditional where it belongs (else we double
      output the first part), make sure jailip is always initialized.
    • Mike Hibler's avatar
      Doh! For jailconfig we could deref a null pointer. · f3533fca
      Mike Hibler authored
      Apparently we don't always set interfaces.mask in the DB for the cnet
      interface. So the mysql query returns NULL, which we would happily strcpy!
      Now we use CONTROL_NETMASK if the queried value is null.
  17. 27 Feb, 2013 4 commits
  18. 26 Feb, 2013 1 commit
  19. 28 Jan, 2013 1 commit
  20. 14 Nov, 2012 1 commit
    • Mike Hibler's avatar
      Client half of the fetch-tarballs-via-the-web change. · 763c6aca
      Mike Hibler authored
      For every tarball and rpm, tmcd will now pass a SERVER= string as well
      telling the client where the file should be downloaded from (if using
      the web rather than NFS). Right now this value is the same for all
      tarballs and rpms, and is hardwired in tmcd as either "www" (if
      SPEWFROMOPS=0) or "users" (if 1). Note: BUMPED THE TMCC VERSION NUMBER
      for this.
      Made a common routine for doing an error-check-and-retry copy of a file
      across "racy" NFS. This is used by install-{tarfile,rpm} and rc.topomap.
  21. 30 Oct, 2012 1 commit
    • Mike Hibler's avatar
      Tweaks to the arpinfo code. · a9e85d64
      Mike Hibler authored
      Most sites don't have boss/ops/fs in the DB, so we use sitevariables to
      get their IP/MAC instead. Also now pass the type of "arp lockdown" we are
      doing (none, static, staticonly).
  22. 07 Oct, 2012 1 commit
  23. 25 Sep, 2012 1 commit
  24. 24 Sep, 2012 1 commit
    • Eric Eide's avatar
      Replace license symbols with {{{ }}}-enclosed license blocks. · 6df609a9
      Eric Eide authored
      This commit is intended to makes the license status of Emulab and
      ProtoGENI source files more clear.  It replaces license symbols like
      "EMULAB-COPYRIGHT" and "GENIPUBLIC-COPYRIGHT" with {{{ }}}-delimited
      blocks that contain actual license statements.
      This change was driven by the fact that today, most people acquire and
      track Emulab and ProtoGENI sources via git.
      Before the Emulab source code was kept in git, the Flux Research Group
      at the University of Utah would roll distributions by making tar
      files.  As part of that process, the Flux Group would replace the
      license symbols in the source files with actual license statements.
      When the Flux Group moved to git, people outside of the group started
      to see the source files with the "unexpanded" symbols.  This meant
      that people acquired source files without actual license statements in
      them.  All the relevant files had Utah *copyright* statements in them,
      but without the expanded *license* statements, the licensing status of
      the source files was unclear.
      This commit is intended to clear up that confusion.
      Most Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the Affero GNU General Public License, version 3
      Most Utah-copyrighted files related to ProtoGENI are distributed under
      the terms of the GENI Public License, which is a BSD-like open-source
      Some Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the GNU Lesser General Public License, version 2.1
  25. 19 Sep, 2012 1 commit
    • Mike Hibler's avatar
      Fix a check in imageinfo. · 59d4edd2
      Mike Hibler authored
      I am not 100% sure this is correct, but if not correct, it is at least
      no more wrong than the old code!
  26. 12 Sep, 2012 2 commits
    • Mike Hibler's avatar
      Plumb the arpinfo command through the perl code. · bda3fcfc
      Mike Hibler authored
      Also, fix a minor bug in the tmcd implementation.
    • Mike Hibler's avatar
      Add SSL-only "arpinfo" command to return MAC/IP for servers and "peer" nodes. · fb1f8f9a
      Mike Hibler authored
      Return MAC/IP (ARP) information for a node's "peers" on the node control
      net. We also return info for the control net gateway (if there is one)
      and any servers on the node control network (e.g., subbosses).
      As far as "peer" info, right now we just support calls by subbosses that
      will return the info for the set of nodes they control. This could also
      be used by experiment firewalls or gateways to return info for the nodes
      they are protecting and setup filters accordingly.
      Note that this call only returns info if invoked using SSL. This allows
      the client to be sure it is getting the info from boss.
      Tangentially related, is the addition of an index to the subbosses table
      to speed up a really slow query.
  27. 21 Aug, 2012 3 commits
  28. 03 Aug, 2012 1 commit
  29. 25 Jul, 2012 1 commit