From 8b2e451f4437f73645076c547db18298e1ff8fae Mon Sep 17 00:00:00 2001
From: "Georgios P. Katsikas" <gkatsikas@ubitech.eu>
Date: Mon, 14 Apr 2025 20:31:43 +0000
Subject: [PATCH] fix: generated code imports

---
 proto/generate_code_python.sh               | 2 +-
 proto/monitoring.proto                      | 0
 proto/ztp_server.proto                      | 0
 src/analytics/frontend/Dockerfile           | 2 +-
 src/automation/Dockerfile                   | 2 +-
 src/bgpls_speaker/Dockerfile                | 4 ++--
 src/context/Dockerfile                      | 2 +-
 src/dbscanserving/Dockerfile                | 2 +-
 src/device/Dockerfile                       | 2 +-
 src/e2e_orchestrator/Dockerfile             | 2 +-
 src/forecaster/Dockerfile                   | 2 +-
 src/interdomain/Dockerfile                  | 2 +-
 src/kpi_manager/Dockerfile                  | 2 +-
 src/kpi_value_api/Dockerfile                | 2 +-
 src/kpi_value_writer/Dockerfile             | 2 +-
 src/l3_attackmitigator/Dockerfile           | 2 +-
 src/l3_centralizedattackdetector/Dockerfile | 2 +-
 src/l3_distributedattackdetector/Dockerfile | 2 +-
 src/load_generator/Dockerfile               | 2 +-
 src/monitoring/Dockerfile                   | 2 +-
 src/nbi/Dockerfile                          | 2 +-
 src/opticalattackdetector/Dockerfile        | 2 +-
 src/opticalattackmanager/Dockerfile         | 2 +-
 src/opticalattackmitigator/Dockerfile       | 2 +-
 src/opticalcontroller/Dockerfile            | 2 +-
 src/osm_client/Dockerfile                   | 2 +-
 src/pathcomp/frontend/Dockerfile            | 2 +-
 src/qkd_app/Dockerfile                      | 2 +-
 src/qos_profile/Dockerfile                  | 2 +-
 src/service/Dockerfile                      | 2 +-
 src/slice/Dockerfile                        | 2 +-
 src/telemetry/frontend/Dockerfile           | 2 +-
 src/vnt_manager/Dockerfile                  | 2 +-
 src/webui/Dockerfile                        | 2 +-
 src/ztp_server/Dockerfile                   | 2 +-
 35 files changed, 34 insertions(+), 34 deletions(-)
 mode change 100755 => 100644 proto/monitoring.proto
 mode change 100755 => 100644 proto/ztp_server.proto

diff --git a/proto/generate_code_python.sh b/proto/generate_code_python.sh
index 2954e72a1..1c205a523 100755
--- a/proto/generate_code_python.sh
+++ b/proto/generate_code_python.sh
@@ -42,4 +42,4 @@ python3 -m grpc_tools.protoc -I=./ --python_out=src/python/ --grpc_python_out=sr
 python3 -m grpc_tools.protoc -I=./ --python_out=src/python/asyncio --grpclib_python_out=src/python/asyncio *.proto
 
 # Arrange generated code imports to enable imports from arbitrary subpackages
-find src/python -type f -iname *.py -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+find src/python -type f -iname *.py -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
diff --git a/proto/monitoring.proto b/proto/monitoring.proto
old mode 100755
new mode 100644
diff --git a/proto/ztp_server.proto b/proto/ztp_server.proto
old mode 100755
new mode 100644
diff --git a/src/analytics/frontend/Dockerfile b/src/analytics/frontend/Dockerfile
index bfc727d3e..679861f91 100644
--- a/src/analytics/frontend/Dockerfile
+++ b/src/analytics/frontend/Dockerfile
@@ -51,7 +51,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/analytics/frontend
diff --git a/src/automation/Dockerfile b/src/automation/Dockerfile
index 1818284c9..7bd035be6 100644
--- a/src/automation/Dockerfile
+++ b/src/automation/Dockerfile
@@ -51,7 +51,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/automation
diff --git a/src/bgpls_speaker/Dockerfile b/src/bgpls_speaker/Dockerfile
index eefeb9a1d..d68236d60 100644
--- a/src/bgpls_speaker/Dockerfile
+++ b/src/bgpls_speaker/Dockerfile
@@ -84,7 +84,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/bgpls_speaker
@@ -107,4 +107,4 @@ COPY src/bgpls_speaker/. bgpls_speaker/
 
 # Start the service
 ENTRYPOINT ["python", "-m", "bgpls_speaker.service"]
-# ENTRYPOINT [ "ls","-R" ]
\ No newline at end of file
+# ENTRYPOINT [ "ls","-R" ]
diff --git a/src/context/Dockerfile b/src/context/Dockerfile
index 10986e1a1..3f3065bcc 100644
--- a/src/context/Dockerfile
+++ b/src/context/Dockerfile
@@ -51,7 +51,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/context
diff --git a/src/dbscanserving/Dockerfile b/src/dbscanserving/Dockerfile
index 069b109a0..a8e359014 100644
--- a/src/dbscanserving/Dockerfile
+++ b/src/dbscanserving/Dockerfile
@@ -51,7 +51,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/dbscanserving
diff --git a/src/device/Dockerfile b/src/device/Dockerfile
index d760e0c70..bff47f929 100644
--- a/src/device/Dockerfile
+++ b/src/device/Dockerfile
@@ -66,7 +66,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/device
diff --git a/src/e2e_orchestrator/Dockerfile b/src/e2e_orchestrator/Dockerfile
index f875663c1..31db2b55a 100644
--- a/src/e2e_orchestrator/Dockerfile
+++ b/src/e2e_orchestrator/Dockerfile
@@ -64,7 +64,7 @@ RUN touch __init__.py
 COPY --chown=teraflow:teraflow proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create module sub-folders
 RUN mkdir -p /home/teraflow/controller/e2e_orchestrator
diff --git a/src/forecaster/Dockerfile b/src/forecaster/Dockerfile
index f521eab40..47b5416ff 100644
--- a/src/forecaster/Dockerfile
+++ b/src/forecaster/Dockerfile
@@ -51,7 +51,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/forecaster
diff --git a/src/interdomain/Dockerfile b/src/interdomain/Dockerfile
index 57f55007a..f4cc9931f 100644
--- a/src/interdomain/Dockerfile
+++ b/src/interdomain/Dockerfile
@@ -51,7 +51,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/interdomain
diff --git a/src/kpi_manager/Dockerfile b/src/kpi_manager/Dockerfile
index 12455e4c9..0207fff4b 100644
--- a/src/kpi_manager/Dockerfile
+++ b/src/kpi_manager/Dockerfile
@@ -51,7 +51,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/kpi_manager
diff --git a/src/kpi_value_api/Dockerfile b/src/kpi_value_api/Dockerfile
index 91e169006..5a21886a5 100644
--- a/src/kpi_value_api/Dockerfile
+++ b/src/kpi_value_api/Dockerfile
@@ -51,7 +51,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/kpi_value_api
diff --git a/src/kpi_value_writer/Dockerfile b/src/kpi_value_writer/Dockerfile
index f6f8b1352..4db2df5a6 100644
--- a/src/kpi_value_writer/Dockerfile
+++ b/src/kpi_value_writer/Dockerfile
@@ -51,7 +51,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/kpi_value_writer
diff --git a/src/l3_attackmitigator/Dockerfile b/src/l3_attackmitigator/Dockerfile
index 9d80570fa..12e0dc0c4 100644
--- a/src/l3_attackmitigator/Dockerfile
+++ b/src/l3_attackmitigator/Dockerfile
@@ -51,7 +51,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/l3_attackmitigator
diff --git a/src/l3_centralizedattackdetector/Dockerfile b/src/l3_centralizedattackdetector/Dockerfile
index 718b4ff95..6dcf7f0ef 100644
--- a/src/l3_centralizedattackdetector/Dockerfile
+++ b/src/l3_centralizedattackdetector/Dockerfile
@@ -55,7 +55,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/l3_centralizedattackdetector
diff --git a/src/l3_distributedattackdetector/Dockerfile b/src/l3_distributedattackdetector/Dockerfile
index 95914d22e..b3b18018b 100644
--- a/src/l3_distributedattackdetector/Dockerfile
+++ b/src/l3_distributedattackdetector/Dockerfile
@@ -51,7 +51,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/l3_distributedattackdetector
diff --git a/src/load_generator/Dockerfile b/src/load_generator/Dockerfile
index 3ef1470f4..c74d0a342 100644
--- a/src/load_generator/Dockerfile
+++ b/src/load_generator/Dockerfile
@@ -51,7 +51,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/load_generator
diff --git a/src/monitoring/Dockerfile b/src/monitoring/Dockerfile
index 1c7a03c53..60f2b1ad4 100644
--- a/src/monitoring/Dockerfile
+++ b/src/monitoring/Dockerfile
@@ -51,7 +51,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/monitoring
diff --git a/src/nbi/Dockerfile b/src/nbi/Dockerfile
index a9be06d37..7cfffda4e 100644
--- a/src/nbi/Dockerfile
+++ b/src/nbi/Dockerfile
@@ -66,7 +66,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/nbi
diff --git a/src/opticalattackdetector/Dockerfile b/src/opticalattackdetector/Dockerfile
index 60220dc63..b473627fc 100644
--- a/src/opticalattackdetector/Dockerfile
+++ b/src/opticalattackdetector/Dockerfile
@@ -64,7 +64,7 @@ RUN touch __init__.py
 COPY --chown=teraflow:teraflow proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create module sub-folders
 RUN mkdir -p /home/teraflow/controller/opticalattackdetector
