The Puppet Labs Issue Tracker has Moved: https://tickets.puppetlabs.com

Bug #14162

Solaris 10 installer for PE 2.5.1 barfs

Added by Jeff Blaine over 2 years ago. Updated about 2 years ago.

Status:ClosedStart date:04/24/2012
Priority:HighDue date:
Assignee:Moses Mendoza% Done:

0%

Category:installer
Target version:Commercial edition - PE 2.5.2
Keywords: Affected URL:
Branch: Affected PE version:2.0.0

We've Moved!

Ticket tracking is now hosted in JIRA: https://tickets.puppetlabs.com

This issue is currently not available for export. If you are experiencing the issue described below, please file a new ticket in JIRA. Once a new ticket has been created, please add a link to it that points back to this Redmine ticket.


Description

# ./puppet-enterprise-installer -D -l ../pe.log
========================================================================

Puppet Enterprise v2.5.1 installer

Puppet Enterprise documentation can be found at http://links.puppetlabs.com/puppet_enterprise_2.5_documentation

------------------------------------------------------------------------

STEP 1: SELECT AND CONFIGURE ROLES


solaris 10 only supports agent installation.
?? Puppet agent needs a unique name ("certname") for its
   certificate; this can be an arbitrary string. Certname for this
   node? [Default: cairo.our.org. our.org] cairo.our.org
?? Puppet master hostname to connect to? [Default: puppet] rcf-cm-master.our.org

-> Convenience Links

   The selected Puppet software will be installed into
   "/opt/puppet", which may not be included in your default shell
   PATH. For ease of use, this installer can create symbolic links
   to these executables in "/usr/local/bin".

?? Create symbolic links to Puppet executables in "/usr/local/bin"?
   [Y/n] n

------------------------------------------------------------------------

STEP 2: CONFIRM PLAN

You have selected to install the following components (and their dependencies)
* Puppet Agent

?? Perform installation? [Y/n] y
./puppet-enterprise-installer: line 1789: ${ANSWER_FILE_TO_SAVE?}: ambiguous redirect

========================================================================

!! ERROR: Cancelling installation

========================================================================

Related issues

Related to Puppet Enterprise (Public) - Bug #14164: Solaris 10 SPARC installer for PE 2.5.1 -- wrong hostname... Merged - Pending Release 04/24/2012

History

#1 Updated by Jeff Blaine about 2 years ago

Anyone? Ideas? Dead in the water here for 9 days.

#2 Updated by Jeff Blaine about 2 years ago

Here’s the problem. You’re botching the hostname/domain name, apparently assuming that the hostname is always set to non-FQDN. All of our hosts are FQDN’d hostnames (which is a known proper practice, BTW).

+ ANSWER_FILE_TO_SAVE='./answers.lastrun.cairo.our.org.               our.org'
+ '[' '!' -z './answers.lastrun.cairo.our.org.                our.org' ']'
+ touch ./answers.lastrun.cairo.our.org. our.org
+ chmod 600 ./answers.lastrun.cairo.our.org. our.org
+ set
+ egrep '^q_'
./puppet-enterprise-installer: line 1789: ${ANSWER_FILE_TO_SAVE?}: ambiguous redirect

#3 Updated by Nigel Kersten about 2 years ago

  • Status changed from Unreviewed to Accepted
  • Assignee set to Matthaus Owens

Haus, raising visibility of this ticket.

#4 Updated by Matthaus Owens about 2 years ago

  • Assignee changed from Matthaus Owens to Moses Mendoza
  • Target version set to PE 2.5.2

Jeff, thanks for raising the issue. The FQDN work there is mainly because solaris doesn’t take hostname -f (well it does but it just changes the hostname to -f, which is usually undesirable).

#5 Updated by Matthaus Owens about 2 years ago

  • Subject changed from Solaris 10 SPARC installer for PE 2.5.1 barfs to Solaris 10 installer for PE 2.5.1 barfs
  • Affected PE version set to 2.0.0

#6 Updated by Moses Mendoza about 2 years ago

  • Status changed from Accepted to In Topic Branch Pending Review

#7 Updated by Matthaus Owens about 2 years ago

  • Status changed from In Topic Branch Pending Review to Merged - Pending Release

#8 Updated by Jeff Blaine about 2 years ago

Also, FWIW


    if [ -z "${PLATFORM_HOSTNAME:-""}" ]; then
        case "${PLATFORM_NAME?}" in
            solaris)
                # Calling hostname --fqdn on solaris will set the hostname to '--fqdn' so we don't do that.
                t_fqdn=`sed -n 's/^\ *domain\ *\(.*\)$/\1/p' /etc/resolv.conf`
                t_host=`uname -n`
                if [ -z $t_fqdn ]; then
                    PLATFORM_HOSTNAME=${t_host?}
                else
                    PLATFORM_HOSTNAME="${t_host?}.${t_fqdn:-''}"
                fi

                PLATFORM_HOSTNAME_SHORT=${t_host?}
                ;;

t_fqdn is a misleading variable name for what you’re using it for.

You mean to use t_domainname or something similar.

A FQDN, by definition, is of the form: hostname.domainname

As seen in the comment line in your code above, I see you’ve already tried to address this issue (14162), which makes me wonder what ‘hostname’ call you are referring to in this fix that has been merged. For Solaris, you already are NOT calling the hostname command (good!).

I can’t see the changes you committed (404 error for me), but you cannot assume that uname -n will return the short hostname of a host, ever. There is no requirement that it must do that.

I believe that is your issue here.

If I were to implement this, as I understand your goal:

    if `uname -n` has a period in it
        1. set PLATFORM_HOSTNAME to full string and set PLATFORM_HOSTNAME_SHORT to everything in the string up to the first period
    else
        1. set PLATFORM_HOSTNAME_SHORT to the full string
        2. somehow find the domain name, ask if need be!
        3. set PLATFORM_HOSTNAME to PLATFORM_HOSTNAME_SHORT.DOMAINNAME

#9 Updated by Matthaus Owens about 2 years ago

  • Status changed from Merged - Pending Release to Closed

Released in PE 2.5.2

Also available in: Atom PDF