Changes between Version 16 and Version 17 of OldFeddAbout


Ignore:
Timestamp:
Jul 16, 2012 6:21:34 PM (12 years ago)
Author:
faber
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OldFeddAbout

    v16 v17  
    434434
    435435By splitting this function out, we intend to allow different installations of `fedd` to provide different interconnection and service tunneling function.  Currently the [FeddDownload DETER fedkit] is the only federation kit in use, and `fedd` defaults its startcmd options for use with it.
     436
     437The federation kit has 2 roles
     438
     439 * Configuring experiment nodes to use [FeddAbout#ExperimentServices services], such as shared file systems.
     440 * Configuring portal nodes to connect experiments
     441
     442== Fedkit on Experiment Nodes ==
     443
     444On experiment nodes, the fedkit starts dynamic routing, and optionally configures user accounts and samba filesystems if they are in use.  The system expects the following software to be available:
     445
     446 * quagga routing system (an old gated installation will also work)
     447 * samba-client
     448 * smbfs
    436449 
     450Those are the linux package names; equivalent FreeBSD packages will also work.  For software to be available is for it to be either installed or accessible using {{{yum}}} or {{{apt-get}}}.  DETER nodes have a local repository for that purpose.
     451
     452The fedkit is installed in {{{/usr/local/federation}}} and when run places a log in {{{/tmp/federate}}}.
     453
     454Services are initialized based on the contents of {{{/usr/local/federation/etc/client.conf}}}.  Possible values include:
     455
     456 '''!ControlGateway'''::
     457  The DNS name (or IP address) of the node that will forward services
     458 '''Hide''':
     459  Do nat add this node to the node's view of the experiment.  Used for [FeddMulti multi-party experiments].
     460 '''!PortalAlias'''::
     461  A name that will be mapped to the same IP address as the control gateway.  SEER in particular expects nodes with certain functions to have certain names.
     462 '''!ProjectUser'''::
     463  The local user under which to mount shared project directories
     464 '''!ProjectName'''::
     465  Project name to derive shared project directories from
     466 '''Service'''::
     467  a string naming the [FeddAbout#ExperimentServices services] to initialize.
     468 '''SMBShare'''::
     469  The name of the share to mount
     470
     471
     472
     473== Fedkit on Portal Nodes ==
     474
     475On portal nodes the fedkit uses ssh to interconnect the segments and bridges traffic at layer 2.  If the portal node is a Linux image it needs to have the {{{bridge-tools}}} package available.  Like the fedkit on experiment nodes, it will attempt to load that software from repositories if it is not present.
     476
     477The fedkit configures the portal based on the contents of a configuration file containing the following parameters:
     478
     479 '''active'''::
     480  a boolean.  If true this portal will initiate ssh connections to its peer.
     481 '''nat_partner'''::
     482  a boolean.  If true the fedkit's peer is behind a network address translator.  Not used yet.
     483 '''tunnelip'''::
     484  a boolean.  If true use the DETER system for binding external addresses.
     485 '''peer'''::
     486  a string.  A list of DNS names or IP addresses.  Usually this is one value, the DNS name of the peer, but passive ends of NATted portals may use a list of addresses to establish routing.
     487 '''ssh_pubkey'''::
     488  a string.  A file in which the access controller has placed the ssh key shared by this portal and its peer.  These are nonce keys discarded after the experiment ends.
     489 '''ssh_privkey'''::
     490  a string.  A file in which the access controller has placed the ssh key shared by this portal and its peer.  These are nonce keys discarded after the experiment ends.
     491
     492The passive portal node establishes routing connectivity to the active end, reconfigures the local sshd to allow link layer forwarding and to allow the active end to remotely configure it, and waits.  The active end connects through ssh, establishes a link layer forwarding tunnel and bridges that to the experimental interface.  It also forwards ports to connect experiment services.
    437493
    438494= Interfaces to fedd =