From 7764e6c4fec8acb24a7fcba4a0cbb8d01a8fbb7f Mon Sep 17 00:00:00 2001 From: Volodymyr Kornylyuk Date: Tue, 26 Jul 2016 11:39:24 +0300 Subject: [PATCH] Initial commit Change-Id: Icc80ec5baba9086b0277e394fe8d8e42e2b27dc0 --- .gitignore | 7 + LICENSE | 201 ++++++++++++++++++ README.md | 10 + .../puppet/manifests/.gitignore | 2 + deployment_scripts/puppet/manifests/Gemfile | 20 ++ deployment_scripts/puppet/manifests/Rakefile | 13 ++ .../check_environment_configuration.pp | 26 +++ .../puppet/manifests/firewall.pp | 82 +++++++ .../puppet/manifests/hiera_override.pp | 72 +++++++ deployment_scripts/puppet/manifests/kafka.pp | 64 ++++++ .../puppet/manifests/zookeeper.pp | 35 +++ .../puppet/modules/kafka_zookeeper/.gitkeep | 0 .../templates/zookeeper_logrotate.conf.erb | 19 ++ .../patches/kafka/manifests/broker/service.pp | 55 +++++ .../puppet/patches/kafka/manifests/init.pp | 139 ++++++++++++ .../puppet/patches/kafka/templates/init.erb | 34 +++ .../zookeeper/manifests/post_install.pp | 130 +++++++++++ .../zookeeper/templates/conf/zoo.cfg.erb | 112 ++++++++++ deployment_tasks.yaml | 137 ++++++++++++ docs/.gitignore | 2 + docs/Makefile | 191 +++++++++++++++++ docs/source/conf.py | 32 +++ docs/source/description.rst | 41 ++++ docs/source/guide.rst | 76 +++++++ docs/source/images/assign-role.png | Bin 0 -> 97854 bytes docs/source/images/plugins-list.png | Bin 0 -> 75893 bytes docs/source/images/settings.png | Bin 0 -> 127153 bytes docs/source/index.rst | 15 ++ docs/source/installation.rst | 35 +++ environment_config.yaml | 67 ++++++ functions.sh | 63 ++++++ metadata.yaml | 29 +++ node_roles.yaml | 11 + pre_build_hook | 30 +++ repositories/ubuntu/.gitignore | 2 + repositories/ubuntu/.gitkeep | 0 tasks.yaml | 1 + test-requirements.txt | 2 + tox.ini | 27 +++ volumes.yaml | 21 ++ 40 files changed, 1803 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 deployment_scripts/puppet/manifests/.gitignore create mode 100644 deployment_scripts/puppet/manifests/Gemfile create mode 100644 deployment_scripts/puppet/manifests/Rakefile create mode 100644 deployment_scripts/puppet/manifests/check_environment_configuration.pp create mode 100644 deployment_scripts/puppet/manifests/firewall.pp create mode 100644 deployment_scripts/puppet/manifests/hiera_override.pp create mode 100644 deployment_scripts/puppet/manifests/kafka.pp create mode 100644 deployment_scripts/puppet/manifests/zookeeper.pp create mode 100644 deployment_scripts/puppet/modules/kafka_zookeeper/.gitkeep create mode 100644 deployment_scripts/puppet/modules/kafka_zookeeper/templates/zookeeper_logrotate.conf.erb create mode 100644 deployment_scripts/puppet/patches/kafka/manifests/broker/service.pp create mode 100644 deployment_scripts/puppet/patches/kafka/manifests/init.pp create mode 100644 deployment_scripts/puppet/patches/kafka/templates/init.erb create mode 100644 deployment_scripts/puppet/patches/zookeeper/manifests/post_install.pp create mode 100644 deployment_scripts/puppet/patches/zookeeper/templates/conf/zoo.cfg.erb create mode 100644 deployment_tasks.yaml create mode 100644 docs/.gitignore create mode 100644 docs/Makefile create mode 100644 docs/source/conf.py create mode 100644 docs/source/description.rst create mode 100644 docs/source/guide.rst create mode 100644 docs/source/images/assign-role.png create mode 100644 docs/source/images/plugins-list.png create mode 100644 docs/source/images/settings.png create mode 100644 docs/source/index.rst create mode 100644 docs/source/installation.rst create mode 100644 environment_config.yaml create mode 100644 functions.sh create mode 100644 metadata.yaml create mode 100644 node_roles.yaml create mode 100755 pre_build_hook create mode 100644 repositories/ubuntu/.gitignore create mode 100644 repositories/ubuntu/.gitkeep create mode 100644 tasks.yaml create mode 100644 test-requirements.txt create mode 100644 tox.ini create mode 100644 volumes.yaml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..375ed84 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.DS_Store +.bundled_gems/ +.build/ +kafka*rpm +.tox +._* + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..b09cd78 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. diff --git a/README.md b/README.md new file mode 100644 index 0000000..eda7131 --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +Kafka plugin +======================= + +The *Kafka Plugin* installs [Apache Kafka](http://kafka.apache.org) and +[Apache ZooKeeper](https://zookeeper.apache.org) in a +Mirantis OpenStack (MOS) environment deployed by Fuel. + +Please go to the [Kafka Plugin Documentation]( +http://fuel-plugin-kafka.readthedocs.org/en/latest/index.html) +to get started. diff --git a/deployment_scripts/puppet/manifests/.gitignore b/deployment_scripts/puppet/manifests/.gitignore new file mode 100644 index 0000000..25e7585 --- /dev/null +++ b/deployment_scripts/puppet/manifests/.gitignore @@ -0,0 +1,2 @@ +Gemfile.lock +.bundle diff --git a/deployment_scripts/puppet/manifests/Gemfile b/deployment_scripts/puppet/manifests/Gemfile new file mode 100644 index 0000000..053858b --- /dev/null +++ b/deployment_scripts/puppet/manifests/Gemfile @@ -0,0 +1,20 @@ +# Copyright 2016 Mirantis, 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. +source 'https://rubygems.org' + +group :development, :test do + gem 'rake' + gem "puppet", ENV['PUPPET_VERSION'] || '~> 3.4.0' + gem 'puppetlabs_spec_helper' +end diff --git a/deployment_scripts/puppet/manifests/Rakefile b/deployment_scripts/puppet/manifests/Rakefile new file mode 100644 index 0000000..c124220 --- /dev/null +++ b/deployment_scripts/puppet/manifests/Rakefile @@ -0,0 +1,13 @@ +require 'puppet-lint/tasks/puppet-lint' +require 'puppet-syntax/tasks/puppet-syntax' + +PuppetLint.configuration.fail_on_warnings = true +PuppetLint.configuration.send('disable_80chars') +PuppetLint.configuration.send('disable_class_inherits_from_params_class') +PuppetLint.configuration.send('disable_class_parameter_defaults') + +desc "Run lint, and syntax tests." +task :test => [ + :lint, + :syntax, +] diff --git a/deployment_scripts/puppet/manifests/check_environment_configuration.pp b/deployment_scripts/puppet/manifests/check_environment_configuration.pp new file mode 100644 index 0000000..788dcad --- /dev/null +++ b/deployment_scripts/puppet/manifests/check_environment_configuration.pp @@ -0,0 +1,26 @@ +# Copyright 2016 Mirantis, 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. + +notice('fuel-plugin-kafka: check_environment_configuration.pp') + +# Check that JVM size doesn't exceed the physical RAM size +$kafka_heap = hiera('kafka::jvm_heap_size') +$zookeeper_heap = hiera('zookeeper::jvm_heap_size') + +$total_heap_mb = ($kafka_heap + 0.0) * 1024 + ($zookeeper_heap + 0.0) * 1024 + +if $total_heap_mb >= $::memorysize_mb { + fail("The configured JVM size for Kafka (${kafka_heap} GB) and\ + Zookeeper (${zookeeper_heap} GB) in total is greater than the system RAM (${::memorysize}).") +} diff --git a/deployment_scripts/puppet/manifests/firewall.pp b/deployment_scripts/puppet/manifests/firewall.pp new file mode 100644 index 0000000..44c8599 --- /dev/null +++ b/deployment_scripts/puppet/manifests/firewall.pp @@ -0,0 +1,82 @@ +# Copyright 2016 Mirantis, 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. + +notice('kafka: firewall.pp') + +$zookeeper_client_port = hiera('zookeeper::config::client_port') +$zookeeper_election_port = hiera('zookeeper::config::election_port') +$zookeeper_leader_port = hiera('zookeeper::config::leader_port') +$kafka_port = hiera('kafka::port') +$kafka_jmx_port = hiera('kafka::jmx_port') + +class {'::firewall':} + +firewall { '000 accept all icmp requests': + proto => 'icmp', + action => 'accept', +} + +firewall { '001 accept all to lo interface': + proto => 'all', + iniface => 'lo', + action => 'accept', +} + +firewall { '002 accept related established rules': + proto => 'all', + state => ['RELATED', 'ESTABLISHED'], + action => 'accept', +} + +firewall {'020 ssh': + port => 22, + proto => 'tcp', + action => 'accept', +} + +firewall { '100 zookeeper port': + port => $zookeeper_client_port, + proto => 'tcp', + action => 'accept', +} + +firewall { '102 zookeeper port': + port => $zookeeper_election_port, + proto => 'tcp', + action => 'accept', +} + +firewall { '103 zookeeper port': + port => $zookeeper_leader_port, + proto => 'tcp', + action => 'accept', +} + +firewall { '104 kafka port': + port => $kafka_port, + proto => 'tcp', + action => 'accept', +} + +firewall { '105 kafka port': + port => $kafka_jmx_port, + proto => 'tcp', + action => 'accept', +} + +firewall { '999 drop all other requests': + proto => 'all', + chain => 'INPUT', + action => 'drop', +} diff --git a/deployment_scripts/puppet/manifests/hiera_override.pp b/deployment_scripts/puppet/manifests/hiera_override.pp new file mode 100644 index 0000000..d1ee163 --- /dev/null +++ b/deployment_scripts/puppet/manifests/hiera_override.pp @@ -0,0 +1,72 @@ +# Copyright 2016 Mirantis, 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. + +notice('fuel-plugin-kafka: hiera_override.pp') + +# Initialize network-related variables +$network_scheme = hiera_hash('network_scheme') +$network_metadata = hiera_hash('network_metadata') +prepare_network_config($network_scheme) + +$kafka = hiera_hash('kafka') +$hiera_file = '/etc/hiera/plugins/kafka.yaml' +$kafka_nodes = get_nodes_hash_by_roles($network_metadata, ['kafka', 'primary-kafka']) +$kafka_nodes_count = count($kafka_nodes) + +$listen_address = get_network_role_property('management', 'ipaddr') +$kafka_addresses_map = get_node_to_ipaddr_map_by_network_role($kafka_nodes, 'management') +$kafka_ip_addresses = sort(values($kafka_addresses_map)) +$uid = $kafka_nodes[$hostname]['uid'] + +if is_integer($kafka["replication_factor"]) and $kafka["replication_factor"] <= $kafka_nodes_count { + $replication_factor = $kafka["replication_factor"] +} else { + $replication_factor = $kafka_nodes_count +} +notice("Replication factor set to ${replication_factor}") + +$calculated_content = inline_template(' +--- +kafka::jvm_heap_size: <%= @kafka["kafka_jvm_heap_size"] %> +kafka::num_partitions: <%= @kafka["num_partitions"] %> +kafka::replication_factor: <%= @replication_factor %> +kafka::log_retention_hours: <%= @kafka["log_retention_hours"] %> +# This directory must match the mount point set in volumes.yaml +kafka::data_dir: "/opt/kafka-data" +kafka::port: 9092 +kafka::jmx_port: 9990 +kafka::uid: <%= @uid %> +kafka::nodes: +<% @kafka_ip_addresses.each do |x| -%> + - "<%= x %>" +<% end -%> +kafka::addresses_map: +<% @kafka_addresses_map.each do |k,v| -%> + <%= k %>: "<%= v %>" +<% end -%> +zookeeper::jvm_heap_size: <%= @kafka["zookeeper_jvm_heap_size"] %> +zookeeper::config::client_port: 2181 +zookeeper::config::election_port: 2888 +zookeeper::config::leader_port: 3888 +zookeeper::config::tick_time: 2000 +zookeeper::config::init_limit: 5 +zookeeper::config::sync_limit: 2 +') + +file { $hiera_file: + ensure => file, + content => $calculated_content, +} + +class { '::osnailyfacter::netconfig::hiera_default_route' :} diff --git a/deployment_scripts/puppet/manifests/kafka.pp b/deployment_scripts/puppet/manifests/kafka.pp new file mode 100644 index 0000000..d8e76c1 --- /dev/null +++ b/deployment_scripts/puppet/manifests/kafka.pp @@ -0,0 +1,64 @@ +# Copyright 2016 Mirantis, 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. + +notice('fuel-plugin-kafka: kafka.pp') + +$deployment_id = hiera('deployment_id') +$master_ip = hiera('master_ip') +$uid = hiera('kafka::uid') +$heap_size = hiera('kafka::jvm_heap_size') +$num_partitions = hiera('kafka::num_partitions') +$replication_factor = hiera('kafka::replication_factor') +$log_retention_hours = hiera('kafka::log_retention_hours') +$kafka_port = hiera('kafka::port') +$kafka_jmx_port = hiera('kafka::jmx_port') +$zookeeper_port = hiera('zookeeper::config::client_port') +$kafka = hiera_hash('kafka') +$plugin_version = $kafka['metadata']['plugin_version'] +$array_version = split($plugin_version, '[.]') +$major_version = "${$array_version[0]}.${$array_version[1]}" +$kafka_version = '0.10.0.0' +$datastore = hiera('kafka::data_dir') +$mirror_url = "http://${master_ip}:8080/plugins/kafka-${major_version}/repositories/ubuntu" +$log_options = '-Dlog4j.configuration=file:/opt/kafka/config/log4j.properties -Dkafka.logs.dir=/var/log/kafka' +$jmx_opts = "-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false \ + -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=${kafka_jmx_port}" + +class { 'kafka': + version => $kafka_version, + scala_version => '2.11', + mirror_url => $mirror_url, +} + +class { 'kafka::broker': + config => { + 'broker.id' => $uid, + 'zookeeper.connect' => "localhost:${zookeeper_port}", + 'inter.broker.protocol.version' => $kafka_version, + 'num.partitions' => $num_partitions, + 'replication.factor' => $replication_factor, + 'log.retention.hours' => $log_retention_hours, + 'port' => $kafka_port, + 'log.dir' => "${datastore}/message-logs", + }, + heap_opts => "-Xmx${heap_size}G -Xms${heap_size}G", + log4j_opts => $log_options +} + +file { "${datastore}/message-logs": + ensure => directory, + owner => 'kafka', + group => 'kafka', + mode => '0644', +} diff --git a/deployment_scripts/puppet/manifests/zookeeper.pp b/deployment_scripts/puppet/manifests/zookeeper.pp new file mode 100644 index 0000000..b2b22d8 --- /dev/null +++ b/deployment_scripts/puppet/manifests/zookeeper.pp @@ -0,0 +1,35 @@ +# Copyright 2016 Mirantis, 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. + +notice('fuel-plugin-kafka: zookeeper.pp') + +$myid = hiera('kafka::uid') +$addresses_map = hiera('kafka::addresses_map') +$heap_size = hiera('zookeeper::jvm_heap_size') +$datastore = hiera('kafka::data_dir') + +class { 'zookeeper': + servers => $addresses_map, + id => $myid, + datastore => $datastore, + java_opts => "-Xmx${heap_size}G -Xms${heap_size}G", +} + +file { '/etc/logrotate.d/zookeeper.conf': + ensure => present, + owner => 'root', + group => 'root', + mode => '0644', + content => template('kafka_zookeeper/zookeeper_logrotate.conf.erb'), +} diff --git a/deployment_scripts/puppet/modules/kafka_zookeeper/.gitkeep b/deployment_scripts/puppet/modules/kafka_zookeeper/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/deployment_scripts/puppet/modules/kafka_zookeeper/templates/zookeeper_logrotate.conf.erb b/deployment_scripts/puppet/modules/kafka_zookeeper/templates/zookeeper_logrotate.conf.erb new file mode 100644 index 0000000..ac96199 --- /dev/null +++ b/deployment_scripts/puppet/modules/kafka_zookeeper/templates/zookeeper_logrotate.conf.erb @@ -0,0 +1,19 @@ +# managed by puppet + +/var/log/zookeeper/*.log { + copytruncate + compress + delaycompress + missingok + notifempty + # logrotate allows to use only year, month, day and unix epoch + dateext + dateformat -%Y%m%d-%s + # number of rotated files to keep + rotate 10 + # do not rotate files unless both size and time conditions are met + hourly + minsize 20M + # force rotate if filesize exceeded 100M + maxsize 100M +} diff --git a/deployment_scripts/puppet/patches/kafka/manifests/broker/service.pp b/deployment_scripts/puppet/patches/kafka/manifests/broker/service.pp new file mode 100644 index 0000000..d19177e --- /dev/null +++ b/deployment_scripts/puppet/patches/kafka/manifests/broker/service.pp @@ -0,0 +1,55 @@ +# Author:: Liam Bennett (mailto:lbennett@opentable.com) +# Copyright:: Copyright (c) 2013 OpenTable Inc +# License:: MIT + +# == Class: kafka::broker::service +# +# This private class is meant to be called from `kafka::broker`. +# It manages the kafka service +# +class kafka::broker::service( + $service_install = $kafka::broker::service_install, + $service_ensure = $kafka::broker::service_ensure, + $jmx_opts = $kafka::broker::jmx_opts, + $log4j_opts = $kafka::broker::log4j_opts, + $opts = $kafka::broker::opts +) { + + if $caller_module_name != $module_name { + fail("Use of private class ${name} by ${caller_module_name}") + } + + if $service_install { + if $::service_provider == 'systemd' { + include ::systemd + + file { '/usr/lib/systemd/system/kafka.service': + ensure => present, + mode => '0644', + content => template('kafka/broker.unit.erb'), + } + + file { '/etc/init.d/kafka': + ensure => absent, + } + + File['/usr/lib/systemd/system/kafka.service'] ~> Exec['systemctl-daemon-reload'] -> Service['kafka'] + } else { + file { '/etc/init/kafka.conf': + ensure => present, + mode => '0755', + content => template('kafka/init.erb'), + before => Service['kafka'], + } + } + + service { 'kafka': + ensure => $service_ensure, + enable => true, + hasstatus => true, + hasrestart => true, + } + } else { + debug('Skipping service install') + } +} diff --git a/deployment_scripts/puppet/patches/kafka/manifests/init.pp b/deployment_scripts/puppet/patches/kafka/manifests/init.pp new file mode 100644 index 0000000..45d7f79 --- /dev/null +++ b/deployment_scripts/puppet/patches/kafka/manifests/init.pp @@ -0,0 +1,139 @@ +# Author:: Liam Bennett (mailto:lbennett@opentable.com) +# Copyright:: Copyright (c) 2013 OpenTable Inc +# License:: MIT + +# == Class: kafka +# +# This class will install kafka binaries +# +# === Requirements/Dependencies +# +# Currently requires the puppetlabs/stdlib module on the Puppet Forge in +# order to validate much of the the provided configuration. +# +# === Parameters +# +# [*version*] +# The version of kafka that should be installed. +# +# [*scala_version*] +# The scala version what kafka was built with. +# +# [*install_dir*] +# The directory to install kafka to. +# +# [*mirror_url*] +# The url where the kafka is downloaded from. +# +# [*install_java*] +# Install java if it's not already installed. +# +# [*package_dir*] +# The directory to install kafka. +# +# === Examples +# +# +class kafka ( + $version = $kafka::params::version, + $scala_version = $kafka::params::scala_version, + $install_dir = $kafka::params::install_dir, + $mirror_url = $kafka::params::mirror_url, + $install_java = $kafka::params::install_java, + $package_dir = $kafka::params::package_dir +) inherits kafka::params { + + validate_re($::osfamily, 'RedHat|Debian\b', "${::operatingsystem} not supported") + validate_bool($install_java) + validate_absolute_path($package_dir) + + $basefilename = "kafka_${scala_version}-${version}.tgz" + $package_url = "${mirror_url}/kafka/${version}/${basefilename}" + + if $version != $kafka::params::version { + $install_directory = "/opt/kafka-${scala_version}-${version}" + } elsif $scala_version != $kafka::params::scala_version { + $install_directory = "/opt/kafka-${scala_version}-${version}" + } else { + $install_directory = $install_dir + } + + if $install_java { + class { '::java': + distribution => 'jdk', + } + } + + group { 'kafka': + ensure => present, + } + + user { 'kafka': + ensure => present, + shell => '/bin/bash', + require => Group['kafka'], + } + + file { $package_dir: + ensure => directory, + owner => 'kafka', + group => 'kafka', + require => [ + Group['kafka'], + User['kafka'], + ], + } + + file { $install_directory: + ensure => directory, + owner => 'kafka', + group => 'kafka', + require => [ + Group['kafka'], + User['kafka'], + ], + } + + file { '/opt/kafka': + ensure => link, + target => $install_directory, + require => File[$install_directory], + } + + file { '/opt/kafka/config': + ensure => directory, + owner => 'kafka', + group => 'kafka', + require => Archive["${package_dir}/${basefilename}"], + } + + file { '/var/log/kafka': + ensure => directory, + owner => 'kafka', + group => 'kafka', + require => [ + Group['kafka'], + User['kafka'], + ], + } + + include '::archive' + + archive { "${package_dir}/${basefilename}": + ensure => present, + extract => true, + extract_command => 'tar xfz %s --strip-components=1', + extract_path => $install_directory, + source => $package_url, + creates => "${install_directory}/config", + cleanup => true, + user => 'kafka', + group => 'kafka', + require => [ + File[$package_dir], + File[$install_directory], + Group['kafka'], + User['kafka'], + ], + } +} diff --git a/deployment_scripts/puppet/patches/kafka/templates/init.erb b/deployment_scripts/puppet/patches/kafka/templates/init.erb new file mode 100644 index 0000000..e032b56 --- /dev/null +++ b/deployment_scripts/puppet/patches/kafka/templates/init.erb @@ -0,0 +1,34 @@ +# Kafka Broker Service + +description "Kafka Broker" + +start on (started zookeeper) +stop on (stopping zookeeper) + +respawn +respawn limit 2 5 + +env HOME=/opt/kafka/config +env KAFKA_HOME=/opt/kafka +env KAFKA_JMX_OPTS="<%= @jmx_opts %>" +env KAFKA_LOG4J_OPTS="<%= @log4j_opts %>" +env KAFKA_HEAP_OPTS="<%= @heap_opts %>" +env KAFKA_GC_LOG_OPTS=" " +umask 007 + +limit nofile 65536 65536 +limit core unlimited unlimited + +kill timeout 300 + +pre-start script + #Sanity checks + [ -r $HOME/server.properties ] +end script + +setuid kafka +setgid kafka + +script + $KAFKA_HOME/bin/kafka-server-start.sh $HOME/server.properties +end script diff --git a/deployment_scripts/puppet/patches/zookeeper/manifests/post_install.pp b/deployment_scripts/puppet/patches/zookeeper/manifests/post_install.pp new file mode 100644 index 0000000..b27c0cd --- /dev/null +++ b/deployment_scripts/puppet/patches/zookeeper/manifests/post_install.pp @@ -0,0 +1,130 @@ +# Class: zookeeper::post_install +# +# In order to maintain compatibility with older releases, there are +# some post-install task to ensure same behaviour on all platforms. +# +# Should not be called directly +# +class zookeeper::post_install( + $ensure, + $ensure_account, + $ensure_cron, + $user, + $group, + $datastore, + $snap_retain_count, + $cleanup_sh, + $manual_clean = undef, +){ + + # make sure user and group exists for ZooKeeper #49, if the OS package + # doesn't handle its creation + if ($ensure_account){ + ensure_resource('group', + [$group], + {'ensure' => $ensure_account} + ) + + case $::osfamily { + 'Redhat': { + $shell = '/sbin/nologin' + } + default: { + # sane default for most OS + $shell = '/bin/false' + } + } + + ensure_resource('user', + [$user], + { + 'ensure' => $ensure_account, +# 'home' => $datastore, + 'comment' => 'Zookeeper', + 'gid' => $group, + 'shell' => $shell, + 'require' => Group[$group] + } + ) + } + if ($manual_clean) { + # user defined value + $clean = $manual_clean + } else { + # autodetect + # since ZooKeeper 3.4 there's no need for purging snapshots with cron + case $::osfamily { + 'Debian': { + case $::operatingsystem { + 'Debian': { + case $::lsbdistcodename { + 'wheezy', 'squeeze': { # 3.3.5 + $clean = true + } + default: { # future releases + $clean = false + } + } + } + 'Ubuntu': { + case $::lsbdistcodename { + 'precise': { # 3.3.5 + $clean = true + } + default: { + $clean = false + } + } + } + default: { + fail ("Family: '${::osfamily}' OS: '${::operatingsystem}' is not supported yet") + } + } + } + 'Redhat': { + $clean = false + } + default: { + fail ("Family: '${::osfamily}' OS: '${::operatingsystem}' is not supported yet") + } + } + } + + + + # if !$cleanup_count, then ensure this cron is absent. + if ($clean and $snap_retain_count > 0 and $ensure != 'absent') { + + if ($ensure_cron){ + ensure_resource('package', 'cron', { + ensure => 'installed', + }) + + cron { 'zookeeper-cleanup': + ensure => present, + command => "${cleanup_sh} ${datastore} ${snap_retain_count}", + hour => 2, + minute => 42, + user => $user, + } + }else { + file { '/etc/cron.daily/zkcleanup': + ensure => present, + content => "${cleanup_sh} ${datastore} ${snap_retain_count}", + } + } + } + + # package removal + if($clean and $ensure == 'absent'){ + if ($ensure_cron){ + cron { 'zookeeper-cleanup': + ensure => $ensure, + } + }else{ + file { '/etc/cron.daily/zkcleanup': + ensure => $ensure, + } + } + } +} \ No newline at end of file diff --git a/deployment_scripts/puppet/patches/zookeeper/templates/conf/zoo.cfg.erb b/deployment_scripts/puppet/patches/zookeeper/templates/conf/zoo.cfg.erb new file mode 100644 index 0000000..a80cd66 --- /dev/null +++ b/deployment_scripts/puppet/patches/zookeeper/templates/conf/zoo.cfg.erb @@ -0,0 +1,112 @@ +# http://hadoop.apache.org/zookeeper/docs/current/zookeeperAdmin.html + +# The number of milliseconds of each tick +tickTime=<%= @tick_time %> +# The number of ticks that the initial +# synchronization phase can take +initLimit=<%= @init_limit %> +# The number of ticks that can pass between +# sending a request and getting an acknowledgement +syncLimit=<%= @sync_limit %> +# the directory where the snapshot is stored. +dataDir=<%= @datastore %> +# Place the dataLogDir to a separate physical disc for better performance +<% if @datalogstore -%> +dataLogDir=<%= @datalogstore %> +<% else -%> +# dataLogDir=/disk2/zookeeper +<% end -%> + +# the port at which the clients will connect +clientPort=<%= @client_port %> +# interface to bind +<% if @client_ip -%> +clientPortAddress=<%= @client_ip %> +<% else -%> +#clientPortAddress= +<% end -%> + +# specify all zookeeper servers +# The fist port is used by followers to connect to the leader +# The second one is used for leader election +#server.UID1=zookeeper1:2888:3888 +#server.UID2=zookeeper2:2888:3888 +#server.UID3=zookeeper3:2888:3888 +<% @servers.each do |k, h| -%> +<%# make sure port is not included in hostname %> +<% if h.index(':') -%> +<% h = h[0...(h.index(':'))] -%> +<% end -%> +<% server_id = k.split('-').last() -%> +<% if @observers.include? h -%> +<% observer_text=':observer' -%> +<% end -%> +<%= "server.#{server_id}=#{h}:%s:%s%s" % [ @election_port, @leader_port, observer_text ] -%> +<% end -%> + +# To avoid seeks ZooKeeper allocates space in the transaction log file in +# blocks of preAllocSize kilobytes. The default block size is 64M. One reason +# for changing the size of the blocks is to reduce the block size if snapshots +# are taken more often. (Also, see snapCount). +#preAllocSize=65536 + +# Clients can submit requests faster than ZooKeeper can process them, +# especially if there are a lot of clients. To prevent ZooKeeper from running +# out of memory due to queued requests, ZooKeeper will throttle clients so that +# there is no more than globalOutstandingLimit outstanding requests in the +# system. The default limit is 1,000.ZooKeeper logs transactions to a +# transaction log. After snapCount transactions are written to a log file a +# snapshot is started and a new transaction log file is started. The default +# snapCount is 10,000. +snapCount=<%= @snap_count %> + +# If this option is defined, requests will be will logged to a trace file named +# traceFile.year.month.day. +#traceFile= + +# Leader accepts client connections. Default value is "yes". The leader machine +# coordinates updates. For higher update throughput at thes slight expense of +# read throughput the leader can be configured to not accept clients and focus +# on coordination. +<% if @leader -%> +leaderServes=yes +<% else -%> +leaderServes=no +<% end -%> + +# Since 3.4.0: When enabled, ZooKeeper auto purge feature retains the autopurge. +# snapRetainCount most recent snapshots and the corresponding transaction logs +# in the dataDir and dataLogDir respectively and deletes the rest. +# Defaults to 3. Minimum value is 3. +autopurge.snapRetainCount=<%= @snap_retain_count %> + +# Since 3.4.0: The time interval in hours for which the purge task has to be +# triggered. Set to a positive integer (1 and above) to enable the auto purging. +# Defaults to 0. +autopurge.purgeInterval=<%= @purge_interval %> + +# Maximum allowed connections +<% if @max_allowed_connections -%> +maxClientCnxns=<%= @max_allowed_connections %> +<% else -%> +#maxClientCnxns=60 +<% end -%> + +<% if @peer_type != 'UNSET' -%> +# Zookeeper peer type +peerType=<%= @peer_type %> +<% end -%> + +# The minimum session timeout in milliseconds that the server will allow the # client to negotiate. Defaults to 2 times the tickTime. +<% if @min_session_timeout -%> +minSessionTimeout=<%= @min_session_timeout %> +<% else -%> +#minSessionTimeout=2 +<% end -%> + +# The maximum session timeout in milliseconds that the server will allow the # client to negotiate. Defaults to 20 times the tickTime. +<% if @max_session_timeout -%> +maxSessionTimeout=<%= @max_session_timeout %> +<% else -%> +#maxSessionTimeout=20 +<% end -%> diff --git a/deployment_tasks.yaml b/deployment_tasks.yaml new file mode 100644 index 0000000..750b8d1 --- /dev/null +++ b/deployment_tasks.yaml @@ -0,0 +1,137 @@ +# Groups definitions +#################### +- id: primary-kafka + type: group + version: 2.0.0 + role: [primary-kafka] + tasks: + - hiera + - setup_repositories + - fuel_pkgs + - globals + - tools + - logging + - netconfig + - hosts + - kafka-firewall + - kafka-check-configuration + - zookeeper-installation + - kafka-hiera + - kafka-installation + requires: [deploy_start] + required_for: [deploy_end] + parameters: + strategy: + type: one_by_one + +- id: kafka + type: group + version: 2.0.0 + role: [kafka] + tasks: + - hiera + - setup_repositories + - fuel_pkgs + - globals + - tools + - logging + - netconfig + - hosts + - kafka-firewall + - kafka-check-configuration + - kafka-hiera + - zookeeper-installation + - kafka-installation + requires: [deploy_start, primary-kafka] + required_for: [deploy_end] + parameters: + strategy: + type: parallel + +# Tasks definitions for the deployment +###################################### + +# This task needs to be reexecuted to adapt the configuration parameters which +# depend on the number of nodes in the cluster +- id: kafka-hiera + type: puppet + version: 2.0.0 + requires: [netconfig] + required_for: [deploy_end] + parameters: + puppet_manifest: "puppet/manifests/hiera_override.pp" + puppet_modules: puppet/modules:/etc/puppet/modules + timeout: 120 + reexecute_on: + - deploy_changes + +# This task needs to be reexecuted to recheck that the configuration parameters +# match the node's characteristics (eg JVM size). +- id: kafka-check-configuration + type: puppet + version: 2.0.0 + requires: [kafka-hiera] + required_for: [deploy_end] + parameters: + puppet_manifest: puppet/manifests/check_environment_configuration.pp + puppet_modules: puppet/modules:/etc/puppet/modules + timeout: 120 + reexecute_on: + - deploy_changes + +- id: kafka-firewall + type: puppet + version: 2.0.0 + requires: [kafka-check-configuration] + required_for: [deploy_end] + parameters: + puppet_manifest: "puppet/manifests/firewall.pp" + puppet_modules: puppet/modules:/etc/puppet/modules + timeout: 3600 + +- id: kafka-installation + type: puppet + version: 2.0.0 + requires: [zookeeper-installation] + required_for: [deploy_end] + parameters: + puppet_manifest: puppet/manifests/kafka.pp + puppet_modules: puppet/modules:/etc/puppet/modules + timeout: 600 + reexecute_on: + - deploy_changes + +# This task needs to be reexecuted to reconfigure kafka instances +- id: zookeeper-installation + type: puppet + version: 2.0.0 + requires: [kafka-check-configuration] + required_for: [deploy_end] + parameters: + puppet_manifest: puppet/manifests/zookeeper.pp + puppet_modules: puppet/modules:/etc/puppet/modules + timeout: 600 + reexecute_on: + - deploy_changes + +- id: kafka-dns-client + type: puppet + version: 2.0.0 + role: [primary-kafka, kafka] + requires: [post_deployment_start] + required_for: [post_deployment_end] + parameters: + puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/dns/dns-client.pp + puppet_modules: /etc/puppet/modules + timeout: 600 + +- id: kafka-ntp-client + type: puppet + version: 2.0.0 + role: [primary-kafka, kafka] + requires: [kafka-dns-client] + required_for: [post_deployment_end] + parameters: + puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/ntp/ntp-client.pp + puppet_modules: /etc/puppet/modules + timeout: 600 diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 0000000..8d60ee6 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,2 @@ +build/ +images/*.pdf diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000..5cad1b5 --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,191 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = build + +# User-friendly check for sphinx-build +ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) +$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) +endif + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source +# SVG to PDF conversion +SVG2PDF = inkscape +SVG2PDF_FLAGS = +# Build a list of SVG files to convert to PDF +PDF_FILES := $(foreach dir, images, $(patsubst %.svg,%.pdf,$(wildcard $(dir)/*.svg))) + + +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext + +help: + @echo "Please use \`make ' where is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " xml to make Docutils-native XML files" + @echo " pseudoxml to make pseudoxml-XML files for display purposes" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + +clean: + rm -rf $(BUILDDIR)/* + rm -f $(PDF_FILES) + +html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/LMAcollector.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/LMAcollector.qhc" + +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/LMAcollector" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/LMAcollector" + @echo "# devhelp" + +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +latex: $(PDF_FILES) + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +latexpdf: $(PDF_FILES) + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +latexpdfja: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through platex and dvipdfmx..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run \`make' in that directory to run these through makeinfo" \ + "(use \`make info' here to do that automatically)." + +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + make -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." + +xml: + $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml + @echo + @echo "Build finished. The XML files are in $(BUILDDIR)/xml." + +pseudoxml: + $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml + @echo + @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." + +# Rule for building the PDF files only +images: $(PDF_FILES) + +# Pattern rule for converting SVG to PDF +%.pdf : %.svg + $(SVG2PDF) -f $< -A $@ diff --git a/docs/source/conf.py b/docs/source/conf.py new file mode 100644 index 0000000..77130d0 --- /dev/null +++ b/docs/source/conf.py @@ -0,0 +1,32 @@ +import sys +import os +extensions = [] +templates_path = ['_templates'] +source_suffix = '.rst' +master_doc = 'index' +project = u'The Kafka Cluster Plugin' +copyright = u'2016, Mirantis Inc.' +version = '0.1' +release = '0.1.0' +exclude_patterns = [ +] +pygments_style = 'sphinx' +html_theme = 'default' +htmlhelp_basename = 'RedisPlugindoc' +latex_elements = { +} +latex_documents = [ + ('index', 'KafkaPlugindoc.tex', u'The Kafka Cluster Plugin', + u'Mirantis Inc.', 'manual'), +] +man_pages = [ + ('index', 'kafkaplugin', u'The Kafka Cluster Plugin', + [u'Mirantis Inc.'], 1) +] +texinfo_documents = [ + ('index', 'KafkaPlugin', u'The Kafka Cluster Plugin', + u'Mirantis Inc.', 'KafkaPlugin', 'One line description of project.', + 'Miscellaneous'), +] +latex_elements = {'classoptions': ',openany,oneside', 'babel': + '\\usepackage[english]{babel}'} diff --git a/docs/source/description.rst b/docs/source/description.rst new file mode 100644 index 0000000..5a8f1ca --- /dev/null +++ b/docs/source/description.rst @@ -0,0 +1,41 @@ +.. _overview: + +Overview +======== + +The *Kafka Plugin* installs `Apache Kafka `_ and +`Apache ZooKeeper `_ in a +Mirantis OpenStack (MOS) environment deployed by Fuel. +Apache Kafka is publish-subscribe messaging system. It is fast, +scalable and durable. + +The *Kafka Plugin* is created for exchanging messages between various components of StackLight and Ceilometer, but it is generic enough to accommodate other usages. +Plugin provides fuel role *kafka*. Maximum node number is 5. +Recommended minimum is 3 nodes, odd number of nodes required for leader election. + +Please refer to the `Kafka 0.10.0 documentation `_ + for more information. + +Requirements +------------ + +======================= ================ +Requirements Version/Comment +======================= ================ +MOS 9.0 +======================= ================ + +.. _limitations: + +Limitations +----------- + +* Kafka supports authentication, encryption and authorization. Current version of the + plugin doesn't support any form of security, meaning that the Kafka cluster will be + “open” on the management network. We plan to support some level of security in future + versions of the plugin. + +* Kafka Plugin will not expose configuration properties for all the broker configuration parameters. + This means that the Kafka broker configuration set by the plugin will not be appropriate for every + usage. In the future, we may make the Fuel plugin more configurable by adding new configuration + properties. diff --git a/docs/source/guide.rst b/docs/source/guide.rst new file mode 100644 index 0000000..e90d3d7 --- /dev/null +++ b/docs/source/guide.rst @@ -0,0 +1,76 @@ +User Guide +========== + +Once the *Kafka Plugin* is installed following the instructions of +the :ref:`Installation Guide`, you can add Kafka nodes to new or +existing Mirantis OpenStack (MOS) environment. + +Plugin Configuration +-------------------- + +To use the *Kafka Plugin*, you need to add nodes with Kafka role `Add a node to an OpenStack environment +`_. + +1. Make sure that the plugin is properly installed on the Fuel Master node. + + Go to the *Plugins* tab. You should see the following: + + .. image:: images/plugins-list.png + :width: 100% + +2. Enable the plugin. You can configure additional setting on this step. + + Go to the *Environments* tab and select the *The Apache Kafka Message Broker Plugin* checkbox: + + .. image:: images/settings.png + :width: 100% + + +3. Add nodes to your environment and assign the **Kafka** role. + + .. note:: When `adding nodes + `_ + to the environment and `assign or change a role + `_, + do not forget to use an odd number of nodes as recommended in :ref:`overview` section. + + .. image:: images/assign-role.png + :width: 100% + +4. `Verify your network configuration + `_. + +5. `Deploy your changes + `_ + once you are done with the configuration of your environment. + +Plugin Verification +------------------- + +#. On the Fuel Master node, find the IP address of a node where the + Kafka is installed using the :command:`fuel nodes` command: + + .. code-block:: console + + [root@fuel ~]# fuel nodes + id|status|name |cluster|ip |mac |roles | + --|------|----------------|-------|----|-------------------------| + 1 |ready |Untitled (fa:87)| 1 |... |... |kafka | + 2 |ready |Untitled (12:aa)| 1 |... |... |kafka | + 3 |ready |Untitled (4e:6e)| 1 |... |... |kafka | + + +#. Log in to any of these nodes using SSH, for example, to ``node-1``. +#. Run the following command: + + .. code-block:: console + + root@node-1:~# netstat -ntpl | grep java + tcp6 0 0 :::9092 :::* LISTEN 14702/java + tcp6 0 0 :::2181 :::* LISTEN 9710/java + tcp6 0 0 :::9990 :::* LISTEN 14702/java + + You will see that Kafka and Zookeeper are running and listening theirs ports: + 2181 - Zookeeper, 9092 and 9990 - Kafka. + +#. Additionally you can test sending/receiving messages with instructions on `Quick Start Guide (Step 3 - Step 5) `_ diff --git a/docs/source/images/assign-role.png b/docs/source/images/assign-role.png new file mode 100644 index 0000000000000000000000000000000000000000..65e2ab41dff0f19c47e2e221037f64f91c332eb5 GIT binary patch literal 97854 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 literal 0 HcmV?d00001 diff --git a/docs/source/images/settings.png b/docs/source/images/settings.png new file mode 100644 index 0000000000000000000000000000000000000000..3b96dbc5005660f9fb248809889c6007856cb485 GIT binary patch literal 127153 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%0AVvL3+L_qJ>Icywnh~ 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 yO|GOLb|9cfLWF#Wmge_9y$gg03loiw-7d`_. + +#. Copy the plugin's RPM file to the + `Fuel Master node + `_ + with secure copy (scp):: + + # scp fuel-plugin-ceilometer-redis/kafka-0.1-0.1.0-1.noarch.rpm / + root@::/tmp + +#. Log into the Fuel Master node and install the plugin:: + + # ssh root@: + [root@fuel-master ~]# cd /tmp + [root@fuel-master ~]# fuel plugins --install kafka-0.1-0.1.0-1.noarch.rpm + +#. Verify that the plugin is installed correctly:: + + [root@fuel-master ~]# fuel plugins list + id | name | version | package_version | releases + ---+-------+---------+-----------------+-------------------- + 1 | kafka | 0.1.0 | 4.0.0 | ubuntu (mitaka-9.0) \ No newline at end of file diff --git a/environment_config.yaml b/environment_config.yaml new file mode 100644 index 0000000..ba2d227 --- /dev/null +++ b/environment_config.yaml @@ -0,0 +1,67 @@ +attributes: + + kafka_jvm_heap_size: + value: '1' + label: 'Kafka JVM Heap size' + description: "The JVM Heap size for Kafka in GB" + weight: 10 + type: "text" + regex: + source: '^\d+$' + error: "You must provide a number" + + zookeeper_jvm_heap_size: + value: '1' + label: 'ZooKeeper JVM Heap size' + description: 'The JVM Heap size for ZooKeeper in GB. Kafka documentation it is recommended to use 3-5 GB as the JVM Heap size for ZooKeeper' + weight: 15 + type: "text" + regex: + source: '^\d+$' + error: "You must provide a number" + + advanced_settings: + label: "Advanced settings" + value: false + description: "The plugin determines the best settings if not set" + weight: 20 + type: checkbox + + num_partitions: + value: '5' + label: 'Number of partitions' + description: "The number of partitions per topic. Default is 5." + weight: 22 + type: "text" + regex: + source: '^\d+$' + error: "You must provide a number" + restrictions: + - condition: "settings:kafka.advanced_settings.value == false" + action: hide + + replication_factor: + value: '' + label: 'Replication factor' + description: 'The partition replication factor. Default is number of nodes in the Kafka cluster' + weight: 23 + type: "text" + regex: + source: '^\d{0,2}$' + error: "You must provide either a number or leave it empty" + restrictions: + - condition: "settings:kafka.advanced_settings.value == false" + action: hide + + log_retention_hours: + value: '168' + label: 'Retention period' + description: 'The log retention in hours. Default is 168 hours (7 days).' + weight: 24 + type: "text" + regex: + source: '^\d+$' + error: "You must provide a number" + restrictions: + - condition: "settings:kafka.advanced_settings.value == false" + action: hide diff --git a/functions.sh b/functions.sh new file mode 100644 index 0000000..c82609d --- /dev/null +++ b/functions.sh @@ -0,0 +1,63 @@ +#!/bin/bash +# Copyright 2016 Mirantis, 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. + +set -eux + +ROOT="$(dirname "$(readlink -f "$0")")" +MODULES_DIR="${ROOT}"/deployment_scripts/puppet/modules +RPM_REPO="${ROOT}"/repositories/centos/ +DEB_REPO="${ROOT}"/repositories/ubuntu/ + +function get_package_path { + FILE=$(basename "$1") + if [[ "$1" == *.deb ]]; then + echo "$DEB_REPO"/"$FILE" + elif [[ "$1" == *.rpm ]]; then + echo "$RPM_REPO"/"$FILE" + else + echo "Invalid URL for $1" + exit 1 + fi +} + +# Download RPM or DEB packages and store them in the local repository directory +function download_packages { + while [ $# -gt 0 ]; do + wget -qO - "$1" > "$(get_package_path "$1")" + shift + done +} + +# Download file and store it in the local directory +function download_file { + URL=$1 + FILE_NAME=$2 + DESTINATION=$3 + mkdir -p $DESTINATION + wget -qO $DESTINATION/$FILE_NAME $URL +} + + +# Download official Puppet module and store it in the local directory +function download_puppet_module { + rm -rf "${MODULES_DIR:?}"/"$1" + mkdir -p "${MODULES_DIR}"/"$1" + wget -qO- "$2" | tar -C "${MODULES_DIR}/$1" --strip-components=1 -xz +} + +function check_md5sum { + FILE="$(get_package_path "$1")" + echo "$2 $FILE" | md5sum --check --strict +} diff --git a/metadata.yaml b/metadata.yaml new file mode 100644 index 0000000..ddfde9c --- /dev/null +++ b/metadata.yaml @@ -0,0 +1,29 @@ +# Plugin name +name: kafka +# Human-readable name for your plugin +title: The Apache Kafka Message Broker Plugin +# Plugin version +version: '0.1.0' +# Description +description: Deploy Apache Kafka Message Broker Cluster +# Required fuel version +fuel_version: ['9.0'] +# Licences +licenses: ['Apache License Version 2.0'] +# Specify author or company name +authors: ['Mirantis Inc.'] +# A link to the plugin homepage +homepage: 'https://github.com/openstack/fuel-plugin-kafka' +groups: ['monitoring'] +is_hotpluggable: true + +# The plugin is compatible with releases in the list +releases: + - os: ubuntu + version: mitaka-9.0 + mode: ['ha'] + deployment_scripts_path: deployment_scripts/ + repository_path: repositories/ubuntu + +# Version of plugin package +package_version: '4.0.0' diff --git a/node_roles.yaml b/node_roles.yaml new file mode 100644 index 0000000..a786d53 --- /dev/null +++ b/node_roles.yaml @@ -0,0 +1,11 @@ +kafka: + name: 'Kafka' + description: 'Install Kafka Cluster' + has_primary: true + public_ip_required: false + weight: 100 + limits: + max: 5 + recommended: 3 + conflicts: + - compute diff --git a/pre_build_hook b/pre_build_hook new file mode 100755 index 0000000..0ae37a3 --- /dev/null +++ b/pre_build_hook @@ -0,0 +1,30 @@ +#!/bin/bash +set -eux + +. "$(dirname "$(readlink -f "$0")")"/functions.sh + +ARCHIVE_MODULE_URL="https://forge.puppet.com/v3/files/puppet-archive-1.0.0.tar.gz" +JAVA_MODULE_URL="https://forge.puppet.com/v3/files/puppetlabs-java-1.6.0.tar.gz" +STDLIB_MODULE_URL="https://forge.puppet.com/v3/files/puppetlabs-stdlib-4.12.0.tar.gz" +SYSTEMD_MODULE_URL="https://forge.puppet.com/v3/files/camptocamp-systemd-0.2.2.tar.gz" +ZOOKEEPER_MODULE_URL="https://forge.puppet.com/v3/files/deric-zookeeper-0.5.5.tar.gz" +KAFKA_MODULE_URL="https://forge.puppet.com/v3/files/puppet-kafka-2.0.0.tar.gz" + +download_puppet_module "archive" "${ARCHIVE_MODULE_URL}" +download_puppet_module "java" "${JAVA_MODULE_URL}" +download_puppet_module "stdlib" "${STDLIB_MODULE_URL}" +download_puppet_module "systemd" "${SYSTEMD_MODULE_URL}" +download_puppet_module "zookeeper" "${ZOOKEEPER_MODULE_URL}" +download_puppet_module "kafka" "${KAFKA_MODULE_URL}" + +# Patching modules +PATCH_DIR="deployment_scripts/puppet/patches" +MODULES_DIR="deployment_scripts/puppet/modules" +cp -f $PATCH_DIR/zookeeper/manifests/post_install.pp $MODULES_DIR/zookeeper/manifests +cp -f $PATCH_DIR/zookeeper/templates/conf/zoo.cfg.erb $MODULES_DIR/zookeeper/templates/conf +cp -f $PATCH_DIR/kafka/manifests/init.pp $MODULES_DIR/kafka/manifests +cp -f $PATCH_DIR/kafka/manifests/broker/service.pp $MODULES_DIR/kafka/manifests/broker +cp -f $PATCH_DIR/kafka/templates/init.erb $MODULES_DIR/kafka/templates + +KAFKA_TARBALL_URL="http://mirrors.ukfast.co.uk/sites/ftp.apache.org/kafka/0.10.0.0/kafka_2.11-0.10.0.0.tgz" +download_file "${KAFKA_TARBALL_URL}" kafka_2.11-0.10.0.0.tgz repositories/ubuntu/kafka/0.10.0.0 diff --git a/repositories/ubuntu/.gitignore b/repositories/ubuntu/.gitignore new file mode 100644 index 0000000..8fdfdbd --- /dev/null +++ b/repositories/ubuntu/.gitignore @@ -0,0 +1,2 @@ +*deb +kafka diff --git a/repositories/ubuntu/.gitkeep b/repositories/ubuntu/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tasks.yaml b/tasks.yaml new file mode 100644 index 0000000..0637a08 --- /dev/null +++ b/tasks.yaml @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/test-requirements.txt b/test-requirements.txt new file mode 100644 index 0000000..fbf953d --- /dev/null +++ b/test-requirements.txt @@ -0,0 +1,2 @@ +-e git+https://github.com/openstack/fuel-plugins.git#egg=fuel-plugin-builder +Sphinx diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000..df4b9b1 --- /dev/null +++ b/tox.ini @@ -0,0 +1,27 @@ +[tox] +envlist = manifests,build_plugin +skipsdist = True + +[testenv] +deps = -r{toxinidir}/test-requirements.txt +passenv = HOME + +[testenv:manifests] +deps = +changedir = {toxinidir}/deployment_scripts/puppet/manifests +whitelist_externals = + bundle + mkdir +commands = + mkdir -p {toxinidir}/.bundled_gems + bundle install --path {toxinidir}/.bundled_gems + bundle exec rake test + +[testenv:build_plugin] +changedir = {toxinidir} +whitelist_externals = + fpb + bash +commands = + fpb --check {toxinidir} --debug + fpb --build {toxinidir} --debug diff --git a/volumes.yaml b/volumes.yaml new file mode 100644 index 0000000..ebd9b9f --- /dev/null +++ b/volumes.yaml @@ -0,0 +1,21 @@ +volumes: + - id: "kafka" + type: "vg" + min_size: + generator: "calc_gb_to_mb" + generator_args: [30] + label: "Kafka data" + volumes: + - mount: "/opt/kafka-data" + type: "lv" + name: "kafka" + file_system: "ext4" + size: + generator: "calc_total_vg" + generator_args: ["kafka"] + +volumes_roles_mapping: + kafka: + - {allocate_size: "min", id: "os"} + - {allocate_size: "min", id: "logs"} + - {allocate_size: "all", id: "kafka"}