The Puppet Labs Issue Tracker has Moved: https://tickets.puppetlabs.com
Installing PE on Debian Squeeze
|Status:||Needs More Information||Start date:||07/05/2012|
|Assignee:||Matthaus Owens||% Done:|
|Branch:||Affected PE version:|
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:
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 =============================================================================================================================================================================
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' firstname.lastname@example.org 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.
#2 Updated by Matthaus Owens over 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 over 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 over 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.