1 <?xml version="1.0" encoding="utf-8"?>
4 Default PLC configuration file
6 Mark Huang <mlhuang@cs.princeton.edu>
7 Copyright (C) 2006 The Trustees of Princeton University
11 <!DOCTYPE configuration PUBLIC "-//PlanetLab Central//DTD PLC configuration//EN" "plc_config.dtd">
17 <description>Basic system variables. Be sure that the values of
18 these variables are the same across all machines in your
19 installation.</description>
22 <variable id="name" type="string">
24 <value>PlanetLab Test</value>
25 <description>The name of this PLC installation. It is used in
26 the name of the default system site (e.g., PlanetLab Central)
27 and in the names of various administrative entities (e.g.,
28 PlanetLab Support).</description>
31 <variable id="shortname" type="string">
34 <description>The short name of this PLC installation. It is
35 mostly used in the web interface when displaying local
36 objects.</description>
39 <variable id="hrn_root" type="string">
40 <name>Root in Hierarchical Naming Space </name>
41 <value>planetlab.test</value>
42 <description> The root of this peer in the hierarchical federation naming space. if SFA services are setup on top of this PLC deplyment, the SFA_INTERFACE_HRN needs to be equal to PLC_HRN_ROOT</description>
45 <variable id="slice_prefix" type="string">
46 <name>Slice Prefix</name>
48 <description>The abbreviated name of this PLC
49 installation. It is used as the prefix for system slices
50 (e.g., pl_conf). Warning: Currently, this variable should
51 not be changed.</description>
54 <variable id="root_user" type="email">
55 <name>Root Account</name>
56 <value>root@localhost.localdomain</value>
57 <description>The name of the initial administrative
58 account. We recommend that this account be used only to create
59 additional accounts associated with real
60 administrators, then disabled.</description>
63 <variable id="root_password" type="password">
64 <name>Root Password</name>
66 <description>The password of the initial administrative
67 account. Also the password of the root account on the Boot
71 <!-- The following are not actually meant to be configurable
72 as variables. The web interface should allow the file to
73 be downloaded, or its contents replaced by a file upload,
74 but the actual <value> shouldn't need to be changed. -->
76 <variable id="root_ssh_key_pub" type="file">
77 <name>Root SSH Public Key</name>
78 <value>/etc/planetlab/root_ssh_key.pub</value>
79 <description>The SSH public key used to access the root
80 account on your nodes.</description>
83 <variable id="root_ssh_key" type="file">
84 <name>Root SSH Private Key</name>
85 <value>/etc/planetlab/root_ssh_key.rsa</value>
86 <description>The SSH private key used to access the root
87 account on your nodes.</description>
90 <variable id="debug_ssh_key_pub" type="file">
91 <name>Debug SSH Public Key</name>
92 <value>/etc/planetlab/debug_ssh_key.pub</value>
93 <description>The SSH public key used to access the root
94 account on your nodes when they are in Debug mode.</description>
97 <variable id="debug_ssh_key" type="file">
98 <name>Debug SSH Private Key</name>
99 <value>/etc/planetlab/debug_ssh_key.rsa</value>
100 <description>The SSH private key used to access the root
101 account on your nodes when they are in Debug mode.</description>
104 <variable id="root_gpg_key_pub" type="file">
105 <name>Root GPG Public Keyring</name>
106 <value>/etc/planetlab/pubring.gpg</value>
107 <description>The GPG public keyring used to sign the Boot
108 Manager and all node packages.</description>
111 <variable id="root_gpg_key" type="file">
112 <name>Root GPG Private Keyring</name>
113 <value>/etc/planetlab/secring.gpg</value>
114 <description>The SSH private key used to access the root
115 account on your nodes.</description>
121 <category id="plc_flavour">
122 <name>Flavours</name>
123 <description>Defaults for nodes and slices contents.</description>
126 <variable id="virt_map" type="string">
127 <value> f8,f12,f14,centos5,centos6:vs; default:lxc </value>
128 <description>Allows to compute a virtualization mechanism
129 from an fcdistro. Starting with 5.2 MyPLC has support for
130 either 'vs' or 'lxc', and this gives a correspondance from
131 the node's fcdistro to the right virtualization mechanism.
132 This information is essentially used by the BootManager for
133 getting the installation phase right like e.g. when
134 partitioning disks, and not to figure the contents of the
135 nodeimage that depend only on fcdistro, pldistro and of
136 course arch. This can be overridden by setting the vrt tag
137 on that particular node. </description>
140 <variable id="node_arch" type="string">
141 <name>arch for nodes</name>
142 <value>@ARCH@</value>
143 <description>The default 'arch' to use when installing nodes.
144 This is offered mostly for consistency with the rest of the
145 PLC_FLAVOUR category, but does not have much of a practical
146 interest. In any case, you need to have the corresponding
147 bootstrapfs images available for nodes.</description>
150 <variable id="node_fcdistro" type="string">
151 <name>fcdistro for nodes</name>
152 <value>@FCDISTRO@</value>
153 <description>THIS CURRENTLY HAS NO EFFECT.
154 The default 'fcdistro' to use when installing
155 nodes.You need to have the corresponding bootstrapfs images
156 available for nodes. THIS CURRENTLY HAS NO EFFECT.</description>
159 <variable id="node_pldistro" type="string">
160 <name>pldistro for nodes</name>
161 <value>@PLDISTRO@</value>
162 <description>The default 'pldistro' to use when installing
163 nodes. You need to have the corresponding bootstrapfs
164 images available for nodes.</description>
167 <variable id="slice_arch" type="string">
168 <name>arch for slivers</name>
169 <value>@ARCH@</value>
170 <description>The default 'arch' to use for slivers. This is
171 useful if you have heterogeneous nodes (i686 and x86_64),
172 but want slivers to be homogeneous. You need to have the
173 corresponding vserver variant rpm available for
177 <variable id="slice_fcdistro" type="string">
178 <name>fcdistro for slivers</name>
179 <value>@FCDISTRO@</value>
180 <description>The default 'fcdistro' to use for creating
181 slivers. You need to have the corresponding vserver variant
182 rpm available for nodes.</description>
185 <variable id="slice_pldistro" type="string">
186 <name>pldistro for slivers</name>
187 <value>@PLDISTRO@</value>
188 <description>The default 'pldistro' to use for creating
189 slivers. You need to have the corresponding vserver variant
190 rpm available for nodes.</description>
196 <category id="plc_net">
198 <description>Network environment.</description>
201 <variable id="dns1" type="ip">
202 <name>Primary DNS Server</name>
203 <value>127.0.0.1</value>
204 <description>Primary DNS server address.</description>
207 <variable id="dns2" type="ip">
208 <name>Secondary DNS Server</name>
210 <description>Secondary DNS server address.</description>
215 <category id="plc_dns">
217 <description>MyPLC can provide forward DNS resolution for itself
218 and for its nodes. To enable resolution for MyPLC itself, set
219 the Primary DNS Server address to 127.0.0.1 and provide external
220 IP addresses for the database, API, web, and boot servers
221 below. To enable resolution for nodes, use the external IP
222 address of this machine as the primary DNS server address for
223 each node.</description>
226 <variable id="enabled" type="boolean">
227 <name>Enable DNS</name>
229 <description>Enable the internal DNS server. The server does
230 not provide reverse resolution and is not a production
231 quality or scalable DNS solution. Use the internal DNS
232 server only for small deployments or for
233 testing.</description>
238 <category id="plc_hosts">
239 <name>/etc/hosts</name>
240 <description>MyPLC can setup /etc/hosts with the hostnames and
241 IP addresses specified for *_NAME and *_IP, or look up the IP
242 addresses if they are not specified in this configuration.
246 <variable id="enabled" type="boolean">
247 <name>Enable /etc/hosts configuration</name>
249 <description>Let PLC manage /etc/hosts</description>
254 <category id="plc_mail">
256 <description>Many maintenance scripts, as well as the API and
257 web site themselves, send e-mail notifications and
258 warnings.</description>
261 <variable id="enabled" type="boolean">
262 <name>Enable Mail</name>
264 <description>Set to false to suppress all e-mail notifications
265 and warnings.</description>
268 <variable id="support_address" type="email">
269 <name>Support Address</name>
270 <value>root+support@localhost.localdomain</value>
271 <description>This address is used for support
272 requests. Support requests may include traffic complaints,
273 security incident reporting, web site malfunctions, and
274 general requests for information. We recommend that the
275 address be aliased to a ticketing system such as Request
276 Tracker.</description>
279 <variable id="boot_address" type="email">
280 <name>Boot Messages Address</name>
281 <value>root+install-msgs@localhost.localdomain</value>
282 <description>The API will notify this address when a problem
283 occurs during node installation or boot.</description>
286 <variable id="mom_list_address" type="email">
287 <name>Mom List Address</name>
288 <value>root+mom@localhost.localdomain</value>
289 <description>This address is used by operations staff
290 to monitor Mom (formerly pl_mom) messages indicating
291 excessive BW or memory usage by a slice. Mom messages sent
292 to slices will be cc'ed to this list so as not to clog
293 the Support Address list.</description>
296 <variable id="slice_address" type="email">
297 <name>Slice Address</name>
298 <value>root+SLICE@localhost.localdomain</value>
299 <description>This address template is used for sending
300 e-mail notifications to slices. SLICE will be replaced with
301 the name of the slice.</description>
306 <category id="plc_db">
307 <name>Database Server</name>
308 <description>Database server definitions.</description>
311 <variable id="enabled" type="boolean">
314 <description>Enable the database server on this
315 machine.</description>
318 <variable id="type" type="string">
320 <value>postgresql</value>
321 <description>The type of database server. Currently, only
322 postgresql is supported.</description>
325 <variable id="host" type="hostname">
326 <name>Hostname</name>
327 <value>localhost.localdomain</value>
328 <description>The fully qualified hostname of the database
329 server.</description>
332 <variable id="ip" type="ip">
333 <name>IP Address</name>
335 <description>The IP address of the database server, if not
336 resolvable.</description>
339 <variable id="port" type="int">
342 <description>The TCP port number through which the database
343 server should be accessed.</description>
346 <variable id="name" type="string">
347 <name>Database Name</name>
348 <value>planetlab5</value>
349 <description>The name of the database to access.</description>
352 <variable id="user" type="string">
353 <name>Database Username</name>
354 <value>pgsqluser</value>
355 <description>The username to use when accessing the
356 database.</description>
359 <variable id="password" type="password">
360 <name>Database Password</name>
362 <description>The password to use when accessing the
363 database. If left blank, one will be
364 generated.</description>
369 <category id="plc_api">
370 <name>API Server</name>
371 <description>API (XML-RPC) server definitions.</description>
374 <variable id="enabled" type="boolean">
377 <description>Enable the API server on this
378 machine.</description>
381 <variable id="debug" type="boolean">
384 <description>Enable verbose API debugging. Do not enable on
385 a production system!</description>
388 <variable id="host" type="hostname">
389 <name>Hostname</name>
390 <value>localhost.localdomain</value>
391 <description>The fully qualified hostname of the API
392 server.</description>
395 <variable id="ip" type="ip">
396 <name>IP Address</name>
398 <description>The IP address of the API server, if not
399 resolvable.</description>
402 <variable id="ipod_subnet" type="ip">
403 <name>IP Subnet</name>
404 <value>127.0.0.1</value>
405 <description>The IP Subnet for all API servers.
406 Used to identify IPoD packet senders.</description>
409 <variable id="ipod_mask" type="ip">
411 <value>255.255.255.255</value>
412 <description>The IP Mask that should be applied to incoming
413 packets to match the IP Subnet for IPoD packets.</description>
416 <variable id="port" type="int">
419 <description>The TCP port number through which the API
420 should be accessed.</description>
423 <variable id="path" type="string">
425 <value>/PLCAPI/</value>
426 <description>The base path of the API URL.</description>
429 <variable id="maintenance_user" type="string">
430 <name>Maintenance User</name>
431 <value>maint@localhost.localdomain</value>
432 <description>The username of the maintenance account. This
433 account is used by local scripts that perform automated
434 tasks, and cannot be used for normal logins.</description>
437 <variable id="maintenance_password" type="password">
438 <name>Maintenance Password</name>
440 <description>The password of the maintenance account. If
441 left blank, one will be generated. We recommend that the
442 password be changed periodically.</description>
445 <variable id="maintenance_sources" type="hostname">
446 <name>Authorized Hosts</name>
448 <description>A space-separated list of IP addresses allowed
449 to access the API through the maintenance account. The value
450 of this variable is set automatically to allow only the API,
451 web, and boot servers, and should not be
452 changed.</description>
455 <!-- The following are not actually meant to be configurable
456 as variables. The web interface should allow the file to
457 be downloaded, or its contents replaced by a file upload,
458 but the actual <value> shouldn't need to be changed. -->
460 <variable id="ssl_key" type="file">
461 <name>SSL Private Key</name>
462 <value>/etc/planetlab/api_ssl.key</value>
463 <description>The SSL private key to use for encrypting HTTPS
464 traffic. If non-existent, one will be
465 generated.</description>
468 <variable id="ssl_crt" type="file">
469 <name>SSL Public Certificate</name>
470 <value>/etc/planetlab/api_ssl.crt</value>
471 <description>The corresponding SSL public certificate. By
472 default, this certificate is self-signed. You may replace
473 the certificate later with one signed by a root
477 <variable id="ca_ssl_crt" type="file">
478 <name>Root CA SSL Public Certificate</name>
479 <value>/etc/planetlab/api_ca_ssl.crt</value>
480 <description>The certificate of the root CA, if any, that
481 signed your server certificate. If your server certificate is
482 self-signed, then this file is the same as your server
483 certificate.</description>
488 <category id="plc_www">
489 <name>Web Server</name>
490 <description>Web server definitions.</description>
493 <variable id="enabled" type="boolean">
496 <description>Enable the web server on this
497 machine.</description>
500 <variable id="debug" type="boolean">
503 <description>Enable debugging output on web pages. Do not
504 enable on a production system!</description>
507 <variable id="host" type="hostname">
508 <name>Hostname</name>
509 <value>localhost.localdomain</value>
510 <description>The fully qualified hostname of the web
511 server.</description>
514 <variable id="ip" type="ip">
515 <name>IP Address</name>
517 <description>The IP address of the web server, if not
518 resolvable.</description>
521 <variable id="port" type="int">
524 <description>The TCP port number through which the
525 unprotected portions of the web site should be
526 accessed.</description>
529 <variable id="ssl_port" type="int">
530 <name>SSL Port</name>
532 <description>The TCP port number through which the protected
533 portions of the web site should be accessed.</description>
536 <!-- The following are not actually meant to be configurable
537 as variables. The web interface should allow the file to
538 be downloaded, or its contents replaced by a file upload,
539 but the actual <value> shouldn't need to be changed. -->
541 <variable id="ssl_key" type="file">
542 <name>SSL Private Key</name>
543 <value>/etc/planetlab/www_ssl.key</value>
544 <description>The SSL private key to use for encrypting HTTPS
545 traffic. If non-existent, one will be
546 generated.</description>
549 <variable id="ssl_crt" type="file">
550 <name>SSL Public Certificate</name>
551 <value>/etc/planetlab/www_ssl.crt</value>
552 <description>The corresponding SSL public certificate for
553 the HTTP server. By default, this certificate is
554 self-signed. You may replace the certificate later with one
555 signed by a root CA.</description>
558 <variable id="ca_ssl_crt" type="file">
559 <name>Root CA SSL Public Certificate</name>
560 <value>/etc/planetlab/www_ca_ssl.crt</value>
561 <description>The certificate of the root CA, if any, that
562 signed your server certificate. If your server certificate is
563 self-signed, then this file is the same as your server
564 certificate.</description>
569 <category id="plc_boot">
570 <name>Boot Server</name>
571 <description>Boot server definitions. Multiple boot servers
572 may be brought up for load balancing, but we recommend that a
573 single DNS round-robin system be implemented so that the
574 following variables are the same across all of
578 <variable id="enabled" type="boolean">
581 <description>Enable the boot server on this
582 machine.</description>
585 <variable id="host" type="hostname">
586 <name>Hostname</name>
587 <value>localhost.localdomain</value>
588 <description>The fully qualified hostname of the boot
589 server.</description>
592 <variable id="ip" type="ip">
593 <name>IP Address</name>
595 <description>The IP address of the boot server, if not
596 resolvable.</description>
599 <variable id="port" type="int">
602 <description>The TCP port number through which the
603 unprotected portions of the boot server should be
604 accessed.</description>
607 <variable id="ssl_port" type="int">
608 <name>SSL Port</name>
610 <description>The TCP port number through which the protected
611 portions of the boot server should be
612 accessed.</description>
615 <!-- The following are not actually meant to be configurable
616 as variables. The web interface should allow the file to
617 be downloaded, or its contents replaced by a file upload,
618 but the actual <value> shouldn't need to be changed. -->
620 <variable id="ssl_key" type="file">
621 <name>SSL Private Key</name>
622 <value>/etc/planetlab/boot_ssl.key</value>
623 <description>The SSL private key to use for encrypting HTTPS
624 traffic.</description>
627 <variable id="ssl_crt" type="file">
628 <name>SSL Public Certificate</name>
629 <value>/etc/planetlab/boot_ssl.crt</value>
630 <description>The corresponding SSL public certificate for
631 the HTTP server. By default, this certificate is
632 self-signed. You may replace the certificate later with one
633 signed by a root CA.</description>
636 <variable id="ca_ssl_crt" type="file">
637 <name>Root CA SSL Public Certificate</name>
638 <value>/etc/planetlab/boot_ca_ssl.crt</value>
639 <description>The certificate of the root CA, if any, that
640 signed your server certificate. If your server certificate is
641 self-signed, then this file is the same as your server
642 certificate.</description>
647 <category id="plc_ratelimit">
648 <name>Planetlab Ratelimit Settings</name>
649 <description>Planetlab Ratelimit Settings</description>
651 <variable id="enabled" type="bolean">
652 <name>Enable Ratelimit</name>
654 <description>Enable Ratelimit for sites</description>
659 <category id="plc_omf">
660 <name>Planetlab - OMF Integration</name>
661 <description>Planetlab - OMF integration</description>
663 <variable id="enabled" type="boolean">
664 <name>OMF integration</name>
666 <description>Enable OMF integration.</description>
669 <!-- xmpp server configuration -->
670 <variable id="xmpp_server" type="string">
671 <name>XMPP server</name>
672 <value>localhost.localdomain</value>
673 <description>The fully qualified hostname of the XMPP server.</description>
679 <category id="plc_reservation">
680 <name> Reservable Nodes</name>
681 <description> Settings related to reservable nodes </description>
684 <variable id="granularity" type="int">
685 <name>Lease granularity</name>
687 <description>The smallest timeslot that can be allocated to
688 a node. All leases will be rounded to this granularity, so
689 e.g. if you set 3600 all leases will start and stop at round
695 <category id="plc_planetflow">
696 <name>PlanetFlow Service Configuration</name>
697 <description>Planetflow service definitions used in the netflow slice. </description>
700 <variable id="host" type="hostname">
701 <name>Hostname</name>
702 <value>localhost.localdomain</value>
703 <description>The fully qualified hostname.</description>
708 <category id="plc_monitor">
709 <name>Monitoring Service</name>
710 <description>The Monitor service that tracks node availablity and repair.</description>
712 <variable id="enabled" type="boolean">
715 <description>Enable on this machine.</description>
717 <variable id="host" type="hostname">
718 <name>Hostname</name>
719 <value>localhost.localdomain</value>
720 <description>The fully qualified hostname.</description>
722 <variable id="ip" type="ip">
723 <name>IP Address</name>
725 <description>The IP address of the monitor server.</description>
727 <variable id="from_email" type="email">
728 <name>Monitor Email Address</name>
729 <value>root+monitor@localhost.localdomain</value>
730 <description>All messages from Monitor will appear to come from this address.</description>
732 <variable id="cc_email" type="email">
733 <name>CC Email Address</name>
734 <value>root+monitor@localhost.localdomain</value>
735 <description>All messages from Monitor will be copied to this address.</description>
737 <variable id="rt_queue" type="email">
738 <name>Queue Name in RT for new messages</name>
739 <value>support</value>
740 <description>All messages from Monitor will be copied to this address.</description>
742 <variable id="dbhost" type="hostname">
743 <name>Database Hostname</name>
744 <value>localhost</value>
745 <description>The hostname for the monitor database.</description>
747 <variable id="dbuser" type="string">
748 <name>Database User</name>
749 <value>monitoruser</value>
750 <description>The username for connecting to the monitor database.</description>
752 <variable id="dbname" type="string">
753 <name>Database Name</name>
754 <value>monitor</value>
755 <description>Name of monitor database.</description>
757 <variable id="dbpassword" type="password">
758 <name>Database Password</name>
760 <description>The password to use when accessing the
761 database, Monitor user account in the local PLC.</description>
764 <variable id="ssl_key" type="file">
765 <name>SSL Private Key</name>
766 <value>/etc/planetlab/monitor_ssl.key</value>
767 <description>The SSL private key to use for encrypting HTTPS
768 traffic.</description>
771 <variable id="ssl_crt" type="file">
772 <name>SSL Public Certificate</name>
773 <value>/etc/planetlab/monitor_ssl.crt</value>
774 <description>The corresponding SSL public certificate for
775 the HTTP server. By default, this certificate is
776 self-signed. You may replace the certificate later with one
777 signed by a root CA.</description>
780 <variable id="ca_ssl_crt" type="file">
781 <name>Root CA SSL Public Certificate</name>
782 <value>/etc/planetlab/monitor_ca_ssl.crt</value>
783 <description>The certificate of the root CA, if any, that
784 signed your server certificate. If your server certificate is
785 self-signed, then this file is the same as your server
786 certificate.</description>
791 <category id="plc_rt">
792 <name>RT Configuration</name>
793 <description>RT</description>
795 <variable id="enabled" type="boolean">
798 <description>Enable on this machine.</description>
800 <variable id="host" type="hostname">
801 <name>Hostname</name>
802 <value>localhost.localdomain</value>
803 <description>The fully qualified hostname.</description>
805 <variable id="ip" type="ip">
806 <name>IP Address</name>
808 <description>The IP address of the RT server.</description>
810 <variable id="cc_address" type="email">
811 <name>CC Email Address</name>
812 <value>root+cclist@localhost.localdomain</value>
813 <description>All messages to and from PLCRT will be copied to this address.</description>
815 <variable id="web_user" type="string">
818 <description>Username of a privileged user in RT who can create
819 tickets for any RT Queue.</description>
821 <variable id="web_password" type="password">
822 <name>password</name>
823 <value>password</value>
824 <description>Password for RT web user.</description>
826 <variable id="dbpassword" type="password">
827 <name>Database Password</name>
829 <description>Password to use when accessing the RT database.</description>
834 <category id="myslice">
836 <description>MySlice configuration parameters</description>
838 <variable id="comon_url" type="string">
841 <description>The address of the CoMon url that provides information for this PLC's nodes (if not the default http://comon.cs.princeton.edu/)</description>
843 <variable id="comon_available" type="boolean">
846 <description>True, if comon data are available for this PLC's nodes</description>
848 <variable id="tophat_available" type="boolean">
851 <description>True, if tophat data are available for this PLC's nodes</description>
856 <category id="plc_vsys">
858 <description>Default values for the vsys tag</description>
860 <variable id="defaults" type="string">
861 <name>vsys tags set by default</name>
863 <description>Comma-separated list of vsys script names that all newly created slices will have as their vsys tags. For older slices, see the check-vsys-defaults.py script as part of the myplc package</description>
870 <!-- deprecated - not used anymore - use .lst files instead -->