Merge "[RN] Fixing the notes generation issue"
diff --git a/docker/swarm/stack/monitoring/init.yml b/docker/swarm/stack/monitoring/init.yml
index 347319a..17a3a49 100644
--- a/docker/swarm/stack/monitoring/init.yml
+++ b/docker/swarm/stack/monitoring/init.yml
@@ -95,11 +95,11 @@
                 - ${prometheus:server:dir:config}:${_param:prometheus_server_config_directory}
                 - ${prometheus:server:dir:data}:${_param:prometheus_server_data_directory}
               environment:
-                config_dir: ${_param:prometheus_server_config_directory}
-                data_dir: ${_param:prometheus_server_data_directory}
-                bind_port: ${prometheus:server:bind:port}
-                bind_address: ${prometheus:server:bind:address}
-                storage_local_engine: ${prometheus:server:storage:local:engine}
-                storage_local_retention: ${prometheus:server:storage:local:retention}
-                storage_local_target_heap_size: ${prometheus:server:storage:local:target_heap_size}
-                storage_local_num_fingerprint_mutexes: ${prometheus:server:storage:local:num_fingerprint_mutexes}
+                PROMETHEUS_CONFIG_DIR: ${_param:prometheus_server_config_directory}
+                PROMETHEUS_DATA_DIR: ${_param:prometheus_server_data_directory}
+                PROMETHEUS_BIND_PORT: ${prometheus:server:bind:port}
+                PROMETHEUS_BIND_ADDRESS: ${prometheus:server:bind:address}
+                PROMETHEUS_STORAGE_LOCAL_ENGINE: ${prometheus:server:storage:local:engine}
+                PROMETHEUS_STORAGE_LOCAL_RETENTION: ${prometheus:server:storage:local:retention}
+                PROMETHEUS_STORAGE_LOCAL_TARGET_HEAP_SIZE: ${prometheus:server:storage:local:target_heap_size}
+                PROMETHEUS_STORAGE_LOCAL_NUM_FINGERPRINT_MUTEXES: ${prometheus:server:storage:local:num_fingerprint_mutexes}
diff --git a/helm/analytics_pipeline/hdfs.yml b/helm/analytics_pipeline/hdfs.yml
new file mode 100644
index 0000000..64e0cef
--- /dev/null
+++ b/helm/analytics_pipeline/hdfs.yml
@@ -0,0 +1,15 @@
+parameters:
+  _param:
+    analytics_hdfs_release: ${_param:analytics_release_prefix}hdfs
+    analytics_hdfs_address: hdfs-namenode-${_param:analytics_hdfs_release}-0.hdfs-namenode-${_param:analytics_hdfs_release}
+  helm:
+    client:
+      releases:
+        analytics-pipeline-hdfs:
+          enabled: ${_param:analytics_enabled}
+          name: ${_param:analytics_hdfs_release}
+          chart: ${_param:analytics_repo}/hdfs
+          values:
+            datanode:
+              replicas: 3
+              antiAffinity: soft
diff --git a/helm/analytics_pipeline/init.yml b/helm/analytics_pipeline/init.yml
new file mode 100644
index 0000000..f994efa
--- /dev/null
+++ b/helm/analytics_pipeline/init.yml
@@ -0,0 +1,19 @@
+classes:
+- system.helm.analytics_pipeline.zookeeper
+- system.helm.analytics_pipeline.kafka
+- system.helm.analytics_pipeline.spark
+- system.helm.analytics_pipeline.hdfs
+- system.helm.analytics_pipeline.tweepub
+- system.helm.analytics_pipeline.tweetics
+- system.helm.analytics_pipeline.tweeviz
+- service.helm.client
+parameters:
+  _param:
+    analytics_enabled: true
+    analytics_repo: mirantisworkloads
+    analytics_release_prefix: analytics-pipeline-
+    analytics_kafka_replicas: 3
+  helm:
+    client:
+      repos:
+        mirantisworkloads: https://mirantisworkloads.storage.googleapis.com/
diff --git a/helm/analytics_pipeline/kafka.yml b/helm/analytics_pipeline/kafka.yml
new file mode 100644
index 0000000..3c88299
--- /dev/null
+++ b/helm/analytics_pipeline/kafka.yml
@@ -0,0 +1,17 @@
+parameters:
+  _param:
+    analytics_kafka_release: ${_param:analytics_release_prefix}kafka
+    analytics_kafka_address: kafka-${_param:analytics_kafka_release}-0.kafka-${_param:analytics_kafka_release}:9092,kafka-${_param:analytics_kafka_release}-1.kafka-${_param:analytics_kafka_release}:9092,kafka-${_param:analytics_kafka_release}-2.kafka-${_param:analytics_kafka_release}:9092
+  helm:
+    client:
+      releases:
+        analytics-pipeline-kafka:
+          enabled: ${_param:analytics_enabled}
+          name: ${_param:analytics_kafka_release}
+          chart: ${_param:analytics_repo}/kafka
+          values:
+            replicas: ${_param:analytics_kafka_replicas}
+            antiAffinity: soft
+            zookeeper:
+              deployChart: false
+              externalAddress: ${_param:analytics_zookeeper_address}
diff --git a/helm/analytics_pipeline/spark.yml b/helm/analytics_pipeline/spark.yml
new file mode 100644
index 0000000..aeb2856
--- /dev/null
+++ b/helm/analytics_pipeline/spark.yml
@@ -0,0 +1,20 @@
+parameters:
+  _param:
+    analytics_spark_release: ${_param:analytics_release_prefix}spark
+    analytics_spark_address: spark-master-${_param:analytics_spark_release}-0.spark-master-${_param:analytics_spark_release}:7077,spark-master-${_param:analytics_spark_release}-1.spark-master-${_param:analytics_spark_release}:7077
+  helm:
+    client:
+      releases:
+        analytics-pipeline-spark:
+          enabled: ${_param:analytics_enabled}
+          name: ${_param:analytics_spark_release}
+          chart: ${_param:analytics_repo}/spark
+          values:
+            spark:
+              master:
+                replicas: 1
+              worker:
+                replicas: 3
+            zookeeper:
+              deployChart: false
+              externalAddress: ${_param:analytics_zookeeper_address}
diff --git a/helm/analytics_pipeline/tweepub.yml b/helm/analytics_pipeline/tweepub.yml
new file mode 100644
index 0000000..42678a3
--- /dev/null
+++ b/helm/analytics_pipeline/tweepub.yml
@@ -0,0 +1,23 @@
+parameters:
+  _param:
+    analytics_tweepub_release: ${_param:analytics_release_prefix}tweepub
+  helm:
+    client:
+      releases:
+        analytics-pipeline-tweepub:
+          enabled: ${_param:analytics_enabled}
+          name: ${_param:analytics_tweepub_release}
+          chart: ${_param:analytics_repo}/tweepub
+          values:
+            twitter:
+              appKey: ${_param:analytics_twitter_app_key}
+              appSecret: ${_param:analytics_twitter_app_secret}
+              tokenKey: ${_param:analytics_twitter_token_key}
+              tokenSecret: ${_param:analytics_twitter_token_secret}
+
+              # San Francisco, Boston, New York
+              locations: -71.4415,41.9860,-70.4747,42.9041,-122.75,36.8,-121.75,37.8,-74,40,-73,41
+            kafka:
+              deployChart: false
+              externalAddress: ${_param:analytics_kafka_address}
+              topic: twitter-stream
diff --git a/helm/analytics_pipeline/tweetics.yml b/helm/analytics_pipeline/tweetics.yml
new file mode 100644
index 0000000..de438bf
--- /dev/null
+++ b/helm/analytics_pipeline/tweetics.yml
@@ -0,0 +1,27 @@
+parameters:
+  _param:
+    analytics_tweetics_release: ${_param:analytics_release_prefix}tweetics
+  helm:
+    client:
+      releases:
+        analytics-pipeline-tweetics:
+          enabled: ${_param:analytics_enabled}
+          name: ${_param:analytics_tweetics_release}
+          chart: ${_param:analytics_repo}/tweetics
+          values:
+            minHashtagCounts: 0
+            zookeeper:
+              deployChart: false
+              externalAddress: ${_param:analytics_zookeeper_address}
+            kafka:
+              deployChart: false
+              externalAddress: ${_param:analytics_kafka_address}
+              topic: twitter-stream
+            spark:
+              deployChart: false
+              externalAddress: ${_param:analytics_spark_address}
+            storage: hdfs
+            hdfs:
+              deployChart: false
+              externalAddress: ${_param:analytics_hdfs_address}
+              path: /twitter
diff --git a/helm/analytics_pipeline/tweeviz.yml b/helm/analytics_pipeline/tweeviz.yml
new file mode 100644
index 0000000..d8f7aef
--- /dev/null
+++ b/helm/analytics_pipeline/tweeviz.yml
@@ -0,0 +1,19 @@
+parameters:
+  _param:
+    analytics_tweeviz_release: ${_param:analytics_release_prefix}tweeviz
+  helm:
+    client:
+      releases:
+        analytics-pipeline-tweeviz:
+          enabled: ${_param:analytics_enabled}
+          name: ${_param:analytics_tweeviz_release}
+          chart: ${_param:analytics_repo}/tweeviz
+          values:
+            minPopularity: 1
+            topListSize: 25
+            storage: hdfs
+            hdfs:
+              deployChart: false
+              externalAddress: ${_param:analytics_hdfs_address}
+              path: /
+              externalPort: 8020
diff --git a/helm/analytics_pipeline/zookeeper.yml b/helm/analytics_pipeline/zookeeper.yml
new file mode 100644
index 0000000..698510d
--- /dev/null
+++ b/helm/analytics_pipeline/zookeeper.yml
@@ -0,0 +1,14 @@
+parameters:
+  _param:
+    analytics_zookeeper_release: ${_param:analytics_release_prefix}zookeeper
+    analytics_zookeeper_address: zk-${_param:analytics_zookeeper_release}-0.zk-${_param:analytics_zookeeper_release}:2181,zk-${_param:analytics_zookeeper_release}-1.zk-${_param:analytics_zookeeper_release}:2181,zk-${_param:analytics_zookeeper_release}-2.zk-${_param:analytics_zookeeper_release}:2181
+  helm:
+    client:
+      releases:
+        analytics-pipeline-zookeeper:
+          enabled: ${_param:analytics_enabled}
+          name: ${_param:analytics_zookeeper_release}
+          chart: ${_param:analytics_repo}/zookeeper
+          values:
+            replicas: 3
+            antiAffinity: soft
diff --git a/jenkins/client/approved_scripts.yml b/jenkins/client/approved_scripts.yml
index 99f2492..b187e26 100644
--- a/jenkins/client/approved_scripts.yml
+++ b/jenkins/client/approved_scripts.yml
@@ -127,3 +127,5 @@
         - method java.io.File listFiles
         - method java.lang.String concat java.lang.String
         - method org.jenkinsci.plugins.workflow.steps.FlowInterruptedException getCauses
