-
Notifications
You must be signed in to change notification settings - Fork 183
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Parameters not valid for older Redis in config #111
Comments
Second this, had to revert to 1.2.2. On ubuntu 14.04:
|
Same issue here... |
It should check what version of redis is running and setup the conf file accordingly. |
@flyinbutrs Can you give a list of which parameters are specific to v2 vs v3 of redis? Is it just tcp-backlog? |
#136 is part of the full solution for this (see my blog post about the final pattern: https://petersouter.co.uk/puppet-pattern-version-specific/) |
FWIW - I ran into this today as well while testing EPEL provided redis on CentOS 6 where tcp-backlog doesnt' work with redis 2.4.10 (which comes from EPEL). However, newer versions of redis are avaiable via the REMI repo and that is most likely what my team will be using. If I read the Redis documentation correctly I believe redis 2.8.x supports the tcp-backlog param which might be the minimum version as specified in @petems PR. I'm not going to lie, I'm no way a Redis expert, just a humble puppet guy trying to help others. |
Ok, I figured it out... This is the commit that changed the parameter from backlog to tcp-backlog: cloned the repo and described:
So if redis version is >2.8.4, the parameter it tcp-backlog, if <=2.8.4, use backlog. |
Yes, I'm working on a fix to detect the version in #145 In the mean time, you can either use the older version or fork and make a change to that template manually |
any progress on this? |
Turns out neither work with the version available in Ubuntu:
So I'm just going to put a "Must be newer than 2.8.5" around that logic |
@nvtkaszpir I've got a working version for CentOS 6, is that the one you've been having issues with? Should have a PR soon |
I switched to Centos 7.3 and bumped redis to 2.8.21 using openstack-kilo repo. For Centos 7 openstack-kilo provides two builds for redis 2.8:
I was also using Debian.Ubuntu but switched to Centos 7.3. Example code used now, with different hiera I'm also able to install redis 3.2.x if needed (but then using remi repo, and I have never tried to migrate 2.8 to 3.2 with that setup, better set up new vm) minimal puppet manifest for centos 7.3, compatible with both redis versions: node default {
include ::redis
include ::firewall
case $::osfamily {
'Redhat': {
include ::yum
create_resources(yumrepo, hiera('yumrepo', {}))
create_resources(yum::plugin, hiera('yum::plugin', {}))
create_resources(yum::gpgkey, hiera('yum::gpgkey', {}))
create_resources(yum::versionlock, hiera('yum::versionlock', {}))
Yum::Gpgkey <||> -> Yumrepo <||>
Yum::Versionlock <||> -> Package<| provider == 'yum' |>
Yumrepo <||> -> Class['redis::install']
Yum::Versionlock <||> -> Class['redis::install']
}
default: {
fail ("Operating system ${::operatingsystem} is not supported yet.")
}
}
} hiera for redis 2.8.21 on centos 7.3: ---
# redis 2.8
# watch out for older redis versions, puppet module is not compatible with them
# centos 7.3
# redis 2.8 requires packages in repo openstack-kilo
yumrepo:
'openstack-kilo':
baseurl: 'http://mirror.centos.org/centos/$releasever/cloud/$basearch/openstack-kilo/'
descr: 'openstack-kilo'
enabled: 1
gpgcheck: true
yum::gpgkey:
'/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Cloud':
ensure: 'present'
content: |
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.22 (GNU/Linux)
mQENBFVWcCcBCACfm3eQ0526/I0/p7HpR0NjK7K307XHhnbcbZv1sDUjQABDaqh0
N4gnZcovf+3fj6pcdOmeOpGI0cKE7Fh68RbEIqyjB7l7+j1grjewR0oCFFZ38KGm
j+DWQrj1IJW7JU5fH/G0Cu66ix+dJPcuTB3PJTqXN3ce+4TuG09D+epgwfbHlqaT
pH2qHCu2uiGj/AaRSM/ZZzcInMaeleHSB+NChvaQ0W/m+kK5d/20d7sfkaTfI/pY
SrodCfVTYxfKAd0TLW03kimHs5/Rdz+iZWecVKv6aFxzaywbrOjmOsy2q0kEWIwX
MTZrq6cBRRuWyiXsI2zT2YHQ4UK44IxINiaJABEBAAG0WkNlbnRPUyBDbG91ZCBT
SUcgKGh0dHA6Ly93aWtpLmNlbnRvcy5vcmcvU3BlY2lhbEludGVyZXN0R3JvdXAv
Q2xvdWQpIDxzZWN1cml0eUBjZW50b3Mub3JnPokBOQQTAQIAIwUCVVZwJwIbAwcL
CQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEPm5/ud2RCnmATUH/3HDtWxpFkmy
FiA3VGkMt5dp3bgCRSd84X6Orfx1LARowpI4LomCGglGBGXVJePBacwcclorbLaz
uWrW/wU0efz0aDB5c4NPg/yXfNvujvlda8ADJwZXVBQphzvaIKwl4PqBsEnxC10I
93T/0iyphAhfMRJ5R8AbEHMj7uF+TWTX/JoyQagllMqWTwoP4DFRutPdOmmjwvSV
kWItH7hq6z9+M4dhlqeoOvPbL5oCxX7TVmLck02Q5gI4syULOa7sqntzUQKFkhWp
9U0+5KrBQBKezrurrrkq/WZR3WNE1KQfNQ77f7S2JcXJdOaKgJ7xe7Y2flPq98Aq
wKXK7l1c3dc=
=W6yF
-----END PGP PUBLIC KEY BLOCK-----
# install specific redis version on centos
yum::versionlock:
'0:redis-2.8.21-1.el7.x86_64':
ensure: 'present'
redis::manage_repo: false # needed to use packages from openstack-kilo
redis::unixsocket: false # required to disable socket creation
redis::bind: '0.0.0.0'
redis::maxmemory: '1gb'
redis::syslog_enabled: true
redis::tcp_keepalive: 60
redis::timeout: 3600
redis::appendonly: true
# centos 7.x compatible
redis::config_owner: 'redis'
redis::config_group: 'root'
firewall:
'100 allow redis access from local networks':
source: '10.0.0.0/8'
dport: 6379
proto: 'tcp'
action: 'accept'
hiera for redis 3.2. on centos 7.3: ---
# redis 3 is a superset of redis 2.8
# centos 7.3
# redis 3.2 requires remi repo and `redis::manage_repo: true`
yumrepo:
'remi':
mirrorlist: 'http://rpms.remirepo.net/enterprise/$releasever/remi/mirror'
descr: 'remi'
enabled: 1
gpgcheck: true
gpgkey: 'http://rpms.remirepo.net/RPM-GPG-KEY-remi'
# install specific redis version on Centos
yum::versionlock:
'0:redis-3.2.8-1.el7.remi.x86_64':
ensure: 'present'
redis::manage_repo: true
redis::unixsocket: false # required to disable socket creation
redis::bind: '0.0.0.0'
redis::maxmemory: '1gb'
redis::syslog_enabled: true
redis::tcp_keepalive: 60
redis::timeout: 3600
redis::appendonly: true
# centos 7.x compatible
redis::config_owner: 'redis'
redis::config_group: 'root'
firewall:
'100 allow redis access from local networks':
source: '10.0.0.0/8'
dport: 6379
proto: 'tcp'
action: 'accept' |
* We say we support 1404, but aren't testing * But 1404 has an older package, and certain config settings aren't present (See voxpupuli#111) * Add 2.8.X config file and logic to fix that * Add to CI, add docker and vagrant SUTs
* We say we support 1404, but aren't testing * But 1404 has an older package, and certain config settings aren't present (See voxpupuli#111) * Add 2.8.X config file and logic to fix that * Add to CI, add docker and vagrant SUTs
* We say we support 1404, but aren't testing * But 1404 has an older package, and certain config settings aren't present (See voxpupuli#111) * Add 2.8.X config file and logic to fix that * Add to CI, add docker and vagrant SUTs
* We say we support 1404, but aren't testing * But 1404 has an older package, and certain config settings aren't present (See voxpupuli#111) * Add 2.8.X config file and logic to fix that * Add to CI, add docker and vagrant SUTs
* We say we support 1404, but aren't testing * But 1404 has an older package, and certain config settings aren't present (See voxpupuli#111) * Add 2.8.X config file and logic to fix that * Add to CI, add docker and vagrant SUTs
* We say we support 1404, but aren't testing * But 1404 has an older package, and certain config settings aren't present (See #111) * Add 2.8.X config file and logic to fix that * Add to CI, add docker and vagrant SUTs
* We say we support 1404, but aren't testing * But 1404 has an older package, and certain config settings aren't present (See voxpupuli#111) * Add 2.8.X config file and logic to fix that * Add to CI, add docker and vagrant SUTs
Config from version 1.2.3 doesn't start Redis service successfully anymore
The text was updated successfully, but these errors were encountered: