diff options
16 files changed, 107 insertions, 60 deletions
diff --git a/catalyst/livecd/2008.0/scripts/livecd.sh b/catalyst/livecd/2008.0/scripts/livecd.sh index 1651e71..bde6da9 100644 --- a/catalyst/livecd/2008.0/scripts/livecd.sh +++ b/catalyst/livecd/2008.0/scripts/livecd.sh @@ -69,13 +69,7 @@ EOF [ -e /etc/X11/xorg.conf.in ] && sed -i -e '/DefaultColorDepth/d' /etc/X11/xorg.conf.in # Clusetring LiveCD specifics -echo '127.0.0.1 master.gentoo.local master localhost rootserver' > /etc/hosts echo 'HOSTNAME="master"' > /etc/conf.d/hostname -cat > /etc/conf.d/net<<-EOF - nis_domain="cluster.local" - dns_domain="cluster.local" - dns_search="cluster.local" - EOF # Exit 0, else catalyst fails if on the last command exit 0 diff --git a/catalyst/livecd/2008.0/specs/amd64/livecd-stage1-minimal.spec b/catalyst/livecd/2008.0/specs/amd64/livecd-stage1-minimal.spec index 110a8ec..f55e05f 100644 --- a/catalyst/livecd/2008.0/specs/amd64/livecd-stage1-minimal.spec +++ b/catalyst/livecd/2008.0/specs/amd64/livecd-stage1-minimal.spec @@ -3,7 +3,7 @@ version_stamp: minimal-installer-2008.0 target: livecd-stage1 rel_type: default profile: default/linux/amd64/2008.0/desktop -snapshot: 20080629 +snapshot: 20080806 source_subpath: default/stage3-amd64-desktop-2008.0 # Kyron: @@ -151,13 +151,20 @@ livecd/packages: net-nds/openldap app-portage/portage-utils net-nds/ldap-auth - sys-cluster/beowulf-head - sys-cluster/openmpi - app-admin/eselect-cblas - app-admin/eselect-blas - app-admin/eselect-lapack # Added growmacs as per Alexey Shvetsov's request ;) # from: Bug 193532 # sci-chemistry/gromacs # man needs this: app-arch/lzma-utils +# We do unusual things to resolv.conf: + net-dns/openresolv + net-dns/bind-tools +# Clustering + HPC specifics + sys-cluster/beowulf-head + app-shells/pdsh + sys-cluster/openmpi + app-admin/eselect-cblas + app-admin/eselect-blas + app-admin/eselect-lapack + net-misc/wol + sys-apps/dstat diff --git a/catalyst/livecd/2008.0/specs/amd64/livecd-stage1.spec b/catalyst/livecd/2008.0/specs/amd64/livecd-stage1.spec index e72835e..3f4a1c9 100644 --- a/catalyst/livecd/2008.0/specs/amd64/livecd-stage1.spec +++ b/catalyst/livecd/2008.0/specs/amd64/livecd-stage1.spec @@ -3,7 +3,7 @@ version_stamp: installer-2008.0 target: livecd-stage1 rel_type: default profile: default/linux/amd64/2008.0/desktop -snapshot: 20080629 +snapshot: 20080806 source_subpath: default/stage3-amd64-desktop-2008.0 # Kyron: @@ -206,3 +206,13 @@ livecd/packages: sci-chemistry/gromacs # man needs this: app-arch/lzma-utils +# We do unusual things to resolv.conf: + net-dns/openresolv + net-dns/bind-tools + net-misc/wol +# we want to dev: + dev-util/ltrace + dev-util/strace + sys-process/lsof + sys-apps/dstat + diff --git a/catalyst/livecd/2008.0/specs/amd64/livecd-stage2-minimal.spec b/catalyst/livecd/2008.0/specs/amd64/livecd-stage2-minimal.spec index b422730..604fe02 100644 --- a/catalyst/livecd/2008.0/specs/amd64/livecd-stage2-minimal.spec +++ b/catalyst/livecd/2008.0/specs/amd64/livecd-stage2-minimal.spec @@ -3,7 +3,7 @@ version_stamp: minimal-installer-2008.0 target: livecd-stage2 rel_type: default profile: default/linux/amd64/2008.0/desktop -snapshot: 20080629 +snapshot: 20080806 source_subpath: default/livecd-stage1-amd64-minimal-installer-2008.0 # Kyron: @@ -23,7 +23,7 @@ livecd/bootargs: nox livecd/cdtar: /usr/lib/catalyst/livecd/cdtar/isolinux-elilo-memtest86+-cdtar.tar.bz2 livecd/fsscript: /var/git/clustering-livecd/catalyst/livecd/2008.0/scripts/livecd.sh livecd/fstype: squashfs -livecd/gk_mainargs: --lvm --dmraid --evms --mdadm --makeopts=-j5 +livecd/gk_mainargs: --lvm --dmraid --evms --mdadm --makeopts=-j5 --no-splash #livecd/xsession: xfce #livecd/xdm: gdm @@ -73,6 +73,10 @@ boot/kernel/gentoo/packages: ## kyron: let the fun begin, we need a unionfs-ish FS to be able to configure the clustering stuff on the liveCD sys-fs/aufs +livecd/rcadd: + ntpd|default + ntp-client|default + livecd/empty: /var/tmp /var/empty diff --git a/catalyst/livecd/2008.0/specs/amd64/livecd-stage2.spec b/catalyst/livecd/2008.0/specs/amd64/livecd-stage2.spec index ce60834..0bd5f95 100644 --- a/catalyst/livecd/2008.0/specs/amd64/livecd-stage2.spec +++ b/catalyst/livecd/2008.0/specs/amd64/livecd-stage2.spec @@ -3,7 +3,7 @@ version_stamp: 2008.0 target: livecd-stage2 rel_type: default profile: default/linux/amd64/2008.0/desktop -snapshot: 20080629 +snapshot: 20080806 source_subpath: default/livecd-stage1-amd64-installer-2008.0 # Kyron: diff --git a/catalyst/livecd/2008.0/specs/amd64/stage1.spec b/catalyst/livecd/2008.0/specs/amd64/stage1.spec index 44c0674..a5c35e2 100644 --- a/catalyst/livecd/2008.0/specs/amd64/stage1.spec +++ b/catalyst/livecd/2008.0/specs/amd64/stage1.spec @@ -3,7 +3,7 @@ target: stage1 version_stamp: 2008.0 rel_type: default profile: default/linux/amd64/2008.0 -snapshot: 20080629 +snapshot: 20080806 source_subpath: drobbins/stage3-amd64-2008.06.27 # Kyron: diff --git a/catalyst/livecd/2008.0/specs/amd64/stage2-desktop.spec b/catalyst/livecd/2008.0/specs/amd64/stage2-desktop.spec index 6248694..168beaa 100644 --- a/catalyst/livecd/2008.0/specs/amd64/stage2-desktop.spec +++ b/catalyst/livecd/2008.0/specs/amd64/stage2-desktop.spec @@ -3,7 +3,7 @@ target: stage2 version_stamp: desktop-2008.0 rel_type: default profile: default/linux/amd64/2008.0/desktop -snapshot: 20080629 +snapshot: 20080806 source_subpath: default/stage1-amd64-2008.0 # Kyron: diff --git a/catalyst/livecd/2008.0/specs/amd64/stage3-desktop.spec b/catalyst/livecd/2008.0/specs/amd64/stage3-desktop.spec index ddc9ac9..5a37872 100644 --- a/catalyst/livecd/2008.0/specs/amd64/stage3-desktop.spec +++ b/catalyst/livecd/2008.0/specs/amd64/stage3-desktop.spec @@ -3,7 +3,7 @@ target: stage3 version_stamp: desktop-2008.0 rel_type: default profile: default/linux/amd64/2008.0/desktop -snapshot: 20080629 +snapshot: 20080806 source_subpath: default/stage2-amd64-desktop-2008.0 # Kyron: diff --git a/catalyst/nfsroot/2008.0/scripts/nfsroot_setup.sh b/catalyst/nfsroot/2008.0/scripts/nfsroot_setup.sh index bd7157f..569e721 100644 --- a/catalyst/nfsroot/2008.0/scripts/nfsroot_setup.sh +++ b/catalyst/nfsroot/2008.0/scripts/nfsroot_setup.sh @@ -4,11 +4,15 @@ . /sbin/functions.sh -kernel_links() -{ +eeinfo(){ einfo "=====================================" - einfo "Correcting kernel and initramfs links" + einfo "$*" einfo "=====================================" +} + +kernel_links() +{ + eeinfo "Correcting kernel and initramfs links" cd /boot ln -s kernel-* vmlinuz ln -s initramfs-* initramfs @@ -17,9 +21,7 @@ kernel_links() unionfs_prep() { - einfo "=====================================" - einfo "=adding unionfs required dirs========" - einfo "=====================================" + eeinfo "=adding unionfs required dirs========" # for I in etc var tmp # do mkdir -p /mnt/rw_mounts/ @@ -52,9 +54,7 @@ change_opt() { } openrc_diskless_setup() { - einfo "=====================================" - einfo "=Setting up default RC configs=======" - einfo "=====================================" + eeinfo "=Setting up default RC configs=======" # /etc/rc.conf for I in 'rc_parallel="yes"' 'rc_depend_strict="NO"' 'rc_tty_number=2' @@ -66,7 +66,7 @@ openrc_diskless_setup() { change_opt 'wipe_tmp="NO"' /etc/conf.d/bootmisc # /etc/conf.d/net - echo 'dhcpcd_eth0="-p --inform"' >> /etc/conf.d/net + echo 'dhcpcd_eth0="--renew --persistent"' >> /etc/conf.d/net # Set clock to localtime as default @@ -84,27 +84,33 @@ openrc_diskless_setup() { einfo "Moving dates to the past so the Cache isn't always regenerated" find /etc/ -exec touch --date=yesterday {} \; - } setup_services() { # Pre-generating sshd keys can be the source of philosophical debates: - einfo "=====================================" - einfo "=Pre-generating sshd keys============" - einfo "=====================================" + eeinfo "=Pre-generating sshd keys============" . /etc/init.d/sshd gen_keys # ln -s /etc/runlevels/default /etc/runlevels/unionfs } dash_is_sh() { - einfo "=====================================" - einfo "=Replacing sh with dash==============" - einfo "=====================================" + eeinfo "=Replacing sh with dash==============" rm /bin/sh ln -s /bin/dash /bin/sh } +clear_resolv.conf(){ + # we don't want the buildhost's resolv.conf to lie around and confuse things + eeinfo "=Clearing our resolv.conf============" + echo "" > /etc/resolv.conf +} + +setup_ntp-client(){ + eeinfo "=Configuring ntp-client==============" + sed -ie 's:NTPCLIENT_OPTS=.*:NTPCLIENT_OPTS="-s -b -u master.gentoo.local":' /etc/conf.d/ntp-client +} + #kernel_links dash_is_sh unionfs_prep @@ -114,9 +120,7 @@ openrc_diskless_setup setup_services # TEMPORARY for testing: -einfo "=====================================" -einfo "=Changing root password==============" -einfo "=====================================" +eeinfo "=Changing root password==============" echo root:test | chpasswd exit 0 diff --git a/catalyst/nfsroot/2008.0/specs/amd64/nfsroot_stage4.spec b/catalyst/nfsroot/2008.0/specs/amd64/nfsroot_stage4.spec index 815bbc4..9998844 100644 --- a/catalyst/nfsroot/2008.0/specs/amd64/nfsroot_stage4.spec +++ b/catalyst/nfsroot/2008.0/specs/amd64/nfsroot_stage4.spec @@ -11,7 +11,8 @@ subarch: amd64 # The version stamp is an identifier for the build. It can be anything you wish# it to be, but it is usually a date. # example: # version_stamp: 2006.1 -version_stamp: nfsroot-20080629 +#version_stamp: nfsroot-20080629 +version_stamp: nfsroot-20080806 # The target specifies what target we want catalyst to do. For building a CD, # we start with stage4 as our target. @@ -33,8 +34,7 @@ profile: default/linux/amd64/2008.0/ # This specifies which snapshot to use for building this target. # example: -# snapshot: 2006.1 -snapshot: 20080629 +snapshot: 20080806 # This specifies where the seed stage comes from for this target, The path is # relative to $clst_sharedir/builds. The rel_type is also used as a path prefix# for the seed. @@ -107,6 +107,7 @@ stage4/packages: net-misc/dhcpcd app-shells/dash sys-process/vixie-cron + net-dns/bind-tools # Clustering stuff: sys-cluster/c3 sys-cluster/openmpi @@ -135,7 +136,7 @@ stage4/splash_theme: # defined in this target. It is useful for passing arguments to genkernel that # are not otherwise available via the stage4-stage2 spec file. # (ET): The nfsroot kernel does not use initrd for the moment so let's not waste time building -stage4/gk_mainargs: --makeopts=-j5 --symlink --no-busybox --no-initrdmodules +stage4/gk_mainargs: --makeopts=-j5 --symlink --no-busybox --no-initrdmodules --no-splash # This option allows you to specify your own linuxrc script for genkernel to use# when building your CD. This is not checked for functionality, so it is up to # you to debug your own script. We do not use one for the official release diff --git a/catalyst/nfsroot/2008.0/specs/amd64/stage1.spec b/catalyst/nfsroot/2008.0/specs/amd64/stage1.spec index 44c0674..a5c35e2 100644 --- a/catalyst/nfsroot/2008.0/specs/amd64/stage1.spec +++ b/catalyst/nfsroot/2008.0/specs/amd64/stage1.spec @@ -3,7 +3,7 @@ target: stage1 version_stamp: 2008.0 rel_type: default profile: default/linux/amd64/2008.0 -snapshot: 20080629 +snapshot: 20080806 source_subpath: drobbins/stage3-amd64-2008.06.27 # Kyron: diff --git a/catalyst/nfsroot/2008.0/specs/amd64/stage2.spec b/catalyst/nfsroot/2008.0/specs/amd64/stage2.spec index 61c9fe9..9612e94 100644 --- a/catalyst/nfsroot/2008.0/specs/amd64/stage2.spec +++ b/catalyst/nfsroot/2008.0/specs/amd64/stage2.spec @@ -3,7 +3,7 @@ target: stage2 version_stamp: 2008.0 rel_type: default profile: default/linux/amd64/2008.0 -snapshot: 20080629 +snapshot: 20080806 source_subpath: default/stage1-amd64-2008.0 # Kyron: diff --git a/catalyst/nfsroot/2008.0/specs/amd64/stage3.spec b/catalyst/nfsroot/2008.0/specs/amd64/stage3.spec index fa7bbe7..4b86af8 100644 --- a/catalyst/nfsroot/2008.0/specs/amd64/stage3.spec +++ b/catalyst/nfsroot/2008.0/specs/amd64/stage3.spec @@ -3,7 +3,7 @@ target: stage3 version_stamp: 2008.0 rel_type: default profile: default/linux/amd64/2008.0/ -snapshot: 20080629 +snapshot: 20080806 source_subpath: default/stage2-amd64-2008.0 # Kyron: diff --git a/overlay/net-nds/ldap-auth/Manifest b/overlay/net-nds/ldap-auth/Manifest index cf71d8e..1d4e729 100644 --- a/overlay/net-nds/ldap-auth/Manifest +++ b/overlay/net-nds/ldap-auth/Manifest @@ -1,3 +1,3 @@ -AUX cluster_ldap_skel.conf 3842 RMD160 de4593c0dd3dddaf72d1c47f13353f03805abac6 SHA1 2a5684b4cd10fb24e20a484fbe13efc9169050c3 SHA256 31c275547ac260ec41a52f2b620a90625bf26cc2304090f0cf4aad6f5110f37f -EBUILD ldap-auth-0.1.ebuild 13518 RMD160 714498bdca8368ae924b93fafc603cb63439ab30 SHA1 5e623dcbe98020a9af7ce3b4c2c45a9e9aec2c8a SHA256 52f9f8d7f27e1a80e87ba91c35e2136c60d1e5a576a22ed4b4e34001f475fc69 +AUX cluster_ldap_skel.conf 4069 RMD160 f383130b4b41aa901ba002572575898ad8328f75 SHA1 f2c8a0aa2d3d15458e09a8dfc801eca59cc6a505 SHA256 11fda02a86821caf073345ff22857e74f280a4a48dd8072cf352dae5a336881f +EBUILD ldap-auth-0.1.ebuild 13598 RMD160 3b14c80e3ce44f49c77c80d9f02bfb27af5d61bd SHA1 4ccbeb998e35f1b5937d407e37f30ce8953c202e SHA256 5e1c16655d8b9c5ab99f64c86019a0255cc60396e8e14b75452f4d9b3739df6c MISC ChangeLog 96 RMD160 33378f096bd5ea216ab1105e8293de02bf385f3c SHA1 71bc3c85f819f3ac9f7a403bb7eb56a7f75bc0e3 SHA256 71b814def53b860a9afb5aee0eb35f95f6aa5302ebdb89455e2ca0ec3f7774a6 diff --git a/overlay/sys-cluster/beowulf-head/Manifest b/overlay/sys-cluster/beowulf-head/Manifest index 624b088..618925d 100644 --- a/overlay/sys-cluster/beowulf-head/Manifest +++ b/overlay/sys-cluster/beowulf-head/Manifest @@ -1,3 +1,3 @@ AUX cluster.conf 2393 RMD160 2ccb24e8f2cb83d8a002fc239d0be6bb7968ed4d SHA1 ad4cc8ff8b8f2f4270755f387228efb0cc63c048 SHA256 660478b6763cc3c6190541bb46d5d17a01a5e366ac8ce84551d1ae31f2eb1673 -EBUILD beowulf-head-0.1.ebuild 5162 RMD160 c3ef0816cb2165489727773529fe2dc4f4e86b70 SHA1 c796f1d21f6eb0178f6fe6bfd9c8cb69b74028ac SHA256 c9bf21baeaddd5efbe766bf21d752c4196c69dea33f1c569873c9f856a7ac5ae +EBUILD beowulf-head-0.1.ebuild 6118 RMD160 603098747d9f6364ebbf366db57aff0bc2ab2f02 SHA1 a7e7bfad77e95ab6a872ee34a4412c4e57255fb3 SHA256 7220faed9f98222b04e6aa182d2bb9a6539db5ea59756980c2b7ed3be0960cf4 MISC ChangeLog 101 RMD160 d735719ccc09237e68e4e984eb5451000b06c382 SHA1 79098d1e8ae451f0430d363da6b717966ade6e78 SHA256 8dd010e2772026c4a6b86839842931b99c85c44a5e9f380864cc275b55587ac2 diff --git a/overlay/sys-cluster/beowulf-head/beowulf-head-0.1.ebuild b/overlay/sys-cluster/beowulf-head/beowulf-head-0.1.ebuild index ba15430..bdc1252 100644 --- a/overlay/sys-cluster/beowulf-head/beowulf-head-0.1.ebuild +++ b/overlay/sys-cluster/beowulf-head/beowulf-head-0.1.ebuild @@ -17,7 +17,8 @@ RDEPEND="net-nds/ldap-auth net-dns/dnsmasq net-misc/sipcalc net-fs/nfs-utils - sys-cluster/c3" + sys-cluster/c3 + net-dns/openresolv" CONFPATH="/etc/gentoo" CONFIG_FILE="cluster.conf" @@ -29,9 +30,11 @@ get_ip_config() CLUSTER_ETH_IP="$(sipcalc ${CLUSTER_ETH} | egrep 'Host address\W*-' | cut -d- -f2)" RANGE_START="$(sipcalc ${CLUSTER_ETH} | egrep 'Host address\W*-' | cut -d- -f2)" IPSTART="${RANGE_START%.*}.$(( ${RANGE_START##*.} +1 ))" - IPSTOP="$(sipcalc ${CLUSTER_ETH} | egrep 'Usable range\W*-' | cut -d- -f3)" - SUBNET="$(sipcalc ${CLUSTER_ETH} | egrep 'Network mask\W*-' | cut -d- -f2)" - NETADDR="$(sipcalc ${CLUSTER_ETH} | egrep 'Network address' | cut -d- -f2)" + IPSTOP="$( sipcalc ${CLUSTER_ETH} | egrep 'Usable range\W*-' | cut -d- -f3)" + SUBNET="$( sipcalc ${CLUSTER_ETH} | egrep 'Network mask\W*-' | cut -d- -f2)" + NETADDR="$( sipcalc ${CLUSTER_ETH} | egrep 'Network address' | cut -d- -f2)" + NODECOUNT="$(sipcalc ${CLUSTER_ETH} | egrep 'Addresses in network'| cut -d- -f2)" + # We have to clean up the vars from spaces: CLUSTER_ETH_IP=${CLUSTER_ETH_IP// } RANGE_START=${RANGE_START// } @@ -44,27 +47,36 @@ get_ip_config() dnsmasq_conf() { cat > ${ROOT}/etc/dnsmasq.conf <<-EOF - + # For the sake of non-duplication of documentation, please view the dnsmasq manpage for a description of these options. # Public interface except-interface=$PUBETH + + # We are the authoritative DHCP server for this network + dhcp-authoritative # Set up the local-only domain - local=/${LOCALDOMAINNAME}/ + local=/${LOCALDOMAINNAME}/127.0.0.1 domain=$LOCALDOMAINNAME expand-hosts + # We need the following to retain dhcp served resolution info: + resolv-file=/etc/dnsmasq-resolv.conf + # Some netiquette: domain-needed bogus-priv + enable-tftp + tftp-root=${TFTPROOT} + # Send RFC-3397 DNS domain search DHCP option. WARNING: Your DHCP client # probably doesn't support this...... (option 119) dhcp-option=119,$LOCALDOMAINNAME # Domain DNS name dhcp-option=15,$LOCALDOMAINNAME - enable-tftp - tftp-root=${TFTPROOT} + # set the master node as the NTP server + dhcp-option=option:ntp-server,0.0.0.0 ### Node definitions, this could be in a separate file # Turn on the DHCP server, pass out addresses from $IPSTART to $IPSTOP @@ -78,12 +90,12 @@ dnsmasq_conf() # This tells the clients the hostname and IP of the TFTP server dhcp-boot=${PXELINUX},$(hostname),$CLUSTER_ETH_IP - # We are the authoritative DHCP server for this network - dhcp-authoritative - # address and root path of NFS server dhcp-option=17,$CLUSTER_ETH_IP:${NFSROOT} + # The default is 150, which is quite low if one wants a cluster with more than 150 nodes. + dhcp-lease-max=$NODECOUNT + EOF } @@ -156,6 +168,14 @@ nfs_root_conf() } +resolv_conf() +{ + cat >> /etc/resolvconf/resolv.conf.d/base <<-EOF + search $LOCALDOMAINNAME + nameserver 127.0.0.1 + EOF +} + parse_config() { [[ -f ${1} ]] || die "${1} missing!!! re-emerge ${PF}" @@ -186,6 +206,7 @@ pkg_config() parse_config "${CONFPATH}/${CONFIG_FILE}" get_ip_config dnsmasq_conf + resolv_conf pxe_conf nfs_root_conf @@ -194,5 +215,11 @@ pkg_config() rc-update add $I default /etc/init.d/$I start done + + elog "Since we just changed a resolvconf file, " + elog "it is required that your main NIC interface be restarted" + elog "or at least a renewal of dhcp be triggered." + elog 'ie: with dhcpcd one calls `dhcpcd -n eth0`' + elog "You will then want to restart dnsmasq." } |