Spaces:
Paused
Paused
| # Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. | |
| set -e | |
| export VESPA_CONFIGSERVERS=$(hostname) | |
| export VESPA_CLI_HOME=/tmp/.vespa | |
| export VESPA_CLI_CACHE_DIR=/tmp/.cache/vespa | |
| trap cleanup TERM INT | |
| cleanup() { | |
| /opt/vespa/bin/vespa-stop-services | |
| exit $? | |
| } | |
| VESPA_CONFIGSERVER_JVMARGS="-Xms32M -Xmx128M" /opt/vespa/bin/vespa-start-configserver | |
| VESPA_CONFIGPROXY_JVMARGS="-Xms32M -Xmx32M" /opt/vespa/bin/vespa-start-services | |
| MVN_VERSION="3.9.4" | |
| export HOME=/tmp/ | |
| cd $HOME | |
| /opt/vespa/bin/vespa clone use-case-shopping myapp && cd myapp | |
| cat src/main/application/services.xml|sed 's/<redundancy>2<\/redundancy>/<redundancy>2<\/redundancy><tuning><resource-limits><disk>0.95<\/disk><\/resource-limits><\/tuning>/' > src/main/application/services.xml.new | |
| mv src/main/application/services.xml.new src/main/application/services.xml | |
| wget https://dlcdn.apache.org/maven/maven-3/$MVN_VERSION/binaries/apache-maven-$MVN_VERSION-bin.tar.gz && tar zxvpf apache-maven-$MVN_VERSION-bin.tar.gz | |
| export JAVA_HOME=/usr/ | |
| ./apache-maven-$MVN_VERSION/bin/mvn -ntp clean package -U | |
| /opt/vespa/bin/vespa deploy --wait 300 | |
| # Create products and reviews | |
| curl -L -o meta_sports_20k_sample.json.zst https://data.vespa.oath.cloud/sample-apps-data/meta_sports_20k_sample.json.zst | |
| zstd -d meta_sports_20k_sample.json.zst | |
| cat meta_sports_20k_sample.json | ./convert_meta.py > feed_items.json | |
| rm meta_sports_20k_sample.json meta_sports_20k_sample.json.zst | |
| curl -L -o reviews_sports_24k_sample.json.zst https://data.vespa.oath.cloud/sample-apps-data/reviews_sports_24k_sample.json.zst | |
| zstd -d reviews_sports_24k_sample.json.zst | |
| cat reviews_sports_24k_sample.json | ./convert_reviews.py |zstd > feed_reviews.json.zstd | |
| rm reviews_sports_24k_sample.json reviews_sports_24k_sample.json.zst | |
| # Create query suggestions | |
| ./create_suggestions.py feed_items.json > feed_suggestions.json | |
| # Download feed client | |
| echo "Disk usage " | |
| df -h /opt/vespa/var | |
| FEED_CLI_REPO="https://repo1.maven.org/maven2/com/yahoo/vespa/vespa-feed-client-cli" \ | |
| && FEED_CLI_VER=$(curl -Ss "${FEED_CLI_REPO}/maven-metadata.xml" | sed -n 's/.*<release>\(.*\)<.*>/\1/p') \ | |
| && curl -SsLo vespa-feed-client-cli.zip ${FEED_CLI_REPO}/${FEED_CLI_VER}/vespa-feed-client-cli-${FEED_CLI_VER}-zip.zip \ | |
| && unzip -o vespa-feed-client-cli.zip | |
| chmod +x ./vespa-feed-client-cli/vespa-feed-client | |
| echo "Start feeding data" | |
| ./vespa-feed-client-cli/vespa-feed-client \ | |
| --verbose --file feed_items.json --show-errors --endpoint http://localhost:8080 | |
| zstdcat feed_reviews.json.zstd|./vespa-feed-client-cli/vespa-feed-client \ | |
| --verbose --stdin --show-errors --endpoint http://localhost:8080 | |
| ./vespa-feed-client-cli/vespa-feed-client \ | |
| --verbose --file feed_suggestions.json --show-errors --endpoint http://localhost:8080 | |
| echo "Done feeding data" | |
| echo "Starting proxy server" | |
| /opt/vespa/vespa/bin/proxy.py | |
| echo "Proxy server died" | |
| FORMAT="${VESPA_LOG_FORMAT:-vespa}" | |
| /opt/vespa/bin/vespa-logfmt --follow --format "$FORMAT" ${VESPA_LOGFMT_ARGUMENTS} & | |
| wait | |