From 76092d6462ccbdd37a46071fa87804e9c9afdcd3 Mon Sep 17 00:00:00 2001 From: Mandeep Khinda Date: Fri, 1 Sep 2017 02:15:17 +0000 Subject: getting traversal, resources, & gremlin to boot - reverted some log dir changes that cause chef to complain about pre-existing directories - had to fork and modify docker-entrypoint for both resources and traversal to avoid git clone of aai-data - updated gremlin hostname so that container comes up... was complaining about failure to bind to port 8182 Issue-ID: OOM-65 Change-Id: I84d2647af588e39502a075880a163104bb39540e Signed-off-by: Mandeep Khinda Signed-off-by: yuryn --- .../aai/templates/aai-resources-deployment.yaml | 38 ++++++++++++--- .../aai/templates/aai-traversal-deployment.yaml | 40 +++++++++++++--- kubernetes/aai/templates/gremlin-deployment.yaml | 2 +- kubernetes/config/docker/init/config-init.sh | 15 +++--- .../config/aai/aai-resources/docker-entrypoint.sh | 56 ++++++++++++++++++++++ .../config/aai/aai-traversal/docker-entrypoint.sh | 47 ++++++++++++++++++ 6 files changed, 177 insertions(+), 21 deletions(-) create mode 100755 kubernetes/config/docker/init/src/config/aai/aai-resources/docker-entrypoint.sh create mode 100755 kubernetes/config/docker/init/src/config/aai/aai-traversal/docker-entrypoint.sh diff --git a/kubernetes/aai/templates/aai-resources-deployment.yaml b/kubernetes/aai/templates/aai-resources-deployment.yaml index b6242ee292..e18fcf20d7 100644 --- a/kubernetes/aai/templates/aai-resources-deployment.yaml +++ b/kubernetes/aai/templates/aai-resources-deployment.yaml @@ -12,6 +12,32 @@ spec: labels: app: aai-resources name: aai-resources + annotations: + pod.beta.kubernetes.io/init-containers: '[ + { + "args": [ + "--container-name", + "hbase" + ], + "command": [ + "/root/ready.py" + ], + "env": [ + { + "name": "NAMESPACE", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.namespace" + } + } + } + ], + "image": "oomk8s/readiness-check:1.0.0", + "imagePullPolicy": "Always", + "name": "aai-resources-readiness" + } + ]' spec: containers: - name: aai-resources @@ -29,12 +55,12 @@ spec: - name: CHEF_GIT_URL value: http://gerrit.onap.org/r/aai volumeMounts: - - mountPath: /opt/aai/logroot/AAI-RES/ + - mountPath: /opt/aai/logroot/ name: aai-resources-logs - - mountPath: /var/chef/aai-config/ - name: aai-config - mountPath: /var/chef/aai-data/ name: aai-data + - mountPath: /docker-entrypoint.sh + name: entrypoint-override ports: - containerPort: 8447 readinessProbe: @@ -46,12 +72,12 @@ spec: - name: aai-resources-logs hostPath: path: "/dockerdata-nfs/{{ .Values.nsPrefix }}/aai/aai-resources/logs/" - - name: aai-config - hostPath: - path: "/dockerdata-nfs/{{ .Values.nsPrefix }}/aai/aai-config/" - name: aai-data hostPath: path: "/dockerdata-nfs/{{ .Values.nsPrefix }}/aai/aai-data/" + - name: entrypoint-override + hostPath: + path: "/dockerdata-nfs/{{ .Values.nsPrefix }}/aai/aai-resources/docker-entrypoint.sh" restartPolicy: Always imagePullSecrets: - name: "{{ .Values.nsPrefix }}-docker-registry-key" diff --git a/kubernetes/aai/templates/aai-traversal-deployment.yaml b/kubernetes/aai/templates/aai-traversal-deployment.yaml index cb56be8fd9..59ea7bad4d 100644 --- a/kubernetes/aai/templates/aai-traversal-deployment.yaml +++ b/kubernetes/aai/templates/aai-traversal-deployment.yaml @@ -12,6 +12,34 @@ spec: labels: app: aai-traversal name: aai-traversal + annotations: + pod.beta.kubernetes.io/init-containers: '[ + { + "args": [ + "--container-name", + "hbase", + "--container-name", + "aai-resources" + ], + "command": [ + "/root/ready.py" + ], + "env": [ + { + "name": "NAMESPACE", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.namespace" + } + } + } + ], + "image": "oomk8s/readiness-check:1.0.0", + "imagePullPolicy": "Always", + "name": "aai-traversal-readiness" + } + ]' spec: containers: - name: aai-traversal @@ -29,12 +57,12 @@ spec: - name: CHEF_GIT_URL value: http://gerrit.onap.org/r/aai volumeMounts: - - mountPath: /opt/aai/logroot/AAI-GQ/ + - mountPath: /opt/aai/logroot/ name: aai-traversal-logs - - mountPath: /var/chef/aai-config/ - name: aai-config - mountPath: /var/chef/aai-data/ name: aai-data + - mountPath: /docker-entrypoint.sh + name: entrypoint-override ports: - containerPort: 8446 readinessProbe: @@ -46,12 +74,12 @@ spec: - name: aai-traversal-logs hostPath: path: "/dockerdata-nfs/{{ .Values.nsPrefix }}/aai/aai-traversal/logs/" - - name: aai-config - hostPath: - path: "/dockerdata-nfs/{{ .Values.nsPrefix }}/aai/aai-config/" - name: aai-data hostPath: path: "/dockerdata-nfs/{{ .Values.nsPrefix }}/aai/aai-data/" + - name: entrypoint-override + hostPath: + path: "/dockerdata-nfs/{{ .Values.nsPrefix }}/aai/aai-traversal/docker-entrypoint.sh" restartPolicy: Always imagePullSecrets: - name: "{{ .Values.nsPrefix }}-docker-registry-key" diff --git a/kubernetes/aai/templates/gremlin-deployment.yaml b/kubernetes/aai/templates/gremlin-deployment.yaml index aea89ad51f..ee98795235 100644 --- a/kubernetes/aai/templates/gremlin-deployment.yaml +++ b/kubernetes/aai/templates/gremlin-deployment.yaml @@ -50,7 +50,7 @@ spec: - name: SERVER_TABLE value: aaigraph.dev - name: GREMLIN_HOST - value: "gremlin.{{ .Values.nsPrefix }}-aai" + value: "gremlin" ports: - containerPort: 8182 readinessProbe: diff --git a/kubernetes/config/docker/init/config-init.sh b/kubernetes/config/docker/init/config-init.sh index 5bc6dd33ef..ba1142571a 100755 --- a/kubernetes/config/docker/init/config-init.sh +++ b/kubernetes/config/docker/init/config-init.sh @@ -22,16 +22,12 @@ mkdir -p /config-init/$NAMESPACE/sdc/logs/ASDC/ASDC-FE/ mkdir -p /config-init/$NAMESPACE/aai/opt/aai/logroot/ mkdir -p /config-init/$NAMESPACE/aai/model-loader/logs/ mkdir -p /config-init/$NAMESPACE/aai/haproxy/log/ -mkdir -p /config-init/$NAMESPACE/aai/aai-traversal/logs/ajsc-jetty/gc/ -mkdir -p /config-init/$NAMESPACE/aai/aai-traversal/logs/dmaapAAIEventConsumer/ -mkdir -p /config-init/$NAMESPACE/aai/aai-traversal/logs/perf-audit/ -mkdir -p /config-init/$NAMESPACE/aai/aai-traversal/logs/rest/ -mkdir -p /config-init/$NAMESPACE/aai/aai-resources/logs/ajsc-jetty/gc/ -mkdir -p /config-init/$NAMESPACE/aai/aai-resources/logs/dmaapAAIEventConsumer/ -mkdir -p /config-init/$NAMESPACE/aai/aai-resources/logs/perf-audit/ -mkdir -p /config-init/$NAMESPACE/aai/aai-resources/logs/rest/ +mkdir -p /config-init/$NAMESPACE/aai/aai-traversal/logs/ +mkdir -p /config-init/$NAMESPACE/aai/aai-resources/logs/ mkdir -p /config-init/$NAMESPACE/aai/sparky-be/logs/ mkdir -p /config-init/$NAMESPACE/aai/elasticsearch/es-data/ +mkdir -p /config-init/$NAMESPACE/aai/search-data-service/logs/ +mkdir -p /config-init/$NAMESPACE/aai/data-router/logs/ chmod -R 777 /config-init/$NAMESPACE/sdc/logs/ chmod -R 777 /config-init/$NAMESPACE/portal/logs/ @@ -44,6 +40,9 @@ chmod -R 777 /config-init/$NAMESPACE/aai/aai-traversal/logs/ chmod -R 777 /config-init/$NAMESPACE/aai/aai-resources/logs/ chmod -R 777 /config-init/$NAMESPACE/aai/sparky-be/logs/ chmod -R 777 /config-init/$NAMESPACE/aai/elasticsearch/es-data/ +chmod -R 777 /config-init/$NAMESPACE/aai/search-data-service/logs/ +chmod -R 777 /config-init/$NAMESPACE/aai/data-router/logs/ + # replace the default 'onap' namespace qualification of K8s hostnames within the config files find /config-init/$NAMESPACE/ -type f -exec sed -i -e "s/\.onap-/\.$NAMESPACE-/g" {} \; diff --git a/kubernetes/config/docker/init/src/config/aai/aai-resources/docker-entrypoint.sh b/kubernetes/config/docker/init/src/config/aai/aai-resources/docker-entrypoint.sh new file mode 100755 index 0000000000..059ef45eb2 --- /dev/null +++ b/kubernetes/config/docker/init/src/config/aai/aai-resources/docker-entrypoint.sh @@ -0,0 +1,56 @@ +### +# ============LICENSE_START======================================================= +# org.openecomp.aai +# ================================================================================ +# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# 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. +# ============LICENSE_END========================================================= +### + +cd /var/chef; + +CHEF_CONFIG_REPO=${CHEF_CONFIG_REPO:-aai-config}; + +CHEF_GIT_URL=${CHEF_GIT_URL:-http://nexus.onap.org/r/aai}; + +CHEF_CONFIG_GIT_URL=${CHEF_CONFIG_GIT_URL:-$CHEF_GIT_URL}; +CHEF_DATA_GIT_URL=${CHEF_DATA_GIT_URL:-$CHEF_GIT_URL}; + +if [ ! -d "aai-config" ]; then + + git clone --depth 1 -b ${CHEF_BRANCH} --single-branch ${CHEF_CONFIG_GIT_URL}/${CHEF_CONFIG_REPO}.git aai-config || { + echo "Error: Unable to clone the aai-config repo with url: ${CHEF_GIT_URL}/${CHEF_CONFIG_REPO}.git"; + exit; + } + + (cd aai-config/cookbooks/aai-resources/ && \ + for f in $(ls); do mv $f ../; done && \ + cd ../ && rmdir aai-resources); +fi + + +chef-solo \ + -c /var/chef/aai-data/chef-config/dev/.knife/solo.rb \ + -j /var/chef/aai-config/cookbooks/runlist-aai-resources.json \ + -E ${AAI_CHEF_ENV}; + +# TODO: If this runs, startup hangs and logs errors indicating aaiGraph.dev already exists in HBASE. +# Commenting out until we figure out whether it is needed or not. +# /opt/app/aai-resources/bin/createDBSchema.sh || { +# echo "Error: Unable to create the db schema, please check if the hbase host is configured and up"; +# exit; +# } + + +java -cp ${CLASSPATH}:/opt/app/commonLibs/*:/opt/app/aai-resources/etc:/opt/app/aai-resources/lib/*:/opt/app/aai-resources/extJars/logback-access-1.1.7.jar:/opt/app/aai-resources/extJars/logback-core-1.1.7.jar:/opt/app/aai-resources/extJars/aai-core-${AAI_CORE_VERSION}.jar -server -XX:NewSize=512m -XX:MaxNewSize=512m -XX:SurvivorRatio=8 -XX:+DisableExplicitGC -verbose:gc -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:-UseBiasedLocking -XX:ParallelGCThreads=4 -XX:LargePageSizeInBytes=128m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Dsun.net.inetaddr.ttl=180 -XX:+HeapDumpOnOutOfMemoryError -Dhttps.protocols=TLSv1.1,TLSv1.2 -DSOACLOUD_SERVICE_VERSION=1.0.1 -DAJSC_HOME=/opt/app/aai-resources/ -DAJSC_CONF_HOME=/opt/app/aai-resources/bundleconfig -DAJSC_SHARED_CONFIG=/opt/app/aai-resources/bundleconfig -DAFT_HOME=/opt/app/aai-resources -DAAI_CORE_VERSION=${AAI_CORE_VERSION} -Daai-core.version=${AAI_CORE_VERSION} -Dlogback.configurationFile=/opt/app/aai-resources/bundleconfig/etc/logback.xml -Xloggc:/opt/app/aai-resources/logs/ajsc-jetty/gc/graph-query_gc.log com.att.ajsc.runner.Runner context=/ port=8087 sslport=8447 \ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/aai/aai-traversal/docker-entrypoint.sh b/kubernetes/config/docker/init/src/config/aai/aai-traversal/docker-entrypoint.sh new file mode 100755 index 0000000000..60268f64a4 --- /dev/null +++ b/kubernetes/config/docker/init/src/config/aai/aai-traversal/docker-entrypoint.sh @@ -0,0 +1,47 @@ +### +# ============LICENSE_START======================================================= +# org.openecomp.aai +# ================================================================================ +# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# 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. +# ============LICENSE_END========================================================= +### + +cd /var/chef; + +CHEF_CONFIG_REPO=${CHEF_CONFIG_REPO:-aai-config}; + +CHEF_GIT_URL=${CHEF_GIT_URL:-http://nexus.onap.org/r/aai}; + +CHEF_CONFIG_GIT_URL=${CHEF_CONFIG_GIT_URL:-$CHEF_GIT_URL}; +CHEF_DATA_GIT_URL=${CHEF_DATA_GIT_URL:-$CHEF_GIT_URL}; + +if [ ! -d "aai-config" ]; then + + git clone --depth 1 -b ${CHEF_BRANCH} --single-branch ${CHEF_CONFIG_GIT_URL}/${CHEF_CONFIG_REPO}.git aai-config || { + echo "Error: Unable to clone the aai-config repo with url: ${CHEF_GIT_URL}/${CHEF_CONFIG_REPO}.git"; + exit; + } + + (cd aai-config/cookbooks/aai-traversal/ && \ + for f in $(ls); do mv $f ../; done && \ + cd ../ && rmdir aai-traversal); +fi + +chef-solo \ + -c /var/chef/aai-data/chef-config/dev/.knife/solo.rb \ + -j /var/chef/aai-config/cookbooks/runlist-aai-traversal.json \ + -E ${AAI_CHEF_ENV}; + +java -cp ${CLASSPATH}:/opt/app/commonLibs/*:/opt/app/aai-traversal/etc:/opt/app/aai-traversal/lib/*:/opt/app/aai-traversal/extJars/logback-access-1.1.7.jar:/opt/app/aai-traversal/extJars/logback-core-1.1.7.jar:/opt/app/aai-traversal/extJars/aai-core-${AAI_CORE_VERSION}.jar -server -XX:NewSize=512m -XX:MaxNewSize=512m -XX:SurvivorRatio=8 -XX:+DisableExplicitGC -verbose:gc -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:-UseBiasedLocking -XX:ParallelGCThreads=4 -XX:LargePageSizeInBytes=128m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Dsun.net.inetaddr.ttl=180 -XX:+HeapDumpOnOutOfMemoryError -Dhttps.protocols=TLSv1.1,TLSv1.2 -DSOACLOUD_SERVICE_VERSION=1.0.1 -DAJSC_HOME=/opt/app/aai-traversal/ -DAJSC_CONF_HOME=/opt/app/aai-traversal/bundleconfig -DAJSC_SHARED_CONFIG=/opt/app/aai-traversal/bundleconfig -DAFT_HOME=/opt/app/aai-traversal -DAAI_CORE_VERSION=${AAI_CORE_VERSION} -Daai-core.version=${AAI_CORE_VERSION} -Dlogback.configurationFile=/opt/app/aai-traversal/bundleconfig/etc/logback.xml -Xloggc:/opt/app/aai-traversal/logs/ajsc-jetty/gc/graph-query_gc.log com.att.ajsc.runner.Runner context=/ port=8086 sslport=8446 \ No newline at end of file -- cgit 1.2.3-korg