diff --git a/libvirt/Chart.yaml b/libvirt/Chart.yaml
deleted file mode 100644
index 8dc577baa7..0000000000
--- a/libvirt/Chart.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2017 The Openstack-Helm Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-apiVersion: v1
-description: OpenStack-Helm libvirt
-name: libvirt
-version: 0.1.0
-home: https://libvirt.org
-sources:
-  - https://libvirt.org/git/?p=libvirt.git;a=summary
-  - https://git.openstack.org/cgit/openstack/openstack-helm
-maintainers:
-  - name: OpenStack-Helm Authors
diff --git a/libvirt/requirements.yaml b/libvirt/requirements.yaml
deleted file mode 100644
index 53782e69b2..0000000000
--- a/libvirt/requirements.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2017 The Openstack-Helm Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-dependencies:
-  - name: helm-toolkit
-    repository: http://localhost:8879/charts
-    version: 0.1.0
diff --git a/libvirt/templates/bin/_ceph-admin-keyring.sh.tpl b/libvirt/templates/bin/_ceph-admin-keyring.sh.tpl
deleted file mode 100644
index fa416c05d2..0000000000
--- a/libvirt/templates/bin/_ceph-admin-keyring.sh.tpl
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/bash
-
-{{/*
-Copyright 2017 The Openstack-Helm Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/}}
-
-set -ex
-export HOME=/tmp
-
-cat > /etc/ceph/ceph.client.admin.keyring << EOF
-[client.admin]
-{{- if .Values.conf.ceph.admin_keyring }}
-    key = {{ .Values.conf.ceph.admin_keyring }}
-{{- else }}
-    key = $(cat /tmp/client-keyring)
-{{- end }}
-EOF
-
-exit 0
diff --git a/libvirt/templates/bin/_ceph-keyring.sh.tpl b/libvirt/templates/bin/_ceph-keyring.sh.tpl
deleted file mode 100644
index 418a40c27d..0000000000
--- a/libvirt/templates/bin/_ceph-keyring.sh.tpl
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/bash
-
-{{/*
-Copyright 2017 The Openstack-Helm Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/}}
-
-set -ex
-export HOME=/tmp
-
-KEYRING=/etc/ceph/ceph.client.${CEPH_CINDER_USER}.keyring
-{{- if .Values.conf.ceph.cinder.keyring }}
-cat > ${KEYRING} <<EOF
-[client.{{ .Values.conf.ceph.cinder.user }}]
-    key = {{ .Values.conf.ceph.cinder.keyring }}
-EOF
-{{- else }}
-if ! [ "x${CEPH_CINDER_USER}" == "xadmin"]; then
-  #NOTE(Portdirect): Determine proper privs to assign keyring
-  ceph auth get-or-create client.${CEPH_CINDER_USER} \
-    mon "allow *" \
-    osd "allow *" \
-    mgr "allow *" \
-    -o ${KEYRING}
-
-  rm -f /etc/ceph/ceph.client.admin.keyring
-fi
-{{- end }}
diff --git a/libvirt/templates/bin/_libvirt.sh.tpl b/libvirt/templates/bin/_libvirt.sh.tpl
deleted file mode 100644
index 7d2c5b6142..0000000000
--- a/libvirt/templates/bin/_libvirt.sh.tpl
+++ /dev/null
@@ -1,144 +0,0 @@
-#!/bin/bash
-
-{{/*
-Copyright 2017 The Openstack-Helm Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/}}
-
-set -ex
-
-if [ -n "$(cat /proc/*/comm 2>/dev/null | grep libvirtd)" ]; then
-    echo "ERROR: libvirtd daemon already running on host" 1>&2
-    exit 1
-fi
-
-rm -f /var/run/libvirtd.pid
-
-if [[ -c /dev/kvm ]]; then
-    chmod 660 /dev/kvm
-    chown root:kvm /dev/kvm
-fi
-
-# We assume that if hugepage count > 0, then hugepages should be exposed to libvirt/qemu
-hp_count="$(cat /proc/meminfo | grep HugePages_Total | tr -cd '[:digit:]')"
-if [ 0"$hp_count" -gt 0 ]; then
-
-  echo "INFO: Detected hugepage count of '$hp_count'. Enabling hugepage settings for libvirt/qemu."
-
-  # Enable KVM hugepages for QEMU
-  if [ -n "$(grep KVM_HUGEPAGES=0 /etc/default/qemu-kvm)" ]; then
-    sed -i 's/.*KVM_HUGEPAGES=0.*/KVM_HUGEPAGES=1/g' /etc/default/qemu-kvm
-  else
-    echo KVM_HUGEPAGES=1 >> /etc/default/qemu-kvm
-  fi
-
-  # Ensure that the hugepage mount location is available/mapped inside the
-  # container. This assumes use of the default ubuntu dev-hugepages.mount
-  # systemd unit which mounts hugepages at this location.
-  if [ ! -d /dev/hugepages ]; then
-    echo "ERROR: Hugepages configured in kernel, but libvirtd container cannot access /dev/hugepages"
-    exit 1
-  fi
-
-  # Kubernetes 1.10.x introduced cgroup changes that caused the container's
-  # hugepage byte limit quota to zero out. This workaround sets that pod limit
-  # back to the total number of hugepage bytes available to the baremetal host.
-  if [ -d /sys/fs/cgroup/hugetlb ]; then
-    # NOTE(portdirect): Kubelet will always create pod specific cgroups for
-    # hugetables so if the hugetlb cgroup is enabled, when k8s removes the pod
-    # it will also remove the hugetlb cgroup for the pod, taking any qemu
-    # processes with it.
-    echo "WARN: As the hugetlb cgroup is enabled, it will not be possible to restart the libvirt pod via k8s, without killing VMs."
-    for limit in $(ls /sys/fs/cgroup/hugetlb/kubepods/hugetlb.*.limit_in_bytes); do
-      target="/sys/fs/cgroup/hugetlb/$(dirname $(awk -F: '($2~/hugetlb/){print $3}' /proc/self/cgroup))/$(basename $limit)"
-      # Ensure the write target for the hugepage limit for the pod exists
-      if [ ! -f "$target" ]; then
-        echo "ERROR: Could not find write target for hugepage limit: $target"
-      fi
-
-      # Write hugetable limit for pod
-      echo "$(cat $limit)" > "$target"
-    done
-  fi
-
-  # Determine OS default hugepage size to use for the hugepage write test
-  default_hp_kb="$(cat /proc/meminfo | grep Hugepagesize | tr -cd '[:digit:]')"
-
-  # Attempt to write to the hugepage mount to ensure it is operational, but only
-  # if we have at least 1 free page.
-  num_free_pages="$(cat /sys/kernel/mm/hugepages/hugepages-${default_hp_kb}kB/free_hugepages | tr -cd '[:digit:]')"
-  echo "INFO: '$num_free_pages' free hugepages of size ${default_hp_kb}kB"
-  if [ 0"$num_free_pages" -gt 0 ]; then
-    (fallocate -o0 -l "$default_hp_kb" /dev/hugepages/foo && rm /dev/hugepages/foo) || \
-      (echo "ERROR: fallocate failed test at /dev/hugepages with size ${default_hp_kb}kB"
-       rm /dev/hugepages/foo
-       exit 1)
-  fi
-fi
-
-if [ -n "${LIBVIRT_CEPH_CINDER_SECRET_UUID}" ] ; then
-  libvirtd --listen &
-
-  tmpsecret=$(mktemp --suffix .xml)
-  function cleanup {
-      rm -f "${tmpsecret}"
-  }
-  trap cleanup EXIT
-
-  # Wait for the libvirtd is up
-  TIMEOUT=60
-  while [[ ! -f /var/run/libvirtd.pid ]]; do
-    if [[ ${TIMEOUT} -gt 0 ]]; then
-      let TIMEOUT-=1
-      sleep 1
-    else
-      echo "ERROR: libvirt did not start in time (pid file missing)"
-      exit 1
-    fi
-  done
-
-  # Even though we see the pid file the socket immediately (this is
-  # needed for virsh)
-  TIMEOUT=10
-  while [[ ! -e /var/run/libvirt/libvirt-sock ]]; do
-    if [[ ${TIMEOUT} -gt 0 ]]; then
-      let TIMEOUT-=1
-      sleep 1
-    else
-      echo "ERROR: libvirt did not start in time (socket missing)"
-      exit 1
-    fi
-  done
-
-  if [ -z "${CEPH_CINDER_KEYRING}" ] ; then
-    CEPH_CINDER_KEYRING=$(sed -n 's/^[[:space:]]*key[[:blank:]]\+=[[:space:]]\(.*\)/\1/p' /etc/ceph/ceph.client.${CEPH_CINDER_USER}.keyring)
-  fi
-
-  cat > ${tmpsecret} <<EOF
-<secret ephemeral='no' private='no'>
-  <uuid>${LIBVIRT_CEPH_CINDER_SECRET_UUID}</uuid>
-  <usage type='ceph'>
-    <name>client.${CEPH_CINDER_USER}. secret</name>
-  </usage>
-</secret>
-EOF
-
-  virsh secret-define --file ${tmpsecret}
-  virsh secret-set-value --secret "${LIBVIRT_CEPH_CINDER_SECRET_UUID}" --base64 "${CEPH_CINDER_KEYRING}"
-
-  # rejoin libvirtd
-  wait
-else
-  exec libvirtd --listen
-fi
diff --git a/libvirt/templates/configmap-bin.yaml b/libvirt/templates/configmap-bin.yaml
deleted file mode 100644
index ffe7a0d202..0000000000
--- a/libvirt/templates/configmap-bin.yaml
+++ /dev/null
@@ -1,37 +0,0 @@
-{{/*
-Copyright 2017 The Openstack-Helm Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/}}
-
-{{- if .Values.manifests.configmap_bin }}
-{{- $envAll := . }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: libvirt-bin
-data:
-{{- if .Values.images.local_registry.active }}
-  image-repo-sync.sh: |
-{{- include "helm-toolkit.scripts.image_repo_sync" . | indent 4 }}
-{{- end }}
-  libvirt.sh: |
-{{ tuple "bin/_libvirt.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
-{{- if .Values.conf.ceph.enabled }}
-  ceph-keyring.sh: |
-{{ tuple "bin/_ceph-keyring.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
-  ceph-admin-keyring.sh: |
-{{ tuple "bin/_ceph-admin-keyring.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
-{{- end }}
-{{- end }}
diff --git a/libvirt/templates/configmap-etc.yaml b/libvirt/templates/configmap-etc.yaml
deleted file mode 100644
index cab19942f7..0000000000
--- a/libvirt/templates/configmap-etc.yaml
+++ /dev/null
@@ -1,28 +0,0 @@
-{{/*
-Copyright 2017 The Openstack-Helm Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/}}
-
-{{- if .Values.manifests.configmap_etc }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: libvirt-etc
-data:
-  libvirtd.conf: |
-{{- include "libvirt.utils.to_libvirt_conf" .Values.conf.libvirt | indent 4 }}
-  qemu.conf: |
-{{- include "libvirt.utils.to_libvirt_conf" .Values.conf.qemu | indent 4 }}
-{{- end }}
diff --git a/libvirt/templates/daemonset-libvirt.yaml b/libvirt/templates/daemonset-libvirt.yaml
deleted file mode 100644
index 5bfdd5329f..0000000000
--- a/libvirt/templates/daemonset-libvirt.yaml
+++ /dev/null
@@ -1,231 +0,0 @@
-{{/*
-Copyright 2017 The Openstack-Helm Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/}}
-
-{{- if .Values.manifests.daemonset_libvirt }}
-{{- $envAll := . }}
-{{- $dependencyOpts := dict "envAll" $envAll "dependencyMixinParam" $envAll.Values.network.backend "dependencyKey" "libvirt" -}}
-{{- $_ := include "helm-toolkit.utils.dependency_resolver" $dependencyOpts | toString | fromYaml }}
-
-{{- $mounts_libvirt := .Values.pod.mounts.libvirt.libvirt }}
-{{- $mounts_libvirt_init := .Values.pod.mounts.libvirt.init_container }}
-
-{{- $serviceAccountName := "libvirt" }}
-{{ tuple $envAll "pod_dependency" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
----
-apiVersion: apps/v1
-kind: DaemonSet
-metadata:
-  name: libvirt
-  labels:
-{{ tuple $envAll "libvirt" "libvirt" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }}
-spec:
-  selector:
-    matchLabels:
-{{ tuple $envAll "libvirt" "libvirt" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 6 }}
-{{ tuple $envAll "libvirt" | include "helm-toolkit.snippets.kubernetes_upgrades_daemonset" | indent 2 }}
-  template:
-    metadata:
-      labels:
-{{ tuple $envAll "libvirt" "libvirt" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
-      annotations:
-        configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }}
-        configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "helm-toolkit.utils.hash" }}
-    spec:
-      serviceAccountName: {{ $serviceAccountName }}
-      nodeSelector:
-        {{ .Values.labels.agent.libvirt.node_selector_key }}: {{ .Values.labels.agent.libvirt.node_selector_value }}
-      hostNetwork: true
-      hostPID: true
-      dnsPolicy: ClusterFirstWithHostNet
-      initContainers:
-{{ tuple $envAll "pod_dependency" $mounts_libvirt_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
-{{- if .Values.conf.ceph.enabled }}
-        {{- if empty .Values.conf.ceph.cinder.keyring }}
-        - name: ceph-admin-keyring-placement
-{{ tuple $envAll "libvirt" | include "helm-toolkit.snippets.image" | indent 10 }}
-          securityContext:
-            runAsUser: 0
-          command:
-            - /tmp/ceph-admin-keyring.sh
-          volumeMounts:
-            - name: etcceph
-              mountPath: /etc/ceph
-            - name: libvirt-bin
-              mountPath: /tmp/ceph-admin-keyring.sh
-              subPath: ceph-admin-keyring.sh
-              readOnly: true
-            {{- if empty .Values.conf.ceph.admin_keyring }}
-            - name: ceph-keyring
-              mountPath: /tmp/client-keyring
-              subPath: key
-              readOnly: true
-            {{ end }}
-        {{ end }}
-        - name: ceph-keyring-placement
-{{ tuple $envAll "libvirt" | include "helm-toolkit.snippets.image" | indent 10 }}
-          securityContext:
-            runAsUser: 0
-          env:
-            - name: CEPH_CINDER_USER
-              value: "{{ .Values.conf.ceph.cinder.user }}"
-            {{- if .Values.conf.ceph.cinder.keyring }}
-            - name: CEPH_CINDER_KEYRING
-              value: "{{ .Values.conf.ceph.cinder.keyring }}"
-            {{ end }}
-            - name: LIBVIRT_CEPH_CINDER_SECRET_UUID
-              value: "{{ .Values.conf.ceph.cinder.secret_uuid }}"
-          command:
-            - /tmp/ceph-keyring.sh
-          volumeMounts:
-            - name: etcceph
-              mountPath: /etc/ceph
-            - name: libvirt-bin
-              mountPath: /tmp/ceph-keyring.sh
-              subPath: ceph-keyring.sh
-              readOnly: true
-            - name: ceph-etc
-              mountPath: /etc/ceph/ceph.conf
-              subPath: ceph.conf
-              readOnly: true
-{{- end }}
-      containers:
-        - name: libvirt
-{{ tuple $envAll "libvirt" | include "helm-toolkit.snippets.image" | indent 10 }}
-{{ tuple $envAll $envAll.Values.pod.resources.libvirt | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
-          securityContext:
-            privileged: true
-            runAsUser: 0
-          {{- if .Values.conf.ceph.enabled }}
-          env:
-            - name: CEPH_CINDER_USER
-              value: "{{ .Values.conf.ceph.cinder.user }}"
-            {{- if .Values.conf.ceph.cinder.keyring }}
-            - name: CEPH_CINDER_KEYRING
-              value: "{{ .Values.conf.ceph.cinder.keyring }}"
-            {{ end }}
-            - name: LIBVIRT_CEPH_CINDER_SECRET_UUID
-              value: "{{ .Values.conf.ceph.cinder.secret_uuid }}"
-          {{ end }}
-          command:
-            - /tmp/libvirt.sh
-          lifecycle:
-            preStop:
-              exec:
-                command:
-                  - bash
-                  - -c
-                  - |-
-                    kill $(cat /var/run/libvirtd.pid)
-          volumeMounts:
-            - name: libvirt-bin
-              mountPath: /tmp/libvirt.sh
-              subPath: libvirt.sh
-              readOnly: true
-            - name: libvirt-etc
-              mountPath: /etc/libvirt/libvirtd.conf
-              subPath: libvirtd.conf
-              readOnly: true
-            - name: libvirt-etc
-              mountPath: /etc/libvirt/qemu.conf
-              subPath: qemu.conf
-              readOnly: true
-            - name: etc-libvirt-qemu
-              mountPath: /etc/libvirt/qemu
-            - mountPath: /lib/modules
-              name: libmodules
-              readOnly: true
-            - name: var-lib-libvirt
-              mountPath: /var/lib/libvirt
-              {{- if or ( gt .Capabilities.KubeVersion.Major "1" ) ( ge .Capabilities.KubeVersion.Minor "10" ) }}
-              mountPropagation: Bidirectional
-              {{- end }}
-            - name: var-lib-nova
-              mountPath: /var/lib/nova
-              {{- if or ( gt .Capabilities.KubeVersion.Major "1" ) ( ge .Capabilities.KubeVersion.Minor "10" ) }}
-              mountPropagation: Bidirectional
-              {{- end }}
-            - name: run
-              mountPath: /run
-            - name: dev
-              mountPath: /dev
-            - name: cgroup
-              mountPath: /sys/fs/cgroup
-            - name: machine-id
-              mountPath: /etc/machine-id
-              readOnly: true
-            {{- if .Values.conf.ceph.enabled }}
-            - name: etcceph
-              mountPath: /etc/ceph
-            - name: ceph-etc
-              mountPath: /etc/ceph/ceph.conf
-              subPath: ceph.conf
-              readOnly: true
-            {{- if empty .Values.conf.ceph.cinder.keyring }}
-            - name: ceph-keyring
-              mountPath: /tmp/client-keyring
-              subPath: key
-              readOnly: true
-            {{- end }}
-            {{- end }}
-{{ if $mounts_libvirt.volumeMounts }}{{ toYaml $mounts_libvirt.volumeMounts | indent 12 }}{{ end }}
-      volumes:
-        - name: libvirt-bin
-          configMap:
-            name: libvirt-bin
-            defaultMode: 0555
-        - name: libvirt-etc
-          configMap:
-            name: libvirt-etc
-            defaultMode: 0444
-        {{- if .Values.conf.ceph.enabled }}
-        - name: etcceph
-          emptyDir: {}
-        - name: ceph-etc
-          configMap:
-            name: {{ .Values.ceph_client.configmap }}
-            defaultMode: 0444
-        {{- if empty .Values.conf.ceph.cinder.keyring }}
-        - name: ceph-keyring
-          secret:
-            secretName: {{ .Values.ceph_client.user_secret_name }}
-        {{ end }}
-        {{ end }}
-        - name: libmodules
-          hostPath:
-            path: /lib/modules
-        - name: var-lib-libvirt
-          hostPath:
-            path: /var/lib/libvirt
-        - name: var-lib-nova
-          hostPath:
-            path: /var/lib/nova
-        - name: run
-          hostPath:
-            path: /run
-        - name: dev
-          hostPath:
-            path: /dev
-        - name: cgroup
-          hostPath:
-            path: /sys/fs/cgroup
-        - name: machine-id
-          hostPath:
-            path: /etc/machine-id
-        - name: etc-libvirt-qemu
-          hostPath:
-            path: /etc/libvirt/qemu
-{{ if $mounts_libvirt.volumes }}{{ toYaml $mounts_libvirt.volumes | indent 8 }}{{ end }}
-{{- end }}
diff --git a/libvirt/templates/job-image-repo-sync.yaml b/libvirt/templates/job-image-repo-sync.yaml
deleted file mode 100644
index c24dd75cc3..0000000000
--- a/libvirt/templates/job-image-repo-sync.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-{{/*
-Copyright 2017 The Openstack-Helm Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/}}
-
-{{- if and .Values.manifests.job_image_repo_sync .Values.images.local_registry.active }}
-{{- $imageRepoSyncJob := dict "envAll" . "serviceName" "libvirt" -}}
-{{ $imageRepoSyncJob | include "helm-toolkit.manifests.job_image_repo_sync" }}
-{{- end }}
diff --git a/libvirt/templates/utils/_to_libvirt_conf.tpl b/libvirt/templates/utils/_to_libvirt_conf.tpl
deleted file mode 100644
index 8d7c712a41..0000000000
--- a/libvirt/templates/utils/_to_libvirt_conf.tpl
+++ /dev/null
@@ -1,53 +0,0 @@
-{{/*
-Copyright 2017 The Openstack-Helm Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/}}
-
-{{/*
-abstract: |
-  Builds a libvirt compatible config file.
-values: |
-  conf:
-    libvirt:
-      log_level: 3
-      cgroup_controllers:
-        - cpu
-        - cpuacct
-usage: |
-  {{ include "libvirt.utils.to_libvirt_conf" .Values.conf.libvirt }}
-return: |
-  cgroup_controllers = [ "cpu", "cpuacct" ]
-  log_level = 3
-*/}}
-
-{{- define "libvirt.utils._to_libvirt_conf.list_to_string" -}}
-{{- $local := dict "first" true -}}
-{{- range $k, $v := . -}}{{- if not $local.first -}}, {{ end -}}{{- $v | quote -}}{{- $_ := set $local "first" false -}}{{- end -}}
-{{- end -}}
-
-{{- define "libvirt.utils.to_libvirt_conf" -}}
-{{- range $key, $value :=  . -}}
-{{- if kindIs "slice" $value }}
-{{ $key }} = [ {{ include "libvirt.utils._to_libvirt_conf.list_to_string" $value }} ]
-{{- else if kindIs "string" $value }}
-{{- if regexMatch "^[0-9]+$" $value }}
-{{ $key }} = {{ $value }}
-{{- else }}
-{{ $key }} = {{ $value | quote }}
-{{- end }}
-{{- else }}
-{{ $key }} = {{ $value }}
-{{- end }}
-{{- end -}}
-{{- end -}}
diff --git a/libvirt/values.yaml b/libvirt/values.yaml
deleted file mode 100644
index 6ab6b7282f..0000000000
--- a/libvirt/values.yaml
+++ /dev/null
@@ -1,165 +0,0 @@
-# Copyright 2017 The Openstack-Helm Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Default values for libvirt.
-# This is a YAML-formatted file.
-# Declare name/value pairs to be passed into your templates.
-# name: value
-
-release_group: null
-
-labels:
-  agent:
-    libvirt:
-      node_selector_key: openstack-compute-node
-      node_selector_value: enabled
-
-images:
-  tags:
-    libvirt: docker.io/openstackhelm/libvirt:ubuntu-xenial-1.3.1
-    dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
-    image_repo_sync: docker.io/docker:17.07.0
-  pull_policy: "IfNotPresent"
-  local_registry:
-    active: false
-    exclude:
-      - dep_check
-      - image_repo_sync
-
-network:
-  # provide what type of network wiring will be used
-  # possible options: openvswitch, linuxbridge, sriov
-  backend:
-    - openvswitch
-
-endpoints:
-  cluster_domain_suffix: cluster.local
-  local_image_registry:
-    name: docker-registry
-    namespace: docker-registry
-    hosts:
-      default: localhost
-      internal: docker-registry
-      node: localhost
-    host_fqdn_override:
-      default: null
-    port:
-      registry:
-        node: 5000
-
-ceph_client:
-  configmap: ceph-etc
-  user_secret_name: pvc-ceph-client-key
-
-conf:
-  ceph:
-    enabled: true
-    admin_keyring: null
-    cinder:
-      user: "cinder"
-      keyring: null
-      secret_uuid: 457eb676-33da-42ec-9a8c-9293d545c337
-  libvirt:
-    listen_tcp: "1"
-    listen_tls: "0"
-    auth_tcp: "none"
-    ca_file: ""
-    listen_addr: 127.0.0.1
-    log_level: "3"
-  qemu:
-    stdio_handler: "file"
-    user: "nova"
-    group: "kvm"
-
-pod:
-  affinity:
-    anti:
-      type:
-        default: preferredDuringSchedulingIgnoredDuringExecution
-      topologyKey:
-        default: kubernetes.io/hostname
-  mounts:
-    libvirt:
-      init_container: null
-      libvirt:
-  lifecycle:
-    upgrades:
-      daemonsets:
-        pod_replacement_strategy: RollingUpdate
-        libvirt:
-          enabled: true
-          min_ready_seconds: 0
-          max_unavailable: 1
-  resources:
-    enabled: false
-    libvirt:
-      requests:
-        memory: "128Mi"
-        cpu: "100m"
-      limits:
-        memory: "1024Mi"
-        cpu: "2000m"
-    jobs:
-      image_repo_sync:
-        requests:
-          memory: "128Mi"
-          cpu: "100m"
-        limits:
-          memory: "1024Mi"
-          cpu: "2000m"
-
-dependencies:
-  dynamic:
-    common:
-      local_image_registry:
-        jobs:
-          - libvirt-image-repo-sync
-        services:
-          - endpoint: node
-            service: local_image_registry
-    targeted:
-      openvswitch:
-        libvirt:
-          pod:
-            - requireSameNode: true
-              labels:
-                application: neutron
-                component: neutron-ovs-agent
-      linuxbridge:
-        libvirt:
-          pod:
-            - requireSameNode: true
-              labels:
-                application: neutron
-                component: neutron-lb-agent
-      sriov:
-        libvirt:
-          pod:
-            - requireSameNode: true
-              labels:
-                application: neutron
-                component: neutron-sriov-agent
-  static:
-    libvirt:
-      services: null
-    image_repo_sync:
-      services:
-        - endpoint: internal
-          service: local_image_registry
-
-manifests:
-  configmap_bin: true
-  configmap_etc: true
-  daemonset_libvirt: true
-  job_image_repo_sync: true
diff --git a/tools/deployment/armada/multinode/armada-osh.yaml b/tools/deployment/armada/multinode/armada-osh.yaml
index 24171e73b9..406b7a93f4 100644
--- a/tools/deployment/armada/multinode/armada-osh.yaml
+++ b/tools/deployment/armada/multinode/armada-osh.yaml
@@ -737,7 +737,7 @@ data:
           node_selector_value: enabled
   source:
     type: local
-    location: ${OSH_PATH}
+    location: ${OSH_INFRA_PATH}
     subpath: libvirt
     reference: master
   dependencies:
diff --git a/tools/deployment/baremetal/005-setup-nodes.sh b/tools/deployment/baremetal/005-setup-nodes.sh
index 05e43e58aa..a2b8406146 100755
--- a/tools/deployment/baremetal/005-setup-nodes.sh
+++ b/tools/deployment/baremetal/005-setup-nodes.sh
@@ -27,7 +27,8 @@ done
 make all
 
 #NOTE: Deploy libvirt with vbmc then define domains to use as baremetal nodes
-helm install ./libvirt \
+: ${OSH_INFRA_PATH:="../openstack-helm-infra"}
+helm install ${OSH_INFRA_PATH}/libvirt \
   --namespace=libvirt \
   --name=libvirt \
   --set network.backend=null \
diff --git a/tools/deployment/developer/ceph/150-libvirt.sh b/tools/deployment/developer/ceph/150-libvirt.sh
index 5196ac2b5b..71514dd884 100755
--- a/tools/deployment/developer/ceph/150-libvirt.sh
+++ b/tools/deployment/developer/ceph/150-libvirt.sh
@@ -19,8 +19,9 @@ set -xe
 make libvirt
 
 #NOTE: Deploy command
+: ${OSH_INFRA_PATH:="../openstack-helm-infra"}
 : ${OSH_EXTRA_HELM_ARGS:=""}
-helm upgrade --install libvirt ./libvirt \
+helm upgrade --install libvirt ${OSH_INFRA_PATH}/libvirt \
   --namespace=openstack \
   ${OSH_EXTRA_HELM_ARGS} \
   ${OSH_EXTRA_HELM_ARGS_LIBVIRT}
diff --git a/tools/deployment/developer/nfs/150-libvirt.sh b/tools/deployment/developer/nfs/150-libvirt.sh
index 04adb7fbca..c3420ae4e3 100755
--- a/tools/deployment/developer/nfs/150-libvirt.sh
+++ b/tools/deployment/developer/nfs/150-libvirt.sh
@@ -19,8 +19,9 @@ set -xe
 make libvirt
 
 #NOTE: Deploy command
+: ${OSH_INFRA_PATH:="../openstack-helm-infra"}
 : ${OSH_EXTRA_HELM_ARGS:=""}
-helm upgrade --install libvirt ./libvirt \
+helm upgrade --install libvirt ${OSH_INFRA_PATH}/libvirt \
   --namespace=openstack \
   --set conf.ceph.enabled=false \
   ${OSH_EXTRA_HELM_ARGS} \
diff --git a/tools/deployment/multinode/130-libvirt.sh b/tools/deployment/multinode/130-libvirt.sh
index 434b094718..26d1859196 100755
--- a/tools/deployment/multinode/130-libvirt.sh
+++ b/tools/deployment/multinode/130-libvirt.sh
@@ -16,7 +16,8 @@
 set -xe
 
 #NOTE: Deploy libvirt
-helm upgrade --install libvirt ./libvirt \
+: ${OSH_INFRA_PATH:="../openstack-helm-infra"}
+helm upgrade --install libvirt ${OSH_INFRA_PATH}/libvirt \
   --namespace=openstack \
   ${OSH_EXTRA_HELM_ARGS} \
   ${OSH_EXTRA_HELM_ARGS_LIBVIRT}