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 ...


8

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

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

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

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

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

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

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

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

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

I'm not sure which version of puppet you are using, since you didn't mention it. The "file_name" class belongs to the puppetlabs-stdlib library, so you need to make sure that this module is installed - puppet module install puppetlabs-stdlib also, since you are using a module path, you need to call your file init.pp (not test.pp). Since you are new to ...


1

The tasks you are describing can be solved in multiple ways. No one way is "best" as each has its own pros and cons. The industry as a whole has been evolving from scripts, to configuration management to immutable systems. As an example, to manage the web.config of an IIS web server, you issue appcmd.exe commands. We use Chef and the IIS cookbook to ...


1

If your workstation has a slow connection, but you have ssh access to another machine that has faster internet, you could edit your puppet manifest remotely. To test your manifest remotely, try the following puppet parser validate foo.pp puppet-apply --verbose --debug --noop --modulepath=/opt/puppet/modules foo.pp Note that the --noop will only simulate ...


1

// , So we looked into the install issue the next morning and were able to successfully continue with the puppet update on the machines in our test zone to install the new RPMs and start up the servers fine. We think the issue is that the yum cache on the target servers was not refreshed to know about the build that was made available for ...


1

Try sending a SIGQUIT instead using Ctrl+\. There is a Puppet Labs JIRA ticket on this issue.


1

In a typical puppet infrastructure, you have a puppet master, and puppet nodes. A node is a single server that runs a technology (Like a jenkins node, or git node, or web server node) The master keeps a list of which modules are installed on which nodes, usually in a file called the site.pp The instructions are telling you to install the puppet module on ...


1

It's a DNS issue, obviously. You cannot edit /etc/resolv.conf because puppet does so based on config management, so you need to tell puppet a set of working DNS servers to use. Your ISP probably has one, but here's a short list of servers that should be good DNS servers, and easy to remember: 4.2.2.2 4.2.2.1 8.8.8.8 8.8.4.4 Depending on the setup, the way ...


1

From the link you posted, the recommended way is to define the vhosts in classes and include those (in the node manifest or through an ENC), or manually define each vhost for each node (in the node manifest)>


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

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'], }



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