From 5fc7af61e15254bccd33e643723fd5922e321b4c Mon Sep 17 00:00:00 2001 From: Pierre Tessier Date: Sun, 22 Dec 2024 23:25:26 -0500 Subject: [PATCH 1/2] rename recommendationservice to recommendation --- .env | 6 +++--- .github/workflows/component-build-images.yml | 4 ++-- .licenserc.json | 4 ++-- Makefile | 2 +- docker-compose-tests.yml | 4 ++-- docker-compose.minimal.yml | 18 +++++++++--------- docker-compose.yml | 18 +++++++++--------- docker-gen-proto.sh | 2 +- ide-gen-proto.sh | 2 +- renovate.json5 | 4 ++-- src/flagd/demo.flagd.json | 2 +- .../gateways/rpc/Recommendations.gateway.ts | 4 ++-- src/frontend/next.config.js | 4 ++-- .../Dockerfile | 6 +++--- .../README.md | 2 +- .../demo_pb2.py | 0 .../demo_pb2_grpc.py | 0 .../genproto/Dockerfile | 0 .../logger.py | 0 .../metrics.py | 0 .../recommendation_server.py | 6 +++--- .../requirements.txt | 0 .../all.yaml | 0 .../list.yaml | 2 +- test/tracetesting/run.bash | 6 +++--- 25 files changed, 48 insertions(+), 48 deletions(-) rename src/{recommendationservice => recommendation}/Dockerfile (82%) rename src/{recommendationservice => recommendation}/README.md (87%) rename src/{recommendationservice => recommendation}/demo_pb2.py (100%) rename src/{recommendationservice => recommendation}/demo_pb2_grpc.py (100%) rename src/{recommendationservice => recommendation}/genproto/Dockerfile (100%) rename src/{recommendationservice => recommendation}/logger.py (100%) rename src/{recommendationservice => recommendation}/metrics.py (100%) rename src/{recommendationservice => recommendation}/recommendation_server.py (96%) rename src/{recommendationservice => recommendation}/requirements.txt (100%) rename test/tracetesting/{recommendationservice => recommendation}/all.yaml (100%) rename test/tracetesting/{recommendationservice => recommendation}/list.yaml (94%) diff --git a/.env b/.env index b011c764dc..d6a7a94a72 100644 --- a/.env +++ b/.env @@ -117,9 +117,9 @@ QUOTE_ADDR=http://quote:${QUOTE_PORT} QUOTE_DOCKERFILE=./src/quote/Dockerfile # Recommendation Service -RECOMMENDATION_SERVICE_PORT=9001 -RECOMMENDATION_SERVICE_ADDR=recommendationservice:${RECOMMENDATION_SERVICE_PORT} -RECOMMENDATION_SERVICE_DOCKERFILE=./src/recommendationservice/Dockerfile +RECOMMENDATION_PORT=9001 +RECOMMENDATION_ADDR=recommendation:${RECOMMENDATION_PORT} +RECOMMENDATION_DOCKERFILE=./src/recommendation/Dockerfile # Shipping Service SHIPPING_PORT=50050 diff --git a/.github/workflows/component-build-images.yml b/.github/workflows/component-build-images.yml index 1ebd177346..635651ed3b 100644 --- a/.github/workflows/component-build-images.yml +++ b/.github/workflows/component-build-images.yml @@ -115,8 +115,8 @@ jobs: tag_suffix: quote context: ./ setup-qemu: true - - file: ./src/recommendationservice/Dockerfile - tag_suffix: recommendationservice + - file: ./src/recommendation/Dockerfile + tag_suffix: recommendation context: ./ setup-qemu: true - file: ./src/shipping/Dockerfile diff --git a/.licenserc.json b/.licenserc.json index 6c3d85a679..350f284092 100644 --- a/.licenserc.json +++ b/.licenserc.json @@ -51,8 +51,8 @@ "src/react-native-app/android/.gradle/", "src/react-native-app/.expo/", "src/react-native-app/expo-env.d.ts", - "src/recommendationservice/demo_pb2.py", - "src/recommendationservice/demo_pb2_grpc.py", + "src/recommendation/demo_pb2.py", + "src/recommendation/demo_pb2_grpc.py", "internal/tools/" ] } \ No newline at end of file diff --git a/Makefile b/Makefile index 7f6e6640b7..7bb2f27153 100644 --- a/Makefile +++ b/Makefile @@ -140,7 +140,7 @@ docker-generate-protobuf: .PHONY: clean clean: rm -rf ./src/{checkoutservice,productcatalogservice}/genproto/oteldemo/ - rm -rf ./src/recommendationservice/{demo_pb2,demo_pb2_grpc}.py + rm -rf ./src/recommendation/{demo_pb2,demo_pb2_grpc}.py .PHONY: check-clean-work-tree check-clean-work-tree: diff --git a/docker-compose-tests.yml b/docker-compose-tests.yml index 31fd9a80ab..d6e398129b 100644 --- a/docker-compose-tests.yml +++ b/docker-compose-tests.yml @@ -45,7 +45,7 @@ services: - FRONTEND_ADDR - PAYMENT_SERVICE_ADDR - PRODUCT_CATALOG_SERVICE_ADDR - - RECOMMENDATION_SERVICE_ADDR + - RECOMMENDATION_ADDR - SHIPPING_ADDR - KAFKA_SERVICE_ADDR extra_hosts: @@ -79,7 +79,7 @@ services: condition: service_started quote: condition: service_started - recommendationservice: + recommendation: condition: service_started shipping: condition: service_started diff --git a/docker-compose.minimal.yml b/docker-compose.minimal.yml index 0c0b868462..5057104431 100644 --- a/docker-compose.minimal.yml +++ b/docker-compose.minimal.yml @@ -204,7 +204,7 @@ services: - CHECKOUT_SERVICE_ADDR - CURRENCY_ADDR - PRODUCT_CATALOG_SERVICE_ADDR - - RECOMMENDATION_SERVICE_ADDR + - RECOMMENDATION_ADDR - SHIPPING_ADDR - OTEL_EXPORTER_OTLP_ENDPOINT - OTEL_RESOURCE_ATTRIBUTES=${OTEL_RESOURCE_ATTRIBUTES} @@ -229,7 +229,7 @@ services: condition: service_started quote: condition: service_started - recommendationservice: + recommendation: condition: service_started shipping: condition: service_started @@ -435,30 +435,30 @@ services: logging: *logging # Recommendation service - recommendationservice: - image: ${IMAGE_NAME}:${DEMO_VERSION}-recommendationservice + recommendation: + image: ${IMAGE_NAME}:${DEMO_VERSION}-recommendation container_name: recommendation-service build: context: ./ - dockerfile: ${RECOMMENDATION_SERVICE_DOCKERFILE} + dockerfile: ${RECOMMENDATION_DOCKERFILE} cache_from: - - ${IMAGE_NAME}:${IMAGE_VERSION}-recommendationservice + - ${IMAGE_NAME}:${IMAGE_VERSION}-recommendation deploy: resources: limits: memory: 50M restart: unless-stopped ports: - - "${RECOMMENDATION_SERVICE_PORT}" + - "${RECOMMENDATION_PORT}" environment: - FLAGD_HOST - - RECOMMENDATION_SERVICE_PORT + - RECOMMENDATION_PORT - PRODUCT_CATALOG_SERVICE_ADDR - OTEL_PYTHON_LOG_CORRELATION=true - OTEL_EXPORTER_OTLP_ENDPOINT - OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE - OTEL_RESOURCE_ATTRIBUTES - - OTEL_SERVICE_NAME=recommendationservice + - OTEL_SERVICE_NAME=recommendation - PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python depends_on: productcatalogservice: diff --git a/docker-compose.yml b/docker-compose.yml index 722afe90dc..0f62fe247e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -276,7 +276,7 @@ services: - CHECKOUT_SERVICE_ADDR - CURRENCY_ADDR - PRODUCT_CATALOG_SERVICE_ADDR - - RECOMMENDATION_SERVICE_ADDR + - RECOMMENDATION_ADDR - SHIPPING_ADDR - OTEL_EXPORTER_OTLP_ENDPOINT - OTEL_RESOURCE_ATTRIBUTES=${OTEL_RESOURCE_ATTRIBUTES} @@ -301,7 +301,7 @@ services: condition: service_started quote: condition: service_started - recommendationservice: + recommendation: condition: service_started shipping: condition: service_started @@ -517,23 +517,23 @@ services: logging: *logging # Recommendation service - recommendationservice: - image: ${IMAGE_NAME}:${DEMO_VERSION}-recommendationservice + recommendation: + image: ${IMAGE_NAME}:${DEMO_VERSION}-recommendation container_name: recommendation-service build: context: ./ - dockerfile: ${RECOMMENDATION_SERVICE_DOCKERFILE} + dockerfile: ${RECOMMENDATION_DOCKERFILE} cache_from: - - ${IMAGE_NAME}:${IMAGE_VERSION}-recommendationservice + - ${IMAGE_NAME}:${IMAGE_VERSION}-recommendation deploy: resources: limits: memory: 500M # This is high to enable supporting the recommendationCache feature flag use case restart: unless-stopped ports: - - "${RECOMMENDATION_SERVICE_PORT}" + - "${RECOMMENDATION_PORT}" environment: - - RECOMMENDATION_SERVICE_PORT + - RECOMMENDATION_PORT - PRODUCT_CATALOG_SERVICE_ADDR - FLAGD_HOST - FLAGD_PORT @@ -541,7 +541,7 @@ services: - OTEL_EXPORTER_OTLP_ENDPOINT - OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE - OTEL_RESOURCE_ATTRIBUTES - - OTEL_SERVICE_NAME=recommendationservice + - OTEL_SERVICE_NAME=recommendation - PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python depends_on: productcatalogservice: diff --git a/docker-gen-proto.sh b/docker-gen-proto.sh index 80fa1f8634..7b8874e0d9 100755 --- a/docker-gen-proto.sh +++ b/docker-gen-proto.sh @@ -31,5 +31,5 @@ gen_proto_go checkoutservice #gen_proto_js paymentservice gen_proto_go productcatalogservice #gen_proto_php quote -gen_proto_python recommendationservice +gen_proto_python recommendation #gen_proto_rust shipping diff --git a/ide-gen-proto.sh b/ide-gen-proto.sh index 14649b8517..7813f7a848 100755 --- a/ide-gen-proto.sh +++ b/ide-gen-proto.sh @@ -76,5 +76,5 @@ gen_proto_ts react-native-app gen_proto_js paymentservice gen_proto_go productcatalogservice # gen_proto_php quote -gen_proto_python recommendationservice +gen_proto_python recommendation gen_proto_rust shipping diff --git a/renovate.json5 b/renovate.json5 index de6ac5c52a..d8a51f1288 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -87,8 +87,8 @@ "groupName": "quote", }, { - "matchFileNames": ["src/recommendationservice/**"], - "groupName": "recommendationservice", + "matchFileNames": ["src/recommendation/**"], + "groupName": "recommendation", }, { "matchFileNames": ["src/shipping/**"], diff --git a/src/flagd/demo.flagd.json b/src/flagd/demo.flagd.json index 74fb5fcf1d..68d0a4834f 100644 --- a/src/flagd/demo.flagd.json +++ b/src/flagd/demo.flagd.json @@ -10,7 +10,7 @@ }, "defaultVariant": "off" }, - "recommendationServiceCacheFailure": { + "recommendationCacheFailure": { "description": "Fail recommendation service cache", "state": "ENABLED", "variants": { diff --git a/src/frontend/gateways/rpc/Recommendations.gateway.ts b/src/frontend/gateways/rpc/Recommendations.gateway.ts index 62fcd6dd5c..c58a47032b 100644 --- a/src/frontend/gateways/rpc/Recommendations.gateway.ts +++ b/src/frontend/gateways/rpc/Recommendations.gateway.ts @@ -4,9 +4,9 @@ import { ChannelCredentials } from '@grpc/grpc-js'; import { ListRecommendationsResponse, RecommendationServiceClient } from '../../protos/demo'; -const { RECOMMENDATION_SERVICE_ADDR = '' } = process.env; +const { RECOMMENDATION_ADDR = '' } = process.env; -const client = new RecommendationServiceClient(RECOMMENDATION_SERVICE_ADDR, ChannelCredentials.createInsecure()); +const client = new RecommendationServiceClient(RECOMMENDATION_ADDR, ChannelCredentials.createInsecure()); const RecommendationsGateway = () => ({ listRecommendations(userId: string, productIds: string[]) { diff --git a/src/frontend/next.config.js b/src/frontend/next.config.js index eac4615be9..98e3e53f48 100755 --- a/src/frontend/next.config.js +++ b/src/frontend/next.config.js @@ -18,7 +18,7 @@ const { CHECKOUT_SERVICE_ADDR = '', CURRENCY_ADDR = '', PRODUCT_CATALOG_SERVICE_ADDR = '', - RECOMMENDATION_SERVICE_ADDR = '', + RECOMMENDATION_ADDR = '', SHIPPING_ADDR = '', ENV_PLATFORM = '', OTEL_EXPORTER_OTLP_TRACES_ENDPOINT = '', @@ -50,7 +50,7 @@ const nextConfig = { CHECKOUT_SERVICE_ADDR, CURRENCY_ADDR, PRODUCT_CATALOG_SERVICE_ADDR, - RECOMMENDATION_SERVICE_ADDR, + RECOMMENDATION_ADDR, SHIPPING_ADDR, OTEL_EXPORTER_OTLP_TRACES_ENDPOINT, NEXT_PUBLIC_PLATFORM: ENV_PLATFORM, diff --git a/src/recommendationservice/Dockerfile b/src/recommendation/Dockerfile similarity index 82% rename from src/recommendationservice/Dockerfile rename to src/recommendation/Dockerfile index 5a4ee45fc0..8e1d8168f5 100644 --- a/src/recommendationservice/Dockerfile +++ b/src/recommendation/Dockerfile @@ -13,7 +13,7 @@ RUN apt-get -qq update \ && rm -rf /var/lib/apt/lists/* WORKDIR /usr/src/app/ -COPY ./src/recommendationservice/requirements.txt ./ +COPY ./src/recommendation/requirements.txt ./ RUN pip install --upgrade pip RUN pip install --prefix="/reqs" -r requirements.txt @@ -24,9 +24,9 @@ RUN pip install --prefix="/reqs" -r requirements.txt FROM base AS runtime WORKDIR /usr/src/app/ COPY --from=builder /reqs /usr/local -COPY ./src/recommendationservice/ ./ +COPY ./src/recommendation/ ./ RUN opentelemetry-bootstrap -a install -EXPOSE ${RECOMMENDATION_SERVICE_PORT} +EXPOSE ${RECOMMENDATION_PORT} ENTRYPOINT [ "opentelemetry-instrument", "python", "recommendation_server.py" ] diff --git a/src/recommendationservice/README.md b/src/recommendation/README.md similarity index 87% rename from src/recommendationservice/README.md rename to src/recommendation/README.md index cf6e386aaa..ec0df489d6 100644 --- a/src/recommendationservice/README.md +++ b/src/recommendation/README.md @@ -16,5 +16,5 @@ make docker-generate-protobuf From the root directory, run: ```sh -docker compose build recommendationservice +docker compose build recommendation ``` diff --git a/src/recommendationservice/demo_pb2.py b/src/recommendation/demo_pb2.py similarity index 100% rename from src/recommendationservice/demo_pb2.py rename to src/recommendation/demo_pb2.py diff --git a/src/recommendationservice/demo_pb2_grpc.py b/src/recommendation/demo_pb2_grpc.py similarity index 100% rename from src/recommendationservice/demo_pb2_grpc.py rename to src/recommendation/demo_pb2_grpc.py diff --git a/src/recommendationservice/genproto/Dockerfile b/src/recommendation/genproto/Dockerfile similarity index 100% rename from src/recommendationservice/genproto/Dockerfile rename to src/recommendation/genproto/Dockerfile diff --git a/src/recommendationservice/logger.py b/src/recommendation/logger.py similarity index 100% rename from src/recommendationservice/logger.py rename to src/recommendation/logger.py diff --git a/src/recommendationservice/metrics.py b/src/recommendation/metrics.py similarity index 100% rename from src/recommendationservice/metrics.py rename to src/recommendation/metrics.py diff --git a/src/recommendationservice/recommendation_server.py b/src/recommendation/recommendation_server.py similarity index 96% rename from src/recommendationservice/recommendation_server.py rename to src/recommendation/recommendation_server.py index 1a6826d80d..fd25359ea9 100644 --- a/src/recommendationservice/recommendation_server.py +++ b/src/recommendation/recommendation_server.py @@ -75,7 +75,7 @@ def get_product_list(request_product_ids): request_product_ids = request_product_ids_str.split(',') # Feature flag scenario - Cache Leak - if check_feature_flag("recommendationServiceCacheFailure"): + if check_feature_flag("recommendationCacheFailure"): span.set_attribute("app.recommendation.cache_enabled", True) if random.random() < 0.5 or first_run: first_run = False @@ -123,7 +123,7 @@ def must_map_env(key: str): def check_feature_flag(flag_name: str): # Initialize OpenFeature client = api.get_client() - return client.get_boolean_value("recommendationServiceCacheFailure", False) + return client.get_boolean_value("recommendationCacheFailure", False) if __name__ == "__main__": @@ -166,7 +166,7 @@ def check_feature_flag(flag_name: str): health_pb2_grpc.add_HealthServicer_to_server(service, server) # Start server - port = must_map_env('RECOMMENDATION_SERVICE_PORT') + port = must_map_env('RECOMMENDATION_PORT') server.add_insecure_port(f'[::]:{port}') server.start() logger.info(f'Recommendation service started, listening on port {port}') diff --git a/src/recommendationservice/requirements.txt b/src/recommendation/requirements.txt similarity index 100% rename from src/recommendationservice/requirements.txt rename to src/recommendation/requirements.txt diff --git a/test/tracetesting/recommendationservice/all.yaml b/test/tracetesting/recommendation/all.yaml similarity index 100% rename from test/tracetesting/recommendationservice/all.yaml rename to test/tracetesting/recommendation/all.yaml diff --git a/test/tracetesting/recommendationservice/list.yaml b/test/tracetesting/recommendation/list.yaml similarity index 94% rename from test/tracetesting/recommendationservice/list.yaml rename to test/tracetesting/recommendation/list.yaml index 2478bd6dc0..177628ec7e 100644 --- a/test/tracetesting/recommendationservice/list.yaml +++ b/test/tracetesting/recommendation/list.yaml @@ -10,7 +10,7 @@ spec: type: grpc grpc: protobufFile: ../../../pb/demo.proto - address: ${var:RECOMMENDATION_SERVICE_ADDR} + address: ${var:RECOMMENDATION_ADDR} method: oteldemo.RecommendationService.ListRecommendations request: |- { diff --git a/test/tracetesting/run.bash b/test/tracetesting/run.bash index 865de274e0..42ca66e9da 100755 --- a/test/tracetesting/run.bash +++ b/test/tracetesting/run.bash @@ -8,7 +8,7 @@ set -e # Availalble services to test -ALL_SERVICES=("ad" "cart" "currency" "checkoutservice" "frontend" "emailservice" "paymentservice" "productcatalogservice" "recommendationservice" "shipping") +ALL_SERVICES=("ad" "cart" "currency" "checkoutservice" "frontend" "emailservice" "paymentservice" "productcatalogservice" "recommendation" "shipping") ## Script variables # Will contain the list of services to test @@ -50,8 +50,8 @@ spec: value: $PAYMENT_SERVICE_ADDR - key: PRODUCT_CATALOG_SERVICE_ADDR value: $PRODUCT_CATALOG_SERVICE_ADDR - - key: RECOMMENDATION_SERVICE_ADDR - value: $RECOMMENDATION_SERVICE_ADDR + - key: RECOMMENDATION_ADDR + value: $RECOMMENDATION_ADDR - key: SHIPPING_ADDR value: $SHIPPING_ADDR - key: KAFKA_SERVICE_ADDR From f87b7e24d40bb2a815ee324e4387669a4736c4d4 Mon Sep 17 00:00:00 2001 From: Pierre Tessier Date: Sun, 22 Dec 2024 23:26:36 -0500 Subject: [PATCH 2/2] rename recommendationservice to recommendation --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 886de03eea..4333a4bdef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -56,6 +56,8 @@ the release. ([#1857](https://github.com/open-telemetry/opentelemetry-demo/pull/1857)) * [currency] rename currencyservice to currency ([#1858](https://github.com/open-telemetry/opentelemetry-demo/pull/1858)) +* [recommendation] rename recommendationservice to recommendation + ([#1865](https://github.com/open-telemetry/opentelemetry-demo/pull/1865)) ## 1.12.0