{"action":"created","issue":{"url":"https://api.github.com/repos/mdsol/mesos_cookbook/issues/50","labels_url":"https://api.github.com/repos/mdsol/mesos_cookbook/issues/50/labels{/name}","comments_url":"https://api.github.com/repos/mdsol/mesos_cookbook/issues/50/comments","events_url":"https://api.github.com/repos/mdsol/mesos_cookbook/issues/50/events","html_url":"https://github.com/mdsol/mesos_cookbook/pull/50","id":56433245,"number":50,"title":"Support version os matrix","user":{"login":"rayrod2030","id":719334,"avatar_url":"https://avatars.githubusercontent.com/u/719334?v=3","gravatar_id":"","url":"https://api.github.com/users/rayrod2030","html_url":"https://github.com/rayrod2030","followers_url":"https://api.github.com/users/rayrod2030/followers","following_url":"https://api.github.com/users/rayrod2030/following{/other_user}","gists_url":"https://api.github.com/users/rayrod2030/gists{/gist_id}","starred_url":"https://api.github.com/users/rayrod2030/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rayrod2030/subscriptions","organizations_url":"https://api.github.com/users/rayrod2030/orgs","repos_url":"https://api.github.com/users/rayrod2030/repos","events_url":"https://api.github.com/users/rayrod2030/events{/privacy}","received_events_url":"https://api.github.com/users/rayrod2030/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-02-03T20:36:13Z","updated_at":"2015-02-04T13:27:16Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/mdsol/mesos_cookbook/pulls/50","html_url":"https://github.com/mdsol/mesos_cookbook/pull/50","diff_url":"https://github.com/mdsol/mesos_cookbook/pull/50.diff","patch_url":"https://github.com/mdsol/mesos_cookbook/pull/50.patch"},"body":"This pull request makes some major changes to the Mesos cookbook and I am submitting it for peer review as these changes break backward compatibility and therefore should be considered only for version 3.0.0 of this cookbook.  The following is a run down of my changes:\r\n\r\n1. Updated our mesosphere package metadata logic to now use a hash of all available mesosphere packages across all available operating systems  This metadata contains package url, python egg url and package checksum.  This change now explicitly supports the following matrix:\r\n\r\n  ###### Mesos versions:\r\n    * 0.19.0\r\n    * 0.19.1\r\n    * 0.20.0\r\n    * 0.20.1\r\n    * 0.21.0\r\n\r\n  ###### Operating Systems:\r\n\r\n    * Ubuntu 14.04 LTS\r\n    * Ubuntu 13.10\r\n    * Ubuntu 12.04 LTS\r\n    * Debian Wheezy 7.x\r\n    * Centos 6.4, 6.5. 6.6\r\n    * RHEL 6.4, 6.5\r\n\r\n  The cookbook will now bark at you and fail to converge if you request a Mesos version on an operating system that is not defined in the package metadata hash however the hash can very easily be updated by users to support new Mesos versions, operating systems and custom package download locations.\r\n\r\n1. Updated the primary way to set options that configure mesos-master and mesos-slave processes.  The primary style of configuration is now to generate files within /etc/mesos-master and /etc/mesos-slave directories containing the values for the options.  Flags or switches are also supported and are recognized for any attributes that are boolean or \"truthy\" ex. 'true', 'false', 'yes', 'no'.  Setting environment variables in /etc/default/mesos, /etc/default/mesos-master and /etc/default/mesos-slave is still supported but no longer the default configuration style.\r\n\r\n1. Added validation to ensure that only supported options can be passed to Mesos as options.  All options for currently supported versions are maintained in a hash and keep users from breaking their running Mesos process by passing an unsupported option or flag.  This option list is maintained here:  https://docs.google.com/spreadsheets/d/1IER03xhtOSj9unW5AYIqn-tu-laAHlPSOYhM6xw4QHg\r\n\r\n1. Updated serverspec tests to cover more scenarios between mesos-master and mesos-slaves and ensure proper communication with zookeeper.\r\n\r\n1. Updated kitchen config files to support our new set of operating systems and created a test suite for each supported version to create our testing matrix.  Also updated the AWS EC2 kitchen config as well as adding a DigitalOcean kitchen config for testing across cloud providers.\r\n\r\n1. Updated all code to be compliant with rubocop and foodcritic rules.\r\n\r\n1. Update Medidata copyright year to 2015.\r\n\r\n1. All test suites were run against vagrant, ec2 and digital ocean instances to ensure working code and proper mesos configuration."},"comment":{"url":"https://api.github.com/repos/mdsol/mesos_cookbook/issues/comments/72853686","html_url":"https://github.com/mdsol/mesos_cookbook/pull/50#issuecomment-72853686","issue_url":"https://api.github.com/repos/mdsol/mesos_cookbook/issues/50","id":72853686,"user":{"login":"rayrod2030","id":719334,"avatar_url":"https://avatars.githubusercontent.com/u/719334?v=3","gravatar_id":"","url":"https://api.github.com/users/rayrod2030","html_url":"https://github.com/rayrod2030","followers_url":"https://api.github.com/users/rayrod2030/followers","following_url":"https://api.github.com/users/rayrod2030/following{/other_user}","gists_url":"https://api.github.com/users/rayrod2030/gists{/gist_id}","starred_url":"https://api.github.com/users/rayrod2030/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rayrod2030/subscriptions","organizations_url":"https://api.github.com/users/rayrod2030/orgs","repos_url":"https://api.github.com/users/rayrod2030/repos","events_url":"https://api.github.com/users/rayrod2030/events{/privacy}","received_events_url":"https://api.github.com/users/rayrod2030/received_events","type":"User","site_admin":false},"created_at":"2015-02-04T13:27:16Z","updated_at":"2015-02-04T13:27:16Z","body":"Sure I'll push an updated README today.\n\nOn Wednesday, February 4, 2015, Harry Wilkinson <notifications@github.com>\nwrote:\n\n> Looks great @rayrod2030 <https://github.com/rayrod2030> - do you want to\n> update the README in this PR? That would make sense.\n>\n> —\n> Reply to this email directly or view it on GitHub\n> <https://github.com/mdsol/mesos_cookbook/pull/50#issuecomment-72843870>.\n>\n"}}