Code Monkey home page Code Monkey logo

puppet-riak's Introduction

Build Status

Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with riak
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module

Overview

This module manages the 2.x versions of the Riak distributed key-value store.

Riak is an open source, distributed database that focuses on high availability, horizontal scalability, and predictable latency.

This repository is community supported. We both appreciate and need your contribution to keep it stable. For more on how to contribute, take a look at the contribution process.

Module Description

This module installs the apt or yum repository, installs riak, and starts the riak service. This is a very basic module, and does not manage clusters, help rotate logs, backups, etc. It only manages the riak.conf file, not advanced.config (yet).

Thank you for being part of the community! We love you for it.

Setup

What riak affects

  • This will install the basho apt or yum repository
  • Your /etc/riak.conf file will be overwritten
  • The riak system package will be installed, and the service started

Setup Requirements

This module requires Puppet 3.7 and future parser. See the limitations section for more details on supported platforms.

Beginning with riak

This module is not yet published on Puppet Forge, so you should install it from the git repository using r10k.

Usage

The most basic use case is to simply install riak with default settings:

include ::riak

A slightly more interesting configuration will look something like the following, which has some defaults included for the sake of documentation.

class { '::riak':
  package_name   => 'riak',   # default
  service_name   => 'riak',   # default
  manage_package => true,     # default
  manage_repo    => true,     # default
  version        => 'latest', # default, use a package version if desired
  # settings in the settings hash are written directly to settings.conf.
  settings       => {
    'log.syslog'                              => 'on',
    'erlang.schedulers.force_wakeup_interval' => '500',
    'erlang.schedulers.compaction_of_load'    => false,
    'buckets.default.last_write_wins'         => true,
  },
}

A configuration with custom performance tuning.

Increase the per-user open files limit (ulimits):

class { '::riak':
  ulimits_nofile_soft => 88536,
  ulimits_nofile_hard => 98536,
}

Reference

###Parameters

The following parameters are available in the ::riak class:

####package_name

Name of the Riak package to install. Default: riak

####service_name

Name of the Riak service. Default: riak

####manage_package

Whether to install the Riak package. Default: true

####manage_repo

Whether to setup and enable the remote yum or apt package repos from which Riak will be installed. The repo is hosted at packagecloud.io. If you set this to false the Riak packages will need to be present in your existing package repos. Default: true

####version

The version of Riak to manage. Set the package version if desired. Default: present (Setting to latest could result in unplanned upgrades.)

####ulimits_nofile_soft

Set per-user open files soft limit in /etc/security/limits.conf Default: 65536

####ulimits_nofile_hard

Set per-user open files hard limit in /etc/security/limits.conf Default: 65536

Limitations

This module is only expected to work with:

  • Puppet 3.7 and newer
  • needs future parser enabled
  • needs structured facts enabled
  • currently-maintained versions of MRI ruby and jruby that are also supported by Puppet Labs. As of March 2015, this means 2.0.0 and 2.1.5. 2.2 won't be supported in the 3.x series
  • ruby 1.9.3 is tested because jruby runs in 1.9.3 mode. When Puppet supports jruby 1.7.4's ruby 2.0.0 support this will go away.

Although some functionality may work without all of those, you shouldn't count on it to continue working.

This module has been tested with Puppet 3.7 on Debian Wheezy, Ubuntu 12.04, Ubuntu 14.04, CentOS 6, and CentOS 7 using Beaker integration tests. However, there is no ongoing Beaker CI coverage, so only tagged releases have been tested using Beaker.

A few caveats:

  • advanced.config is not managed
  • log rotation is not managed
  • the module doesn't help you make backups
  • module doesn't validate configuration settings at all

warning The Riak RPMs distributed by Basho are not GPG signed. To work around this, the module disabled GPG verification in that Yum repository. The apt packages are signed, so this only applies to EL platforms.

Development

Basho Labs repos survive because of community contribution. This module has extensive test coverage in order to make contributing easier. Please read CONTRIBUTING.md for details.

Maintainers

You can read the full guidelines for bug reporting and code contributions on the Riak Docs. And thank you! Your contribution is incredible important to us.

License and Authors

Copyright (c) 2015 Basho Technologies, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

puppet-riak's People

Contributors

