Getting NOVA pieces together to launch VM

This PS gets NOVA related pieces together in order to be able to
launch a VM. It builds upon the work done by wirehead.

Partially-Implements: blueprint nova-kubernetes

Change-Id: I528fc5d84e790bd739c8cb900a9ee14ba7bec9fb
This commit is contained in:
Serguei Bezverkhi 2016-08-22 20:25:47 -04:00
parent d30e5a2a1a
commit 316f546f04
10 changed files with 467 additions and 168 deletions

View File

@ -117,3 +117,11 @@ keystone_admin_url: "{{ admin_protocol }}://keystone-admin:{{ keystone_admin_por
keystone_internal_url: "{{ internal_protocol }}://keystone-internal:{{ keystone_public_port }}/v3" keystone_internal_url: "{{ internal_protocol }}://keystone-internal:{{ keystone_public_port }}/v3"
keystone_public_url: "{{ public_protocol }}://{{ kolla_kubernetes_external_vip }}:{{ keystone_public_port }}/v3" keystone_public_url: "{{ public_protocol }}://{{ kolla_kubernetes_external_vip }}:{{ keystone_public_port }}/v3"
keystone_database_address: "mariadb" keystone_database_address: "mariadb"
########################
# NOVA variables
########################
openstack_nova_auth: "{'auth_url':'{{ keystone_auth_url }}','username':'{{ openstack_auth.username }}','password':'$KEYSTONE_ADMIN_PASSWORD','project_name':'{{ openstack_auth.project_name }}','domain_name':'default'}"
nova_admin_endpoint: "http://nova-api:{{ nova_api_port }}/v2/%(tenant_id)s"
nova_public_endpoint: "http://{{ kolla_kubernetes_external_vip }}:{{ nova_api_port }}/v2/%(tenant_id)s"
nova_internal_endpoint: "http://nova-api:{{ nova_api_port }}/v2/%(tenant_id)s"

View File

@ -1,6 +1,8 @@
apiVersion: batch/v1 apiVersion: batch/v1
kind: Job kind: Job
spec: spec:
parallelism: 1
completions: 1
template: template:
metadata: metadata:
name: nova-compute-generate name: nova-compute-generate

View File

