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

Support #15392

Installing PE on Debian Squeeze

Added by Florian Berger about 2 years ago. Updated almost 2 years ago.

Status:Needs More InformationStart date:07/05/2012
Priority:NormalDue date:
Assignee:Matthaus Owens% Done:

0%

Category:-
Target version:-
Keywords: Affected URL:
Branch: Affected PE version:

We've Moved!

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

This ticket may be automatically exported to the ENTERPRISE project on JIRA using the button below:


Description

Hi there,

I installed a Debian 6.0.5 amd64 minimal and then tried to install puppet-enterprise-2.5.1-debian-6-amd64

On the first run i encountered this:

If the database and user have not yet been created on your database server, please log in as a privileged user now and set them up manually. Example SQL commands:

CREATE DATABASE `console` CHARACTER SET utf8;
GRANT ALL PRIVILEGES ON `console`.* TO 'console'@'puppet.sanctuary.local' IDENTIFIED BY '394QbljdZ47Oh27pd3x4';
GRANT ALL PRIVILEGES ON `console`.* TO 'console'@'puppet.sanctuary.local' IDENTIFIED BY '394QbljdZ47Oh27pd3x4';
CREATE DATABASE `console_auth` CHARACTER SET utf8;
GRANT ALL PRIVILEGES ON `console_auth`.* TO 'console_auth'@'puppet.sanctuary.local' IDENTIFIED BY 'WAAzjaDWnnBidZeB4K7t';
GRANT ALL PRIVILEGES ON `console_auth`.* TO 'console_auth'@'puppet.sanctuary.local' IDENTIFIED BY 'WAAzjaDWnnBidZeB4K7t';
CREATE DATABASE `console_inventory_service` CHARACTER SET utf8;
GRANT ALL PRIVILEGES ON `console_inventory_service`.* TO 'console'@'puppet.sanctuary.local' IDENTIFIED BY '394QbljdZ47Oh27pd3x4';
GRANT ALL PRIVILEGES ON `console_inventory_service`.* TO 'console'@'puppet.sanctuary.local' IDENTIFIED BY '394QbljdZ47Oh27pd3x4';

so I took these as stated and created the user and databases. But then the installation failed because of:

## Setting up the console...
ERROR 1007 (HY000) at line 2: Can't create database 'console_auth'; database exists
=============================================================================================================================================================================
!! ERROR: Cancelling installation
=============================================================================================================================================================================

facepalm

So I used the uninstaller to remove whats there, started the installer again, but this time I choose not to create the database users by the script, because I had them already, so I ended up with this answer file:

q_install=y
q_puppet_cloud_install=y
q_puppet_enterpriseconsole_auth_database_name=console_auth
q_puppet_enterpriseconsole_auth_database_password=WAAzjaDWnnBidZeB4K7t
q_puppet_enterpriseconsole_auth_database_user=console_auth
q_puppet_enterpriseconsole_auth_password='personalsuperstrongpassword'
q_puppet_enterpriseconsole_auth_user_email=facepalm@puppet.sanctuary.local
q_puppet_enterpriseconsole_database_host=cain.sanctuary.local
q_puppet_enterpriseconsole_database_install=n
q_puppet_enterpriseconsole_database_name=console
q_puppet_enterpriseconsole_database_password=394QbljdZ47Oh27pd3x4
q_puppet_enterpriseconsole_database_port=3306
q_puppet_enterpriseconsole_database_remote=y
q_puppet_enterpriseconsole_database_user=console
q_puppet_enterpriseconsole_httpd_port=443
q_puppet_enterpriseconsole_install=y
q_puppet_enterpriseconsole_inventory_hostname=puppet.sanctuary.local
q_puppet_enterpriseconsole_inventory_port=8140
q_puppet_enterpriseconsole_master_hostname=puppet.sanctuary.local
q_puppet_enterpriseconsole_setup_db=n
q_puppet_enterpriseconsole_smtp_host=mail.sanctuary.local
q_puppet_enterpriseconsole_smtp_password=
q_puppet_enterpriseconsole_smtp_port=25
q_puppet_enterpriseconsole_smtp_use_tls=n
q_puppet_enterpriseconsole_smtp_user_auth=n
q_puppet_enterpriseconsole_smtp_username=
q_puppet_symlinks_install=y
q_puppetagent_certname=puppet.sanctuary.local
q_puppetagent_install=y
q_puppetagent_server=puppet.sanctuary.local
q_puppetca_install=y
q_puppetmaster_certname=puppet.sanctuary.local
q_puppetmaster_dnsaltnames=puppet,puppet.sanctuary.local
q_puppetmaster_enterpriseconsole_hostname=localhost
q_puppetmaster_enterpriseconsole_port=443
q_puppetmaster_forward_facts=n
q_puppetmaster_install=y
q_vendor_packages_install=n