haf avatar mbbroberg avatar andyshinn avatar davigotxi avatar danieldreier avatar l2g avatar rdark avatar gabrielnicolasavellaneda avatar mr-tao avatar k4y3ff avatar savar avatar wleese avatar

Stargazers

Brad Bergeron avatar JJ avatar  avatar  avatar  avatar Vinícius Krolow avatar Gavin Huang avatar Jon Meredith avatar Ali Halabyah avatar Hernán Ciudad avatar Jay Gould avatar Peter Hicks avatar Harvey Austin avatar Szymon Łukaszczyk avatar Even Thomassen avatar Paul Lewis avatar  avatar Christoph Grabo avatar David Collom avatar  avatar hitxiang avatar Joe Farro avatar Eric Robibaro avatar tom quas avatar Matt Black avatar Mark Phillips avatar Ricardo Tomé Gonçalves avatar Klynton Jessup avatar Pat Collins avatar Avelino avatar Daniel Sunnerek avatar Charles Finkel avatar Sean Cribbs avatar

Watchers

CLR avatar David Andersen avatar Christopher S. Meiklejohn avatar Jon Meredith avatar alexander sicular avatar Sean Jensen-Grey avatar Randy Secrist avatar Torben Hoffmann avatar Andy Till avatar Matthew Von-Maszewski avatar Fred Dushin avatar Bryan Hunt avatar DC Martin avatar Drew Kerrigan avatar Thomas Borup avatar Jon Glick avatar Joel Jacobson avatar Jon Anderson avatar James Gorlick avatar James Cloos avatar Dean Proctor avatar Tim Kennedy avatar  avatar  avatar Allan Paul "Pogz" Ortile avatar Oleksandr Pavlenko avatar  avatar  avatar Robert Clark avatar michelle p @ Basho avatar  avatar Peter Cornell avatar Andrew W. Deane avatar Amber Ishikawa avatar  avatar Oleg Rocklin avatar Jawad avatar  avatar Yang Lei avatar  avatar michael beisiegel avatar  avatar  avatar Chris Coughlan avatar Artem avatar Akira SAKAMOTO avatar Ian Milligan avatar Bryan Thompson avatar Jad Limcaco avatar Chris Butler avatar Nathan Gustafson avatar Seema Jethani avatar  avatar jordan elbaum avatar  avatar  avatar  avatar  avatar  avatar Arvind Vathul avatar Korrigan Clark avatar Steven Sylvester avatar Jena Miller avatar Patricia Brewer avatar Loren T avatar  avatar  avatar Nicholas Adams avatar  avatar

puppet-riak's Issues

Can not run init.pp

On line 118 its both a case statement and a ? selector.
If I dump the selector it works.

Easy to fix but as is it does not work for me at al on Ubuntu 12.04 so not sure how this was tested, since I saw that this was pretty much the platform it was tested on.

If no version is specified in puppet default is 1.3.0

Only problem is that 1.3.0 does not exist on the apt riak site for Ubuntu 12.04.
Expectation would be to have it bumped up to latest existing stable version on regular basis.

Its not a big deal since I can do trial and error and set my own version until it clicks.
It worked with ...

class { 'riak':
version => '1.4.2-1',

OS Optimization settings

I'd like to implement optional OS optimization settings, similar to what @Cornellio did in https://github.com/Cornellio/puppet-riak/blob/master/manifests/baseconfig.pp. I'm still hoping to support non-linux platforms, so a lot of this will need to be wrapped in a case statement.

I haven't found a great single source of recommendations. As source material, what I'm aware of it:

I'm not clear on how much the riak 1.3 recommendations still apply to riak 2. I'm assuming that IO patterns should be relatively similar, but I don't really have a lot of basis for that assumption.

My current POC looks like https://gist.github.com/danieldreier/a9a20e2dee7d2db955c2 (heavily based on @Cornellio's work) but that doesn't even really work yet, more of a scratch pad for ideas.

Are there other must-read sources? I didn't see anything in the little riak book about it.

riak-admin automation options

I'm hoping to write types and providers in puppet that wrap riak-admin, for the purpose of automating cluster management operations. For example, we could change ring size in the live cluster, change config files, etc and do that all in the correct order automatically to avoid user error in manual change. Similarly, it would be great to automate the process of joining new nodes to a cluster, safely removing nodes, etc.

I'd really appreciate any input on other automation-friendly options for interacting with the functionality provided by riak-admin. I can't find analogous HTTP API endpoints, can't find a way to get JSON (or other structured output) from riak-admin, etc.

The two options I see are to either wrap riak-admin and parse the text output, or to improve my very basic erlang skills and use whatever libraries riak-admin uses to implement the functionality I need. However, the latter is likely to involve months of me learning a new language before I'm productive, and the former is a bit awkward, though common enough in the puppet world.

Are those the only options?

puppet version requirements, platform requirements survey

How recent of puppet versions people using, and on what platforms? Specifically:

