ServerLucidApportHooks
Launchpad Entry: server-lucid-apport-hooks
Created: 2009-11-23
Contributors: ChuckShort
Packages affected: samba, openssh, php5, dhcp3-server, dhcp3-client, ntp, apache, bind, bacula, openldap, eucalyptus, euca2ools, vmbuilder, rsyslog
Summary
Add Apport for high bug count server related packages. This include samba, openssh, eucalyptus, php5, dhcp3 (server/client), vmbuilder, and ntp.
Rationale
In order to improve the quality of bug reports, we are going to include apport hooks on selected server related packages. The packages that were selected have high usage and have lots of bug open for them in launchpad.
User stories
- Jonah has opened a bug report for samba in Launchpad. However it does not contain enough information, Bob has
- asked Jonah to run apport-collect to get more information.
- Bubba has reported a bug in samba, Kenny as a bug triager opens a bug in the samba bug tracker
- with all the required information.
Assumptions
User will have apport installed on their server.
Design
Samba
- include /etc/samba/smb.conf (scrubbing any sensitive data)
- include output of testparam.
- include net user share configuration.
- The contents of /var/log/samba (recent logs only)
- Cifs info (/proc/fs/cifs/DebugData).
Add an interactive hook which implements the decision tree in DebuggingSamba
OpenSSH
- include /etc/ssh/sshd_config
- Selected output from /var/log/auth.log (if it has information)
PHP
- include php.ini
- Modules which are loaded.
DHCP3
- Seperate client and server hooks.
- include configuration files
- include client lease files (IP address information stripped out)
- Recent syslog (with IP address information stripped out)
ntp
- NTP configuration files
- Recent syslog entries
- Drift file
Apache
- Apache configuration files
- everything in /etc/apache2/modules-*
- httpd.conf (if modified)
- lines in error log with no '[client]' content
bind
- named.conf
- recent syslog daemon log
bacula
- configuration files
- is the backend running (postgres/mysql/sqllite)
opendlap
- /etc/ldap/slapd.d (without credentials)
- /var/log/daemon.log
eucalyptus
- eucalyptus.conf eucalyptus-cc.conf
- log files
- attach related packages
- on the CC: iptables -nL ( -t nat), ip route show
euca2ools
- command line options
- python oops
vmbuilder
- command line options
- python options
rsyslog
- configuration files
- Related log files.
Code Changes
The debian packages will be changed to include the apport hooks for the server packages.
Test/demo plan
Use APPORT_STAGING=1 ubuntu-bug <package> to report a test bug to staging.launchpad.net without cluttering production LP with test bugs
- Confirm that the test bug includes the appropriate fields and attachments as specified here
Dump of notes from Gobby
In order for users to provide quality bug reports in launchpad and eventually upstream needed. Select server packages should have apport hooks be included that provide information that is need for quality bug reports. Packages that should be selected for this are: 1. Samba * smb.conf (credentials?) * output of testparam * net user share configuration * /var/log/samba/ (when stuff is there) * remote cifs info : /proc/fs/cifs/DebugData * https://wiki.ubuntu.com/DebuggingSamba * hook samba panic script to trigger apport report 6. Apache * list which modules loaded (traverse includes) * everything in /etc/apache2/modules-* * httpd.conf (if modified) -- modified conf files * lines in error log with no '[client]' content 4. DHCP3 * separate client and server hooks * configuration files * lease files (for the client) * recent syslog file * openldap * /etc/ldap/slapd.d/ (credentials) * /var/log/daemon.log * https://wiki.ubuntu.com/DebuggingOpenldap 2. openssh * sshd_config file * log files (not auth.log) 3. php5 * installed modules * Eucalyptus * currently eucalyptus.conf eucalyptus-cc.conf, log files. * attach-related-packages * on the CC: iptables -nL (-t nat), ip route show * euca2ools * stacktrace 9. Postfix * postconf output * /var/log/mail.info * vmbuilder * command line options 5. ntp * /var/log//daemon * config files * recent syslog * conf files (use existing function) * drift file 7. bind * name.conf * syslog daemon log * backuppc (but likely leaving main) 8. bacula * is the backend database running (postgres or mysql)? * rsyslog: * configuration files/directories Agenda: * Discuss why we need it * packages that are targeted * Brainstorm what should packages and what should be included in the bug reports Things to collect: * erlang crash log * attach_conffiles (to get modified config files) * logfiles trimmed to only relevant files (recent_syslog) * modules loaded ( == Server team packages sorted by number of open bugs == * samba 151 * mysql-dfsg-5.0 81 * openssh 76 * eucalyptus 63 * php5 59 * libvirt 57 * dhcp3 50 * vm-builder 49 * ntp 35 * apache2 34 * qemu-kvm 31 * openldap 31 * mysql-dfsg-5.1 26 * kvm 23 * bind9 21 * autofs 18 * backuppc 17 * bacula 16 * postfix 15 * libnss-ldap 15 * likewise-open 13 * dovecot 13 * nmap 12 * nis 12 * mailman 12 * lm-sensors 10 Priority list 1. Samba 2. Openssh 3. eucalyptus ( update) 4. php5 5. dhcp3 6. vmbuilder 7. ntp == Notes == * generalize attach log to support custom log files, and search for specific patterns (ex: mysqld messages in /var/log/daemon.log) * Look at the samba panic script
ServerLucidApportHooks (last edited 2009-11-30 11:08:33 by eth0)