summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorliyin <liyin11@huawei.com>2016-11-24 12:37:10 +0800
committerAce Lee <liyin11@huawei.com>2016-11-28 10:00:52 +0000
commit484f9305389c72cd13aae83192a4ff1eac0d1652 (patch)
tree20dc6ad926d599249f78c76609b61cdbf7956f0d
parent00fd400230d4ec9f09aea10821a5a61ec28763f9 (diff)
POSCA docker-compose adapting
JIRA: BOTTLENECK-105 there are files which be need to support docker-compose. some files are docker configure file. some files are used to build docker image. kibana docker is bottlenecks project dashboard. elasticsearch docker is bottlenecks project database. influxdb docker is yardstick project database. yardstick docker is used to run test case. Change-Id: I7f0927c940a400f9f66ac77174f06236a1f4f265 Signed-off-by: liyin <liyin11@huawei.com>
-rw-r--r--docker/bottleneck-compose/bottlenecks/Dockerfile10
-rw-r--r--docker/bottleneck-compose/docker-compose.yml27
-rw-r--r--docker/bottleneck-compose/kibana/Dockerfile10
-rw-r--r--docker/bottleneck-compose/kibana/config/kibana.yml76
-rw-r--r--docker/bottleneck-compose/kibana/entrypoint.sh10
-rw-r--r--docker/bottleneck-compose/yardstick/Dockerfile12
6 files changed, 145 insertions, 0 deletions
diff --git a/docker/bottleneck-compose/bottlenecks/Dockerfile b/docker/bottleneck-compose/bottlenecks/Dockerfile
new file mode 100644
index 00000000..5c793317
--- /dev/null
+++ b/docker/bottleneck-compose/bottlenecks/Dockerfile
@@ -0,0 +1,10 @@
+FROM opnfv/bottlenecks:stable
+
+USER root
+
+RUN apt-get update && apt-get install -y \
+ openssh-server
+
+RUN mkdir /var/run/sshd
+EXPOSE 22
+CMD ["/usr/sbin/sshd", "-D"]
diff --git a/docker/bottleneck-compose/docker-compose.yml b/docker/bottleneck-compose/docker-compose.yml
new file mode 100644
index 00000000..0b256b5b
--- /dev/null
+++ b/docker/bottleneck-compose/docker-compose.yml
@@ -0,0 +1,27 @@
+elasticsearch:
+ image: elasticsearch:2.4.0
+ command: elasticsearch -Des.network.host=0.0.0.0
+ ports:
+ - "9200:9200"
+ - "9300:9300"
+
+kibana:
+ build: kibana/
+ volumes:
+ - ./kibana/config/:/opt/kibana/config/
+ ports:
+ - "5601:5601"
+ links:
+ - elasticsearch
+
+yardstick:
+ restart: always
+ build: yardstick/
+ volumes:
+ - /var/run/docker/sock:/var/run/docker/sock
+ ports:
+ - "8888:5000"
+
+bottlenecks:
+ restart: always
+ build: bottlenecks/ \ No newline at end of file
diff --git a/docker/bottleneck-compose/kibana/Dockerfile b/docker/bottleneck-compose/kibana/Dockerfile
new file mode 100644
index 00000000..50c72bb4
--- /dev/null
+++ b/docker/bottleneck-compose/kibana/Dockerfile
@@ -0,0 +1,10 @@
+FROM kibana:4.6.1
+
+RUN apt-get update && apt-get install -y netcat
+
+COPY entrypoint.sh /tmp/entrypoint.sh
+RUN chmod +x /tmp/entrypoint.sh
+
+RUN kibana plugin --install elastic/sense
+
+CMD ["/tmp/entrypoint.sh"]
diff --git a/docker/bottleneck-compose/kibana/config/kibana.yml b/docker/bottleneck-compose/kibana/config/kibana.yml
new file mode 100644
index 00000000..820c7767
--- /dev/null
+++ b/docker/bottleneck-compose/kibana/config/kibana.yml
@@ -0,0 +1,76 @@
+# Kibana is served by a back end server. This controls which port to use.
+port: 5601
+
+# The host to bind the server to.
+host: "0.0.0.0"
+
+# The Elasticsearch instance to use for all your queries.
+elasticsearch_url: "http://elasticsearch:9200"
+
+# preserve_elasticsearch_host true will send the hostname specified in `elasticsearch`. If you set it to false,
+# then the host you use to connect to *this* Kibana instance will be sent.
+elasticsearch_preserve_host: true
+
+# Kibana uses an index in Elasticsearch to store saved searches, visualizations
+# and dashboards. It will create a new index if it doesn't already exist.
+kibana_index: ".kibana"
+
+# If your Elasticsearch is protected with basic auth, this is the user credentials
+# used by the Kibana server to perform maintence on the kibana_index at statup. Your Kibana
+# users will still need to authenticate with Elasticsearch (which is proxied thorugh
+# the Kibana server)
+# kibana_elasticsearch_username: user
+# kibana_elasticsearch_password: pass
+
+# If your Elasticsearch requires client certificate and key
+# kibana_elasticsearch_client_crt: /path/to/your/client.crt
+# kibana_elasticsearch_client_key: /path/to/your/client.key
+
+# If you need to provide a CA certificate for your Elasticsarech instance, put
+# the path of the pem file here.
+# ca: /path/to/your/CA.pem
+
+# The default application to load.
+default_app_id: "discover"
+
+# Time in milliseconds to wait for elasticsearch to respond to pings, defaults to
+# request_timeout setting
+# ping_timeout: 1500
+
+# Time in milliseconds to wait for responses from the back end or elasticsearch.
+# This must be > 0
+request_timeout: 300000
+
+# Time in milliseconds for Elasticsearch to wait for responses from shards.
+# Set to 0 to disable.
+shard_timeout: 0
+
+# Time in milliseconds to wait for Elasticsearch at Kibana startup before retrying
+# startup_timeout: 5000
+
+# Set to false to have a complete disregard for the validity of the SSL
+# certificate.
+verify_ssl: true
+
+# SSL for outgoing requests from the Kibana Server (PEM formatted)
+# ssl_key_file: /path/to/your/server.key
+# ssl_cert_file: /path/to/your/server.crt
+
+# Set the path to where you would like the process id file to be created.
+# pid_file: /var/run/kibana.pid
+
+# If you would like to send the log output to a file you can set the path below.
+# This will also turn off the STDOUT log output.
+# log_file: ./kibana.log
+# Plugins that are included in the build, and no longer found in the plugins/ folder
+bundled_plugin_ids:
+ - plugins/dashboard/index
+ - plugins/discover/index
+ - plugins/doc/index
+ - plugins/kibana/index
+ - plugins/markdown_vis/index
+ - plugins/metric_vis/index
+ - plugins/settings/index
+ - plugins/table_vis/index
+ - plugins/vis_types/index
+ - plugins/visualize/index
diff --git a/docker/bottleneck-compose/kibana/entrypoint.sh b/docker/bottleneck-compose/kibana/entrypoint.sh
new file mode 100644
index 00000000..c08d70ab
--- /dev/null
+++ b/docker/bottleneck-compose/kibana/entrypoint.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+
+# Wait for the Elasticsearch container to be ready before starting Kibana.
+echo "Stalling for Elasticsearch"
+while true; do
+ nc -q 1 elasticsearch 9200 2>/dev/null && break
+done
+
+echo "Starting Kibana"
+exec kibana
diff --git a/docker/bottleneck-compose/yardstick/Dockerfile b/docker/bottleneck-compose/yardstick/Dockerfile
new file mode 100644
index 00000000..ae9181b0
--- /dev/null
+++ b/docker/bottleneck-compose/yardstick/Dockerfile
@@ -0,0 +1,12 @@
+FROM opnfv/yardstick:stable
+
+USER root
+
+RUN apt-get update && apt-get install -y \
+ openssh-server
+
+# Create dir to put yardstick configure file
+RUN mkdir /var/run/sshd
+
+EXPOSE 22
+CMD ["/usr/sbin/sshd", "-D"]