Commit d68b82b2 authored by David Johnson's avatar David Johnson

Comment the config file, and pull some of that into docs.

parent 53e3dfe1
......@@ -16,4 +16,104 @@ you don't specify your passphrase,
Finally, copy `etc/main.conf` from the elasticslice source repository
to `~/.protogeni/elasticslice.conf`, and modify it as necessary (i.e.,
set a slicename, a default CM, and a nodetype):
set a slicename, a default CM, and a nodetype). Note that any options
supplied on the command line override those in the configuration file.
Here's a simple version that targets a particular slice on the `Apt`
cluster, and will populate it with nodes of type `c6220`::
[MAIN]
#
# Use this URN as the default slice URN so you don't have to specify
# one every time.
#
slicename=urn:publicid:IDN+emulab.net:tbres+slice+djdynslice1
#
# Certificate and passphrase files.
#
cert=~/.ssl/encrypted.pem
passphrasefile=~/.ssl/password
#
# The CM targeted by default -- i.e., the cluster at which your
# nodes will be allocated by default. Make sure your certificate
# will be accepted here.
#
default-cm=apt
#
# A certificate for the CM, so it can be verified.
#
cacert=~/.ssl/apt-cacert.pem
#
# A node type to use by default when adding nodes, or computing
# type-specific availability thresholds in the manager.
#
nodetype=c6220
#
# Use a simple cache to alleviate load on XMLRPC server. Certain
# methods are very expensive (i.e., GetResources on the Emulab CM
# takes many seconds); and some return values are useful until they
# expire (i.e., credentials).
#
fscache=True
#
# An image to use by default when adding nodes.
#
image_urn=urn:publicid:IDN+emulab.net+image+emulab-ops:UBUNTU14-64-STD
#
# DAEMON (AUTO-MANAGEMENT) MODE SETTINGS
#
# If `automanage` is True, the daemon's automatic manager thread
# will run immediately at program start and create, renew, and
# add/delete nodes to/from the slice as necessary, according to policy.
#
# If `autostart` is True, the client's internal XMLRPC server will
# be automatically started at program start as well. This server
# accepts notifications from a daemon running at the CM. For
# instance, the CM's daemon will notify this client of new
# server-side resource values, and also if/when it needs to reclaim
# elastically-added nodes from this slice.
#
# If you don't plan to run in daemon mode, set these to False.
#
automanage=False
autostart=False
#
# These options specify Python classes for the manager, helper, and
# clientserver endpoint. The defaults are the SimpleElasticSlice*
# classes below; but of course you can extend or replace them. Note
# that the SimpleElasticSliceManager also currently provides the
# clientserver endpoint interface; thus that option is unspecified.
#
manager_class=elasticslice.managers.core.SimpleElasticSliceManager
helper_class=elasticslice.managers.core.SimpleElasticSliceHelper
clientserver_endpoint_class=
#
# These options provide several basic policy knobs to the
# SimpleElasticSlice* family of classes. In management mode, the
# manager will always maintain at least `minthreshold` nodes in your
# slice, and will never add more than `maxthreshold` nodes.
# Furthermore, it will maintain the slice's allocation to respect
# the `percent_available_minimum` threshold, which is a minimum
# amount of free nodes to ensure are available at the CM. In other
# words, the manager will continuously poll the amount of available
# nodes at the CM, and adjust its own allocation to ensure that
# there are at least `percent_available_minimum` percentage of free
# nodes at the CM. That said, it will never reduce below the
# `minthreshold`, and never add nodes above the `maxthreshold`.
#
minthreshold=3
maxthreshold=10
percent_available_minimum=0.33
#
# If True, the manager is allowed to automatically delete nodes.
#
enable_delete=True
#
# If automatic manager deletion is enabled, wait at least this many
# seconds in between successive node deletions (removals of a node
# from your slice).
#
node_delete_wait_time=300
......@@ -3,10 +3,17 @@ Build and Install
You can install `elasticslice` in the normal way:
$ python setup.py install --prefix=/usr/local
``$ python setup.py install --user``
or
``$ python setup.py install --prefix=/usr/local``
or similar. If you use the ``--user`` option, elasticslice will be
installed in ``$HOME/.local/{bin,lib} or thereabouts.
You can build the `elasticslice` documentation via
$ python setup.py build_sphinx
``$ python setup.py build_sphinx``
The documentation will be available in `doc/build/html`.
......@@ -4,30 +4,110 @@
# Use a more specific config in real experiments or set options via command line.
# To see description of all options, run: `python bin/elasticslice.py -h`
#
devuser=johnsond
#
# Use this URN as the default slice URN so you don't have to specify
# one every time.
#
slicename=
#
# Certificate and passphrase files.
#
cert=~/.ssl/encrypted.pem
passphrasefile=~/.ssl/password
#
# The CM targeted by default -- i.e., the cluster at which your
# nodes will be allocated by default. Make sure your certificate
# will be accepted here.
#
default-cm=
#
# A certificate for the CM, so it can be verified.
#
cacert=
#
# A node type to use by default when adding nodes, or computing
# type-specific availability thresholds in the manager.
#
nodetype=c6220
#
# Use a simple cache to alleviate load on XMLRPC server. Certain
# methods are very expensive (i.e., GetResources on the Emulab CM
# takes many seconds); and some return values are useful until they
# expire (i.e., credentials).
#
fscache=True
#
# The directory in which cache files are stored.
#
fscachedir=~/.protogeni/cache
autostart=True
automanage=True
enable_delete=False
manager_class=manager.SimpleElasticSliceManager
helper_class=manager.SimpleElasticSliceHelper
#
# An image to use by default when adding nodes.
#
image_urn=
#
# DAEMON (AUTO-MANAGEMENT) MODE SETTINGS
#
# If `automanage` is True, the daemon's automatic manager thread
# will run immediately at program start and create, renew, and
# add/delete nodes to/from the slice as necessary, according to policy.
#
# If `autostart` is True, the client's internal XMLRPC server will
# be automatically started at program start as well. This server
# accepts notifications from a daemon running at the CM. For
# instance, the CM's daemon will notify this client of new
# server-side resource values, and also if/when it needs to reclaim
# elastically-added nodes from this slice.
#
# If you don't plan to run in daemon mode, set these to False.
#
automanage=False
autostart=False
#
# These options specify Python classes for the manager, helper, and
# clientserver endpoint. The defaults are the SimpleElasticSlice*
# classes below; but of course you can extend or replace them. Note
# that the SimpleElasticSliceManager also currently provides the
# clientserver endpoint interface; thus that option is unspecified.
#
manager_class=elasticslice.managers.core.SimpleElasticSliceManager
helper_class=elasticslice.managers.core.SimpleElasticSliceHelper
clientserver_endpoint_class=
slicename=
#
# These options provide several basic policy knobs to the
# SimpleElasticSlice* family of classes. In management mode, the
# manager will always maintain at least `minthreshold` nodes in your
# slice, and will never add more than `maxthreshold` nodes.
# Furthermore, it will maintain the slice's allocation to respect
# the `percent_available_minimum` threshold, which is a minimum
# amount of free nodes to ensure are available at the CM. In other
# words, the manager will continuously poll the amount of available
# nodes at the CM, and adjust its own allocation to ensure that
# there are at least `percent_available_minimum` percentage of free
# nodes at the CM. That said, it will never reduce below the
# `minthreshold`, and never add nodes above the `maxthreshold`.
#
minthreshold=3
maxthreshold=10
percent_available_minimum=0.33
#
# If automatic manager deletion is enabled, wait at least this many
# seconds in between successive node deletions (removals of a node
# from your slice).
#
node_delete_wait_time=
#
# If True, the manager is allowed to automatically delete nodes.
#
enable_delete=False
devuser=johnsond
server=
port=
default-cm=
cacert=
nocerthostchecking=
username=
password=
minthreshold=
maxthreshold=
nodetype=
percent_available_minimum=
ext_addr=
ext_port=
fscache=False
image_urn=
node_delete_wait_time=
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment