Debian Squeeze rollout

Introduction

This page details the intended procedure of rolling out 64-bit Debian 6.0 (aka “squeeze”) on my network, along with issues along way and indications of what has already and what still has to be completed.

Overview

This is the configuration I want to get:

  • architecture: x86_64
  • clustering: enable pacemaker by default
  • X11 driver: nVidia driver
  • VM infrastructure: Xen if no nVidia conflict, else KVM
  • is VirtualBox still needed: unclear; initially assume yes

The development plan is:

  1. Fix MDI#033 (prerequisite for multi-architecture support)
  2. Without adding 64-bit support, abstract 32-bit support in MDI
  3. Implement 64-bit support in MDI
  4. Prepare to wipe one of my physical machines
  5. Installa first physical machine
  6. Add KVM support to MDI
  7. Develop PDI’s task-specific code on 64-bit test installations
  8. Refreeze and test

The rollout plan is:

  1. Reinstall the same physical machine again (so based on latest code)
  2. For each VM:
    1. Install new VM with new pasta name on the new 64 bit VM server
    2. Test
    3. Update DNS so the public CNAME points to the new machine
    4. Shutdown the old VM, dumpxml its config and rename its volumes to ‘.deletesoon’ suffix
  3. Reinstall the other physical machine

Finally there will be some items that require longer-term research or review.

Fix MDI#033 (done)

  1. stop mirror cronjobs (done)
  2. do the actual code changes required MDI#033 (done)
  3. build new localpublic and localprivate repos and populate (done)
  4. rename existing mirror directories (done)
  5. rename existing PAACRT directories (done)
  6. rename existing PAACRT symlinks (done)
  7. redirect existing PAACRT symlinks (done)
  8. port paa config files (done)
  9. re-enable cron job (done)
  10. regenerate apache config files in field (done):
    gnocchi# for H in alphabeti fettuce fiori gnocchi lasagne macaroni rocky spaghetti torchio trennette; do  for R in debian multimedia-lenny-i386 virtualbox localpublic localprivate; do /root/opt/mdi/bin/paa apache $R $H > $R.$H; done; done
    gnocchi# for H in doodle noodle ravioli ziti; do  for R in debian multimedia virtualbox localpublic localprivate; do /root/opt/mdi/bin/paa apache $R $H > $R.$H; done; done
    gnocchi#
  11. restart apache (done)
  12. regenerate apt config files (done):
    fiori# for H in alphabeti fettuce fiori gnocchi lasagne macaroni rocky spaghetti torchio trennette; do  for R in debian multimedia-lenny-i386 virtualbox localpublic localprivate; do ssh -n gnocchi /root/opt/mdi/bin/paa apt $R lenny $H | ssh $H "cat > /etc/apt/sources.list.d/$R.list"; done; done
    fiori# for H in noodle doodle ravioli ziti; do  for R in debian multimedia virtualbox localpublic localprivate; do ssh -n gnocchi /root/opt/mdi/bin/paa apt $R squeeze $H | ssh $H "cat > /etc/apt/sources.list.d/$R.list"; done; done
    fiori#
  13. test by running apt-get update; apt-get dist-upgrade everywhere (done)
    1. debian-multimedia.org’s squeeze repo is broken; email sent; fixed upstream
    2. apt-get update worked but produced the following unexpected output for the ‘virtualbox’ repository only:
      ziti# apt-get -q update
      
      ziti#
  14. review example paa-configurator scripts (done)
  15. change pdi’s path to default paa-configurator script accordingly (done)
  16. review mdi’s and pdi’s use of paa, including pdi’s installation of paa DEB, which no longer exists (done)
  17. commit (else next step won’t work) (done)
  18. update the svn links to paa-configurator scripts in my web pages (done)
  19. fix bsfr script to use new repo names (done)
  20. I saw the following bug running paa on fettuce; fix it: (done)
    fettuce$ /root/opt/mdi/bin/paa -d 10 control localprivate
    paa: DEBUG[10]: main: argument processing
    paa: DEBUG[10]: main: sanity checks and derivations ...
    paa: DEBUG[10]: main: calling control() ...
    paa: DEBUG[10]: control: processing option localprivate ...
    paa: DEBUG[10]: control: ALL_SECTIONS="", ALL_CPUS="", ALL_DISTS="", TAKE_ALL_SECTIONS_FROM_RC=true, TAKE_ALL_DISTS_FROM_RC=true, TAKE_ALL_CPUS_FROM_RC=true
    paa: INFO: regenerating control files ...
    paa: INFO: regenerating Packages and Packages.gz for (localprivate, lenny, i386, main) ...
    paa: DEBUG[10]: control: generating symlinks in /tmp/paa.22457.repo=localprivate,dist=lenny,cpu=i386,section=main and overrides file /tmp/paa.22457.repo=localprivate,dist=lenny,cpu=i386,section=main/overrides ...
    paa: DEBUG[10]: control: generating override entry for pool/debmirror_2.3.1_all.deb ...
    paa: DEBUG[10]: control: generating override entry for pool/get-iplayer-current.deb ...
    paa: DEBUG[10]: control: generating override entry for pool/googleearth_4.2.205.573 ...
    paa: DEBUG[10]: control: generating override entry for pool/googleearth_5.0.11733.9 ...
    paa: DEBUG[10]: control: generating override entry for pool/HandBrake-0.9.3-Ubuntu_ ...
    paa: DEBUG[10]: control: generating override entry for pool/khelpcenter_1.0_all.deb ...
    paa: DEBUG[10]: control: generating override entry for pool/libfinance-quote-perl_1 ...
    paa: DEBUG[10]: control: generating override entry for pool/libfinance-quote-perl_1 ...
    ln: creating symbolic link `/tmp/paa.22457.repo=localprivate,dist=lenny,cpu=i386,section=main/pool/libfinance-quote-perl_1': File exists
    paa: DEBUG[10]: control: running dpkg-scanpackages onto /pub/computing/software/local/debian/localprivate/dists/lenny/main/binary-i386/Packages ...
     ** Packages in archive but missing from override file: **
      get-iplayer khelpcenter

    The issue was with SQLite’s default column width’s cutting the end of filenames. I have widened the column widths to 100 characters and also taken care of not symlinking to manually deleted files for which entries still exist in the SQLite DB. Though a better fix would be to not need to specify column widths at all (maybe by switching to sqlite3 -list mode) and to clean the DB up (deleting entries for non-existent files).

Abstract 32-bit support in MDI (done)

  1. search mdi and pdi for references that need to be changed to i386 (done)
  2. add question to mdi and pdi regarding CPU architecture and abstract references to CPU architecture (done)
  3. rename 32-bit kernel and initrd images under gnocchi and rocky’s /var/lib/tftp (done)
  4. update all my mirrors (see below for why this is needed) (done)
  5. copy latest PXE images from freeze to install server’s /var/lib/tftpboot: (done)
    cp /pub/paacrt/debian.20110217/dists/lenny/main/installer-i386/current/images/netboot/debian-installer/i386/initrd.gz /var/lib/tftpboot/initrd.gz_lenny-i386
    cp /pub/paacrt/debian.20110217/dists/lenny/main/installer-i386/current/images/netboot/debian-installer/i386/linux /var/lib/tftpboot/linux_lenny-i386
    cp /pub/paacrt/debian.20110217/dists/squeeze/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz /var/lib/tftpboot/initrd.gz_squeeze-amd64
    cp /pub/paacrt/debian.20110217/dists/squeeze/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux /var/lib/tftpboot/linux_squeeze-amd64
    cp /pub/paacrt/debian.20110217/dists/squeeze/main/installer-i386/current/images/netboot/debian-installer/i386/initrd.gz /var/lib/tftpboot/initrd.gz_squeeze-i386
    cp /pub/paacrt/debian.20110217/dists/squeeze/main/installer-i386/current/images/netboot/debian-installer/i386/linux /var/lib/tftpboot/linux_squeeze-i386
  6. test install spaghetti with 32-bit HVM lenny (done)
    • This turned out to be more complicated than expected! My test installation hung at the following point:
      screenshot-01-security-hang
      (In plain text for googlers that error message is ‘Select and install software 1% Please wait…’)
      On VT-4 the following was displayed:
      screenshot-02-security-hang-vt4
      (In plain text for googlers that error message is ‘in-target: To continue, enter “Yes”; to abort, enter “No”:’)
      Several hours later, I received news that the Debian security team had switched the GPG key they used to sign their DEB archive. Suspecting a connection, I examined /etc/apt/sources.list, which contained

      # deb http://192.168.1.2/paacrt/debian-lenny-i386.spaghetti/ lenny main
      
      deb http://192.168.1.2/paacrt/debian-lenny-i386.spaghetti/ lenny main
      # Line commented out by installer because it failed to verify:
      #deb-src http://192.168.1.2/paacrt/debian-lenny-i386.spaghetti/ lenny main
      
      deb http://security.debian.org/ lenny/updates main
      deb-src http://security.debian.org/ lenny/updates main
      
      deb http://volatile.debian.org/debian-volatile lenny/volatile main
      deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

      My lenny mirror was last updated on 12/07/2010, which pre-dates the update to the debian-archive-keyring package that includes the key that the security team have just now switched to using to sign their archive. That new key is:

      pub   4096R/473041FA 2010-08-27 [expires: 2018-03-05]
      uid                  Debian Archive Automatic Signing Key (6.0/squeeze) <ftpmaster@debian.org>

      As a test, I removed the entries referring to ‘security’ and ‘volatile’, killed the hung apt process, ran:

      apt-get update

      and reselected the step to select and install software: it worked! So the solution should be to update my lenny mirror (which is why that is now included a few steps above.)

  7. as reinstalling spaghetti then update the youtube video used in the MDI page (done)
  8. test install spaghetti with 32-bit PV lenny (done)
  9. test install spaghetti with 32-bit HVM squeeze (done)
  10. test install spaghetti with 32-bit PV squeeze (done)
  11. much has changed in server-side paa; reinstall rocky as an install server with 32-bit lenny according to my web pages (done)
    • virt-install hung at the following point:
      screenshot-03-security-hang2
      (In plain text for googlers that error message is ‘Select and install software 1% Please wait…’)
      On VT-4 the following was displayed:
      screenshot-04-security-hang2-vt4
      (In plain text for googlers that error message is ‘in-target: To continue, enter “Yes”; to abort, enter “No”:’)
      The cause was the same as before: old install media. I was installing from a 5.0.3 netinst ISO image, which writes references to Debian’s security repository into /etc/apt/sources.list but the debian-keyring package the same ISO was installing did not contain the public key whose corresponding private key the security team used to sign their repository. The fix was simple: download thee newest netinst ISO image (for the lenny distribution).
  12. use the updated install server to install second install server rocky (done)
  13. use rocky to reinstall gnocchi (done)
  14. use gnocchi to reinstall rocky (done)
  15. use gnocchi to install the standard test machine spaghetti (done)

Implement 64-bit support in MDI (done)

  1. calculate space requirements for mirroring 64-bit squeeze (done):
    macaroni# du -ch /vol/mirrors/debian-squeeze-i386.current/
    34G     /vol/mirrors/debian-squeeze-i386.current/
    macaroni# df -hP /vol/mirrors/
    Filesystem         Size  Used Avail Use% Mounted on
    /dev/vg0/lvol7      74G   63G  8.0G  89% /vol/mirrors
    macaroni#
  2. if necessary enlarge /vol/mirrors volume: (done)
    macaroni# exportfs -u "*:/vol/mirrors"
    macaroni# umount /vol/mirrors
    macaroni# e2fsck -f /dev/vg0/lvol7
    macaroni# lvextend -L +75g /dev/vg0/lvol7
    macaroni# e2fsck -f /dev/vg0/lvol7
    macaroni# resize2fs /dev/vg0/lvol7
    macaroni# e2fsck -f /dev/vg0/lvol7
    macaroni# mount /vol/mirrors
    macaroni# exportfs -av
    macaroni#
  3. create 64-bit local repos (done)
  4. configure 64-bit squeeze repo (done)
  5. run paa update to mirror 64-bit squeeze (will take many hours to complete) (done)
  6. freeze mirrors (done)
  7. monitor free space on mirrors volume (done)
  8. add 64-bit repos to bsfr so that root@gnocchi can avail the repos so that repo-editor can list them (done)
  9. add 64-bit kernel and initrd images under gnocchi and rocky’s /var/lib/tftp (done)
  10. update the corresponding repository tags in mdi/etc/mdi.sh (done)

Prepare to wipe one of my physical machines (done)

  1. Review contents on physical machines’ /scratch volumes (done)
  2. Possibly finish photo scanning because I will lose VirtualBox for a bit (rejected)
  3. Decide which machine I will reinstall: torchio (done)
  4. Do a full backup of the system to be upgraded; decided to refresh incremental of rdiff-backup (done)
  5. Note enabled pdi settings (done):
    torchio# grep 'SERVER.*true' ~/.pdi/settings
    LOGINSERVER_FLAG="true"
    STORAGESERVER_FLAG="true"
    TRUSTSERVER_FLAG="true"
    VBOXSERVER_FLAG="true"
    XENSERVER_FLAG="true"
    torchio#
  6. Note all pdi settings (done):
    torchio# cat ~/.pdi/settings
    BACKUPCLIENT_FLAG="true"
    BACKUPSERVER_FLAG="false"
    BTSERVER_FLAG="false"
    CLUSTERNODE_FLAG="false"
    DNSCLIENT_FLAG="true"
    DNSCLIENT_SERVER="192.168.1.76"
    DNSSERVER_FLAG="false"
    DNS_DOMAIN="pasta.net"
    DYNDNSSERVER_FLAG="false"
    I2PSERVER_FLAG="false"
    INSTALLSERVER_FLAG="false"
    LOGINSERVER_FLAG="true"
    LOGINSERVER_NM_FLAG="false"
    MAILCLIENT_FLAG="true"
    MAILCLIENT_SERVER="smtp.pasta.net"
    MAILSERVER_FLAG="false"
    NEWSSERVER_FLAG="false"
    NICS="lo eth0 eth0.1 eth0.2 br0 br1 br2"
    NIC_CONFIG_BRNICS_br0="eth0"
    NIC_CONFIG_BRNICS_br1="eth0.1"
    NIC_CONFIG_BRNICS_br2="eth0.2"
    NIC_CONFIG_GATEWAY_br0="192.168.1.1"
    NIC_CONFIG_GATEWAY_br1="none"
    NIC_CONFIG_GATEWAY_br2="none"
    NIC_CONFIG_HOSTNAME_br0="torchio"
    NIC_CONFIG_HOSTNAME_br1="none"
    NIC_CONFIG_HOSTNAME_br2="none"
    NIC_CONFIG_IPADDR_br0="192.168.1.7"
    NIC_CONFIG_IPADDR_br1="192.168.2.7"
    NIC_CONFIG_IPADDR_br2="192.168.3.7"
    NIC_CONFIG_METHOD_br0="static"
    NIC_CONFIG_METHOD_br1="static"
    NIC_CONFIG_METHOD_br2="static"
    NIC_CONFIG_METHOD_eth0="none"
    NIC_CONFIG_METHOD_eth0DOT1="none"
    NIC_CONFIG_METHOD_eth0DOT2="none"
    NIC_CONFIG_NETMASK_br0="255.255.255.0"
    NIC_CONFIG_NETMASK_br1="255.255.255.0"
    NIC_CONFIG_NETMASK_br2="255.255.255.0"
    NISCLIENT_FLAG="true"
    NISCLIENT_SERVER="yp.pasta.net"
    NISSERVER_FLAG="false"
    NOVIRTSERVER_FLAG="false"
    NTPCLIENT_FLAG="true"
    NTPCLIENT_SERVER="time.pasta.net"
    NTPSERVER_FLAG="false"
    PAA_CONFIGURATOR_NORMAL="/root/opt/mdi/doc/examples/paa-configurator.simple"
    RELEASE="lenny"
    STDSECMOD_FLAG="true"
    STORAGESERVER_FLAG="true"
    SYSLOGCLIENT_FLAG="true"
    SYSLOGCLIENT_SERVER="syslog.pasta.net"
    SYSLOGSERVER_FLAG="false"
    TRENDINGCLIENT_FLAG="true"
    TRENDINGCLIENT_SERVER="trending.pasta.net"
    TRENDINGSERVER_FLAG="false"
    TRUSTCLIENT_FLAG="true"
    TRUSTSERVER_FLAG="true"
    UNAME="torchio"
    VBOXSERVER_FLAG="true"
    WEBSERVER_FLAG="false"
    XENSERVER_FLAG="true"
    torchio#

Install first physical machine (done)

  1. Start test installations of 64-bit squeeze (done)
    1. no config (done)
    2. same as last plus login server support (done)
      1. can LOGINSERVER_NM_FLAG be set to false if all NICs have config method ‘static’? (rejected)
      2. pdi tries to install gipm, but that is no longer a package (done)
      3. attempt to install g++-4.1 fails as no longer available; probably should be g++4.3 if for nvidia? (done)
      4. w32codecs missing; was w64codecs (done)
      5. gstreamer0.10-pitfdll missing; not available in squeeze (done)
      6. gnomebaker missing; not available in squeeze (done)
      7. cdda2wav missing; replaced by icedax (done)
      8. skype missing (done)
      9. mjpg-streamer missing; not available and no sensible replacement; maybe need to compile from source; not available (postponed)
      10. nvidia driver – note that pci-utils maybe needed to be installed by preseed-editor as the nVidia-related question-answering function requires it (done)
      11. 64-bit googleearth needs updating missing (done)
      12. back up my .wine directory ‘cos 64-bit and/or squeeze ops is gonna screw it (done)
      13. got error message “can’t open /etc/cron.daily/htdig” (done)
      14. get chrome 64-bit installed (done)
    3. same as last plus storage server support (done)
    4. same as last plus trust server support (done)
    5. same as last plus cluster node: (done)
      1. code changes (done)
      2. make test cluster out of torchio and spaghetti (done)
    6. need to fix this (done):
      insserv: Script srf is broken: incomplete LSB comment.
      insserv: missing `Required-Stop:'  entry: please add even if empty.
    7. same as last plus Xen VM server support (done)
    8. same as last plus nVidia (might not be possible) (failed)
      • BTS#570365 means this is still not possible
    9. KVM and login server support (done)
    10. same as last plus nVidia (done)
    11. remove the ‘torchio.settings’ hack in script-editor which answers a trillion questions (rejected)
  2. Start test installations of 32-bit squeeze for script alignment purposes (done)
    1. get chrome 32-bit installed (done)
    2. 32-bit googleearth needs updating missing (done)

Add KVM support to vm-editor (done)

  1. Implement code changes (done)
  2. implement a sanity check that kvm or Xen is available on the VM server, depending on the value of TARGET_VM_APP (done)
  3. regression testing without PDI execution (done)
    1. on a lenny install server do 64-bit lenny KVM HVM on a squeeze VM server: (done)
      repo-editor: ERROR: lenny/amd64: apparently no repositories are
          listed for this release/architecture
    2. on a lenny install server do 64-bit lenny KVM PV on a squeeze VM server: (done)
      repo-editor: ERROR: lenny/amd64: apparently no repositories are
          listed for this release/architecture
    3. on a lenny install server do 64-bit squeeze KVM HVM on a squeeze VM server (done)
    4. on a lenny install server do 64-bit squeeze KVM PV on a squeeze VM server (done)
    5. on a lenny install server do 64-bit lenny Xen HVM on a squeeze VM server: (done)
      vm-editor: ERROR: Xen is unsupported on non-lenny VM servers due
          to continuing nVidia driver incompatibilities
    6. on a lenny install server do 64-bit lenny Xen PV on a squeeze VM server: (done)
      vm-editor: ERROR: Xen is unsupported on non-lenny VM servers due
          to continuing nVidia driver incompatibilities
    7. on a lenny install server do 64-bit squeeze Xen HVM on a squeeze VM server: (done)
      vm-editor: ERROR: Xen is unsupported on non-lenny VM servers due
          to continuing nVidia driver incompatibilities
    8. on a lenny install server do 64-bit squeeze Xen PV on a squeeze VM server: (done)
      vm-editor: ERROR: Xen is unsupported on non-lenny VM servers
          due to continuing nVidia driver incompatibilities
    9. on a lenny install server do 64-bit lenny KVM HVM on a lenny VM server: (done)
      repo-editor: ERROR: lenny/amd64: apparently no repositories are
          listed for this release/architecture
    10. on a lenny install server do 64-bit lenny KVM PV on a lenny VM server: (done)
      repo-editor: ERROR: lenny/amd64: apparently no repositories are
          listed for this release/architecture
    11. on a lenny install server do 64-bit squeeze KVM HVM on a lenny VM server: (done)
      vm-editor: ERROR: KVM is unsupported on lenny VM servers simply
          because it has not been implemented in vm-editor
    12. on a lenny install server do 64-bit squeeze KVM PV on a lenny VM server: (done)
      vm-editor: ERROR: KVM is unsupported on lenny VM servers simply
          because it has not been implemented in vm-editor
    13. on a lenny install server do 64-bit lenny Xen HVM on a lenny VM server: (done)
      repo-editor: ERROR: lenny/amd64: apparently no repositories are
          listed for this release/architecture
    14. on a lenny install server do 64-bit lenny Xen PV on a lenny VM server: (done)
      repo-editor: ERROR: lenny/amd64: apparently no repositories are
          listed for this release/architecture
    15. on a lenny install server do 64-bit squeeze Xen HVM on a lenny VM server (done)
      screenshot-05-virt-viewer-64bit-hvm-on-32bit-server
    16. on a lenny install server do 64-bit squeeze Xen PV on a lenny VM server: (done)
    17. on a lenny install server do 32-bit lenny KVM HVM on a squeeze VM server (done)
    18. on a lenny install server do 32-bit lenny KVM PV on a squeeze VM server (done)
    19. on a lenny install server do 32-bit squeeze KVM HVM on a squeeze VM server (done)
    20. on a lenny install server do 32-bit squeeze KVM PV on a squeeze VM server (done)
    21. on a lenny install server do 32-bit lenny Xen HVM on a squeeze VM server: (done)
      vm-editor: ERROR: Xen is unsupported on non-lenny VM servers due
          to continuing nVidia driver incompatibilities
    22. on a lenny install server do 32-bit lenny Xen PV on a squeeze VM server: (done)
      vm-editor: ERROR: Xen is unsupported on non-lenny VM servers due
          to continuing nVidia driver incompatibilities
    23. on a lenny install server do 32-bit squeeze Xen HVM on a squeeze VM server: (done)
      vm-editor: ERROR: Xen is unsupported on non-lenny VM servers due
          to continuing nVidia driver incompatibilities
    24. on a lenny install server do 32-bit squeeze Xen PV on a squeeze VM server: (done)
      vm-editor: ERROR: Xen is unsupported on non-lenny VM servers due
          to continuing nVidia driver incompatibilities
    25. on a lenny install server do 32-bit lenny KVM HVM on a lenny VM server: (done)
      vm-editor: ERROR: KVM is unsupported on lenny VM servers simply
          because it has not been implemented in vm-editor
    26. on a lenny install server do 32-bit lenny KVM PV on a lenny VM server: (done)
      vm-editor: ERROR: KVM is unsupported on lenny VM servers simply
          because it has not been implemented in vm-editor
    27. on a lenny install server do 32-bit squeeze KVM HVM on a lenny VM server: (done)
      vm-editor: ERROR: KVM is unsupported on lenny VM servers simply
          because it has not been implemented in vm-editor
    28. on a lenny install server do 32-bit squeeze KVM PV on a lenny VM server: (done)
      vm-editor: ERROR: KVM is unsupported on lenny VM servers simply
          because it has not been implemented in vm-editor
    29. on a lenny install server do 32-bit lenny Xen HVM on a lenny VM server (done)
    30. on a lenny install server do 32-bit lenny Xen PV on a lenny VM server (done)
    31. on a lenny install server do 32-bit squeeze Xen HVM on a lenny VM server (done)
    32. on a lenny install server do 32-bit squeeze Xen PV on a lenny VM server (done)
  4. mdi edit‘s questions require logical answers don’t accept y, n, etc (done)
  5. include/mdi.sh:get_root_disk_kdev() and bin/pdi:get_boot_kdev() are nearly the same; merge them (done)
  6. Workaround d-i bug whereby last partition (swap in my case) extended to end of disk (308GB) (done)
  7. Fix the following hb_gui issue: (done)
    screenshot-06-hb-gui

Develop PDI’s task-specific code on 64-bit test VM installations (in progress)

  1. Run the following command and record output as headings below, possibly in a different order: (done)
    gnocchi# ./pdi -l | grep -i server
    configure_login_server
    configure_web_server
    configure_xen_server
    configure_vbox_server
    configure_kvm_server
    configure_novirt_server
    configure_storage_server
    configure_news_server
    configure_bt_server
    configure_i2p_server
    configure_install_server
    gnocchi#
  2. Edit install parameters to 64-bit squeeze KVM PV VM (done)

configure_storage_server (done)

  1. Test storage services on torchio which is already according to Configuring storage services (done)
  2. problems encountered booting after running grub-install (done)
    1. problem documented at Debian Squeeze RAID1 and GRUB2 (done)
    2. solution documented at Configuring storage services (done)

configure_login_server (done)

  1. Install login server (done)
  2. Test login server with VNC (done)
  3. Fix (done):
    etc/cron.daily/autoupgrade:
    (Reading database ... 206505 files and directories currently installed.)
    Preparing to replace google-earth-stable 6.0.1.2032-r0 (using .../google-earth-stable_6.0.2.2074-r0_amd64.deb) ...
    Unpacking replacement google-earth-stable ...
    Setting up google-earth-stable (6.0.2.2074-r0) ...
  4. Fix (rejected):
    /etc/cron.daily/sysstat:
    Invalid system activity file: /var/log/sysstat//201104/sa04

    Reinstalling the package appeared to fix it, so now I am not sure if the package really has a problem or whether it was a system crash or other activity that got it into a strange state. If the problem reoccurs then I will address it then.

  5. Add to SRF support for making a ‘newest’ symlink (done)
    • (SRF#017 fixed in SRF version 1.2.6)
  6. Also, make paa insert quieter by trapping output and comparing and displaying only if deviates from expected output (done)
    1. recreate some working copies using old svn (done)
      • ganglia-plugins
      • mdi
      • smallstuff
    2. Commit everthing outstanding in ~alexis/dev/def (done)
    3. First need to fix this in ADE (done):
      torchio$ bsfr/bin/bsfr makedeb srf
      bsfr: INFO: srf: looking in srf.debian to see which version of srf to build ...
      bsfr: INFO: srf: will build version 1.2.6 ...
      bsfr: INFO: srf: retrieving srf sources ...
      bsfr: INFO: srf: retrieving srf.debian ...
      bsfr: INFO: srf: (re)creating debian symlink ...
      bsfr: INFO: srf: building debian package ...
      dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor): -g -O2
      dpkg-buildpackage: export CPPFLAGS from dpkg-buildflags (origin: vendor):
      dpkg-buildpackage: export CXXFLAGS from dpkg-buildflags (origin: vendor): -g -O2
      dpkg-buildpackage: export FFLAGS from dpkg-buildflags (origin: vendor): -g -O2
      dpkg-buildpackage: export LDFLAGS from dpkg-buildflags (origin: vendor):
      dpkg-buildpackage: source package srf
      dpkg-buildpackage: source version 1.2.6-1
      dpkg-buildpackage: source changed by Alexis Huxley <ahuxley@gmx.net>
      dpkg-buildpackage: host architecture amd64
       dpkg-source --before-build srf-1.2.6
       fakeroot debian/rules clean
      dh_testdir
      rm -f build-stamp configure-stamp
      /usr/bin/make -s clean distclean
      sh: [[: not found
      /usr/include/ade/ade.mk:29: *** could not locate the app-config file sources.  Stop.
      make: *** [clean] Error 2
      dpkg-buildpackage: error: fakeroot debian/rules clean gave error exit status 2
      torchio$ ls -ld /bin/sh
      lrwxrwxrwx 1 root root 4 Mar 31 12:23 /bin/sh -> dash
      torchio$

      (see ADE#321 for details)

  7. Fix script editor and other places to make grub not quiet (for grub-legacy this means in menu.cfg changing the line: (rejected)
    # defoptions=quiet

    A quick check could not find this on any system:

    torchio# rocon -c 'grep "# defoptions" /boot/grub/menu.lst' LinuxHosts and not linguine and not torchio
    alphabeti[stdout]:   # defoptions=
    doodle[stdout]:      # defoptions=
    fettuce[stdout]:     # defoptions=
    fiori[stdout]:       # defoptions=
    gnocchi[stdout]:     # defoptions=
    lasagne[stdout]:     # defoptions=
    macaroni[stdout]:    # defoptions=
    noodle[stdout]:      # defoptions=
    ravioli[stdout]:     # defoptions=
    rocky[stdout]:       # defoptions=
    trennette[stdout]:   # defoptions=
    ziti[stdout]:        # defoptions=
    torchio#
  8. Delete the login server (rejected)

configure_news_server (done)

  1. Find/prepare NNTPCache (done)
  2. Fix this (done):
    ./pdi -v
    pdi: INFO: performing task configure_news_server ..
    ...
    pdi: INFO: starting service ...
    Starting NNTPCACHE server:
    spaghetti# ps fax | grep -i nntp
    11439 pts/0    S+     0:00  |       \_ grep -i nntp
    spaghetti# /etc/init.d/nntpcache start
    Starting NNTPCACHE server: NNTPCache-3.0.1
    Copyright (c) 1996-2002 Julian Assange <proff@iq.org>
    Copyright (c) 1998-2002 Australian National Cognitive Facility
    See the files "COPYING", "FAQ", "LICENSING" and
    http://www.nntpcache.org/ for copyright details
    cwd now /etc/nntpcache
    cwd now /var/spool/nntpcache
    detaching from tty
    nntpcache.
    spaghetti# ps fax | grep -i nntp
    11724 pts/0    S+     0:00  |       \_ grep -i nntp
    11452 ?        Ss     0:00 nntpcache: waiting for connections
    11455 ?        S      0:00  \_ nntpcache: watch: ready
    spaghetti#
  3. Fix this (done):
    Purging configuration files for sysstat ...
    insserv: warning: script 'K01nntpcache' missing LSB tags and overrides
    insserv: warning: script 'nntpcache' missing LSB tags and overrides
    insserv: warning: script 'K01nntpcache' missing LSB tags and overrides
    insserv: warning: script 'nntpcache' missing LSB tags and overrides

    (This is blocked pending the solving of the previous issue.)

  4. Delete the news server (rejected)

configure_i2p_server (done)

  1. Install I2P server (done)
    1. the i2p scripts need to write 5% not 15% to the bandwidth allocation (done)
  2. Test I2P (done)

configure_bt_server (done)

  1. Extend it to be a BT server (done)
    1. as per https://www.pathname.com/fhs/pub/fhs-2.3.html#USRLOCALLOCALHIERARCHY the compiled-from-source transmission’s init.d script should go in /usr/local/opt/transmission-X.Y/etc/init.d and be symlinked
  2. Test BT (done)
  3. Delete I2P/BT server (rejected)

configure_vbox_server (done)

  1. GPS checks (done)
    1. Do a complete wine reinstallation
    2. Update GPS procedures (done)
    3. If necessary try VirtualBox-based solutions (rejected)
  2. Scanner checks (done)
    1. Try xsane (done)
    2. If necessary try VirtualBox-based solutions (rejected)
  3. iTouch checks (done)
    1. Try gtkpod 2.0, compiled from source, was good enough (done)
    2. If necessary try VirtualBox-based solutions (rejected)
    3. Encode installation of gtkpod 2.0 in PDI (done)

configure_web_server (done)

  1. Extend it to be a web server (done)
    1. full server installation will remain a manual procedure documented at Configuring web services

configure_mail_server (skipped)

  1. Install a mail server, encoding into PDI the procedure at Configuring mail services (skipped)
    1. mail client configuration already tested; server installation will remain a manual procedure documented at Configuring mail services

Digression to fix accumulated miscellaneous issues (done)

  1. The tmpfs fix for ‘pin’ is not working out well; it is impacting other applications – find better solution; none found but, anyway, I know that the tmpfs fix needs to be removed (done)
  2. Since we’ve moved, I’m now using Netgear Powerline adapters instead of CAT5 cables, which has resulted in a reduction in home-network bandwidth. Therefore the storage server, where the VM images reside, has been put in the same room as one of the VM servers. But this is very noisy! Explore possibililty to use DRBD for creating volumes on the VM servers for the VM images. I refactored MDI a bit to facilitate vol-editor plugins and wrote a DRBD plugin (done)
  3. Rename paa-configurator to paacfg; it’s just too length (done)

configure_install_server (done)

  1. Install a test “install server install server” (done)
  2. Use that to install a test install server (done)
  3. Discard the test “install server install server” (done)
  4. Use the test install server to install a second test install server (done)

(Actually, this was repeated many many times.)

Refreeze and test (done)

  1. Await one month after squeeze release in case any very quick updates (done)
  2. Fix this bug (rejected):
    lasagne# ls -ld /etc/transmission2-daemon/settings.json /var/lib/transmission2-daemon/info/settings.json
    -rw-r--r-- 1 root root 2010 Mar 16 19:51 /etc/transmission2-daemon/settings.json
    lrwxrwxrwx 1 root root   39 Mar 16 19:55 /var/lib/transmission2-daemon/info/settings.json -> /etc/transmission2-daemon/settings.json
    lasagne# /etc/init.d/transmission2-daemon start
    Starting bittorrent daemon: transmission2-daemon.
    lasagne# ls -ld /etc/transmission2-daemon/settings.json /var/lib/transmission2-daemon/info/settings.json
    -rw-r--r-- 1 root                root                2010 Mar 16 19:51 /etc/transmission2-daemon/settings.json
    -rw------- 1 debian-transmission debian-transmission 2011 Mar 16 19:55 /var/lib/transmission2-daemon/info/settings.json
    lasagne#

    This is not a problem with the official Debian package because PDI’s procedure parallels the real set up so much more closely than when trying to do a source-based installation.

  3. Only if there is a point release already then refreeze squeeze; there wasn’t (done)
  4. Combine the above selections into a sensible selection of actual installations to perform and note them below (rejected): I’m just going to go for it since the number of untested but automatically installed configurations is zero.

Do the rollout (done)

  1. Install a “install server install server” (done)
  2. Use that to install a install server (done)
  3. Discard the “install server install server” (done)
  4. Use the install server to install a second install server (done)
  5. Shut down existing BT / I2P server, save VM & pool libvirt configs and rename the volumes (done)
  6. Install new BT / I2P server (done)
  7. Install new SSH server (done)
  8. Install new trending server (done)
  9. Ensure automated snapshotting working (done)
  10. Update DNS alias for ‘www’ to point to new web server to facilitate internal testing (done)
  11. Install new web server penne (done)
  12. Compare old and new web server configuration files (pending)
  13. Test new web server extensively (done)
    1. general (done)
    2. web proxy page (done)
  14. Update firewall to redirect http traffic to the new web server (done)
  15. Shut down existing web server, save VM & pool libvirt configs and rename the volumes (done)
  16. Delete old web server’s libvirt config files, volumes and wiki page (done)
  17. Install new mail server farfalle (done)
  18. Test new mail server extensively (done)
  19. Update DNS alias for ‘imap’ and ‘smtp’ and ‘mail’ to point to new mail server (done)
  20. Shut down existing mail server, save VM & pool libvirt configs and rename the volumes (done)
  21. Delete old mail server’s libvirt config files, volumes and wiki page (done)
  22. Review what servers are still running on fiori (done)
  23. Reinstall fiori (done)
  24. Move macaroni to celler (done)
  25. Add missing legs to all DRBDs on fiori (done)
  26. Migrate all to fiori (done)
  27. Reinstall torchio (done)
  28. Add missing legs to all DRBDs on torchio (done)
    1. Configure dual primary mode (done)
    2. I kept encountering split-brain errors like this:
      Sep  4 07:18:23 fiori kernel: [67142.245516] block drbd3: PingAck did not arrive in time.
      Sep  4 07:18:23 fiori kernel: [67142.245525] block drbd3: peer( Primary -> Unknown ) conn( Connected -> NetworkFailure ) pdsk( UpToDate -> DUnknown )
      Sep  4 07:18:23 fiori kernel: [67142.245539] block drbd3: asender terminated
      Sep  4 07:18:23 fiori kernel: [67142.245542] block drbd3: Terminating drbd3_asender
      Sep  4 07:18:23 fiori kernel: [67142.245549] block drbd3: short read expecting header on sock: r=-512
      Sep  4 07:18:23 fiori kernel: [67142.245596] block drbd3: Creating new current UUID
      Sep  4 07:18:23 fiori kernel: [67142.306385] block drbd3: Connection closed
      Sep  4 07:18:23 fiori kernel: [67142.306396] block drbd3: conn( NetworkFailure -> Unconnected )
      Sep  4 07:18:23 fiori kernel: [67142.306404] block drbd3: receiver terminated
      Sep  4 07:18:23 fiori kernel: [67142.306406] block drbd3: Restarting drbd3_receiver
      Sep  4 07:18:23 fiori kernel: [67142.306409] block drbd3: receiver (re)started
      Sep  4 07:18:23 fiori kernel: [67142.306413] block drbd3: conn( Unconnected -> WFConnection )
      Sep  4 07:20:22 fiori kernel: [67261.797031] block drbd3: Handshake successful: Agreed network protocol version 91
      Sep  4 07:20:22 fiori kernel: [67261.797039] block drbd3: conn( WFConnection -> WFReportParams )
      Sep  4 07:20:22 fiori kernel: [67261.797052] block drbd3: Starting asender thread (from drbd3_receiver [5264])
      Sep  4 07:20:22 fiori kernel: [67261.810640] block drbd3: data-integrity-alg: <not-used>
      Sep  4 07:20:22 fiori kernel: [67261.847817] block drbd3: meta connection shut down by peer.
      Sep  4 07:20:22 fiori kernel: [67261.847824] block drbd3: conn( WFReportParams -> NetworkFailure )
      Sep  4 07:20:22 fiori kernel: [67261.847832] block drbd3: asender terminated
      Sep  4 07:20:22 fiori kernel: [67261.847835] block drbd3: drbd_sync_handshake:
      Sep  4 07:20:22 fiori kernel: [67261.847843] block drbd3: self 5D7023069E13FB2F:50C82F17996AAE57:4B8A435F3AFFAAA8:128880E6C3748B87 bits:191 flags:0
      Sep  4 07:20:22 fiori kernel: [67261.847852] block drbd3: peer 63502815515F701C:50C82F17996AAE57:4B8A435F3AFFAAA8:128880E6C3748B87 bits:129943 flags:2
      Sep  4 07:20:22 fiori kernel: [67261.847860] block drbd3: uuid_compare()=100 by rule 90
      Sep  4 07:20:22 fiori kernel: [67261.847865] block drbd3: Split-Brain detected, dropping connection!
      Sep  4 07:20:22 fiori kernel: [67261.847871] block drbd3: Terminating drbd3_asender
      Sep  4 07:20:22 fiori kernel: [67261.847876] block drbd3: helper command: /sbin/drbdadm split-brain minor-3
      Sep  4 07:20:22 fiori kernel: [67261.860851] block drbd3: helper command: /sbin/drbdadm split-brain minor-3 exit code 0 (0x0)
      Sep  4 07:20:22 fiori kernel: [67261.860857] block drbd3: ASSERT( oconn == C_WF_REPORT_PARAMS ) in /build/buildd-linux-2.6_2.6.32-34squeeze1-amd64-ZyRy0W/linux-2.6-2.6.32/debian/build/source_amd64_none/drivers/block/drbd/drbd_receiver.c:3128
      Sep  4 07:20:22 fiori kernel: [67261.860865] block drbd3: conn( NetworkFailure -> Disconnecting )
      Sep  4 07:20:22 fiori kernel: [67261.860873] block drbd3: error receiving ReportState, l: 4!
      Sep  4 07:20:22 fiori kernel: [67261.860929] block drbd3: Connection closed
      Sep  4 07:20:22 fiori kernel: [67261.860937] block drbd3: conn( Disconnecting -> StandAlone )
      Sep  4 07:20:22 fiori kernel: [67261.860948] block drbd3: receiver terminated
      Sep  4 07:20:22 fiori kernel: [67261.860950] block drbd3: Terminating drbd3_receiver
      Sep  4 07:36:15 fiori kernel: [68214.115347] block drbd3: conn( StandAlone -> Unconnected )
    3. Revert to single primary (with the overlying pools active on the primary and necessarily inactive on the secondary and the overlying VM active on the primary and desirably and necessary shut off on the secondary (done)
    4. Write a script to implemented “poor man’s migration” (done) (script is in private svn repo so no link provided here)
  29. Develop and test manual migration (done)
  30. Set up pacemaker-based failover (postponed)
  31. Delete old web server and mail server’s root volumes (done)

Issues to be solved post-rollout (in progress)

  1. Document and solve the “task automount:XXXXX blocked for more than 120 seconds problem” (in progress)
    1. farfalle runs the SRF-unpacker, which is quite a disk-intensive script. It triggers the following problem:
      Oct  4 18:07:38 farfalle kernel: [17520.532105] INFO: task automount:11925 blocked for more than 120 seconds.
      Oct  4 18:07:38 farfalle kernel: [17520.533984] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
      Oct  4 18:07:38 farfalle kernel: [17520.536110] automount     D 0000000000000000     0 11925      1 0x00000000
      Oct  4 18:07:38 farfalle kernel: [17520.537622]  ffffffff814631f0 0000000000000086 ffff88000080ea80 ffff880005e64f00
      Oct  4 18:07:38 farfalle kernel: [17520.539222]  ffff880005e64fc8 ffffffff81103575 000000000000f9e0 ffff880006cc1fd8
      Oct  4 18:07:38 farfalle kernel: [17520.540869]  0000000000015780 0000000000015780 ffff880006d60000 ffff880006d602f8
      Oct  4 18:07:38 farfalle kernel: [17520.542479] Call Trace:
      Oct  4 18:07:38 farfalle kernel: [17520.543031]  [<ffffffff81103575>] ? mntput_no_expire+0x23/0xee
      Oct  4 18:07:38 farfalle kernel: [17520.544256]  [<ffffffff812fb70b>] ? __mutex_lock_common+0x122/0x192
      Oct  4 18:07:38 farfalle kernel: [17520.545589]  [<ffffffff812fb833>] ? mutex_lock+0x1a/0x31
      Oct  4 18:07:38 farfalle kernel: [17520.546736]  [<ffffffff810f96e5>] ? do_rmdir+0x6a/0xff
      Oct  4 18:07:38 farfalle kernel: [17520.548104]  [<ffffffff81010b42>] ? system_call_fastpath+0x16/0x1b
      Oct  4 18:07:38 farfalle kernel: [17520.549818] INFO: task srf:12271 blocked for more than 120 seconds.
      Oct  4 18:07:38 farfalle kernel: [17520.551501] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
      Oct  4 18:07:38 farfalle kernel: [17520.553670] srf           D 0000000000000000     0 12271  13388 0x00000000
      Oct  4 18:07:38 farfalle kernel: [17520.555607]  ffffffff814631f0 0000000000000082 00000001ffffffff 00000000002ed021
      Oct  4 18:07:38 farfalle kernel: [17520.557593]  0000000000001000 ffffffff81064e37 000000000000f9e0 ffff880006c53fd8
      Oct  4 18:07:38 farfalle kernel: [17520.559483]  0000000000015780 0000000000015780 ffff8800079b9530 ffff8800079b9828
      Oct  4 18:07:38 farfalle kernel: [17520.561615] Call Trace:
      Oct  4 18:07:38 farfalle kernel: [17520.562389]  [<ffffffff81064e37>] ? bit_waitqueue+0x10/0xa0
      Oct  4 18:07:38 farfalle kernel: [17520.563929]  [<ffffffff8110d6c1>] ? __find_get_block+0x176/0x186
      Oct  4 18:07:38 farfalle kernel: [17520.565636]  [<ffffffff812fb70b>] ? __mutex_lock_common+0x122/0x192
      Oct  4 18:07:38 farfalle kernel: [17520.567141]  [<ffffffff8110d6f7>] ? __getblk+0x26/0x29a
      Oct  4 18:07:38 farfalle kernel: [17520.568282]  [<ffffffff812fb833>] ? mutex_lock+0x1a/0x31
      Oct  4 18:07:38 farfalle kernel: [17520.569421]  [<ffffffff810f6470>] ? do_lookup+0x80/0x15d
      Oct  4 18:07:38 farfalle kernel: [17520.570531]  [<ffffffff810f6c6e>] ? __link_path_walk+0x323/0x6f5
      Oct  4 18:07:38 farfalle kernel: [17520.571813]  [<ffffffff810f682e>] ? do_follow_link+0x1fa/0x317
      Oct  4 18:07:38 farfalle kernel: [17520.573038]  [<ffffffff810f6f48>] ? __link_path_walk+0x5fd/0x6f5
      Oct  4 18:07:38 farfalle kernel: [17520.574317]  [<ffffffff810f726e>] ? path_walk+0x66/0xc9
      Oct  4 18:07:38 farfalle kernel: [17520.575472]  [<ffffffff810f86d8>] ? do_path_lookup+0x20/0x77
      Oct  4 18:07:38 farfalle kernel: [17520.576683]  [<ffffffff810f9bba>] ? user_path_at+0x48/0x79
      Oct  4 18:07:38 farfalle kernel: [17520.578169]  [<ffffffff810ccf21>] ? handle_mm_fault+0x7aa/0x80f
      Oct  4 18:07:38 farfalle kernel: [17520.579795]  [<ffffffff81018638>] ? restore_i387_xstate+0x65/0x16d
      Oct  4 18:07:38 farfalle kernel: [17520.581532]  [<ffffffff810f2006>] ? vfs_fstatat+0x2c/0x57
      Oct  4 18:07:38 farfalle kernel: [17520.583023]  [<ffffffff810f20f9>] ? sys_newstat+0x11/0x30
      Oct  4 18:07:38 farfalle kernel: [17520.584470]  [<ffffffff8105b547>] ? sigprocmask+0x9b/0xc3
      Oct  4 18:07:38 farfalle kernel: [17520.585908]  [<ffffffff8105b8c3>] ? sys_rt_sigprocmask+0xab/0xc4
      Oct  4 18:07:38 farfalle kernel: [17520.587510]  [<ffffffff812fc605>] ? page_fault+0x25/0x30
      Oct  4 18:07:38 farfalle kernel: [17520.589025]  [<ffffffff81010b42>] ? system_call_fastpath+0x16/0x1b
    2. When this problem occurs then the load increases and, somewhat non-intuitively, the CPU load goes down, as in this graph:
      screenshot-07-farfalle-load
      This is because:

      1. Under Linux, I/O-blocked processes contribute 1 to the system load (see Wikipedia for details) so when SRF gets blocked the load goes from 0.something to 1.something
      2. Although SRF uses a locking model to prevent other SRF processes being started (by cron), its configuration file needs to be read before the presence of the lock file can be tested, and since the configuration file is in an auto-mounted directory SRF hangs, thereby causing the stepping effect in the load.
      3. When SRF is blocked then SRF cannot run the plethora or shell commands and pipelines it usually runs; therefore the CPU is less busy than usual.
    3. The Ganglia memory graph for the system showed it was short of memory:
      screenshot-08-farfalle-memory
      and sar output shows that the system stops swapping once the error occurs:

      13:25:01     pswpin/s pswpout/s
      ...
      17:15:01         0.46      0.25
      17:25:01         0.59      0.11
      17:35:01         0.30      0.55
      17:45:01         0.30      0.45
      17:55:01         0.55      0.06
      18:05:01         0.08      0.02
      18:15:02         0.17      0.00
      18:25:01         0.02      0.00
      18:35:01         0.00      0.00
      18:45:01         0.30      0.00
      18:55:01         0.00      0.00
      19:05:01         0.08      0.00
      19:15:01         0.00      0.00
      ...
    4. Options to consider/try/monitor (in progress):
      1. increase VM’s memory from 128MB to 256MB; memory increased, farfalle’s entry in MDI’s database updated, problem occurrence decreased, monitoring continues (in progress)
      2. switch to AMD
      3. run a cronjob as root to check for the problem and reboot if necessary
      4. … ?
  2. Try pacemaker to control which node runs a VM (pending)
  3. Try DRBD over cluster LVM in order to have one single DRBD device with primary:primary with pools disabled (pending)
  4. There are a couple of other wikis besides AlexisWiki that need to be made available (pending)
  5. remove the non-data/users sections of all wikis, moving stuff up levels on macaroni accordingly and adjusting the symlinks under penne:/var/local/moin/. (pending)
  6. Ganglia server seems to think all new nodes are down (fixed)
    This was fixed by using the web GUI to turn off viewing hosts and then turn it back on.
  7. Ganglia nfsstats plugin is not installed correctly everywhere; reinstall on all nodes and then remove from macaroni:/vol/shared (done)
    • This turned out to be a bug in the init script ordering whereby the automounyer/NFS
  8. Previously, I had installed my software on the web server because I believed that their web pages could not be properly served without them, but is this still the case? I had not installed them because I couldn’t see a problem but I’m sure I had problems in the past. (pending)
  9. The term ‘paacrt server’ in pdi is coming to mean *just* the paacrt archive and not the install server. Probably I should update my DNS alias ‘paacrt’ to ‘install’. Remember to update in-the-field ~/.paa and apt configurations. Also, is there a possibility to add a ‘what is the install server [install.pasta.net]:’ question to pdi? (pending)
  10. pdi reports the following:
    pdi: INFO: performing task configure_nics ...
    Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces ... (warning).
    Reconfiguring network interfaces...SIOCDELRT: No such process
    done.
    pdi: INFO: performing task configure_paacrt_client ...

    What is the SIOCDELRT error caused by? There is no problem but it is ugly. (pending)

  11. pdi reports:
    please edit .../mdi/etc/mdi.sh and adjust the following variables so
    this system this system will instruct future systems to contact
    it: PAACRT_URL, PRESEEDSERVER_IPADDR, SCRIPTSERVER_IPADDR,
    MDITGZSERVER_IPADDR, RELEASESERVER_IPADDR

    All the IP address stuff points to the install server itself, so can probably be removed from this message and moved from …/etc/mdi.sh to …/include/mdi.sh. But the PAACRT_URL … what is it used for? There are paa-configurator scripts on install clients so why does the install server need to mention it? (pending)

  12. See if xen-migrator script needs updating (wont-fix)
    • This won’t be addressed until such time as I discover I need to use Xen again
  13. Submit a bug regarding the following block added to script-editor: (pending)
    #  vm-editor ensures KVM PV VMs get a serial interface, the Debian installer
    #  ensures that the guest's /etc/default/grub is configured to tell grub to
    #  run in the serial interface and also that /etc/inittab is configured to
    #  run a getty on the serial interface but but the kernel command line is
    #  not configured to use the serial interface. This means that the kernel
    #  messages don't appear although a login prompt does. Fix that.
    if $TARGET_VM_FLAG && [ $TARGET_VM_APP = kvm ] && ! $TARGET_HVM_FLAG; then
        if [ $TARGET_RELEASE != lenny ]; then
            echo "perl -pi -e \"s/^(GRUB_CMDLINE_LINUX)=.*/\\\$1=\\\"console=ttyS0,115200\\\"/\" /etc/default/grub"
        else
            internal "no kvm support for lenny implemented"
        fi
    fi
  14. does squeeze’s pygrub support grub2 in the guest; lenny’s didn’t (wont-fix)
  15. delete old volumes (done)

See also