1

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?

2
  • Do you actually have an RPM of redis 2.6?
    – sciurus
    Feb 20, 2014 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, 2014 at 3:51

2 Answers 2

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'
}
1

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .