Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status

RSS

ndb (3) Versions 0.1.0

Installs/Configures NDB (MySQL Cluster)

Policyfile
Berkshelf
Knife
cookbook 'ndb', '= 0.1.0', :supermarket
cookbook 'ndb', '= 0.1.0'
knife supermarket install ndb
knife supermarket download ndb
README
Dependencies
Quality 0%

Description

Installs and configures a MySQL Cluster, including the management server(s), data nodes, and MySQL Server(s).

Requirements

Chef 0.11+.

Platform

  • Ubuntu, centos

Tested on:
* Ubuntu 12.04-14.04
* centos 7.0+

Usage

  1. install gems needed to test chef recipes
    bundle install

  2. Test recipe syntax and code-style
    bundle exec foodcritic .

  3. run kitchen to test recipes
    kitchen test

Chef-solo usage

On a node that provides both a Management Server and a MySQL Server, use both the mgmd and mysqld recipes:

{ "run_list": ["recipe[ndb::install]", "recipe[ndb::mgmd]", "recipe[ndb::mysqld]" }

This will install and start both a ndb_mgmd and a mysqld daemon on both nodes.

On a node that will provide a data node, run:
{ "run_list": ["recipe[ndb::install]", "recipe[ndb::ndbd]" }

This will install a data node on the host, that is, an ndbd process.

You can override attributes in your node or role.
For example, on an Ubuntu system:
{
"mysql": {
"password": "secret"
}
}

Karamel usage

This cookbook is karamelized (www.karamel.io).
You can launch a MySQL Cluster using the following yml file. It will create 5 VMs on EC2, and install ndb datanodes on 4 VMs, and a management server, a MySQL Server, and a Memcached server on 1 VM.

name: MySqlCluster

cookbooks:

ndb:
github: "hopshadoop/ndb-chef"
version: "v0.1"

groups:
datanodes:
size: 4
recipes:
- ndb::ndbd
server:
size: 1
recipes:
- ndb::mysqld
- ndb::memcached
- ndb::mgmd

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Foodcritic Metric
            

0.1.0 failed this metric

FC002: Avoid string interpolation where not required: /tmp/cook/308b7f150675828836e13bc6/ndb/recipes/install.rb:24
FC002: Avoid string interpolation where not required: /tmp/cook/308b7f150675828836e13bc6/ndb/recipes/install.rb:164
FC002: Avoid string interpolation where not required: /tmp/cook/308b7f150675828836e13bc6/ndb/recipes/mgmd.rb:48
FC002: Avoid string interpolation where not required: /tmp/cook/308b7f150675828836e13bc6/ndb/recipes/mgmd.rb:130
FC002: Avoid string interpolation where not required: /tmp/cook/308b7f150675828836e13bc6/ndb/recipes/mgmd.rb:136
FC002: Avoid string interpolation where not required: /tmp/cook/308b7f150675828836e13bc6/ndb/recipes/mysqld.rb:117
FC002: Avoid string interpolation where not required: /tmp/cook/308b7f150675828836e13bc6/ndb/recipes/ndbd.rb:63
FC002: Avoid string interpolation where not required: /tmp/cook/308b7f150675828836e13bc6/ndb/recipes/ndbd.rb:200
FC002: Avoid string interpolation where not required: /tmp/cook/308b7f150675828836e13bc6/ndb/recipes/ndbd.rb:201
FC002: Avoid string interpolation where not required: /tmp/cook/308b7f150675828836e13bc6/ndb/recipes/ndbd.rb:202
FC002: Avoid string interpolation where not required: /tmp/cook/308b7f150675828836e13bc6/ndb/templates/default/memcached.erb:53
FC002: Avoid string interpolation where not required: /tmp/cook/308b7f150675828836e13bc6/ndb/templates/default/ndb_mgmd.service.erb:7
FC002: Avoid string interpolation where not required: /tmp/cook/308b7f150675828836e13bc6/ndb/templates/default/ndbmtd.service.erb:7
FC005: Avoid repetition of resource declarations: /tmp/cook/308b7f150675828836e13bc6/ndb/recipes/purge.rb:16
FC009: Resource attribute not recognised: /tmp/cook/308b7f150675828836e13bc6/ndb/recipes/ndbd.rb:168
FC017: LWRP does not notify when updated: /tmp/cook/308b7f150675828836e13bc6/ndb/providers/start.rb:1
FC017: LWRP does not notify when updated: /tmp/cook/308b7f150675828836e13bc6/ndb/providers/start.rb:17
FC017: LWRP does not notify when updated: /tmp/cook/308b7f150675828836e13bc6/ndb/providers/start.rb:33
FC019: Access node attributes in a consistent manner: /tmp/cook/308b7f150675828836e13bc6/ndb/recipes/install.rb:165
FC019: Access node attributes in a consistent manner: /tmp/cook/308b7f150675828836e13bc6/ndb/recipes/ndbd.rb:142
FC023: Prefer conditional attributes: /tmp/cook/308b7f150675828836e13bc6/ndb/recipes/memcached.rb:101
FC023: Prefer conditional attributes: /tmp/cook/308b7f150675828836e13bc6/ndb/recipes/mysqld.rb:14
FC023: Prefer conditional attributes: /tmp/cook/308b7f150675828836e13bc6/ndb/recipes/mysqld.rb:46
FC023: Prefer conditional attributes: /tmp/cook/308b7f150675828836e13bc6/ndb/recipes/mysqld.rb:198
FC034: Unused template variables: /tmp/cook/308b7f150675828836e13bc6/ndb/templates/default/config.ini.erb:1