Giuseppe Lavagetto has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/402784 )
Change subject: kafka: create compound roles, one role() call per node definition ...................................................................... kafka: create compound roles, one role() call per node definition Change-Id: If38f8b18967c883fa7982b5b16751f68e1d69d03 --- A hieradata/role/common/kafka/analytics.yaml D hieradata/role/common/kafka/analytics/broker.yaml A hieradata/role/common/kafka/main.yaml M manifests/site.pp A modules/role/manifests/kafka/analytics.pp A modules/role/manifests/kafka/main.pp 6 files changed, 51 insertions(+), 30 deletions(-) Approvals: Giuseppe Lavagetto: Looks good to me, approved jenkins-bot: Verified diff --git a/hieradata/role/common/kafka/analytics.yaml b/hieradata/role/common/kafka/analytics.yaml new file mode 100644 index 0000000..d714f2f --- /dev/null +++ b/hieradata/role/common/kafka/analytics.yaml @@ -0,0 +1,11 @@ +admin::groups: + - analytics-admins +cluster: analytics_kafka +nagios_group: analytics_eqiad +burrow::lagcheck_intervals: 100 +burrow::httpserver_port: 8000 +burrow::consumer_groups: + - eventlogging_processor_client_side_00 + - eventlogging_consumer_mysql_00 + - eventlogging_consumer_mysql_eventbus_00 + - eventlogging_consumer_files_00 diff --git a/hieradata/role/common/kafka/analytics/broker.yaml b/hieradata/role/common/kafka/analytics/broker.yaml deleted file mode 100644 index 79be700..0000000 --- a/hieradata/role/common/kafka/analytics/broker.yaml +++ /dev/null @@ -1,4 +0,0 @@ -admin::groups: - - analytics-admins -cluster: analytics_kafka -nagios_group: analytics_eqiad diff --git a/hieradata/role/common/kafka/main.yaml b/hieradata/role/common/kafka/main.yaml new file mode 100644 index 0000000..201622d --- /dev/null +++ b/hieradata/role/common/kafka/main.yaml @@ -0,0 +1,5 @@ +cluster: eventbus +admin::groups: + - eventbus-admins +role::lvs::realserver::pools: + eventbus: {} diff --git a/manifests/site.pp b/manifests/site.pp index edf431e..15e9db2 100644 --- a/manifests/site.pp +++ b/manifests/site.pp @@ -1066,38 +1066,14 @@ # Analytics Kafka Brokers node /kafka10(12|13|14|20|22|23)\.eqiad\.wmnet/ { - # Kafka brokers are routed via IPv6 so that - # other DCs can address without public IPv4 - # addresses. - interface::add_ip6_mapped { 'main': } - - role(kafka::analytics::broker, - # Mirror all other Kafka cluster data into the analytics Kafka cluster. - kafka::analytics::mirror, - # Mirror main Kafka cluster data to Jumbo Kafka cluster. - # NOTE: this is only running on the analytics Kafka brokers because - # of a 0.11 client compatibility issue. Ideally this role would - # be included on the jumbo brokers instead. But, since we need to consume - # from a 0.9 cluster (main), we need to use a non 0.11 MirrorMaker version, - # which is not available on the Kafka jumbo brokers, since they are 0.11. - kafka::jumbo::mirror, - ipsec) - - include ::standard - include ::base::firewall + role(kafka::analytics) } # Kafka Brokers - main-eqiad and main-codfw Kafka clusters. # For now, eventlogging-service-eventbus is also colocated # on these brokers. node /kafka[12]00[123]\.(eqiad|codfw)\.wmnet/ { - role(kafka::main::broker, - # Mirror eqiad.* topics from main-eqiad into main-codfw, - # or mirror codfw.* topics from main-codfw into main-eqiad. - kafka::main::mirror, - eventbus::eventbus) - - include ::standard + role(kafka::main) } # kafka-jumbo is a large general purpose Kafka cluster. diff --git a/modules/role/manifests/kafka/analytics.pp b/modules/role/manifests/kafka/analytics.pp new file mode 100644 index 0000000..d9c5fa9 --- /dev/null +++ b/modules/role/manifests/kafka/analytics.pp @@ -0,0 +1,23 @@ +# Compound role for analytics kafka +class role::kafka::analytics { + system::role { 'kafka_analytics': } + # Kafka brokers are routed via IPv6 so that + # other DCs can address without public IPv4 + # addresses. + interface::add_ip6_mapped { 'main': } + + include ::role::kafka::analytics::broker + # Mirror all other Kafka cluster data into the analytics Kafka cluster. + include ::role::kafka::analytics::mirror + # Mirror main Kafka cluster data to Jumbo Kafka cluster. + # NOTE: this is only running on the analytics Kafka brokers because + # of a 0.11 client compatibility issue. Ideally this role would + # be included on the jumbo brokers instead. But, since we need to consume + # from a 0.9 cluster (main), we need to use a non 0.11 MirrorMaker version, + # which is not available on the Kafka jumbo brokers, since they are 0.11. + include ::role::kafka::jumbo::mirror + include ::role::ipsec + + include ::standard + include ::base::firewall +} diff --git a/modules/role/manifests/kafka/main.pp b/modules/role/manifests/kafka/main.pp new file mode 100644 index 0000000..8ca7176 --- /dev/null +++ b/modules/role/manifests/kafka/main.pp @@ -0,0 +1,10 @@ +# Compound role for the Kafka "main" cluster +class role::kafka::main { + include ::role::kafka::main::broker + # Mirror eqiad.* topics from main-eqiad into main-codfw, + # or mirror codfw.* topics from main-codfw into main-eqiad. + include ::role::kafka::main::mirror + include ::role::eventbus::eventbus + + include ::standard +} -- To view, visit https://gerrit.wikimedia.org/r/402784 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: If38f8b18967c883fa7982b5b16751f68e1d69d03 Gerrit-PatchSet: 3 Gerrit-Project: operations/puppet Gerrit-Branch: production Gerrit-Owner: Giuseppe Lavagetto <glavage...@wikimedia.org> Gerrit-Reviewer: Giuseppe Lavagetto <glavage...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits