--- /dev/null
+# -*-python-*-
+# $Id$
+# $URL$
+#################### conf files
+# Setup default PlanetLabConf entries
+
+conf_files = [
+ # NTP configuration
+ {'enabled': True,
+ 'source': 'PlanetLabConf/ntp.conf.php',
+ 'dest': '/etc/ntp.conf',
+ 'file_permissions': '644',
+ 'file_owner': 'root',
+ 'file_group': 'root',
+ 'preinstall_cmd': '',
+ 'postinstall_cmd': '/etc/rc.d/init.d/ntpd restart',
+ 'error_cmd': '',
+ 'ignore_cmd_errors': False,
+ 'always_update': False},
+ {'enabled': True,
+ 'source': 'PlanetLabConf/ntp/step-tickers.php',
+ 'dest': '/etc/ntp/step-tickers',
+ 'file_permissions': '644',
+ 'file_owner': 'root',
+ 'file_group': 'root',
+ 'preinstall_cmd': '',
+ 'postinstall_cmd': '/etc/rc.d/init.d/ntpd restart',
+ 'error_cmd': '',
+ 'ignore_cmd_errors': False,
+ 'always_update': False},
+
+ # SSH server configuration
+ # keys for root and site_admin are now handled as part of the specialaccounts NodeManager plugin
+ {'enabled': True,
+ 'source': 'PlanetLabConf/sshd_config',
+ 'dest': '/etc/ssh/sshd_config',
+ 'file_permissions': '600',
+ 'file_owner': 'root',
+ 'file_group': 'root',
+ 'preinstall_cmd': '',
+ 'postinstall_cmd': '/etc/init.d/sshd restart',
+ 'error_cmd': '',
+ 'ignore_cmd_errors': False,
+ 'always_update': False},
+
+ # Log rotation configuration
+ {'enabled': True,
+ 'source': 'PlanetLabConf/logrotate.conf',
+ 'dest': '/etc/logrotate.conf',
+ 'file_permissions': '644',
+ 'file_owner': 'root',
+ 'file_group': 'root',
+ 'preinstall_cmd': '',
+ 'postinstall_cmd': '',
+ 'error_cmd': '',
+ 'ignore_cmd_errors': False,
+ 'always_update': False},
+
+ # updatedb/locate nightly cron job
+ {'enabled': True,
+ 'source': 'PlanetLabConf/slocate.cron',
+ 'dest': '/etc/cron.daily/slocate.cron',
+ 'file_permissions': '755',
+ 'file_owner': 'root',
+ 'file_group': 'root',
+ 'preinstall_cmd': '',
+ 'postinstall_cmd': '',
+ 'error_cmd': '',
+ 'ignore_cmd_errors': False,
+ 'always_update': False},
+
+ # YUM configuration
+ {'enabled': True,
+ 'source': 'yum/myplc.repo.php?gpgcheck=1',
+ 'dest': '/etc/yum.myplc.d/myplc.repo',
+ 'file_permissions': '644', 'file_owner': 'root', 'file_group': 'root',
+ 'preinstall_cmd': '', 'postinstall_cmd': '', 'error_cmd': '',
+ 'ignore_cmd_errors': False,
+ 'always_update': False},
+ {'enabled': True,
+ 'source': 'yum/yum.conf',
+ 'dest': '/etc/yum.conf',
+ 'file_permissions': '644', 'file_owner': 'root', 'file_group': 'root',
+ 'preinstall_cmd': '', 'postinstall_cmd': '', 'error_cmd': '',
+ 'ignore_cmd_errors': False,
+ 'always_update': False},
+ {'enabled': True,
+ 'source': 'yum/stock.repo',
+ 'dest': '/etc/yum.myplc.d/stock.repo',
+ 'file_permissions': '644', 'file_owner': 'root', 'file_group': 'root',
+ 'preinstall_cmd': '', 'postinstall_cmd': '', 'error_cmd': '',
+ 'ignore_cmd_errors': False,
+ 'always_update': False},
+
+ {'enabled': True,
+ 'source': 'PlanetLabConf/delete-rpm-list-production',
+ 'dest': '/etc/planetlab/delete-rpm-list',
+ 'file_permissions': '644',
+ 'file_owner': 'root',
+ 'file_group': 'root',
+ 'preinstall_cmd': '',
+ 'postinstall_cmd': '',
+ 'error_cmd': '',
+ 'ignore_cmd_errors': False,
+ 'always_update': False},
+
+ # PLC configuration
+ {'enabled': True,
+ 'source': 'PlanetLabConf/get_plc_config.php',
+ 'dest': '/etc/planetlab/plc_config',
+ 'file_permissions': '644',
+ 'file_owner': 'root',
+ 'file_group': 'root',
+ 'preinstall_cmd': '',
+ 'postinstall_cmd': '',
+ 'error_cmd': '',
+ 'ignore_cmd_errors': False,
+ 'always_update': False},
+ {'enabled': True,
+ 'source': 'PlanetLabConf/get_plc_config.php?python',
+ 'dest': '/etc/planetlab/plc_config.py',
+ 'file_permissions': '644',
+ 'file_owner': 'root',
+ 'file_group': 'root',
+ 'preinstall_cmd': '',
+ 'postinstall_cmd': '',
+ 'error_cmd': '',
+ 'ignore_cmd_errors': False,
+ 'always_update': False},
+ {'enabled': True,
+ 'source': 'PlanetLabConf/get_plc_config.php?perl',
+ 'dest': '/etc/planetlab/plc_config.pl',
+ 'file_permissions': '644',
+ 'file_owner': 'root',
+ 'file_group': 'root',
+ 'preinstall_cmd': '',
+ 'postinstall_cmd': '',
+ 'error_cmd': '',
+ 'ignore_cmd_errors': False,
+ 'always_update': False},
+ {'enabled': True,
+ 'source': 'PlanetLabConf/get_plc_config.php?php',
+ 'dest': '/etc/planetlab/php/plc_config.php',
+ 'file_permissions': '644',
+ 'file_owner': 'root',
+ 'file_group': 'root',
+ 'preinstall_cmd': '',
+ 'postinstall_cmd': '',
+ 'error_cmd': '',
+ 'ignore_cmd_errors': False,
+ 'always_update': False},
+
+ # Proxy ARP setup
+ {'enabled': True,
+ 'source': 'PlanetLabConf/proxies.php',
+ 'dest': '/etc/planetlab/proxies',
+ 'file_permissions': '644',
+ 'file_owner': 'root',
+ 'file_group': 'root',
+ 'preinstall_cmd': '',
+ 'postinstall_cmd': '',
+ 'error_cmd': '',
+ 'ignore_cmd_errors': False,
+ 'always_update': False},
+
+ # Firewall configuration
+ {'enabled': True,
+ 'source': 'PlanetLabConf/blacklist.php',
+ 'dest': '/etc/planetlab/blacklist',
+ 'file_permissions': '600',
+ 'file_owner': 'root',
+ 'file_group': 'root',
+ 'preinstall_cmd': '',
+ 'postinstall_cmd': '/sbin/iptables-restore --noflush < /etc/planetlab/blacklist',
+ 'error_cmd': '',
+ 'ignore_cmd_errors': True,
+ 'always_update': False},
+
+ # /etc/issue
+ {'enabled': True,
+ 'source': 'PlanetLabConf/issue.php',
+ 'dest': '/etc/issue',
+ 'file_permissions': '644',
+ 'file_owner': 'root',
+ 'file_group': 'root',
+ 'preinstall_cmd': '',
+ 'postinstall_cmd': '',
+ 'error_cmd': '',
+ 'ignore_cmd_errors': False,
+ 'always_update': False},
+
+ # Kernel sysctl parameters
+ {'enabled': True,
+ 'source': 'PlanetLabConf/sysctl.conf',
+ 'dest': '/etc/sysctl.conf',
+ 'file_permissions': '644',
+ 'file_owner': 'root',
+ 'file_group': 'root',
+ 'preinstall_cmd': '',
+ 'postinstall_cmd': '/sbin/sysctl -e -p /etc/sysctl.conf',
+ 'error_cmd': '',
+ 'ignore_cmd_errors': False,
+ 'always_update': False},
+
+ # Sendmail configuration
+ {'enabled': True,
+ 'source': 'PlanetLabConf/sendmail.mc',
+ 'dest': '/etc/mail/sendmail.mc',
+ 'file_permissions': '644',
+ 'file_owner': 'root',
+ 'file_group': 'root',
+ 'preinstall_cmd': '',
+ 'postinstall_cmd': '',
+ 'error_cmd': '',
+ 'ignore_cmd_errors': False,
+ 'always_update': False},
+ {'enabled': True,
+ 'source': 'PlanetLabConf/sendmail.cf',
+ 'dest': '/etc/mail/sendmail.cf',
+ 'file_permissions': '644',
+ 'file_owner': 'root',
+ 'file_group': 'root',
+ 'preinstall_cmd': '',
+ 'postinstall_cmd': 'service sendmail restart',
+ 'error_cmd': '',
+ 'ignore_cmd_errors': False,
+ 'always_update': False},
+
+ # GPG signing keys
+ {'enabled': True,
+ 'source': 'PlanetLabConf/get_gpg_key.php',
+ 'dest': '/etc/pki/rpm-gpg/RPM-GPG-KEY-planetlab',
+ 'file_permissions': '644',
+ 'file_owner': 'root',
+ 'file_group': 'root',
+ 'preinstall_cmd': '',
+ 'postinstall_cmd': 'rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-planetlab',
+ 'error_cmd': '',
+ 'ignore_cmd_errors': False,
+ 'always_update': False},
+
+ # Ping of death configuration
+ # the 'restart' postcommand doesn't work, b/c the pod script doesn't support it.
+ {'enabled': True,
+ 'source': 'PlanetLabConf/ipod.conf.php',
+ 'dest': '/etc/ipod.conf',
+ 'file_permissions': '644',
+ 'file_owner': 'root',
+ 'file_group': 'root',
+ 'preinstall_cmd': '',
+ 'postinstall_cmd': '/etc/init.d/pod start',
+ 'error_cmd': '',
+ 'ignore_cmd_errors': False,
+ 'always_update': False},
+
+ # sudo configuration
+ {'enabled': True,
+ 'source': 'PlanetLabConf/sudoers.php',
+ 'dest': '/etc/sudoers',
+ 'file_permissions': '440',
+ 'file_owner': 'root',
+ 'file_group': 'root',
+ 'preinstall_cmd': '',
+ 'postinstall_cmd': '/usr/sbin/visudo -c',
+ 'error_cmd': '',
+ 'ignore_cmd_errors': False,
+ 'always_update': False},
+
+ # /etc/planetlab/extensions
+ {'enabled': True,
+ 'source': 'PlanetLabConf/extensions.php',
+ 'dest': '/etc/planetlab/extensions',
+ 'file_permissions': '644',
+ 'file_owner': 'root',
+ 'file_group': 'root',
+ 'preinstall_cmd': '',
+ 'postinstall_cmd': '',
+ 'error_cmd': '',
+ 'ignore_cmd_errors': False,
+ 'always_update': False},
+
+ # /etc/sfa/sfa_config
+ {'enabled': True,
+ 'source': u'PlanetLabConf/sfa_config.php',
+ 'dest': u'/etc/sfa/sfa_config',
+ 'file_permissions': u'644',
+ 'file_owner': u'root',
+ 'file_group': u'root',
+ 'preinstall_cmd': u'mkdir /etc/sfa',
+ 'postinstall_cmd': '',
+ 'error_cmd': '',
+ 'ignore_cmd_errors': False,
+ 'always_update': False}
+
+ ]
+
+for conf_file in conf_files:
+ SetConfFile(conf_file)