|
From: Shprentz, J. [C] <Shp...@ni...> - 2002-09-24 22:39:43
|
I finally had a chance to try installing Arusha on a sacrificial virgin machine. Here are a few notes from my trials ... I installed Solaris 2.8 on a Netra t1 connected to a private network. This will be the gold server, so I named it gold. The two local disk partitions are / and /._disk1. Prerequisite software gcc, Perl, and Python (with PyXml) were installed in /usr/local, their default locations. I unpacked the Arusha tarballs and decided to check everything into CVS before proceeding. I installed CVS in /usr/local. Following the Sidai team notes on booting ARK stuff, I copied and modified the sidai/sysadmin-utils/add-perhost-ark-dirs.sample script. I changed OWNER from partain to shprentj. I ran the script and admired the results. The Arusha documentation is a little sketchy on what to do next. I studied the sample1 team and its try-ark script to understand the installation of Arusha by Arusha. Try-ark performs a number of sanity checks and then runs the distribution copy to reveal a working copy. The key lines are near the bottom of the script: cd $ARK_SRC/ARK/arkbase ./arkcmd package reveal --verbose --use-deps=max arkbase < /dev/null I copied this script and renamed it setup-ark-on-gold. I removed some of the code specific to maintaining a test environment. In the sample1 team, revealing arkbase requires ALL.xml and three packages (ark-prereq-utils.xml, ark-site-gen.xml, and arkbase.xml). I copied newer versions of these package files from the verilab2 team to the package directory of my own team. In the host directory, I copied ALL.xml, sparc-solaris.xml, sparc-solaris8.xml, std-sparc-solaris.xml, sun-ultra60.xml, and hermione.xml from verilab2. I renamed sun-ultra60.xml to sun-netra-t1.xml and hermione.xml to gold.xml to match our equipement. I edited these files, making the obvious network address changes, etc. Finally (I hoped), I copied the verilab2 team.xml file to my team.xml. I delete the <site-spec><table> stuff for now. A few edits were needed: contacts, ARK_SRC, ark-sysadmin-group, and ark-sysadmin-group-must-be. I proudly ran setup-ark-on-gold and learned that "ARK_PROFILE file not where it is expected." Oops. I created ~/.ark_profile and defined the ARK_PROFILE environment variable. On the next run, I learned that my primary group must match the group specified by ark-sysadmin-group-must-be. I corrected that in /etc/passwd, logged out, logged in, and ran setup-ark-on-gold again. After defining my ARK_PROFILE environment variable again, Arusha ran (a little). it was time to delve into Arusha. Arusha complained that a "CVS entry is badly formed." I had checked in the Arusha distributions with the -ko option to retain the original CVS keyword expansions. This displeased event.py. Index: ARK/arkbase/ark/event.py =================================================================== RCS file: /d/cvs/arusha/arusha/ARK/arkbase/ark/event.py,v retrieving revision 1.1.1.1 diff -r1.1.1.1 event.py 283c283 < if len(words) != 6 or words[0] != '' or words[4] != '' or words[5] != '\n': --- > if len(words) != 6 or words[0] != '' or words[4] not in ['', "-ko"] or words[5] != '\n': My next challenge was understanding why Arusha complained about directories like /our/.-ark-deploy, which were not mentioned in add-perhost-ark-dirs.sample or the HTML documentation. The explanation was that verilabs2 lists different directories than glasli1 or the documentation. I "corrected" the deploy directories in team.xml: Index: gateway/team.xml =================================================================== RCS file: /d/cvs/arusha/arusha/gateway/team.xml,v retrieving revision 1.1 diff -r1.1 team.xml 23,24c23,24 < <entry name="OUR_DEPLOY"> /our/.-ark-deploy </entry> < <entry name="ROOT_DEPLOY"> /.-ark-deploy </entry> --- > <entry name="OUR_DEPLOY"> /.-ark-deploy </entry> > <entry name="ROOT_DEPLOY"> /.-ark-deploy-root </entry> As Arusha installed itself, it created three new directories in /d: ark-builds, ark-gen-pkg, and ark-state. It had some trouble creating /d/ark-gen-pkg/arkbase because /d/ark-gen-pkg had not yet been created. Following the approach used elsewhere, I added -p to the mkdir options. Note that if /d is an automount point, as recommended, these directories should be defined before installing Arusha. Index: ARK/ark-site-gen/Makefile.in =================================================================== RCS file: /d/cvs/arusha/arusha/ARK/ark-site-gen/Makefile.in,v retrieving revision 1.1.1.1 diff -r1.1.1.1 Makefile.in 65,66c65 < $(MKDIR) $(arkbase_dir) < $(MKDIR) $(arkbase_dir)/ark --- > $(MKDIR) -p $(arkbase_dir)/ark I was installing Arusha on a virgin machine, but Arusha was configured to look for tar, gcc, and other programs in the places where it would later install them. Some packages specified a boot version of these utilities, but, perversely, these three basic Arusha packages did not. A few parameter definitions fixed these problems (at the rate of one parameter per run). Index: sidai/package/ark-prereq-utils.xml =================================================================== RCS file: /d/cvs/arusha/arusha/sidai/package/ark-prereq-utils.xml,v retrieving revision 1.1.1.1 diff -r1.1.1.1 ark-prereq-utils.xml 48a49,54 > <create-golden-copy> > <param name="TAR">@proxy-host:GNU-TAR-BOOT@</param> > <param name="SUDO">no-sudo-for-me</param> > </create-golden-copy> > > <!-- ..................................................... --> Index: sidai/package/ark-site-gen.xml =================================================================== RCS file: /d/cvs/arusha/arusha/sidai/package/ark-site-gen.xml,v retrieving revision 1.1.1.1 diff -r1.1.1.1 ark-site-gen.xml 90a91,96 > <create-golden-copy> > <param name="TAR">@proxy-host:GNU-TAR-BOOT@</param> > <param name="SUDO">no-sudo-for-me</param> > </create-golden-copy> > > <!-- ..................................................... --> 101a108,111 > <param name="cc">@proxy-host:CC-BOOT@</param> > <param name="cflags">@proxy-host:CFLAGS-BOOT@</param> > <param name="cxx">@proxy-host:CXX-BOOT@</param> > <param name="cppflags">@proxy-host:CPPFLAGS-BOOT@</param> Index: gateway/package/arkbase.xml =================================================================== RCS file: /d/cvs/arusha/arusha/gateway/package/arkbase.xml,v retrieving revision 1.1 diff -r1.1 arkbase.xml 15a16,47 > > <!-- ..................................................... --> > <compile> > <param name="MAKE">@proxy-host:MAKE-BOOT@</param> > <param name="cc">@proxy-host:CC-BOOT@</param> > <param name="cxx">@proxy-host:CXX-BOOT@</param> > <param name="cppflags">@proxy-host:CPPFLAGS-BOOT@</param> > <param name="cflags">@proxy-host:CFLAGS-BOOT@</param> > <param name="ldflags">@proxy-host:LDFLAGS-BOOT@</param> > </compile> > > <!-- in case it decides to compile something...(timestamp problems) --> > <install-bits> > <param name="MAKE">@proxy-host:MAKE-BOOT@</param> > <param name="cc">@proxy-host:CC-BOOT@</param> > <param name="cxx">@proxy-host:CXX-BOOT@</param> > <param name="cppflags">@proxy-host:CPPFLAGS-BOOT@</param> > <param name="cflags">@proxy-host:CFLAGS-BOOT@</param> > <param name="ldflags">@proxy-host:LDFLAGS-BOOT@</param> > </install-bits> > > <!-- ..................................................... --> > <create-golden-copy> > <param name="TAR">@proxy-host:GNU-TAR-BOOT@</param> > <param name="SUDO">no-sudo-for-me</param> > </create-golden-copy> > > <!-- ..................................................... --> > <create-manifest> > <param name="MD5SUM">@proxy-host:MD5SUM-BOOT@</param> > </create-manifest> > I'm not sure that these entries are in the right place, but they worked. I will soon find out how they play on the second host. Actually, they worked only after I fixed some definitions in my hosts/ALL.xml file. Apparently I do not have a decent gcc yet. Index: gateway/host/ALL.xml =================================================================== RCS file: /d/cvs/arusha/arusha/gateway/host/ALL.xml,v retrieving revision 1.1 114,118c114,115 < <!-- used to be: @team:ark-dirs:ARK_BOOT@/bin/gcc --> < <!-- and @team:ark-dirs:ARK_BOOT@/bin/g++ --> < <!-- but we have a decent gcc now, so lets use it --> < <CC-BOOT>/our/bin/gcc</CC-BOOT> < <CXX-BOOT>/our/bin/g++</CXX-BOOT> --- > <CC-BOOT>@team:ark-dirs:ARK_BOOT@/bin/gcc</CC-BOOT> > <CXX-BOOT>@team:ark-dirs:ARK_BOOT@/bin/g++</CXX-BOOT> 186a184 > <GNU-TAR-BOOT>/usr/bin/tar</GNU-TAR-BOOT> At the end of the day, Arusha is installed. Tomorrow I will rip it out and confirm that the installation can run from start to finish without error. -- Joel Shprentz National Imagery and Mapping Agency Mailstop N-17 Washington Navy Yard, Building 213 1200 First Street, SE Washington, DC 20303-0001 202-685-3534 |