Author: rmeggins
Update of /cvs/dirsec/adminserver/admserv/newinst/src
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv15379
Added Files:
updateconsoleinfo.map.in
Log Message:
Resolves: bug 252190
Bug Description: 7.1 to 8.0 Migration Bug
Reviewed by: nhosoi (Thanks!)
Fix Description: Lots of issues
1) Instead of using Net::Domain::hostname() for the hostname to use for server
identifiers, we must use the leftmost component of the FullMachineName specified by the
user. One of the reasons is that hostname() and hostfqdn() can give different results
such that hostname() is not the leftmost component of hostfqdn(). And we should just use
whatever the user specifies. This required several changes to the mapfiles, and a change
to the maptable processing, to process the perl code to eval last, so that we can use
token substitutions from the inf file and from hard coded strings.
2) We need to add the global preferences stuff, during migration, in order for the console
to function. We cannot rely on the migrated o=NetscapeRoot data because we have to make
sure we specify the new jar files to use. In addition, we need to migrate over any
customizations that the user has made to these preferences. This is handled by the new
updateConsoleInfo function called during admin server migration.
3) There were several resources for messages missing. These have been added.
4) With the new perl only ds instance creation code, there will actually be data in the
database even though the server is not started. This is what I believe was causing the
error_removing_temp_db_files error. So now, the code will only attempt to remove plain
files, not directories that could be globbed.
5) Use /opt/brand-ds for the old server root instead of /opt/pkgname.
6) The migration log should use [Migration} not [Setup]
7) migration should not report a fatal error upon success
Platforms tested: RHEL4
Flag Day: no
Doc impact: no
QA impact: should be covered by regular nightly and manual testing
New Tests integrated into TET: none
--- NEW FILE updateconsoleinfo.map.in ---
# BEGIN COPYRIGHT BLOCK
# This Program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation; version 2 of the License.
#
# This Program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along with
# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA 02111-1307 USA.
#
# Copyright (C) 2007 Red Hat, Inc.
# All rights reserved.
# END COPYRIGHT BLOCK
#
# Use this map with 02globalpreferences.ldif.tmpl, to
# update/migrate console information.
# tells how to replace %...% tokens in those ldif.tmpl files.
#
# [Parameter resolution rules]
# * If the right-hand value is in ` (backquote), the value is eval'ed by perl.
# The output should be stored in $returnvalue to pass to the internal hash.
# * If the right-hand value is in " (doublequote), the value is passed as is.
# * If the right-hand value is not in any quote, the value should be found
# in either of the setup inf file (static) or the install inf file (dynamic).
# * The right-hand value could have the format Key:"default_value".
# In this case, Key is searched in the inf files first.
# If the Key is not found, the default_value is set.
# * Variables surrounded by @ (e.g., @configdir@) are replaced with the
# system path at the compile time.
# * The right-hand value can contain variables surrounded by % (e.g., %asid%)
# which refers the right-hand value (key) of this map file.
#
domain = AdminDomain
brand = Brand
normbrand = NormBrand
as_baseversion = BaseVersion
ds_baseversion = BaseVersion
console_version = ConsoleVersion
ds_console_jar = "%normbrand%-ds-%ds_baseversion%.jar"
fqdn = "not_used_for_updateconsoleinfo"
ds_port = "not_used_for_updateconsoleinfo"
ds_suffix = "not_used_for_updateconsoleinfo"