Skip to content
Snippets Groups Projects
  1. Jul 18, 2012
    • Ryan Jackson's avatar
      Support for Xen 4.1 vnodes on Ubuntu 12.04 dom0 · 01925a3d
      Ryan Jackson authored
      Added initial support for Xen 4.1 vnodes with an Ubuntu 12.04 dom0.
      Basic stuff is working, but none of the networking stuff has been
      tested yet.
      
      - /etc/dhcp/dhcpd.conf will be used in preference to /etc/dhcpd.conf
        if the directory /etc/dhcp is present or /etc/dhcp/dhcpd.conf is
        present.  Debian-ish distros put the dhcpd config in /etc/dhcp.
      
      - Restarting dhcpd on upstart-based systems is now supported, as
        is calling the dhcpd service 'isc-dhcp-server' instead of just
        'dhcpd'.
      
      - Remove hardcoded paths to /usr/sbin/lvcreate; some distros keep
        lvm2 binaries in /sbin.
      
      - Output of 'xm info' is parsed and cached so that libvnode_xen
        can support both Xen 3.x and 4.x.
      
      - If we're running under Xen 4.x, use /dev/xvda for the guest root
        disk, not /dev/sda.
      
      - If copying the dom0 root fs to create the domU root fs, copy
        everything, not just certain directories.  Ubuntu 12.04 refused to
        boot without everything there.  Hardcoding the additional paths
        won't work, since older distros don't have them (/run, for example).
      
      - The default domU kernel should be symlinked to /boot/vmlinuz-xenU.
        Likewise, the initrd (if any) should by symlinked to
        /boot/initrd-xenU.  These were previously hardcoded to the values
        used by the Fedora 8-based dom0 image.
      
      - Cleaned up some bashisms in /etc/xen/scripts/emulab-cnet. Ubuntu
        uses dash for /bin/sh, and it doesn't support bash's extensions
        to Bourne shell syntax.
      
      - Remove additional state from the domU fs when creating it from dom0:
        dhclient.leases, /var/run/cnet, mtab, swap entries in fstab.
      
      - Fix iptables rules for preventing dhcp broadcast packets from going
        through the bridge.
      01925a3d
    • Leigh B Stoller's avatar
      Couple of minor bug fixes. · df8cd0da
      Leigh B Stoller authored
      df8cd0da
  2. Jul 17, 2012
    • David Johnson's avatar
      Add a CLI for FreeNAS to build Emulab clientside support. · 42c6e214
      David Johnson authored
      FreeNAS is basically a web frontend to BSD-backed ZFS volumes,
      filesystems, and various ways to share them (i.e., iSCSI, NFS, etc).
      It stores all its config info in a sqlite DB from which it configs
      the BSD system.  It uses Django (a slightly weird MVC that exports a web
      interface; logic/models/views are all in python, and there is an
      HTML-based template interface.
      
      What I did was basically to wrap the model/form parts of FreeNAS's
      code -- so for the commands we want to support, we actually mock up
      an HTTP request, and submit it directly to the correct handler function
      that the FreeNAS Django config files specify.  This allows us to leverage
      all the FreeNAS error checking code and automation (i.e., deleting an
      interface would delete aliases on that interface too).
      
      usage() prints this, at present:
      
      Supply a command set class, an operation, and the necessary arguments.
      
        interface       Configure network interfaces
          add  <interface> <name> [<dhcp=X> <ipv6auto=X> <options=X> ] ...
          del  <interface>
          edit <interface> [<dhcp=X> <ipv6auto=X> <name=X> <options=X> ] ...
        ist             Configure ISCSI targets (a target binds SCSI attributes
               (i.e. serial number, r/w flags, queue depth, block size) to iSCSI
               attributes (i.e., a target portal, authorized initiator network ACLs,
               iSCSI authentication info)
          add  <name> <serial> <portalgroup> <initiatorgroup> [<authtype>
               <authgroup> ] [<alias=X> <flags=X> <logical_blocksize=X>
               <queue_depth=X> <type=X> ]
          del  <name>
          edit <name> [<serial> <portalgroup> <initiatorgroup> <authtype>
               <authgroup> ]
        ist_assoc       Associate extents with targets (final "link" between storage
               and network)
          add <target> <extent>
          del <target> <extent>
        ist_authcred    Configure ISCSI target authentication credentials (i.e.,
               users)
          add  <tag> <user> <secret1> [<peeruser> <peersecret1> ]
          del  <user>
          edit <tag> <user> <secret1> [<peeruser> <peersecret1> ]
        ist_authinit    Configure ISCSI initiator authorizations by hostname or
               network
          add  <tag> <initiators> [<auth_network> <comment> ]
          del  <tag>
          edit <tag> <initiators> [<auth_network> <comment> ]
        ist_config      Configure general ISCSI parameters
          edit [<basename=X> <defaultt2r=X> <defaultt2w=X> <discoveryauthgroup=X>
               <discoveryauthmethod=X> <firstburst=X> <iotimeout=X> <maxburst=X>
               <maxconnect=X> <maxoutstandingr2t=X> <maxrecdata=X> <maxsesh=X>
               <nopinint=X> <r2t=X> ]
        ist_extent      Configure ISCSI target extents (block devs or files exported
               via ISCSI)
          add      <name> <dev> [<comment> ]
          addfile  <name> <path> <filesize> [<comment> ]
          del      <name>
          edit     <name> <dev> [<comment> ]
          editfile <name> <path> [<comment> ] [<filesize=X> ]
        ist_portal      Configure ISCSI target portals (i.e., ip:port binding to
               associate with a target)
          add  <tag> [<comment=X> ] ...
          del  <tag>
          edit <tag> [<comment=X> ] ...
        network         Configure generic network settings
          config [<domain=X> <hostname=X> <ipv4gateway=X> <ipv6gateway=X>
               <nameserver1=X> <nameserver2=X> <nameserver3=X> ]
        pool            Configure ZFS storage pools
          add <volume_name> <volume_fstype> <group_type>  ...
          del <vol_name>
          mod <volume_add> <volume_fstype> <group_type>  ...
        route           Configure static routes
          add <destination> <gateway> [<description> ]
          del <destination> [<gateway> ]
        snapshot        Create, clone, rollback ZFS snapshots of volumes or clones
          add      <snap_name>
          clone    <cs_snapshot> <cs_name>
          del      <snap_name>
          rollback <snap_name>
        vlan            Configure vlan interfaces
          add <pint> <vint> <tag> [<description> ]
          del <vint>
        volume          Configure ZFS volumes (zvols) atop pools
          add <pool_name> <zvol_name> <zvol_size> <zvol_compression>
          del <pool_name> <vol_name>
      42c6e214
    • Leigh B Stoller's avatar
      Fix minor bug in regex table. · 000cb177
      Leigh B Stoller authored
      000cb177
    • Leigh B Stoller's avatar
      Fix minor bug in regex table. · f09b8694
      Leigh B Stoller authored
      f09b8694
    • Leigh B Stoller's avatar
      Add link to new vlan tag history page. · eac05354
      Leigh B Stoller authored
      eac05354
    • Leigh B Stoller's avatar
      Fix a couple php warnings. · 4e338182
      Leigh B Stoller authored
      4e338182
    • Leigh B Stoller's avatar
      Another ProtoGeni checkbox; record vlan tags in a history table · 8db4850e
      Leigh B Stoller authored
      and provide a web interface to look at them.
      8db4850e
    • Leigh B Stoller's avatar
    • Leigh B Stoller's avatar
      Add tracking of control net mac addresses in the node_history. · bb66f52e
      Leigh B Stoller authored
      For InstaGeni, need to record and be able to search for history by
      control net mac address. We now record this in the node_history table,
      with corresponding change to the ShowNodeHistory web page.
      
      The backend changes required are that we 1) actually generate a mac
      address for VMs and stick it into the interfaces record, 2) return
      that mac from tmcd in the jailconfig, and 3) have the openvz library
      create the control net interface using that mac.
      
      On the openvz image, needed to switch to using a control network
      bridge for all interfaces (not just routable ones) so that traffic
      leaves the node with the correct mac.
      bb66f52e
  3. Jul 16, 2012
  4. Jul 14, 2012
  5. Jul 13, 2012
    • Leigh B Stoller's avatar
      738d207c
    • Leigh B Stoller's avatar
      ProtoGeni stitching and vlan tag reservation changes. · 9b7f535e
      Leigh B Stoller authored
      * Get rid of all use of component_hops; this was our original syntax
        before the stitching path stuff was nailed down.
      
      * Allow a vlan tag to be requested in the link statement:
      
          <link client_id="link0" vlantag="765">
            <interface_ref client_id="geni1:if0" />
        
      * Support vlan tag requests in the stiching path part:
      
          <vlanRangeAvailability>765</vlanRangeAvailability>
          <suggestedVLANRange>765</suggestedVLANRange>
      
        This is the only support at the moment; none of the range stuff is
        done. Further, if you really want things to work, make sure all the
        hops have the same vlan tag cause we don't do vlan translation
        internally or at our edge points.
      
      * Utah only change in the mapper; when trying to use a shared vlan
        whose tag is great then 1000, demand the "highvlan" feature on the
        nodes in the lan. Only some of our switches to high numbered vlans.
      9b7f535e
    • Leigh B Stoller's avatar
      Add a method to clear unused reserved vlan tags; these are tags · 97a610b1
      Leigh B Stoller authored
      that are in the reserved_vlantags table, but are not referenced
      by an actual lan object in the lans table.
      97a610b1
  6. Jul 12, 2012
  7. Jul 11, 2012
  8. Jul 10, 2012
  9. Jul 08, 2012
    • Mike Hibler's avatar
      Patch to add frisbee and pubsub dissectors to wireshark. · 388ef6bc
      Mike Hibler authored
      Did the pubsub one a long time ago, but added a frisbee one as well.
      
      The pubsub dissector has not been tested in its wireshark 1.8 incarnation,
      I just converted it from the 1.2.10 version and made sure it compiled.
      The frisbee dissector just supports the base UDP protocol (not the TCP
      master server protocol) and doesn't implement wireshark conversations.
      
      This last few commits were the result of a two-day trip into the weeds.
      This started out as getting a hack shared 10Gb LAN working on the new 820
      nodes. Then I decided to test it out by running frisbee at high bandwidth
      over that LAN. Next thing you know, I'm out in the fields, looking at
      frisbee traces and tweaking Linux sysctls...
      388ef6bc
    • Mike Hibler's avatar
      For dynamic socket buffer sizing, don't trust the return value of setsockopt · acd929c1
      Mike Hibler authored
      In at least the Linux 3.2 kernel on Ubuntu 12, setsockopt to set the socket
      buffer size does not return an error if you try to set a value higher than
      the kernel max. So we do an immediately following getsockopt to verify.
      
      This will prevent the server from over-driving the send socket (leading to
      re-requests of blocks from clients) for really high bandwidth values (i.e.,
      with large burst sizes).
      acd929c1
    • Mike Hibler's avatar
      Fix some bitrot in the tracing functions. · 58c871e1
      Mike Hibler authored
      58c871e1
  10. Jul 06, 2012
Loading