+        - method org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper getRawBuild
+        - method hudson.model.Actionable getAction java.lang.Class
diff --git a/jenkins/client/init.yml b/jenkins/client/init.yml
index b37c48f..7d87ffe 100644
--- a/jenkins/client/init.yml
+++ b/jenkins/client/init.yml
@@ -16,7 +16,6 @@
         username: ${_param:jenkins_client_user}
         password: ${_param:jenkins_client_password}
       plugin:
-        ansicolor: {}
         artifactory: {}
         build-blocker-plugin: {}
         build-monitor-plugin: {}
@@ -39,7 +38,6 @@
         simple-theme-plugin: {}
         slack: {}
         test-stability: {}
-        timestamper: {}
         workflow-cps: {}
         workflow-remote-loader: {}
         workflow-scm-step:
diff --git a/jenkins/client/job/deploy/lab/component/ceph.yml b/jenkins/client/job/deploy/lab/component/ceph.yml
index f8953b6..e9e3d64 100644
--- a/jenkins/client/job/deploy/lab/component/ceph.yml
+++ b/jenkins/client/job/deploy/lab/component/ceph.yml
@@ -14,4 +14,4 @@
         stack_type: aws
         stack_install: core,ceph
         stack_test: "ceph"
-        job_timer: ""
+        job_timer: "H H * * *"
diff --git a/jenkins/client/job/opencontrail/build/dpdk-extra.yml b/jenkins/client/job/opencontrail/build/dpdk-extra.yml
index 156cedb..53e1ae3 100644
--- a/jenkins/client/job/opencontrail/build/dpdk-extra.yml
+++ b/jenkins/client/job/opencontrail/build/dpdk-extra.yml
@@ -1,4 +1,6 @@
 parameters:
+  _param:
+    jenkins_contrail_dpdk_kernel_modules_dkms: "${_param:jenkins_gerrit_url}/contrail/contrail-dpdk-kernel-modules-dkms"
   jenkins:
     client:
       job_template:
@@ -84,3 +86,52 @@
                 description: "binary packages to create"
                 type: string
                 default: "{{binary}}"
+        build-opencontrail-dpdk-kernel-modules-dkms:
+          name: build-opencontrail-dpdk-kernel-modules-dkms-{{os}}-{{dist}}-{{dpdk}}
+          jobs:
+            - os: ubuntu
+              dist: xenial
+              branch: contrail_dpdk_2_1
+              dpdk: "21"
+              aptly_repo: ubuntu-xenial-mitaka
+            - os: ubuntu
+              dist: xenial
+              dpdk: "1702"
+              branch: contrail_dpdk_17_02
+              aptly_repo: ubuntu-xenial-oc40-dpdk1702
+          template:
+            discard:
+             build:
+               keep_num: 5
+             artifact:
+               keep_num: 5
+            type: workflow-scm
+            concurrent: false
+            quiet_period: 120
+            scm:
+              type: git
+              url: "${_param:jenkins_contrail_dpdk_kernel_modules_dkms}"
+              credentials: "gerrit"
+              branch: "{{branch}}"
+            param:
+              SOURCE_BRANCH:
+                type: string
+                default: "{{branch}}"
+              SOURCE_CREDENTIALS:
+                type: string
+                default: "gerrit"
+              APTLY_URL:
+                type: string
+                default: "${_param:jenkins_aptly_api_url}"
+              APTLY_REPO:
+                type: string
+                default: "{{aptly_repo}}"
+              OS:
+                type: string
+                default: "{{os}}"
+              DIST:
+                type: string
+                default: "{{dist}}"
+              ARCH:
+                type: string
+                default: "amd64"
diff --git a/linux/system/repo/aptly.yml b/linux/system/repo/aptly.yml
new file mode 100644
index 0000000..330ba03
--- /dev/null
+++ b/linux/system/repo/aptly.yml
@@ -0,0 +1,9 @@
+parameters:
+  linux:
+    system:
+      repo:
+        aptly:
+          source: "deb http://repo.aptly.info/ squeeze main"
+          architectures: amd64
+          key_id: 9E3E53F19C7DE460
+          key_server: keys.gnupg.net
diff --git a/linux/system/single.yml b/linux/system/single.yml
index e2a8502..928efda 100644
--- a/linux/system/single.yml
+++ b/linux/system/single.yml
@@ -35,6 +35,8 @@
           net.ipv4.neigh.default.gc_thresh2: 8192
           net.ipv4.neigh.default.gc_thresh3: 16384
           net.core.netdev_max_backlog: 261144
