AppLogic 2.7/2.8 Documentation The latest production release is AppLogic 3.0.30
Implementation Notes
Base Class
LUX[5/64] are base classes. The appliances are built using iso2class and hvm2pv utils.
Class Volumes
The boot volumes are based on 32/64-bit CentOS 5.0. Below is a list of the software packages installed on LUX5 and LUX64.
Installed Packages.
LUX5
- audit-libs-1.3.1-1.el5.i386.rpm (LGPL)
- basesystem-8.0-5.1.1.el5.centos.noarch.rpm (public domain)
- bash-3.1-16.1.i386.rpm (GPL)
- beecrypt-4.1.2-10.1.1.i386.rpm (LGPL)
- bzip2-1.0.3-3.i386.rpm (BSD)
- bzip2-libs-1.0.3-3.i386.rpm (BSD)
- centos-release-5-0.0.el5.centos.2.i386.rpm (GPL)
- centos-release-notes-5.0.0-2.i386.rpm (GPL)
- chkconfig-1.3.30.1-1.i386.rpm (GPL)
- coreutils-5.97-12.1.el5.i386.rpm (GPL)
- cpio-2.6-20.i386.rpm (GPL)
- cracklib-2.8.9-3.1.i386.rpm (Artistic)
- cracklib-dicts-2.8.9-3.1.i386.rpm (Artistic)
- crontabs-1.10-8.noarch.rpm (Public Domain)
- cyrus-sasl-lib-2.1.22-4.i386.rpm (Freely Distributable)
- db4-4.3.29-9.fc6.i386.rpm (GPL)
- device-mapper-1.02.13-1.el5.i386.rpm (GPL)
- dhclient-3.0.5-7.el5.i386.rpm (distributable)
- diffutils-2.8.1-15.2.2.i386.rpm (GPL)
- e2fsprogs-1.39-8.el5.i386.rpm (GPL)
- e2fsprogs-libs-1.39-8.el5.i386.rpm (GPL)
- ed-0.2-38.2.2.i386.rpm (GPL)
- elfutils-libelf-0.125-3.el5.i386.rpm (GPL)
- ethtool-5-1.el5.i386.rpm (GPL)
- expat-1.95.8-8.2.1.i386.rpm (BSD)
- file-4..17-8.2.i386.rpm (distributable)
- filesystem-2.4.0-1.el5.centos.i386.rpm (Public Domain)
- findutils-4.2.27-4.1.i386.rpm (GPL)
- gawk-3.1.5-14.el5.i386.rpm (GPL)
- gdbm-1.8.0-26.2.1.i386.rpm (GPL)
- glib2-2.12.3-2.fc6.i386.rpm (LGPL)
- glibc-2.5-12.2.i386.rpm (LGPL)
- glibc-common-2.5-12.2.i386.rpm (LGPL)
- gpg-pubkey-e8562897-459f07a4.(none).rpm (pubkey)
- grep-2.5.1-54.2.el5.i386.rpm (GPL)
- gzip-1.3.5-9.el5.centos.i386.rpm (GPL)
- info-4.8-14.el5.i386.rpm (GPL)
- initscripts-8.45.14.EL-1.el5.centos.1.i386.rpm (GPL)
- iproute-2.6.18-4.el5.i386.rpm (GNU GPL)
- iputils-20020927-43.el5.i386.rpm (BSD)
- krb5-libs-1.5-23.i386.rpm (MIT, freely distributable.)
- less-394-5.el5.i386.rpm (GPL)
- libacl-2.2.39-1.1.i386.rpm (LGPL)
- libattr-2.4.32-1.1.i386.rpm (LGPL)
- libcap-1.10-26.i386.rpm (BSD-like and LGPL)
- libevent-1.1a-3.2.1.i386.rpm (BSD)
- libgcc-4.1.1-52.el5.2.i386.rpm (GPL)
- libgssapi-0.10-2.i386.rpm (GPL)
- libhugetlbfs-1.0.1-1.el5.i386.rpm (LGPL)
- libhugetlbfs-lib-1.0.1-1.el5.i386.rpm (LGPL)
- libselinux-1.33.4-2.el5.i386.rpm (Public domain (uncopyrighted))
- libselinux-python-1.33.4-2.el5.i386.rpm (Public domain (uncopyrighted))
- libsemanage-1.9.1-3.el5.i386.rpm (GPL)
- libsepol-1.15.2-1.el5.i386.rpm (GPL)
- libstdc++-4.1.1-52.el5.i386.rpm (GPL)
- libsysfs-2.0.0-6.i386.rpm (LGPL)
- libtermcap-2.0.8-46.1.i386.rpm (LGPL)
- libuser-0.54.7-2.el5.1.i386.rpm (LGPL)
- libvolume_id-095-14.5.el5.i386.rpm (GPL)
- logrotate-3.7.4-8.i386.rpm (GPL)
- m2crypto-0.16-6.el5.1.i386.rpm (BSDish)
- MAKEDEV-3.23-1.2.i386.rpm (GPL)
- mcstrans-0.1.10-1.el5.i386.rpm (GPL)
- mingetty-1.07-5.2.2.i386.rpm (GPL)
- mktemp-1.5-23.2.2.i386.rpm (BSD)
- module-init-tools-3.3-0.pre3.1.16.el5.i386.rpm (GPL)
- ncurses-5.5-24.20060715.i386.rpm (distributable)
- net-tools-1.60-73.i386.rpm (GPL)
- newt-0.52.2-9.i386.rpm (LGPL)
- nfs-utils-1.0.9-24.el5.i386.rpm (GPL)
- nfs-utils-lib-1.0.8-7.2.z2.i386.rpm (GPL)
- openldap-2.3.27-5.i386.rpm (OpenLDAP? )
- openssh-4.3p2-16.el5.i386.rpm (BSD)
- openssh-clients-4.3p2-16.el5.i386.rpm (BSD)
- openssh-server-4.3p2-16.el5.i386.rpm (BSD)
- openssl-0.9.8b-8.3.el5.i686.rpm (BSDish)
- pam-0.99.6.2-3.14.el5.i386.rpm (GPL or BSD)
- passwd-0.73-1.i386.rpm (BSD)
- patch-2.5.4-29.2.2.i386.rpm (GPL)
- pcre-6.6-1.1.i386.rpm (BSD)
- perl-5.8.8-10.i386.rpm (Artistic or GPL)
- popt-1.10.2-37.el5.i386.rpm (GPL)
- portmap-4.0-65.2.2.1.i386.rpm (BSD)
- procps-3.2.7-8.1.el5.i386.rpm (GPL)
- psmisc-22.2-5.i386.rpm (BSD/GPL)
- python-2.4.3-19.el5.i386.rpm (PSF - see LICENSE)
- python-elementtree-1.2.6-5.i386.rpm (PSF)
- python-sqlite-1.1.7-1.2.1.i386.rpm (GPL)
- python-urlgrabber-3.1.0-2.noarch.rpm (LGPL)
- readline-5.1-1.1.i386.rpm (GPL)
- rpm-4.4.2-37.el5.i386.rpm (GPL)
- rpm-libs-4.4.2-37.el5.i386.rpm (GPL)
- rpm-python-4.4.2-37.el5.i386.rpm (GPL)
- sed-4.1.5-5.fc6.i386.rpm (GPL)
- setup-2.5.58-1.el5.noarch.rpm (public domain)
- shadow-utils-4.0.17-12.el5.i386.rpm (BSD)
- slang-2.0.6-4.el5.i386.rpm (GPL)
- sqlite-3.3.6-2.i386.rpm (Public Domain)
- sysfsutils-2.0.0-6.i386.rpm (GPL)
- sysklogd-1.4.1-39.2.i386.rpm (GPL)
- SysVinit-2.86-14.i386.rpm (GPL)
- tar-1.15.1-23.el5.i386.rpm (GPL)
- tcpdump-3.9.4-11.el5.i386.rpm (BSD)
- tcp_wrappers-7.6-40.2.1.i386.rpm (Distributable)
- termcap-5.5-1.20060701.1.noarch.rpm (Public Domain)
- tmpwatch-2.9.7-1.1.el5.1.i386.rpm (GPL)
- tzdata-2006m-2.fc6.noarch.rpm (GPL)
- udev-095-14.5.el5.i386.rpm (GPL)
- usermode-1.88-3.el5.i386.rpm (GPL)
- util-linux-2.13-0.44.el5.i386.rpm (distributable)
- vim-minimal-7.0.109-3.i386.rpm (freeware)
- vixie-cron-4.1-66.1.el5.i386.rpm (distributable)
- wget-1.10.2-7.el5.i386.rpm (GPL)
- which-2.16-7.i386.rpm (GPL)
- yum-3.0.5-1.el5.centos.2.noarch.rpm (GPL)
- xen-ukrnl-3.2.2-17.i386.rpm (GPL)
- xen-umods-3.2.2-17.i386.rpm (GPL)
- zlib-1.2.3-3.i386.rpm (BSD)
LUX64
- audit-libs-1.3.1-1.el5.x86_64.rpm (LGPL)
- basesystem-8.0-5.1.1.el5.centos.noarch.rpm (public domain)
- bash-3.1-16.1.x86_64.rpm (GPL)
- beecrypt-4.1.2-10.1.1.x86_64.rpm (LGPL)
- bzip2-1.0.3-3.x86_64.rpm (BSD)
- bzip2-libs-1.0.3-3.x86_64.rpm (BSD)
- centos-release-5-0.0.el5.centos.2.x86_64.rpm (GPL)
- centos-release-notes-5.0.0-2.x86_64.rpm (GPL)
- chkconfig-1.3.30.1-1.x86_64.rpm (GPL)
- coreutils-5.97-12.1.el5.x86_64.rpm (GPL)
- cpio-2.6-20.x86_64.rpm (GPL)
- cracklib-2.8.9-3.1.x86_64.rpm (Artistic)
- cracklib-dicts-2.8.9-3.1.x86_64.rpm (Artistic)
- crontabs-1.10-8.noarch.rpm (Public Domain)
- cyrus-sasl-lib-2.1.22-4.x86_64.rpm (Freely Distributable)
- db4-4.3.29-9.fc6.x86_64.rpm (GPL)
- device-mapper-1.02.13-1.el5.x86_64.rpm (GPL)
- dhclient-3.0.5-7.el5.x86_64.rpm (distributable)
- diffutils-2.8.1-15.2.2.x86_64.rpm (GPL)
- e2fsprogs-1.39-8.el5.x86_64.rpm (GPL)
- e2fsprogs-libs-1.39-8.el5.x86_64.rpm (GPL)
- ed-0.2-38.2.2.x86_64.rpm (GPL)
- elfutils-libelf-0.125-3.el5.x86_64.rpm (GPL)
- ethtool-5-1.el5.x86_64.rpm (GPL)
- expat-1.95.8-8.2.1.x86_64.rpm (BSD)
- file-4..17-8.2.x86_64.rpm (distributable)
- filesystem-2.4.0-1.el5.centos.x86_64.rpm (Public Domain)
- findutils-4.2.27-4.1.x86_64.rpm (GPL)
- gawk-3.1.5-14.el5.x86_64.rpm (GPL)
- gdbm-1.8.0-26.2.1.x86_64.rpm (GPL)
- glib2-2.12.3-2.fc6.x86_64.rpm (LGPL)
- glibc-2.5-12.2.i386.rpm (LGPL)
- glibc-2.5-12.2.x86_64.rpm (LGPL)
- glibc-common-2.5-12.2.x86_64.rpm (LGPL)
- gpg-pubkey-e8562897-459f07a4.(none).rpm (pubkey)
- grep-2.5.1-54.2.el5.x86_64.rpm (GPL)
- gzip-1.3.5-9.el5.centos.x86_64.rpm (GPL)
- info-4.8-14.el5.x86_64.rpm (GPL)
- initscripts-8.45.14.EL-1.el5.centos.1.x86_64.rpm (GPL)
- iproute-2.6.18-4.el5.x86_64.rpm (GNU GPL)
- iputils-20020927-43.el5.x86_64.rpm (BSD)
- iputils-20020927-43.el5.x86_64.rpm (BSD)
- krb5-libs-1.5-23.x86_64.rpm (MIT, freely distributable.)
- less-394-5.el5.x86_64.rpm (GPL)
- libacl-2.2.39-1.1.x86_64.rpm (LGPL)
- libattr-2.4.32-1.1.x86_64.rpm (LGPL)
- libcap-1.10-26.x86_64.rpm (BSD-like and LGPL)
- libevent-1.1a-3.2.1.x86_64.rpm (BSD)
- libgcc-4.1.1-52.el5.2.x86_64.rpm (GPL)
- libgssapi-0.10-2.x86_64.rpm (GPL)
- libhugetlbfs-1.0.1-1.el5.x86_64.rpm (LGPL)
- libhugetlbfs-lib-1.0.1-1.el5.x86_64.rpm (LGPL)
- libselinux-1.33.4-2.el5.x86_64.rpm (Public domain (uncopyrighted))
- libselinux-python-1.33.4-2.el5.x86_64.rpm (Public domain (uncopyrighted))
- libsemanage-1.9.1-3.el5.x86_64.rpm (GPL)
- libsepol-1.15.2-1.el5.x86_64.rpm (GPL)
- libstdc++-4.1.1-52.el5.x86_64.rpm (GPL)
- libsysfs-2.0.0-6.x86_64.rpm (LGPL)
- libtermcap-2.0.8-46.1.x86_64.rpm (LGPL)
- libuser-0.54.7-2.el5.1.x86_64.rpm (LGPL)
- libvolume_id-095-14.5.el5.x86_64.rpm (GPL)
- libxml2-2.6.26-2.1.2.8.x86_64.rpm (MIT)
- logrotate-3.7.4-8.x86_64.rpm (GPL)
- m2crypto-0.16-6.el5.1.x86_64.rpm (BSDish)
- MAKEDEV-3.23-1.2.x86_64.rpm (GPL)
- mcstrans-0.1.10-1.el5.x86_64.rpm (GPL)
- mingetty-1.07-5.2.2.x86_64.rpm (GPL)
- mktemp-1.5-23.2.2.x86_64.rpm (BSD)
- module-init-tools-3.3-0.pre3.1.16.el5.x86_64.rpm (GPL)
- ncurses-5.5-24.20060715.x86_64.rpm (distributable)
- net-tools-1.60-73.x86_64.rpm (GPL)
- newt-0.52.2-9.x86_64.rpm (LGPL)
- nfs-utils-1.0.9-24.el5.x86_64.rpm (GPL)
- nfs-utils-lib-1.0.8-7.2.z2.x86_64.rpm (GPL)
- openldap-2.3.27-5.x86_64.rpm (OpenLDAP? )
- openssh-4.3p2-16.el5.x86_64.rpm (BSD)
- openssh-clients-4.3p2-16.el5.x86_64.rpm (BSD)
- openssh-server-4.3p2-16.el5.x86_64.rpm (BSD)
- openssl-0.9.8b-8.3.el5.x86_64.rpm (BSDish)
- pam-0.99.6.2-3.14.el5.x86_64.rpm (GPL or BSD)
- passwd-0.73-1.x86_64.rpm (BSD)
- patch-2.5.4-29.2.2.x86_64.rpm (GPL)
- pcre-6.6-1.1.x86_64.rpm (BSD)
- perl-5.8.8-10.x86_64.rpm (Artistic or GPL)
- popt-1.10.2-37.el5.x86_64.rpm (GPL)
- portmap-4.0-65.2.2.1.x86_64.rpm (BSD)
- procps-3.2.7-8.1.el5.x86_64.rpm (GPL)
- psmisc-22.2-5.x86_64.rpm (BSD/GPL)
- python-2.4.3-19.el5.x86_64.rpm (PSF - see LICENSE)
- python-elementtree-1.2.6-5.x86_64.rpm (PSF)
- python-iniparse-0.2.3-4.el5.noarch.rpm (MIT)
- python-sqlite-1.1.7-1.2.1.x86_64.rpm (GPL)
- python-urlgrabber-3.1.0-2.noarch.rpm (LGPL)
- readline-5.1-1.1.x86_64.rpm (GPL)
- rpm-4.4.2-37.el5.x86_64.rpm (GPL)
- rpm-libs-4.4.2-37.el5.x86_64.rpm (GPL)
- rpm-python-4.4.2-37.el5.x86_64.rpm (GPL)
- sed-4.1.5-5.fc6.x86_64.rpm (GPL)
- setup-2.5.58-1.el5.noarch.rpm (public domain)
- shadow-utils-4.0.17-12.el5.x86_64.rpm (BSD)
- slang-2.0.6-4.el5.x86_64.rpm (GPL)
- sqlite-3.3.6-2.x86_64.rpm (Public Domain)
- sysfsutils-2.0.0-6.x86_64.rpm (GPL)
- sysklogd-1.4.1-39.2.x86_64.rpm (GPL)
- SysVinit-2.86-14.x86_64.rpm (GPL)
- tar-1.15.1-23.el5.x86_64.rpm (GPL)
- tcpdump-3.9.4-11.el5.x86_64.rpm (BSD)
- tcp_wrappers-7.6-40.2.1.x86_64.rpm (Distributable)
- termcap-5.5-1.20060701.1.noarch.rpm (Public Domain)
- tmpwatch-2.9.7-1.1.el5.1.x86_64.rpm (GPL)
- tzdata-2006m-2.fc6.noarch.rpm (GPL)
- udev-095-14.5.el5.x86_64.rpm (GPL)
- usermode-1.88-3.el5.x86_64.rpm (GPL)
- util-linux-2.13-0.44.el5.x86_64.rpm (distributable)
- vim-minimal-7.0.109-3.x86_64.rpm (freeware)
- vixie-cron-4.1-66.1.el5.x86_64.rpm (distributable)
- wget-1.10.2-7.el5.x86_64.rpm (GPL)
- which-2.16-7.x86_64.rpm (GPL)
- yum-3.2.22-20.el5.centos.noarch.rpm (GPLv2+)
- yum-fastestmirror-1.1.16-13.el5.centos.noarch.rpm (GPLv2+)
- yum-metadata-parser-1.1.2-3.el5.centos.x86_64.rpm (GPLv2)
- xen-ukrnl-3.2.2-17.x86_64.rpm (GPL)
- xen-umods-3.2.2-17.x86_64.rpm (GPL)
- zlib-1.2.3-3.x86_64.rpm (BSD)
Building Procedure
Here are the steps needed to build a LUX[5/64] appliance (tested on AppLogic 2.8.5)
- download an iso image of the first CentOS50 CD
CentOS-5.0-[i386/x86_64]-bin-1of6.iso to the impex volume of a grid
- use iso2class to install from this iso image to a 1 GB volume
- During the category/task selection, select server, and choose the "Customize now" option at the bottom of screen. Then, deselect all packages.
- After the iso2class install is complete, modify the singleton boundary to add the external interface.
- start the singleton and log in through the internal interface using the root password. Configure the external interface
-
yum clean all; rpm --rebuilddb
- use
chkconfig to fix init scripts so that only the following are started: network, syslog, netfs, sshd, crond, local
- Do rpm -qa and compare the installed rpms with the list above. Install the missing rpms and remove the ones that are not present on the list.
- convert the singleton to a PV appliance using hvm2pv
- Install the appropriate domU kernel rpms
- Install prelink-0.3.9-2.1.*.rpm rpm. Do
prelink -a. Remove the prelink rpm
- manage the singleton boot volume and within the filesystem of the mounted volume:
- update
/etc/logrotate.conf, /root/.bashrc, /root/.bash_profile, /appliance/appliance.sh, /etc/sysconfig/applogic_appliance, /etc/ssh/sshd_config, /etc/sysctl.conf, /etc/inittab, /etc/fstab, /etc/passwd*, /etc/shadow*, /etc/sysconfig/network and /etc/ld.so.conf.d/usr_local_lib.conf by referring to LUX[5/64]
-
mkdir /var/log/appliance
- initialize all log files in /var/log
- Remove
/lib/tls
- initialize /etc/resolv.conf
-
rm -rf /usr/share/doc/*; rm -rf /usr/share/man/*
- remove all non-English locale data from /usr/lib/locale and /usr/share/locale
- Cleanup
/tmp, /var/lib/dhclient, /var/log/, /var/run/applogic/, /root/.bash_history
- within the application holding the singleton create a 120MB ext3 volume
- manage the singleton boot volume as
src and the new ext3 volume as dst; use cpio to copy the /usr filesystem of src to dst
- manage the singleton boot volume and remove the /usr filesystem
- Shrink the boot volume to 100MB.
- add a LUX5 instance to an application; branch it and destroy LUX5.boot and LUX5.usr
- copy the singleton boot volume to LUX5.boot and the new ext3 volume to LUX5.usr
- resize LUX5.boot to 270MB and LUX5.usr to 205 MB
- rename the singleton to LUX5; edit its description and doc_url
- move the LUX5 singleton to a catalog
-- ApoorvaKulkarni - 18 Jan 2010
Copyright © CA 2005-2011. All Rights Reserved.