Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have a rpm (redis) that I need to install on a dozen servers.

The version of redis that is available in EPEL is too old (2.4.x). The software providers do not offer a repository online that I could download.

I need to get the latest versions of either 2.6.x or 2.8.x installed (preferably 2.6.x)

I've tried the following solutions. Each has their own problems.

  • Compile 2.8.x from source (Doesn't scale, have to repeat 12 times)

  • Use redis puppet module from puppet forge

All of the puppet modules are either undocumented, or install using the old redis url's and thus are locked to older versions. The only manifest that I've got to work, installs a maximum version of 2.6.14 which has broken init scripts on Centos

  • Install using ruby gems, (there are no gems for versions older than 3.x.beta )

The only other way I see to do this is make my own repo and find a place to host it. That would require that I create a web server or ftp server internally which I really don't want to do.

Surely there is an easier way to get redis 2.6.x or 2.8.x installed on multiple machines isn't there? How else could this be done?

share|improve this question
    
Do you actually have an RPM of redis 2.6? –  sciurus Feb 20 at 3:48
    
When I posted the question, I had one that I made (which was wan't put together very well). Now I've found a good one from rpmfind.net –  spuder Feb 20 at 3:51

2 Answers 2

I managed to get this working by using an existing RPM from rpmfind.net.

I then put it in a puppet manifest.

# Define a class
class redis_repo ($redis_url) {

  package {'redis':
    ensure    =>  present,
    source    =>  "${redis_repo::redis_url}",
    provider  =>  'rpm',
  }

  service {'redis':
    ensure   =>  running,
    require  =>  Package['redis'],
    status   =>  true, #Change to false if running redis 2.6.x
  }
}

# Declare the class
# modify this url to change the install version
class { 'redis_repo':
  redis_url  =>  'ftp://rpmfind.net/linux/remi/enterprise/6/remi/x86_64/redis-2.8.6-1.el6.remi.x86_64.rpm'
}
share|improve this answer

Just "make" on one server, tar it up, distribute, untar and "make install" on each. Or if you'd rather use rpms, just build your rpm on one server, distribute it, and install it. No need to create and host a repository. It's not like you're deploying to 1000 machines - don't spend more time on automation than it would take to just get the task done.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.