LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 21 of 21
A T W HAT C OST ? must create configurations for each kind of host - - PowerPoint PPT Presentation
A T W HAT C OST ? must create configurations for each kind of host - - PowerPoint PPT Presentation
LISA-97 Chaos out of Order -or- An Anarchists Guide Oct 31, 1997 I MPLEMENTATION S TATUS Distr is freely available from ftp://ftp.eecs.tufts.edu/pub/distr revision: 2.0.0Alpha (not satisfied with specifications) handles UNIX files
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 20 of 21
SCALABLE DISTRIBUTION ALLOWS
❍ scalable mistakes that disable
networks very efficiently
❒ network storms ❒ rapid propogation of human errors ❍ scalable vulnerability to attack ❒ cracking master cracks slaves ❒ can be used for denial-of-service
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 19 of 21
AT WHAT COST?
❍ must create configurations for each kind
- f host and domain
❍ must manually configure a distribution
topology for scalable use
❍ must bootstrap by distributing
configuration files and Perl-5, perhaps with RDIST:)
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 18 of 21
ILLUSION AND REALITY
✗ illusion: PGP signing provides security ✔ reality: susceptible to replay attacks. ✗ illusion: difficult to write configurations ✔ reality: one basic file per host type ✗ illusion: it’d be easy to auto-configure ✔ reality: very hard problem
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 17 of 21
UNDERSTANDING IMPORT SCALABILITY
j d f p l g h i a c n k e b
- responses
import requests
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 16 of 21
IMPLEMENTING SCALABILITY
❍ import.afterSuccess = sub {
&some(’export.initiate’); }; clients = [’foo’,’bar’];
follows each successful import with an export! ❍ export.before = sub {
&some(’import.initiate’); }; servers = [’foo’,’bar’];
queries servers for the correct versions before exporting to others!
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 15 of 21
SCALABILITY
if you told two friends, and they told two friends... j d f p l g h i a c n k e b
- master server
slaves intermediaries
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 14 of 21
SIMPLE HACKS
❍ import.authentic = \&PGPauthentic;
signers = [’Alva L. Couch’];
authenticates each file against detached PGP signature file.sig ❍ import.before = sub {
my $file = &some(’import.file’); system(”/usr/bin/ci -m ’distr’ \ $file >/dev/null 2>&1”)/256==0; }; implements local pre-distribution archiving.
❍ can be limited to specific cases by naming!
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 13 of 21
LOCAL CUSTOMIZATION
import = sub { # oversimplified to fit! if (&some(’import.authentic’)) { if (&some(’import.before’)) { if (&some(’import.method’)) { &some(’import.afterSuccess’); } else { &some(’import.afterFailure’); }} } else { &some(’import.afterDenial’); } }; actually does the import user ‘hooks’
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 12 of 21
USING DISTR
❍ distr -scopes mail.sendmail \
- tags export
calls distr on a master host to distribute files to a slave host
❍ distr -scopes mail.sendmail \
- tags import
calls distr on a slave host to request a file from a master host.
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 11 of 21
DISTR’S PROTOCOL
{’tag’ => ’import’, ’scope’ => ’file’ => <embedded file> } ’mail.sendmail.aliases’, {’error’ => ...} {’success’ => ...}
mail.sendmail.aliases.export.initiate mail.sendmail.aliases.import mail.sendmail.aliases.import.file mail.sendmail.aliases.export.file
server responds to request client initiates request
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 10 of 21
PARAMETER-PASSING
❍ foo.import.file = ’/foo’;
is used by method foo.import
❍ bar.import.file = ’/bar’;
is used by method bar.import
❍ both these methods are aliases for plain
import (through inheritance)!
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 9 of 21
INHERITANCE
❍ scope: ‘where’ you are, e.g., ❒
mail.sendmail.aliases
❍ tag: ‘what’ you want, e.g., import ❍ use the first definition you find in the list: ❒ mail.sendmail.aliases.import ❒ mail.sendmail.import ❒ mail.import ❒ import ❍ Perl syntax: &some(’import’)
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 8 of 21
DISTR CONFIGURATION
mail.sendmail.aliases { import.file = ’/usr/lib/aliases’; import.afterSuccess = sub { system(”/usr/lib/newaliases \ >/dev/null 2>&1”)/256==0; }; }
❍ attributes can be arbitrary Perl-5
scalars, including function references
❍ missing details ‘filled in’ with inheritance
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 7 of 21
WHAT’S IN A NAME?
❍ mail.sendmail.aliases
is the name of a (distributed) object
❍ mail.sendmail.aliases.import.file
= ’/usr/lib/aliases’;
specifies the target file.
❍ mail.sendmail.aliases.import
is the method for importing that file
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 6 of 21
DISTR
❍ hosts are both servers and clients ❒ server distrd: reacts to requests ❒ client distr: makes requests ❍ hosts can be both masters and slaves ❒ master: provider of information ❒ slave: consumer of information ❍ bidirectional: master or slave initiates. ❍ slave machines must agree to updates!
Masters can’t force slaves to comply!
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 5 of 21
TYPICAL APPROACH (RDIST)
mail:/usr/lib/aliases->(slave) install /etc/mail/aliases special ”/usr/sbin/newaliases”
❍ requires a master server ❍ unidirectional: master-to-slave ❍ platform-specific ❍ master needs root privileges on slave ❍ this doesn’t exactly encourage
cooperation between admins!
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 4 of 21
FILE DISTRIBUTION AND HETEROGENEITY
server: provides file client: receives file: /usr/lib/aliases /etc/mail/aliases
distribute:
✔transmit ✔transform ✔authenticate ✔archive ✔journal
may have:
✔different name ✔different format ✔rollback ✔different actions executes: /usr/sbin/newaliases master: slave:
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 3 of 21
AN ‘ANARCHIST’ VIEW
❍ replace a venerable and very mature
tool (with a very young and strange one)!
❍ violate (almost all) software engineering
and programming language principles!
❍ develop configuration maintenance
architecture from the bottom up!
❍ redefine what is meant by ‘distribution’
(and perhaps even ‘scalable’)
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 2 of 21
TO GET ALONG, WE NEED:
❍ a common language for referring to
things and actions
❍ the ability to interpret that language to
make changes for the common good
❍ the ability to limit changes to those
agreed upon by both parties
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 1 of 21
CHAOS OUT OF ORDER:
A SIMPLE, SCALABLE FILE DISTRIBUTION FACILITY
FOR “INTENTIONALLY HETEROGENEOUS” NETWORKS
- OR-
AN ANARCHISTS’ GUIDE
TO HETEROGENEOUS NETWORK
CONFIGURATION MANAGEMENT
Alva L. Couch
- Assoc. Prof. of EECS, Tufts University