Hot answers tagged

12

Puppet does not have an uninstaller, you must manually remove the following files. (Tested on 3.2.3) Uninstalling Remove the following binaries /usr/bin/puppet /usr/sbin/puppet Remove the following directories /private/etc/puppet /usr/share/doc/puppet To get rid of the puppet user that appears on the login screen sudo dscl . delete /Users/puppet ...


10

Puppet and docker can do many of the same things, however they approach them in a different way. Puppet manages files + packages + services. (Called the trifecta). Docker encapsulates binaries and configuration files inside of a container. At the time of this writing, docker is still unstable and shouldn't be used in production. Many of the API's are ...


9

Have a look at: https://github.com/example42/puppi/blob/master/manifests/netinstall.pp Usage example: netinstall { 'postgis': url => 'http://postgis.refractions.net/download/postgis-1.5.5.tar.gz', extracted_dir => 'postgis-1.5.5', destination_dir => '/tmp', postextract_command => '/tmp/postgis-1.5.5/configure && make ...


9

You refer to the package by the name "php_pdo", but Puppet sees the package as "php-pdo" (dash, not underscore). Every time it checks to see of php_pdo is installed, it finds out that it is not. Unfortunately it doesn't matter how many times you install php-pdo, it will never be php_pdo. To resolve the issue, change the line: package {"php_pdo": to be: ...


7

I can't help with the Puppet part, but you can forward the SSH Agent by setting: Vagrant.configure("2") do |config| config.ssh.forward_agent = true # ... end This way the SSH connections (also make by git) try to use your private keys from the host.


7

The above answer is incomplete, not all the files are removed with the above commands. I was able to completely uninstall Puppet (on Mountain Lion) by running the following commands: for f in $(pkgutil --only-files --files com.puppetlabs.puppet); do sudo rm /$f; done for d in $(pkgutil --only-dirs --files com.puppetlabs.puppet | tail -r); do sudo rmdir ...


7

Not sure if this is a recommended way of doing it, but using ca seemed to work better where cert failed. $ puppet ca destroy wrong.host.name Notice: Removing file Puppet::SSL::CertificateRequest wrong.host.name at '/var/lib/puppet/ssl/ca/requests/wrong.host.name.pem' Deleted for wrong.host.name: Puppet::SSL::CertificateRequest


5

