- Fix recipe compile error when 'public network' is set to Ceph environment

================================================================================
Recipe Compile Error in /var/cache/chef/cookbooks/ceph/recipes/mon.rb
================================================================================

NoMethodError
-------------
undefined method `[]' for nil:NilClass

Cookbook Trace:
---------------
  /var/cache/chef/cookbooks/ceph/libraries/default.rb:84:in `get_mon_addresses'
  /var/cache/chef/cookbooks/ceph/libraries/default.rb:84:in `map'
  /var/cache/chef/cookbooks/ceph/libraries/default.rb:84:in `get_mon_addresses'
  /var/cache/chef/cookbooks/ceph/recipes/conf.rb:4:in `from_file'
  /var/cache/chef/cookbooks/ceph/recipes/mon.rb:20:in `from_file'

Relevant File Content:
----------------------
/var/cache/chef/cookbooks/ceph/libraries/default.rb:

 77:      end
 78:
 79:      mons += get_mon_nodes()
 80:      if is_crowbar?
 81:        mon_ips = mons.map { |node| Chef::Recipe::Barclamp::Inventory.get_network_by_type(node, "admin").address }
 82:      else
 83:        if node['ceph']['config']['global'] && node['ceph']['config']['global']['public network']
 84>>         mon_ips = mons.map { |node| find_node_ip_in_network(node['ceph']['config']['global']['public network'], node) }
 85:        else
 86:          mon_ips = mons.map { |node| node['ipaddress'] + ":6789" }
 87:        end
 88:      end
 89:    end
 90:    return mon_ips.uniq
 91:  end
 92:
 93:  def get_quorum_members_ips()
Manage a standalone installation (without apache2)
Improve apache2 recipe
add dependency to apache2 v1.1.12
It add mod_fastcgi
Merge pull request #19 from yuryu/master

Fix recipe compile error when 'public network' is set to Ceph environment

Reviewed-by: Alexandre Marangone <alexandre.marangone@inktank.com>
remove sysvinit script for radosgw
don't break if node["ceph"]["osd_devices"] is empty (but log it)
remove useless create file from chef value, read variable, create file, remove file...
You forget to fax it
Merge pull request #20 from Youscribe/allow_standalone

Allow standalone installation of radosgw

Reviewed-by: Alexandre Marangone <alexandre.marangone@inktank.com>
Fixed finding mon's IP address.
Fixed indentation in ceph.conf.
Merge pull request #24 from shellycloud/master

Fixed finding node's IP address

Reviewed-by: Alexandre Marangone <alexandre.marangone@inktank.com>
Merge pull request #23 from Youscribe/error_osd_device

don't break if node["ceph"]["osd_devices"] is empty

Reviewed-by: Alexandre Marangone <alexandre.marangone@inktank.com>
ceph-mon-all-starter is a task, not a service

Ensure that ceph-mon-all is start at the end of recipe
creates prevent re-run

refactor to use chef commands
move ceph_bootstrap_osd_key to node['ceph']

we must wait for get osd-bootstrap keyring to finish

Last fixes
create /var/lib/ceph/mon/ceph-{hostname} directory if it doesn't exist.
remove ceph.mon.node attribute (more reflexion to this behaviour later)
fix typo for done file
service ceph-mon-all support restart and status
service must be restart immediately to launch ceph-mon

correct rebase
Don't use libraries for things that must be in attributes
Place service at the end of script to ensure that service is always enable and running after chef is execute
ceph support "status" command
remove useless require json in mon and add it in libraries
Manage starting mon with upstart
Use Mixlib::ShellOut instead of Chef::ShellOut