  • How would people feel about using future parser / puppet 4 DSL?
  • Puppet version since 3.4.0 have supported contain rather than the anchor pattern
  • Can we require structured facts to be enabled?
  • Am I the only person who wants FreeBSD support?
  • What Linux distros do we need to support, and what major versions? I'm hoping EL 5 isn't on the list.

I'd personally love to just do development in future parser with puppet 3.7, but I realize that option isn't available to everybody, and that documentation on what future parser can do is extremely lacking.

Please check tarball on Puppet Forge

This may or may not be of concern to you.

The tarball hosted on Puppet Forge uses "SCHILY.*" extensions, which causes GNU tar 1.15.1 (the version on Puppet's "learning" VM) to choke on it:

[root@learn ~]# puppet module install haf-riak
Notice: Preparing to install into /etc/puppetlabs/puppet/modules ...
Notice: Downloading from https://forge.puppetlabs.com ...
Notice: Installing -- do not interrupt ...
Error: Could not extract contents of module archive: Execution of 'tar xzf /var/opt/lib/pe-puppet/puppet-module/cache/https_forge_puppetlabs_com-ed3a0e51b3c1d8d395ffb1d12c849e3f50d35a10/haf-riak-0.1.1.tar.gz --no-same-permissions --no-same-owner -C /var/opt/lib/pe-puppet/puppet-module/cache/tmp-unpacker-26c36bcd30dc20caedeb577a8304b7092bc92717' returned 2: tar: Ignoring unknown extended header keyword `SCHILY.dev'
tar: Ignoring unknown extended header keyword `SCHILY.ino'
tar: Ignoring unknown extended header keyword `SCHILY.nlink'
tar: Ignoring unknown extended header keyword `SCHILY.dev'
tar: Ignoring unknown extended header keyword `SCHILY.ino'
tar: Ignoring unknown extended header keyword `SCHILY.nlink'
...
tar: Ignoring unknown extended header keyword `SCHILY.nlink'
tar: Error exit delayed from previous errors

Error: Try 'puppet help module install' for usage

I am still new to Puppet, so I don't know whether there's a way to tell puppet module to use star instead of tar in order to work around this.

Extract 'httpfile' to module and remove 'curl' dependency

I did a little looking, and apparently it's pretty common for packages to end up being accidentally redeclared.

From my Puppet console output

←[1;31mError: Duplicate declaration: Package[curl] is already declared in file /tmp/vagrant-puppet/modules-0/redis/manifests/init.pp at line 9; cannot redeclare on node ubuntu-12.04.2-server-amd64-mono-nginx-node←[0m

←[1;31mError: Duplicate declaration: Package[curl] is already declared in file /tmp/vagrant-puppet/modules-0/redis/manifests/init.pp at line 9; cannot redeclare on node ubuntu-12.04.2-server-amd64-mono-nginx-node←[0m

I'm using https://github.com/logicalparadox/puppet-redis to install Redis.

In my Puppet file, I'm installing Redis first, then Riak.

Now, if I reorder how my packages are called in my Puppet script to install Riak first and then Redis, it works just fine.

If you look at the init.pp for Redis
https://github.com/logicalparadox/puppet-redis/blob/master/manifests/init.pp#L6

It has the code to prevent the re-declaration.

if defined(Package['curl']) == false {
    package { "curl":
      ensure => "installed"
    }
  }

So I think that this is all that needs to be added to this package as well...but I'm not a Puppet guy ;0

BTW - This is a demo / Vagrant box and not a real production box -- definitely wouldn't run servers with Riak and Redis on them ;0

Support Riak 2.0

/cc @jaredmorrow

New config - need specification.

Suggest that we stop supporting puppet 2.7 and its hiera in this next version.

Riak Control errors

It seems that when I modify appconfig.pp in order to launch the Riak Control it sets by default on the app.config file

    riak_control => {
      enabled  => true,
      auth     => '__atom_userlist',
      userlist => ['__tuple', 'user', 'pass'],
      admin    => true
    },

but this makes riak control fail with a error 500

Internal Server Error

The server encountered an error while processing this request:
{error,function_clause,
       [{proplists,get_value,
                   ["user",{"user","pass"},undefined],
                   [{file,"proplists.erl"},{line,222}]},
        {riak_control_security,valid_userpass,3,
                               [{file,"src/riak_control_security.erl"},
                                {line,127}]},
        {riak_control_security,enforce_user_pass,5,
                               [{file,"src/riak_control_security.erl"},
                                {line,115}]},
        {webmachine_resource,resource_call,3,
                             [{file,"src/webmachine_resource.erl"},
                              {line,183}]},
        {webmachine_resource,do,3,
                             [{file,"src/webmachine_resource.erl"},
                              {line,141}]},
        {webmachine_decision_core,resource_call,1,
                                  [{file,"src/webmachine_decision_core.erl"},
                                   {line,48}]},
        {webmachine_decision_core,decision,1,
                                  [{file,"src/webmachine_decision_core.erl"},
                                   {line,209}]},
        {webmachine_decision_core,handle_request,2,
                                  [{file,"src/webmachine_decision_core.erl"},
                                   {line,33}]}]}

The correct form of the riak_control section is


 {riak_control, [
                {enabled, true},
                {auth, userlist},
                {userlist, [{"user", "pass"}
                           ]},
                {admin, true}
        ]},

Use within Vagrant / Hiera

We're trying to use within Vagrant, and was hoping you could provide some additional documentation.

As you may know, Puppet is installed / run from the VM, and Vagrant has a mechanism for configuring modules, that may live on the local file system.

Basic mechanism (assuming you're in a working directory of modules that's relative to the Vagrantfile)

  • Clone the source - git clone https://github.com/basho/puppet-riak.git
  • Tell Vagrant / Puppet how to find the modules, with the following (or similar) in the Vagrantfile
Vagrant::Config.run do |config|
  config.vm.provision :puppet, :module_path => "modules"
end

Then of course it's on to using the riak class.

However, my concern is regarding the use of Hiera. We can clone the Hiera sources in the same way we do for the riak module to the modules directory via git clone -b 1.x https://github.com/puppetlabs/hiera-puppet.git.

This would be necessary for Puppet 2.x. For Puppet 3.x, Hiera is in the box from what I understand.

So I'm not sure if we need the mentioned Gem or not.. ??

In particular, this mention is from the docs

Make sure you are shipping the custom functions in this module to your i nodes, by setting pluginsync=true;

[main]
pluginsync = true

Requires that hiera-puppet gem is present.

Any advice / documentation is helpful here, before we go down a potentially painful road ;0

Get this onto Forge

We have an account at https://forge.puppetlabs.com/users/basholabs. I'm trying to get it going with puppet module build and running into some errors:

 An error occurred while installing nokogiri (1.6.6.2), and Bundler cannot continue.
 Make sure that `gem install nokogiri -v '1.6.6.2'` succeeds before bundling.

It's installing just fine. Getting stumped and could use a hand.

Determine best go-forward puppet-riak module

As you can see from the moving around of repos and updates, I'm making a big effort to get our Puppet strategy to parity with other tools. My honest question for those who care most about this is straightforward: which of the following is the best repo to start from?

@basho-labs/puppet-committers - I'll need your input here!

Let's all discuss this with a positive view on what we need to accomplish to make the most useful code for our communities. If you'd like more guidance, the goals are all outlined here: https://github.com/basho-labs/the-riak-community/blob/master/config-mgmt-strategy.md

is anybody actually using httpfile?

Rather than refactoring the httpfile resource out, can we simply remove httpfile entirely? I'm guessing somebody out there is using it, but wanted to check before we simply grandfather than installation mode in. It seems like any packages would be in a repo anyway; is this there to support the EE install?

Start using 'rspec-system-puppet'

To create a test-matrix for vagrant to test out that this applies to the different operating systems. The Vagrantfile already in the repo was previously used for this testing.

RFC - riak types / providers proposal

I've been trying to figure out which Riak resources would make sense to model using types and providers rather than managing config files. I've mocked up what some resources might look like. Do these look useful? Missing obvious things? Doing it wrong? These will basically wrap a bunch of riak-admin commands.

My goal would be to allow use of the puppet resource command line tool to use these to describe a running riak system and capture the current state in puppet, to facilitate puppetizing an existing manual install.

riak_node { $::fqdn:
  ensure             => 'join', # [ join | leave ]
  replace            => '[email protected]',
  autocommit         => false, # commit plan change immediately?
  plan_change_quorum => 3, # wait for 3 nodes to have staged plan changes before committing
  max_plan_wait      => 300, # how long to wait (in seconds) for the plan to be ready
  join_target        => '[email protected]',
}

riak_user { 'example':
  username => 'daniel', # defaults to resource name, this is just to show it can be different
  groups   => ['admins', 'developers'],
  password => 'hunter2',
  options  => {
    'name' => 'lucius',
    'fav_color' => 'red',
  },
  permissions => {
    bucket_type   => '*',
    bucket => '*',
    grants => [ 'riak_kv.get', 'riak_kv.delete', 'riak_kv.put']
  },
}

riak_group { 'admins':
  name => 'admins',
  permissions => {
    type   => '*',
    bucket => '*',
    grants => [ 'riak_kv.get', 'riak_kv.delete', 'riak_kv.put']
  },
  groups => 'everybody',
}

riak_security_source { 'localhost':
  users   => all,
  type    => 'trust',
  cidr    => '127.0.0.1/32',
  options => []
}

riak_security_source { 'private network':
  users   => all,
  type    => 'password',
  cidr    => '10.0.0.0/24',
  options => []
}

riak_security_source { 'WAN':
  users   => ['riakuser', 'daniel']
  type    => 'certificate',
  cidr    => '10.1.0.0/24',
  options => []
}

riak_bucket_type {'n_equals_1':
  ensure => 'activated',
  props  => {
    'n_val'      => '1',
    'allow_mult' => true,
    'precommit'  => ["syntax_check"],
    'postcommit' => ["welcome_email", "update_registry"]
  },
  max_propagation_wait => 30,
}

riak_cluster_settings { 'arbitrary cluster name':
  ciphers => 'DHE-RSA-AES256-SHA:AES128-GCM-SHA256',
  purge_users => true, # delete riak security users puppet didn't create? (false by default)
  purge_groups => true, # delete riak security groups puppet didn't create? (false by default)
  # probably more purge settings
  # what other settings?
}

merge functionality not sufficient on the $cfg hash

We cannot override a single default key in the $cfg in appconfig.pp with a hiera hash. For example, if we wanted to override the ring_creation_size, we would have to supply the entire set of values of the riak_core hash or else the merge would result with the riak_core hash only containing the ring_creation_size k/v pair. I believe that we should be able to specify something like this in a hiera hash:

 cfg:
   riak_core:
     ring_creation_size: 128

If we performed a deep_merge install of a regular merge, the value of ring_creation_size would properly be merged with the default $cfg->riak_core hash.

deep_merge is available with gem install deep_merge

More information can be found here: https://github.com/peritor/deep_merge

Tests failing on initial fork

I've been following the instructions on CONTRIBUTING.md, and I have run into an issue in that the initial tests have failed before I have done anything.

bundle exec rake lint

succeeds, but

bundle exec rake syntax

throws errors:

---> syntax:manifests
Could not parse for environment *root*: Syntax error at 'String'; expected ')' at /etc/puppetlabs/code/environments/production/modules/puppet-riak/manifests/init.pp:6
Could not parse for environment *root*: Syntax error at 'String'; expected ')' at /etc/puppetlabs/code/environments/production/modules/puppet-riak/manifests/tuning.pp:8
rake aborted!

I'm running puppet 4.2.2.

Not sure what I'm doing wrong - this is all from a clean VM.

Cheers,

Joel

Request to migrate to Basho Labs account

This project is great and I see it as a definite help to the community. Looking at the open issues, it's not clear whether the repo is run by engineering or is a "best effort" project. If it is best effort, I'd like to make it part of an effort to leverage the Basho Labs account and teams that we're building out on that account to get further contribution.

For more info, see the public conversation on strategy here: https://github.com/basho-labs/the-riak-community/blob/master/config-mgmt-strategy.md

Version 0.2.2 (via https://forge.puppetlabs.com/basholabs/riak) is not compatible with Puppet 3.7

When running version 0.2.2 on Puppet 3.7, I get:

[riak@dev1 ~]$ sudo puppet agent -t
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Syntax error at 'String'; expected ')' at /etc/puppet/modules/riak/manifests/init.pp:11 on node dev1.home
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run

On my puppet master:

[root@marx manifests]# puppet module list
Warning: Missing dependency 'puppetlabs-apt':
'basholabs-riak' (v0.2.2) requires 'puppetlabs-apt' (>= 1.0.0 <2.0.0)
Warning: Missing dependency 'puppetlabs-stdlib':
'basholabs-riak' (v0.2.2) requires 'puppetlabs-stdlib' (>= 4.0.0 <5.0.0)
/etc/puppet/modules
├── base (???)
├── basholabs-riak (v0.2.2)
├── puppetlabs-apt (v1.8.0)
├── puppetlabs-firewall (v1.5.0)
├── puppetlabs-ntp (v3.3.0)
└── puppetlabs-stdlib (v4.6.0)
/usr/share/puppet/modules (no modules installed)

Upgrading from 1.3.0 to 1.3.1

So in the Puppet script that Vagrant runs, I have

Notice that I already have 1.3.0 installed.

class { 'riak':
  version => '1.3.0',
  cfg => {
    riak_api => {
       pb_backlog => 64
    },
    riak_kv => {
      storage_backend => '__atom_riak_kv_eleveldb_backend',
      map_js_vm_count => 24,
      reduce_js_vm_count => 24
    },
    riak_control => {
      enabled => true,
      auth => '__atom_none',
      admin => true
    }
  }
}

Now I want to upgrade to 1.3.1 -- and presumably I just need to change the version

class { 'riak':
  version => '1.3.1',
  cfg => {
    riak_api => {
       pb_backlog => 64
    },
    riak_kv => {
      storage_backend => '__atom_riak_kv_eleveldb_backend',
      map_js_vm_count => 24,
      reduce_js_vm_count => 24
    },
    riak_control => {
      enabled => true,
      auth => '__atom_none',
      admin => true
    }
  }
}

But nothing happens... just the normal config runs.

Note also that I get this warning from Hiera, as this is a Vagrant box, etc. -- with no centralized Hiera store. Not sure if that's a problem?

Warning: Config file /etc/puppet/hiera.yaml not found, using Hiera defaults

Incorrect usage of anchor tags

Hi,

I've taken a quick look at your code and have found a supposed to be a bug:
https://github.com/haf/puppet-riak/blob/master/manifests/init.pp#L139
https://github.com/haf/puppet-riak/blob/master/manifests/init.pp#L220

The idea of anchors is to have anchor start before EVERY resource of the class and anchor end after EVERY resource of the class. Otherwise they do not make much sense.

So you are likely to need to add require => Anchor[riak::start], before => Anchor[riak::end] to every resource of the class

Cheers!

yum failures

Error: Execution of '/usr/bin/yum -d 0 -e 0 -y install riak' returned 1: Error: Cannot retrieve repository metadata (repomd.xml) for repository: basho-products. Please verify its path and try again

Error: /Stage[main]/Riak/Package[riak]/ensure: change from absent to present failed: Execution of '/usr/bin/yum -d 0 -e 0 -y install riak' returned 1: Error: Cannot retrieve repository metadata (repomd.xml) for repository: basho-products. Please verify its path and try again

version parameter doesn't work

I'm new to puppet, but I've tried using the version parameter and it doesn't appear to work - no matter what value you enter, it always installs the latest version of Riak

I'm trying to install the last major release - 1.2.1

Repo setup fails on Ubuntu

The apt package installation fails on Ubuntu because the module is setting package source to Debian instead of Ubuntu.

The source list at /etc/apt/sources.list.d/riak.list needs to be set as:

deb https://packagecloud.io/basho/riak/ubuntu/ precise main
deb-src https://packagecloud.io/basho/riak/ubuntu/ precise main

Instead of this:

deb https://packagecloud.io/basho/riak/debian/ precise main
deb-src https://packagecloud.io/basho/riak/debian/ precise main

on|off config parameters should be '__atom' right?

in the appconfig.pp we have this one:

http_url_encoding     => 'on' 

but shouldn't it be

http_url_encoding     => '__atom_on' 

?

It was at least necessary for anti_entropy. Otherwise it wasn't enabled (so "on" didn't work).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.