diff --git a/docker/kuryr/kuryr-base/Dockerfile.j2 b/docker/kuryr/kuryr-base/Dockerfile.j2
index 8611a64a96..a7ed3bc098 100644
--- a/docker/kuryr/kuryr-base/Dockerfile.j2
+++ b/docker/kuryr/kuryr-base/Dockerfile.j2
@@ -5,6 +5,8 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
 
 {% import "macros.j2" as macros with context %}
 
+{{ macros.configure_user(name='kuryr') }}
+
 {% if install_type == 'binary' %}
 
 RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
@@ -22,8 +24,9 @@ ADD kuryr-base-archive /kuryr-base-source
 # Otherwise, it will be failed.
 RUN ln -s kuryr-base-source/* kuryr-base \
     && sed -i 's|^kuryr-lib===.*$||g' requirements/upper-constraints.txt \
-    && {{ macros.install_pip(kuryr_base_pip_packages | customizable("pip_packages")) }}
-
+    && {{ macros.install_pip(kuryr_base_pip_packages | customizable("pip_packages")) }} \
+    && mkdir -p /etc/kuryr \
+    && chown -R kuryr: /etc/kuryr
 {% endif %}
 
 COPY extend_start.sh /usr/local/bin/kolla_extend_start
diff --git a/docker/kuryr/kuryr-base/extend_start.sh b/docker/kuryr/kuryr-base/extend_start.sh
index 214675bea0..b109ce4f62 100644
--- a/docker/kuryr/kuryr-base/extend_start.sh
+++ b/docker/kuryr/kuryr-base/extend_start.sh
@@ -1,6 +1,7 @@
 #!/bin/bash
 
 KURYR_LOG_DIR=/var/log/kolla/kuryr
+KURYR_DOCKER_PLUGINS_DIR=/usr/lib/docker/plugins/kuryr
 
 if [[ ! -d "${KURYR_LOG_DIR}" ]]; then
     mkdir -p ${KURYR_LOG_DIR}
@@ -9,7 +10,6 @@ if [[ $(stat -c %a ${KURYR_LOG_DIR}) != "755" ]]; then
     chmod 755 ${KURYR_LOG_DIR}
 fi
 
-if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
-    mkdir -p /usr/lib/docker/plugins/kuryr
-    exit 0
+if [[ ! -d "${KURYR_DOCKER_PLUGINS_DIR}" ]]; then
+    mkdir -p ${KURYR_DOCKER_PLUGINS_DIR}
 fi
diff --git a/docker/kuryr/kuryr-libnetwork/Dockerfile.j2 b/docker/kuryr/kuryr-libnetwork/Dockerfile.j2
index 18729576ab..7cd9aca247 100644
--- a/docker/kuryr/kuryr-libnetwork/Dockerfile.j2
+++ b/docker/kuryr/kuryr-libnetwork/Dockerfile.j2
@@ -11,6 +11,22 @@ RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
     && /bin/false
 
 {% elif install_type == 'source' %}
+    {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
+
+        {% set kuryr_libnetwork_packages = [
+            'bridge-utils',
+            'openvswitch'
+        ] %}
+
+    {% elif base_distro in ['debian', 'ubuntu'] %}
+
+        {% set kuryr_libnetwork_packages = [
+            'bridge-utils',
+            'openvswitch-switch'
+        ] %}
+
+    {% endif %}
+{{ macros.install_packages(kuryr_libnetwork_packages | customizable("packages")) }}
 
 ADD kuryr-libnetwork-archive /kuryr-libnetwork-source
 
diff --git a/kolla/common/config.py b/kolla/common/config.py
index b7bd8dc301..0e746c1a91 100755
--- a/kolla/common/config.py
+++ b/kolla/common/config.py
@@ -883,6 +883,10 @@ USERS = {
     'skydive-user': {
         'uid': 42468,
         'gid': 42468,
+    },
+    'kuryr-user': {
+        'uid': 42469,
+        'gid': 42469,
     }
 }