+          net.ipv4.tcp_tw_recycle: 1
+          net.ipv4.tcp_tw_reuse: 1
           kernel.panic: 60
       cpu:
         governor: performance
diff --git a/openssh/server/team/all.yml b/openssh/server/team/all.yml
index 4dcb121..1fea51d 100644
--- a/openssh/server/team/all.yml
+++ b/openssh/server/team/all.yml
@@ -5,7 +5,9 @@
 - system.openssh.server.team.mcp_ci
 - system.openssh.server.team.mmo_devops
 - system.openssh.server.team.presales
-- system.openssh.server.team.support
+- system.openssh.server.team.services
+# avoid teams w/sudo group restrictions, or override restrictions
+#- system.openssh.server.team.support
 - system.openssh.server.team.stacklight
 - system.openssh.server.team.networking
 - system.openssh.server.team.oss_team
diff --git a/prometheus/server/target/kubernetes/endpoint.yml b/prometheus/server/target/kubernetes/endpoint.yml
deleted file mode 100644
index 671f037..0000000
--- a/prometheus/server/target/kubernetes/endpoint.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-parameters:
-  prometheus:
-    server:
-      target:
-        kubernetes:
-          endpoint:
-            enabled: true
diff --git a/prometheus/server/target/kubernetes/init.yml b/prometheus/server/target/kubernetes/init.yml
deleted file mode 100644
index 919c916..0000000
--- a/prometheus/server/target/kubernetes/init.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-parameters:
-  prometheus:
-    server:
-      target:
-        kubernetes:
-          enabled: true
-          api_ip: ${_param:kubernetes_control_address}
-          cert_name: prometheus-server.crt
-          key_name: prometheus-server.key
diff --git a/prometheus/server/target/kubernetes/pod.yml b/prometheus/server/target/kubernetes/pod.yml
deleted file mode 100644
index 964282f..0000000
--- a/prometheus/server/target/kubernetes/pod.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-parameters:
-  prometheus:
-    server:
-      target:
-        kubernetes:
-          pod:
-            enabled: true