diff --git a/src/opticalattackmanager/Dockerfile b/src/opticalattackmanager/Dockerfile
index 2af1f282a..a5739b2ec 100644
--- a/src/opticalattackmanager/Dockerfile
+++ b/src/opticalattackmanager/Dockerfile
@@ -74,7 +74,7 @@ RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 # new line added to generate protobuf for the `grpclib` library
 RUN python3 -m grpc_tools.protoc -I=./ --python_out=./asyncio --grpclib_python_out=./asyncio *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create module sub-folders
 RUN mkdir -p /home/teraflow/controller/opticalattackmanager
diff --git a/src/opticalattackmitigator/Dockerfile b/src/opticalattackmitigator/Dockerfile
index f4c5a2b5c..97dc16e85 100644
--- a/src/opticalattackmitigator/Dockerfile
+++ b/src/opticalattackmitigator/Dockerfile
@@ -63,7 +63,7 @@ RUN touch __init__.py
 COPY --chown=teraflow:teraflow proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create module sub-folders
 RUN mkdir -p /home/teraflow/controller/opticalattackmitigator
diff --git a/src/opticalcontroller/Dockerfile b/src/opticalcontroller/Dockerfile
index 366864686..f323cd7a8 100644
--- a/src/opticalcontroller/Dockerfile
+++ b/src/opticalcontroller/Dockerfile
@@ -51,7 +51,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/opticalcontroller
diff --git a/src/osm_client/Dockerfile b/src/osm_client/Dockerfile
index 1c7427404..c3ce9b15a 100644
--- a/src/osm_client/Dockerfile
+++ b/src/osm_client/Dockerfile
@@ -54,7 +54,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders
 RUN mkdir -p /var/teraflow/osm_client
diff --git a/src/pathcomp/frontend/Dockerfile b/src/pathcomp/frontend/Dockerfile
index c96db7293..01b8656d4 100644
--- a/src/pathcomp/frontend/Dockerfile
+++ b/src/pathcomp/frontend/Dockerfile
@@ -51,7 +51,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/pathcomp/frontend
diff --git a/src/qkd_app/Dockerfile b/src/qkd_app/Dockerfile
index 26729f384..91c264f34 100644
--- a/src/qkd_app/Dockerfile
+++ b/src/qkd_app/Dockerfile
@@ -51,7 +51,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/qkd_app
diff --git a/src/qos_profile/Dockerfile b/src/qos_profile/Dockerfile
index 20d39cc1f..9a53c5d6a 100644
--- a/src/qos_profile/Dockerfile
+++ b/src/qos_profile/Dockerfile
@@ -51,7 +51,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/qos_profile
diff --git a/src/service/Dockerfile b/src/service/Dockerfile
index 564cae1b1..2d4b980ed 100644
--- a/src/service/Dockerfile
+++ b/src/service/Dockerfile
@@ -51,7 +51,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/service
diff --git a/src/slice/Dockerfile b/src/slice/Dockerfile
index 1108030fe..175c3a47a 100644
--- a/src/slice/Dockerfile
+++ b/src/slice/Dockerfile
@@ -51,7 +51,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/slice
diff --git a/src/telemetry/frontend/Dockerfile b/src/telemetry/frontend/Dockerfile
index 0e7827895..e7eebc02b 100644
--- a/src/telemetry/frontend/Dockerfile
+++ b/src/telemetry/frontend/Dockerfile
@@ -51,7 +51,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/telemetry/frontend
diff --git a/src/vnt_manager/Dockerfile b/src/vnt_manager/Dockerfile
index 3ff0acf3f..baf43aa36 100644
--- a/src/vnt_manager/Dockerfile
+++ b/src/vnt_manager/Dockerfile
@@ -64,7 +64,7 @@ RUN touch __init__.py
 COPY --chown=teraflow:teraflow proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create module sub-folders
 RUN mkdir -p /home/teraflow/controller/vnt_manager
diff --git a/src/webui/Dockerfile b/src/webui/Dockerfile
index 0327b68ef..64e319f3a 100644
--- a/src/webui/Dockerfile
+++ b/src/webui/Dockerfile
@@ -65,7 +65,7 @@ RUN touch __init__.py
 COPY --chown=webui:webui proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 WORKDIR /home/webui/teraflow
 
 COPY --chown=webui:webui src/webui/requirements.in requirements.in
diff --git a/src/ztp_server/Dockerfile b/src/ztp_server/Dockerfile
index bbcc282bd..425a96c43 100755
--- a/src/ztp_server/Dockerfile
+++ b/src/ztp_server/Dockerfile
@@ -51,7 +51,7 @@ RUN touch __init__.py
 COPY proto/*.proto ./
 RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
 RUN rm *.proto
-RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
+RUN find . -type f -exec sed -i -E 's/^(import\ .*)_pb2/from . \1_pb2/g' {} \;
 
 # Create component sub-folders, get specific Python packages
 RUN mkdir -p /var/teraflow/ztp_server
-- 
GitLab