diff --git a/docker-orchestration/osrm-backend-dev/Dockerfile b/docker-orchestration/osrm-backend-dev/Dockerfile index fd1a6fa02..08368e1e3 100644 --- a/docker-orchestration/osrm-backend-dev/Dockerfile +++ b/docker-orchestration/osrm-backend-dev/Dockerfile @@ -32,13 +32,4 @@ ENV GO_HOME=/usr/local/go ENV PATH=${GO_HOME}/bin/:$PATH ENV GOPATH=/workspace/go -# install thrift 0.12.0 go pkg -RUN cd /workspace/go && \ - mkdir -p src/github.com/apache && \ - cd src/github.com/apache && \ - git clone -b 0.12.0 https://github.com/apache/thrift.git && \ - cd thrift && \ - git branch && \ - cd /workspace/go && \ - go install github.com/apache/thrift/lib/go/thrift diff --git a/docker-orchestration/osrm-backend/Dockerfile b/docker-orchestration/osrm-backend/Dockerfile index c6dc40fc3..2226900e5 100644 --- a/docker-orchestration/osrm-backend/Dockerfile +++ b/docker-orchestration/osrm-backend/Dockerfile @@ -1,36 +1,38 @@ FROM wangyoucao577/osrm-backend-dev as builder -ARG BRANCH_NAME=master-telenav +RUN mkdir -p /osrm-build +WORKDIR /workspace/ + +ARG BRANCH_NAME=master-telenav RUN echo "Building branch ${BRANCH_NAME}" && \ - git clone -b ${BRANCH_NAME} https://github.com/Telenav/osrm-backend.git && \ - mkdir -p osrm-backend/build && \ + git clone -b ${BRANCH_NAME} https://github.com/Telenav/osrm-backend.git + +RUN mkdir -p osrm-backend/build && \ cd osrm-backend/build && \ cmake .. -DENABLE_LTO=On && \ cmake --build . -- -j && \ - mkdir /osrm-build && \ - mkdir /osrm-data && \ - cp /osrm-backend/build/osrm* /osrm-build/ && \ - cp -r /osrm-backend/profiles /osrm-build/ + cp /workspace/osrm-backend/build/osrm* /osrm-build/ && \ + cp -r /workspace/osrm-backend/profiles /osrm-build/ - -FROM wangyoucao577/osrm-backend-dev as gobuilder -ARG BRANCH_NAME=master-telenav - -WORKDIR /workspace/go -RUN echo "Building branch ${BRANCH_NAME}" && \ - mkdir -p src/github.com/Telenav && \ - cd src/github.com/Telenav && \ - git clone -b ${BRANCH_NAME} https://github.com/Telenav/osrm-backend.git && \ - cd ../../../ && \ - if [ -d "src/github.com/Telenav/osrm-backend/traffic_updater/go/osrm_traffic_updater" ]; then \ - go get github.com/qedus/osmpbf && \ - go install github.com/Telenav/osrm-backend/traffic_updater/go/gen-go/proxy && \ - go install github.com/Telenav/osrm-backend/traffic_updater/go/osrm_traffic_updater && \ - go install github.com/Telenav/osrm-backend/traffic_updater/go/wayid2nodeid_extractor && \ - ls -lh bin/ \ - ;fi +RUN cd /workspace/osrm-backend && \ + if [ -d "traffic_updater/go/osrm_traffic_updater" ]; then \ + cd traffic_updater/go/osrm_traffic_updater && \ + go install && \ + cd ../../../ \ + ;fi && \ + if [ -d "traffic_updater/go/wayid2nodeid_extractor" ]; then \ + cd traffic_updater/go/wayid2nodeid_extractor && \ + go install && \ + cd ../../../ \ + ;fi && \ + if [ -d "traffic_updater/go/snappy_command" ]; then \ + cd traffic_updater/go/snappy_command && \ + go install && \ + cd ../../../ \ + ;fi && \ + ls -lh /workspace/go/bin FROM debian:stretch-slim as runstage @@ -44,7 +46,7 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && \ RUN mkdir -p /osrm-build /osrm-data /osrm-logs COPY --from=builder /osrm-build /osrm-build/ -COPY --from=gobuilder /workspace/go/bin /osrm-build/ +COPY --from=builder /workspace/go/bin /osrm-build/ COPY ./docker-entrypoint.sh / RUN chmod +x /docker-entrypoint.sh diff --git a/docker-orchestration/osrm-backend/docker-entrypoint.sh b/docker-orchestration/osrm-backend/docker-entrypoint.sh index 642a89d7c..3d6f9cb81 100755 --- a/docker-orchestration/osrm-backend/docker-entrypoint.sh +++ b/docker-orchestration/osrm-backend/docker-entrypoint.sh @@ -5,6 +5,7 @@ OSRM_EXTRA_COMMAND="-l DEBUG" OSRM_ROUTED_STARTUP_COMMAND=" -a MLD --max-table-size 8000 " MAPDATA_NAME_WITH_SUFFIX=map WAYID2NODEIDS_MAPPING_FILE=wayid2nodeids.csv +WAYID2NODEIDS_MAPPING_FILE_COMPRESSED=${WAYID2NODEIDS_MAPPING_FILE}.snappy _sig() { kill -TERM $child 2>/dev/null @@ -17,7 +18,7 @@ if [ "$1" = 'routed_startup' ]; then TRAFFIC_PROXY_IP=${2:-"10.189.102.81"} cd ${DATA_PATH} - ${BUILD_PATH}/osrm_traffic_updater -c ${TRAFFIC_PROXY_IP} -d=false -m ${WAYID2NODEIDS_MAPPING_FILE} -f ${TRAFFIC_FILE} + ${BUILD_PATH}/osrm_traffic_updater -c ${TRAFFIC_PROXY_IP} -d=false -m ${WAYID2NODEIDS_MAPPING_FILE_COMPRESSED} -f ${TRAFFIC_FILE} ls -lh ${BUILD_PATH}/osrm-customize ${MAPDATA_NAME_WITH_SUFFIX}.osrm --segment-speed-file ${TRAFFIC_FILE} ${OSRM_EXTRA_COMMAND} ${BUILD_PATH}/osrm-routed ${MAPDATA_NAME_WITH_SUFFIX}.osrm ${OSRM_ROUTED_STARTUP_COMMAND} & @@ -52,11 +53,13 @@ elif [ "$1" = 'compile_mapdata' ]; then ${BUILD_PATH}/osrm-partition $DATA_PATH/${MAPDATA_NAME_WITH_SUFFIX}.osrm ${OSRM_EXTRA_COMMAND} ${BUILD_PATH}/osrm-customize $DATA_PATH/${MAPDATA_NAME_WITH_SUFFIX}.osrm ${OSRM_EXTRA_COMMAND} ${BUILD_PATH}/wayid2nodeid_extractor -i $DATA_PATH/${MAPDATA_NAME_WITH_SUFFIX}.osm.pbf -o $DATA_PATH/${WAYID2NODEIDS_MAPPING_FILE} -b=${IS_TELENAV_PBF} + ${BUILD_PATH}/snappy_command -i $DATA_PATH/${WAYID2NODEIDS_MAPPING_FILE} -o $DATA_PATH/${WAYID2NODEIDS_MAPPING_FILE_COMPRESSED} ls -lh $DATA_PATH/ # clean source pbf and temp .osrm rm -f $DATA_PATH/${MAPDATA_NAME_WITH_SUFFIX}.osm.pbf rm -f $DATA_PATH/${MAPDATA_NAME_WITH_SUFFIX}.osrm + rm -f $DATA_PATH/${WAYID2NODEIDS_MAPPING_FILE} # package and publish compiled mapdata if [ ${GENERATE_DATA_PACKAGE} == "true" ]; then diff --git a/traffic_updater/.gitignore b/traffic_updater/.gitignore index 19f47cebb..8cf4b580a 100644 --- a/traffic_updater/.gitignore +++ b/traffic_updater/.gitignore @@ -1,4 +1,9 @@ +# binaries +go/osrm_traffic_updater/osrm_traffic_updater +go/wayid2nodeid_extractor/wayid2nodeid_extractor +go/snappy_command/snappy_command + *.py[cod] traffic.csv diff --git a/traffic_updater/go/go.mod b/traffic_updater/go/go.mod new file mode 100644 index 000000000..079241520 --- /dev/null +++ b/traffic_updater/go/go.mod @@ -0,0 +1,12 @@ +module github.com/Telenav/osrm-backend/traffic_updater/go + +go 1.12 + +require ( + github.com/apache/thrift v0.12.0 + github.com/golang/protobuf v1.3.2 // indirect + github.com/golang/snappy v0.0.1 + github.com/qedus/osmpbf v1.1.0 +) + +replace github.com/Telenav/osrm-backend/traffic_updater/go/gen-go/proxy => ./gen-go/proxy diff --git a/traffic_updater/go/go.sum b/traffic_updater/go/go.sum new file mode 100644 index 000000000..b77b19ea5 --- /dev/null +++ b/traffic_updater/go/go.sum @@ -0,0 +1,8 @@ +github.com/apache/thrift v0.12.0 h1:pODnxUFNcjP9UTLZGTdeh+j16A8lJbRvD3rOtrk/7bs= +github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= +github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/qedus/osmpbf v1.1.0 h1:1ewnhb7cX0VAp24M+ViDvLI9RKKgZOXFBLM5xGlB5TA= +github.com/qedus/osmpbf v1.1.0/go.mod h1:37EgzlwZC2inPP5/rY1MZIxE6kgDof7MIljJuELs0c0=