So I tried to install again with the answer file from above: ./puppet-enterprise-installer -a ~/answers.lastrun.puppet.sanctuary.local

and ended with:

## Setting up puppet agent...
=============================================================================================================================================================================
!! ERROR: Cancelling installation
=============================================================================================================================================================================

So there was no reason given, i checked the console above and found:

...
Setting up pe-activemq (5.5.0-1puppet9) ...
chown: cannot access `/etc/puppetlabs/activemq/credentials.properties': No such file or directory
sed: can't read /etc/init.d/pe-activemq: No such file or directory
...
Setting up pe-httpd-mpm-worker (2.2.16-1puppet20) ...
ERROR: Module cgid does not exist!
ERROR: Module cgid does not exist!
It looks like you've deleted /etc/puppetlabs/httpd/mods-available/cgid.load, so mod_cgid cannot be enabled.  To fix this, please purge and reinstall pe-httpd-common.
Setting up pe-puppet-common (2.7.12-1puppet11) ...
adduser: Warning: The home directory `/var/opt/lib/pe-puppet' does not belong to the user you are currently creating.

as the maybe error cause. But as the uninstall && install does not seem to work, now i have to install debian from scratch again to test if it’s working in the first run :/

I just wanted to post this somewhere, because I’ve seen this yt video earlier: The State Of User Experience In Puppet – Randall Hansen – PuppetConf 2011 and mine was not so nice till now.

History

#1 Updated by Florian Berger about 2 years ago

STEP 4: DONE
Thanks for installing Puppet Enterprise!

Finally. But I had to install debian 3 times to learn all the “right” answers, because a second run will fail. It only worked on fresh debian install :/

#2 Updated by Matthaus Owens about 2 years ago

Florian, sorry you had trouble with the installer. We’re constantly trying to improve it and the user’s experience.

When you ran the uninstaller, did you use the -d or -p flags with it? The -p flag removes configuration files (all of the files really) that are sometimes left by apt-get remove (-p invokes apt-get purge instead). The -d flag removes the databases and database users.

#3 Updated by Florian Berger about 2 years ago

Hey, thanks for the quick reply.

I did not use any uninstall parameter, so maybe you want to add an interactive uninstaller like the installer, and ask what should be removed.

Oh and one other thing to add: there is a debian installation option where you can choose to use lvm with partitions for /var, /home, /tmp and /usr, so / will have not more than ~350MB. And it was quite a hassle to get the forced /opt running, so please add a parameter for alternative install locations. Btw the uninstaller will try to remove /opt, even if it is a mountpoint. My first solution for the /opt problem was a symlink, and that got deleted from the uninstaller. So maybe the uninstaller tries a little bit too much to uninstall ;)

#4 Updated by Matthaus Owens about 2 years ago

Unfortunately, because we use native packages for Puppet Enterprise the install path can’t be modified dynamically during installation. A symlink for /opt should work, and if the uninstaller deleted the /opt symlink, that’s definitely a bug.

The uninstaller does have some interactive elements for database removal, but we were mostly trying to make it simple and have it just work without asking too many questions. If you have ideas where that could be improved (or what uninstaller options would be useful), please let us know.

#5 Updated by Nigel Kersten almost 2 years ago

  • Status changed from Unreviewed to Needs More Information
  • Assignee changed from Anonymous to Matthaus Owens
  • Priority changed from Low to Normal

Haus, this looks like we do have a bug with the SQL instructions not matching reality, is that right?

Also available in: Atom PDF