The two ways to distribute manifests are either using a puppet master or in a masterless configuration. They are not mutually exclusive and we use both approaches at my work. Masterful With the masterful setup, you have a puppet master which contains a collection of all the modules in your infrastructure. The nodes then report in (every 30 minutes by ...


4

Works on my machine! Vagrantfile: VAGRANTFILE_API_VERSION = '2' Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = 'precise64' config.vm.box_url = 'http://files.vagrantup.com/precise64.box' # # Use host authenticaton for git and maven. # # Ensure host private key is registered with host SSH agent: # # ssh-add -L # ...


4

According to their website: Puppet Enterprise packages the power of Puppet for ease of installation, maintenance and scalability Simplified integration & installation Tuned for scalaibility All components tested and approved by Puppet Labs engineers Built-in support as part of your paid license Your Puppet deployment is always up to ...


3

We managed to solve this issue by enabling pluginsync in the puppet config on the puppethosts. #puppethost:/etc/puppet/puppet.conf [main] #... pluginsync=true


2

Puppetlabs provides a break down of the differences here: http://puppetlabs.com/puppet/enterprise-vs-open-source The most noticeable difference is support, a much improved web UI and as of 3.x better ability to view what happened during a puppet run. Additional information http://puppetlabs.com/puppet/faq


2

In Centos, I believe the package you're looking for is "vim-enhanced" ... not just "vim". It is very likely that the package was already installed before you ran the test.


2

It's a bug in the 1.5.x branch of Facter. I can't recall the exact version it was fixed in, but a more recent 1.6.x version will fix the issue.


2

I would not use ensure => absent here as it only allows for an exact match. A simple but effective workaround would be using a comment (or empty) line along with a match regex to look for to replace: file_line { 'sudoers-myuser': path => '/etc/sudoers', line => '# myuser ALL=NOPASSWD:/bin/su -', match => ...


2

Possible Solution 1: Using the puppet cert clean on the puppet master is the proper way. However since you're getting errors you may have a bad inventory of certificates. Try doing a re-inventory then a clean: $ puppet cert reinventory $ puppet cert clean --all Note: my example uses the --all flag, this will clear out all certificates, signed and ...


2

Puppet 2.7.x is a very old version. You should install a more recent version (3.7 at the time of this writing) sudo apt-get install -y python-software-properties cd /tmp wget http://apt.puppetlabs.com/puppetlabs-release-precise.deb sudo dpkg -i puppetlabs-release-precise.deb apt-get update apt-get install -y puppet-common #masterless puppet apt-get ...


2

PE 3.3 includes Puppet 3.6.2, PuppetDB, Facter, Hiera,... https://docs.puppetlabs.com/pe/latest/overview_about_pe.html


2

after dealing with this issue myself... you can check if the package you wish to install is there exec { 'install python packages': command => 'pip3 install flask flask_restful apiai', path => ['/usr/bin/'], unless => '/usr/bin/test -f /usr/local/lib/python3.4/dist-packages/flask/app.py' } if that does now work for you ...


2

It sounds like you are using a version of puppet older than 4.0, and not using the 'future' parser. Data types were added with the new version of the puppet language. You have 3 options: Remove String. Even in configurations where declaring a data type is allowed, it's optional. Inside your class, you can use a function to validate that the parameter is a ...


1

You could create an exec resource that kills all the processes owned by the user. Would look something like: exec {'kill-art': command => 'pkill -u art', onlyif => 'pgrep -u art', } user {'art': ensure => absent, require => Exec['kill-art'], }


1

Here is how I did [root@puppetmc ca]# puppet cert clean sparrow.home Error: Could not find a serial number for sparrow.home [root@puppetmc ca]# cat inventory.txt 0x0002 2015-05-17T06:33:29GMT 2020-05-16T06:33:29GMT /CN=puppetmc.home 0x0003 2015-05-17T23:25:33GMT 2020-05-16T23:25:33GMT /CN=sparrow.rospop.com 0x0004 2015-05-18T00:53:18GMT ...


1

Puppet does not integrate with LDAP / AD / Open Directory, so the user that you will be adding will only be a local account. Run the following on a different user that was made with Open Directory puppet resource user foo (Here is the output from my mac tied to Active Directory, yours should look similar) puppet resource user foo user { 'foo': ensure ...


1

Use Roles, Profiles and Hiera to manage different configurations, with mixed modules. Check this intro from PuppetLabs: http://puppetlabs.com/presentations/designing-puppet-rolesprofiles-pattern. In Foreman, you can group hosts by organisations, environments and groups. I'm not sure how to version control Foreman's configuration though. Foreman uses a DB ...


1

I know you are using Puppet but I got it up and running using this bash script (provisioners/shell/application.setup.sh): #!/bin/bash local_user=vagrant if [ ! -n "$(grep "^bitbucket.org " /home/$local_user/.ssh/known_hosts)" ]; then ssh-keyscan bitbucket.org >> ~/.ssh/known_hosts 2>/dev/null; fi if [[ ! -d "/home/$local_user/app" ]]; then ...


1

file_line is an "ok" resource for ensuring lines appear in a file but not so good for ensuring lines are not there -- which is why I completely stopped using it. If you really need to manage this file piecemeal and need to ensure the line is absolutely gone, the augeas resource will accomplish it much better. It's rather complicated but does the job really ...


1

Docker helps you to provision and initially configure containers, but it runs one-time commands at the initialisation of the container. Puppet is strongest when you run it as a daemon, it ensures that your configuration stays as you specify it, so for example if you service stops running, it will start it again. One of the best things about (correctly ...


1

Assuming you have a yum plugin installed, a block as simple as: package { 'mysql-server' : ensure => '5.5' , } should work. You may have to add a repository that includes the package you need through the yum plugin. If there is a specifically named version of the package (for example mysql55w in the webtatic repo) then you just need to ensure it is ...


1

Puppet and Cheff are configuration management tools. My cheff expefience is not strong so i will focus on puppet. Puppet has the possibility to serve files (i imagine cheff also). This can be used to serve your app. If you are crafty with nginx nothing stops you to put it in front of puppet and proxy the necessary file requests to your maven repo or just ...


1

The agent has no signed certificate. At first invoking this command, the agent sends a certificate request to puppetmaster. If the command is run with a parameter --waitforcert 20 then the agent will wait until his certificate request is signed by the puppetmaster and 20 second there is a period between attempts. On server where puppetmaster is running, ...



Only top voted, non community-wiki answers of a minimum length are eligible