@ -1,88 +1,101 @@
apiVersion: v1 apiVersion: extensions/v1beta1
kind: Pod kind: DaemonSet
metadata:
name: nova-compute
labels:
component: nova
system: nova-compute
namespace: default
spec: spec:
hostNetwork: True template:
hostPID: True metadata:
containers: name: nova-compute
- name: nova-compute labels:
image: "{{ nova_compute_image_full }}" component: nova
securityContext: system: nova-compute
privileged: true namespace: default
volumeMounts: annotations:
- mountPath: {{ container_config_directory }} pod.alpha.kubernetes.io/init-containers: '[
name: nova-compute-config {
- mountPath: /var/lib/nova "name": "initialize-nova-compute",
name: nova-compute-persistent-storage "image": "{{ nova_compute_image_full }}",
- mountPath: /etc/localtime "command": [
name: etc-localtime "sh",
- mountPath: /lib/modules "-c",
name: lib-modules "cp -a /config/..data/* /nova/;
- mountPath: /run ip=$(ip addr show dev {{ tunnel_interface }} | grep -G ''inet '' | awk ''{print $2}'');
name: run sed -i ''s|^my_ip.*=.*|my_ip=''${ip%/*}''|g'' /nova/nova.conf;
- mountPath: /dev sed -i ''s|^novncproxy_host.*=.*|novncproxy_host=''${ip%/*}''|g'' /nova/nova.conf;
name: dev sed -i ''s|^vncserver_listen.*=.*|vncserver_listen=''${ip%/*}''|g'' /nova/nova.conf;
- mountPath: /sys/fs/cgroup sed -i ''s|^vncserver_proxyclient_address.*=.*|vncserver_proxyclient_address=''${ip%/*}''|g'' /nova/nova.conf;
name: sys-fs-cgroup sed -i ''s|^novncproxy_base_url.*=.*|novncproxy_base_url=http://''${ip%/*}'':6080/vnc_auto.html|g'' /nova/nova.conf;
- mountPath: /var/log/kolla sed -i ''s|^connection_uri.*=.*|connection_uri=\"qemu+tcp://''${ip%/*}''/system\"|g'' /nova/nova.conf;"],
name: kolla-logs "volumeMounts": [
env: {
- name: KOLLA_CONFIG_STRATEGY "name": "nova-compute-config",
value: {{ config_strategy }} "mountPath": "/config/"
- name: nova-libvirt },
image: "{{ nova_libvirt_image_full }}" {
securityContext: "name": "nova-config",
privileged: true "mountPath": "/nova/"
volumeMounts: }
- mountPath: {{ container_config_directory }} ]
name: nova-libvirt-config }
- mountPath: /var/lib/libvirt ]'
name: nova-libvirt-persistent-storage spec:
- mountPath: /var/lib/nova hostNetwork: True
name: nova-compute-persistent-storage containers:
- mountPath: /etc/localtime - name: nova-compute
name: etc-localtime image: "{{ nova_compute_image_full }}"
- mountPath: /lib/modules securityContext:
name: lib-modules privileged: true
- mountPath: /run volumeMounts:
name: run - mountPath: {{ container_config_directory }}
- mountPath: /dev name: nova-config
name: dev - mountPath: /var/lib/nova
- mountPath: /sys/fs/cgroup name: nova-compute-persistent-storage
name: sys-fs-cgroup - mountPath: /etc/localtime
- mountPath: /var/log/kolla name: etc-localtime
name: kolla-logs - mountPath: /lib/modules
env: name: lib-modules
- name: KOLLA_CONFIG_STRATEGY - mountPath: /run
value: {{ config_strategy }} name: run
volumes: - mountPath: /dev
- name: nova-compute-config name: dev
configMap: - mountPath: /sys/fs/cgroup
name: nova-compute-configmap name: sys-fs-cgroup
- name: nova-libvirt-config - mountPath: /nova
configMap: name: nova-config
name: nova-libvirt-configmap - mountPath: /var/log/kolla
- name: nova-compute-persistent-storage name: kolla-logs
hostPath: env:
path: /var/lib/nova - name: KOLLA_CONFIG_STRATEGY
- name: nova-libvirt-persistent-storage value: {{ config_strategy }}
hostPath: volumes:
path: /var/lib/libvirt - name: nova-compute-config
- name: etc-localtime configMap:
hostPath: name: nova-compute-configmap
path: /etc/localtime - name: nova-compute-persistent-storage
- name: lib-modules hostPath:
hostPath: path: /var/lib/nova
path: /lib/modules - name: etc-localtime
- name: run hostPath:
hostPath: path: /etc/localtime
path: /run - name: lib-modules
- name: dev hostPath:
hostPath: path: /lib/modules
path: /dev - name: run
- name: sys-fs-cgroup hostPath:
hostPath: path: /run
path: /sys/fs/cgroup - name: dev
- name: kolla-logs hostPath:
emptyDir: {} path: /dev
- name: sys-fs-cgroup
hostPath:
path: /sys/fs/cgroup
- name: nova-config
emptyDir: {}
- name: kolla-logs
emptyDir: {}
metadata: metadata:
name: nova-compute name: nova-compute

View File

@ -1,26 +1,55 @@
apiVersion: v1 apiVersion: apps/v1alpha1
kind: ReplicationController kind: PetSet
spec: spec:
serviceName: "nova"
replicas: {{ nova_api_replicas }} replicas: {{ nova_api_replicas }}
selector:
service: nova
type: api
template: template:
metadata: metadata:
labels: labels:
service: nova service: nova
type: api type: api
annotations:
pod.alpha.kubernetes.io/initialized: "true"
pod.alpha.kubernetes.io/init-containers: '[
{
"name": "initialize-nova-api",
"image": "{{ nova_api_image_full }}",
"command": [
"sh",
"-c",
"cp -a /config/..data/* /nova/;
ip=$(ip addr show dev {{ tunnel_interface }} | grep -G ''inet '' | awk ''{print $2}'');
sed -i ''s|^my_ip.*=.*|my_ip=''${ip%/*}''|g'' /nova/nova.conf;
sed -i ''s|^novncproxy_host.*=.*|novncproxy_host=''${ip%/*}''|g'' /nova/nova.conf;
sed -i ''s|^vncserver_listen.*=.*|vncserver_listen=''${ip%/*}''|g'' /nova/nova.conf;
sed -i ''s|^vncserver_proxyclient_address.*=.*|vncserver_proxyclient_address=''${ip%/*}''|g'' /nova/nova.conf;
sed -i ''s|^novncproxy_base_url.*=.*|novncproxy_base_url=http://''${ip%/*}'':6080/vnc_auto.html|g'' /nova/nova.conf;
sed -i ''s|^connection_uri.*=.*|connection_uri=qemu+tcp://''${ip%/*}''/system|g'' /nova/nova.conf;" ],
"volumeMounts": [
{
"name": "nova-api-config",
"mountPath": "/config/"
},
{
"name": "nova-config",
"mountPath": "/nova/"
}
]
}
]'
spec: spec:
containers: containers:
- name: nova-api - name: nova-api
image: "{{ nova_api_image_full }}" image: "{{ nova_api_image_full }}"
volumeMounts: volumeMounts:
- mountPath: {{ container_config_directory }} - mountPath: {{ container_config_directory }}
name: nova-api-config name: nova-config
- mountPath: /etc/localtime - mountPath: /etc/localtime
name: etc-localtime name: etc-localtime
- mountPath: /lib/modules - mountPath: /lib/modules
name: lib-modules name: lib-modules
- mountPath: /nova
name: nova-config
- mountPath: /var/log/kolla - mountPath: /var/log/kolla
name: kolla-logs name: kolla-logs
env: env:
@ -43,7 +72,9 @@ spec:
- name: lib-modules - name: lib-modules
hostPath: hostPath:
path: /lib/modules path: /lib/modules
- name: nova-config
emptyDir: {}
- name: kolla-logs - name: kolla-logs
emptyDir: {} emptyDir: {}
metadata: metadata:
name: nova-api name: nova-api

View File

@ -0,0 +1,41 @@
apiVersion: batch/v1
kind: Job
spec:
parallelism: 1
completions: 1
template:
metadata:
name: nova-control-database-upgrade
spec:
containers:
- image: "{{ nova_api_image_full }}"
name: nova-control-database-upgrade
volumeMounts:
- mountPath: {{ container_config_directory }}
name: nova-api-config
- mountPath: /etc/localtime
name: etc-localtime
- mountPath: /lib/modules
name: lib-modules
- mountPath: /var/log/kolla
name: kolla-logs
env:
- name: KOLLA_BOOTSTRAP
value: ""
- name: KOLLA_CONFIG_STRATEGY
value: {{ config_strategy }}
volumes:
- name: nova-api-config
configMap:
name: nova-api-configmap
- name: etc-localtime
hostPath:
path: /etc/localtime
- name: lib-modules
hostPath:
path: /lib/modules
- name: kolla-logs
emptyDir: {}
restartPolicy: OnFailure
metadata:
name: nova-control-databse-upgrade

View File

@ -0,0 +1,84 @@
apiVersion: batch/v1
kind: Job
spec:
parallelism: 1
completions: 1
template:
metadata:
name: nova-control-bootstrap-create-nova-db
spec:
containers:
- image: "{{ kolla_toolbox_image_full }}"
name: creating-nova-database-and-users
command: ["sh", "-c"]
args:
- ansible localhost -m mysql_db -a
"login_host=mariadb
login_port='{{ mariadb_port }}'
login_user='{{ database_user }}'
login_password='$DATABASE_PASSWORD'
name='{{ nova_database_name }}'" &&
ansible localhost -m mysql_db -a
"login_host=mariadb
login_port='{{ mariadb_port }}'
login_user='{{ database_user }}'
login_password='$DATABASE_PASSWORD'
name='{{ nova_api_database_name }}'" &&
ansible localhost -m mysql_user -a
"login_host=mariadb
login_port='{{ mariadb_port }}'
login_user='{{ database_user }}'
login_password='$DATABASE_PASSWORD'
name='{{ nova_database_name }}'
password='$NOVA_DATABASE_PASSWORD'
host='%'
priv='{{ nova_database_name }}.*:ALL'
append_privs='yes'" &&
ansible localhost -m mysql_user -a
"login_host=mariadb
login_port='{{ mariadb_port }}'
login_user='{{ database_user }}'
login_password='$DATABASE_PASSWORD'
name='{{ nova_api_database_name }}'
password='$NOVA_API_DATABASE_PASSWORD'
host='%'
priv='{{ nova_api_database_name }}.*:ALL'
append_privs='yes'"
volumeMounts:
- mountPath: /var/log/kolla
name: kolla-logs
env:
- name: ANSIBLE_NOCOLOR
value: "1"
- name: ANSIBLE_LIBRARY
value: "/usr/share/ansible"
- name: DATABASE_PASSWORD
valueFrom:
secretKeyRef:
name: database-password
key: password
- name: NOVA_DATABASE_PASSWORD
valueFrom:
secretKeyRef:
name: nova-database-password
key: password
- name: NOVA_API_DATABASE_PASSWORD
valueFrom:
secretKeyRef:
name: nova-api-database-password
key: password
volumes:
- name: nova-api-config
configMap:
name: nova-api-configmap
- name: etc-localtime
hostPath:
path: /etc/localtime
- name: lib-modules
hostPath:
path: /lib/modules
- name: kolla-logs
emptyDir: {}
restartPolicy: OnFailure
metadata:
name: nova-control-bootstrap-create-nova-db

View File

@ -1,71 +1,13 @@
apiVersion: batch/v1 apiVersion: batch/v1
kind: Job kind: Job
spec: spec:
parallelism: 1
completions: 1
template: template:
metadata: metadata:
name: nova-compute-generate name: nova-control-bootstrap-create-endpoints
spec: spec:
containers: containers:
- image: "{{ kolla_toolbox_image_full }}"
name: creating-nova-database-and-users
command: ["sh", "-c"]
args:
- ansible localhost -vvvv -m mysql_db -a
"login_host={{ nova_database_address }}
login_port='{{ mariadb_port }}'
login_user='{{ database_user }}'
login_password='{{ database_password }}'
name='{{ nova_database_name }}'" &&
ansible localhost -vvvv -m mysql_db -a
"login_host={{ nova_api_database_address }}
login_port='{{ mariadb_port }}'
login_user='{{ database_user }}'
login_password='{{ database_password }}'
name='{{ nova_api_database_name }}'" &&
ansible localhost -m mysql_user -a
"login_host={{ nova_database_address }}
login_port='{{ mariadb_port }}'
login_user='{{ database_user }}'
login_password='{{ database_password }}'
name='{{ nova_database_name }}'
password='{{ nova_database_password }}'
host='%'
priv='{{ nova_database_name }}.*:ALL'
append_privs='yes'" &&
ansible localhost -m mysql_user -a
"login_host={{ nova_api_database_address }}
login_port='{{ mariadb_port }}'
login_user='{{ database_user }}'
login_password='{{ database_password }}'
name='{{ nova_api_database_name }}'
password='{{ nova_api_database_password }}'
host='%'
priv='{{ nova_api_database_name }}.*:ALL'
append_privs='yes'"
volumeMounts:
- mountPath: /var/log/kolla
name: kolla-logs
env:
- name: ANSIBLE_NOCOLOR
value: "1"
- name: ANSIBLE_LIBRARY
value: "/usr/share/ansible"
- image: "{{ nova_api_image_full }}"
name: nova-api
volumeMounts:
- mountPath: {{ container_config_directory }}
name: nova-api-config
- mountPath: /etc/localtime
name: etc-localtime
- mountPath: /lib/modules
name: lib-modules
- mountPath: /var/log/kolla
name: kolla-logs
env:
- name: KOLLA_BOOTSTRAP
value: ""
- name: KOLLA_CONFIG_STRATEGY
value: {{ config_strategy }}
- image: "{{ kolla_toolbox_image_full }}" - image: "{{ kolla_toolbox_image_full }}"
name: creating-nova-endpoints name: creating-nova-endpoints
command: ["sh", "-c"] command: ["sh", "-c"]
@ -104,7 +46,7 @@ spec:
-m kolla_keystone_user -m kolla_keystone_user
-a "project=service -a "project=service
user=nova user=nova
password={{ nova_keystone_password }} password=$NOVA_KEYSTONE_PASSWORD
role=admin role=admin
region_name={{ openstack_region_name }} region_name={{ openstack_region_name }}
auth={{ '{{ openstack_nova_auth }}' }}" auth={{ '{{ openstack_nova_auth }}' }}"
@ -117,6 +59,16 @@ spec:
value: "1" value: "1"
- name: ANSIBLE_LIBRARY - name: ANSIBLE_LIBRARY
value: "/usr/share/ansible" value: "/usr/share/ansible"
- name: KEYSTONE_ADMIN_PASSWORD
valueFrom:
secretKeyRef:
name: keystone-admin-password
key: password
- name: NOVA_KEYSTONE_PASSWORD
valueFrom:
secretKeyRef:
name: nova-keystone-password
key: password
volumes: volumes:
- name: nova-api-config - name: nova-api-config
configMap: configMap:
@ -131,4 +83,4 @@ spec:
emptyDir: {} emptyDir: {}
restartPolicy: OnFailure restartPolicy: OnFailure
metadata: metadata:
name: nova-control-bootstrap name: nova-control-bootstrap-create-endpoints

View File

@ -1,24 +1,53 @@
apiVersion: v1 apiVersion: apps/v1alpha1
kind: ReplicationController kind: PetSet
spec: spec:
serviceName: "nova"
replicas: {{ nova_conductor_replicas }} replicas: {{ nova_conductor_replicas }}
selector:
service: nova
type: conductor
template: template:
metadata: metadata:
labels: labels:
service: nova service: nova
type: conductor type: conductor
annotations:
pod.alpha.kubernetes.io/initialized: "true"
pod.alpha.kubernetes.io/init-containers: '[
{
"name": "initialize-nova-conductor",
"image": "{{ nova_conductor_image_full }}",
"command": [
"sh",
"-c",
"cp -a /config/..data/* /nova/;
ip=$(ip addr show dev {{ tunnel_interface }} | grep -G ''inet '' | awk ''{print $2}'');
sed -i ''s|^my_ip.*=.*|my_ip=''${ip%/*}''|g'' /nova/nova.conf;
sed -i ''s|^novncproxy_host.*=.*|novncproxy_host=''${ip%/*}''|g'' /nova/nova.conf;
sed -i ''s|^vncserver_listen.*=.*|vncserver_listen=''${ip%/*}''|g'' /nova/nova.conf;
sed -i ''s|^vncserver_proxyclient_address.*=.*|vncserver_proxyclient_address=''${ip%/*}''|g'' /nova/nova.conf;
sed -i ''s|^novncproxy_base_url.*=.*|novncproxy_base_url=http://''${ip%/*}'':6080/vnc_auto.html|g'' /nova/nova.conf;
sed -i ''s|^connection_uri.*=.*|connection_uri=qemu+tcp://''${ip%/*}''/system|g'' /nova/nova.conf;" ],
"volumeMounts": [
{
"name": "nova-conductor-config",
"mountPath": "/config/"
},
{
"name": "nova-config",
"mountPath": "/nova/"
}
]
}
]'
spec: spec:
containers: containers:
- name: nova-conductor - name: nova-conductor
image: "{{ nova_conductor_image_full }}" image: "{{ nova_conductor_image_full }}"
volumeMounts: volumeMounts:
- mountPath: {{ container_config_directory }} - mountPath: {{ container_config_directory }}
name: nova-conductor-config name: nova-config
- mountPath: /etc/localtime - mountPath: /etc/localtime
name: etc-localtime name: etc-localtime
- mountPath: /nova
name: nova-config
- mountPath: /var/log/kolla - mountPath: /var/log/kolla
name: kolla-logs name: kolla-logs
env: env:
@ -34,6 +63,8 @@ spec:
- name: lib-modules - name: lib-modules
hostPath: hostPath:
path: /lib/modules path: /lib/modules
- name: nova-config
emptyDir: {}
- name: kolla-logs - name: kolla-logs
emptyDir: {} emptyDir: {}
metadata: metadata:

View File

@ -1,29 +1,62 @@
apiVersion: v1 apiVersion: apps/v1alpha1
kind: ReplicationController kind: PetSet
spec: spec:
serviceName: "nova"
replicas: {{ nova_scheduler_replicas }} replicas: {{ nova_scheduler_replicas }}
selector:
service: nova
type: scheduler
template: template:
metadata: metadata:
labels: labels:
service: nova service: nova
type: scheduler type: scheduler
annotations:
pod.alpha.kubernetes.io/initialized: "true"
pod.alpha.kubernetes.io/init-containers: '[
{
"name": "initialize-nova-scheduler",
"image": "{{ nova_scheduler_image_full }}",
"command": [
"sh",
"-c",
"cp -a /config/..data/* /nova/;
ip=$(ip addr show dev {{ tunnel_interface }} | grep -G ''inet '' | awk ''{print $2}'');
sed -i ''s|^my_ip.*=.*|my_ip=''${ip%/*}''|g'' /nova/nova.conf;
sed -i ''s|^novncproxy_host.*=.*|novncproxy_host=''${ip%/*}''|g'' /nova/nova.conf;
sed -i ''s|^vncserver_listen.*=.*|vncserver_listen=''${ip%/*}''|g'' /nova/nova.conf;
sed -i ''s|^vncserver_proxyclient_address.*=.*|vncserver_proxyclient_address=''${ip%/*}''|g'' /nova/nova.conf;
sed -i ''s|^novncproxy_base_url.*=.*|novncproxy_base_url=http://''${ip%/*}'':6080/vnc_auto.html|g'' /nova/nova.conf;
sed -i ''s|^connection_uri.*=.*|connection_uri=qemu+tcp://''${ip%/*}''/system|g'' /nova/nova.conf;" ],
"volumeMounts": [
{
"name": "nova-scheduler-config",
"mountPath": "/config/"
},
{
"name": "nova-config",
"mountPath": "/nova/"
}
]
}
]'
spec: spec:
containers: containers:
- name: nova-scheduler - name: nova-scheduler
image: "{{ nova_scheduler_image_full }}" image: "{{ nova_scheduler_image_full }}"
volumeMounts: volumeMounts:
- mountPath: {{ container_config_directory }} - mountPath: {{ container_config_directory }}
name: nova-scheduler-config name: nova-config
- mountPath: /etc/localtime - mountPath: /etc/localtime
name: etc-localtime name: etc-localtime
- mountPath: /nova
name: nova-config
- mountPath: /var/log/kolla - mountPath: /var/log/kolla
name: kolla-logs name: kolla-logs
env: env:
- name: KOLLA_CONFIG_STRATEGY - name: KOLLA_CONFIG_STRATEGY
value: {{ config_strategy }} value: {{ config_strategy }}
securityContext:
privileged: true
command: ["sh", "-c"]
args:
volumes: volumes:
- name: nova-scheduler-config - name: nova-scheduler-config
configMap: configMap:
@ -34,6 +67,8 @@ spec:
- name: lib-modules - name: lib-modules
hostPath: hostPath:
path: /lib/modules path: /lib/modules
- name: nova-config
emptyDir: {}
- name: kolla-logs - name: kolla-logs
emptyDir: {} emptyDir: {}
metadata: metadata:

View File

@ -0,0 +1,102 @@
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
name: nova-libvirt
labels:
component: nova
system: nova-libvirt
namespace: default
spec:
template:
metadata:
name: nova-libvirt
labels:
component: nova
system: nova-libvirt
namespace: default
annotations:
pod.alpha.kubernetes.io/init-containers: '[
{
"name": "initialize-nova-libvirt",
"image": "{{ nova_libvirt_image_full }}",
"command": [
"sh",
"-c",
"cp -a /config/..data/* /nova/;
ip=$(ip addr show dev {{ tunnel_interface }} | grep -G ''inet '' | awk ''{print $2}'');
sed -i ''s|^listen_addr.*=.*|listen_addr=\"''${ip%/*}''\"|g'' /nova/libvirtd.conf;"],
"volumeMounts": [
{
"name": "nova-libvirt-config",
"mountPath": "/config/"
},
{
"name": "nova-config",
"mountPath": "/nova/"
}
]
}
]'
spec:
hostNetwork: True
hostPID: True
containers:
- name: nova-libvirt
image: "{{ nova_libvirt_image_full }}"
securityContext:
privileged: true
volumeMounts:
- mountPath: {{ container_config_directory }}
name: nova-config
- mountPath: /var/lib/libvirt
name: nova-libvirt-persistent-storage
- mountPath: /var/lib/nova
name: nova-compute-persistent-storage
- mountPath: /etc/localtime
name: etc-localtime
- mountPath: /lib/modules
name: lib-modules
- mountPath: /run
name: run
- mountPath: /dev
name: dev
- mountPath: /sys/fs/cgroup
name: sys-fs-cgroup
- mountPath: /nova
name: nova-config
- mountPath: /var/log/kolla
name: kolla-logs
env:
- name: KOLLA_CONFIG_STRATEGY
value: {{ config_strategy }}
volumes:
- name: nova-compute-persistent-storage
hostPath:
path: /var/lib/nova
- name: nova-libvirt-config
configMap:
name: nova-libvirt-configmap
- name: nova-libvirt-persistent-storage
hostPath:
path: /var/lib/libvirt
- name: etc-localtime
hostPath:
path: /etc/localtime
- name: lib-modules
hostPath:
path: /lib/modules
- name: run
hostPath:
path: /run
- name: dev
hostPath:
path: /dev
- name: sys-fs-cgroup
hostPath:
path: /sys/fs/cgroup
- name: nova-config
emptyDir: {}
- name: kolla-logs
emptyDir: {}
metadata:
name: nova-libvirt