Allow customizing qemu user

This change introduces the parameter to customize the user option which
determines the user to run the qemu system process.

Change-Id: I2e2213532b88f2224950a601220417bd6e102007
This commit is contained in:
Takashi Kajinami
2023-01-11 17:19:02 +09:00
parent 4cb723cab2
commit 44f7959051
3 changed files with 38 additions and 4 deletions

View File

@@ -8,6 +8,10 @@
# (optional) Whether or not configure qemu bits. # (optional) Whether or not configure qemu bits.
# Defaults to false. # Defaults to false.
# #
# [*user*]
# (optional) User for qemu processes run by the system instance.
# Defaults to undef.
#
# [*group*] # [*group*]
# (optional) Group under which the qemu should run. # (optional) Group under which the qemu should run.
# Defaults to undef. # Defaults to undef.
@@ -48,6 +52,7 @@
# #
class nova::compute::libvirt::qemu( class nova::compute::libvirt::qemu(
$configure_qemu = false, $configure_qemu = false,
$user = undef,
$group = undef, $group = undef,
$max_files = 1024, $max_files = 1024,
$max_processes = 4096, $max_processes = 4096,
@@ -100,11 +105,19 @@ class nova::compute::libvirt::qemu(
"set vnc_tls_x509_verify ${vnc_tls_verify_value}", "set vnc_tls_x509_verify ${vnc_tls_verify_value}",
"set default_tls_x509_verify ${default_tls_verify_value}", "set default_tls_x509_verify ${default_tls_verify_value}",
] ]
if $user and !empty($user) {
$augues_user_changes = ["set user ${user}"]
} else {
$augues_user_changes = ['rm user']
}
if $group and !empty($group) { if $group and !empty($group) {
$augues_group_changes = ["set group ${group}"] $augues_group_changes = ["set group ${group}"]
} else { } else {
$augues_group_changes = ['rm group'] $augues_group_changes = ['rm group']
} }
if $memory_backing_dir and !empty($memory_backing_dir) { if $memory_backing_dir and !empty($memory_backing_dir) {
$augues_memory_backing_dir_changes = ["set memory_backing_dir ${memory_backing_dir}"] $augues_memory_backing_dir_changes = ["set memory_backing_dir ${memory_backing_dir}"]
} else { } else {
@@ -112,7 +125,13 @@ class nova::compute::libvirt::qemu(
} }
$augues_nbd_tls_changes = ["set nbd_tls ${nbd_tls_value}"] $augues_nbd_tls_changes = ["set nbd_tls ${nbd_tls_value}"]
$augues_changes = concat($augues_changes_default, $augues_group_changes, $augues_memory_backing_dir_changes, $augues_nbd_tls_changes) $augues_changes = concat(
$augues_changes_default,
$augues_user_changes,
$augues_group_changes,
$augues_memory_backing_dir_changes,
$augues_nbd_tls_changes
)
augeas { 'qemu-conf-limits': augeas { 'qemu-conf-limits':
context => '/files/etc/libvirt/qemu.conf', context => '/files/etc/libvirt/qemu.conf',
@@ -127,6 +146,7 @@ class nova::compute::libvirt::qemu(
'rm vnc_tls', 'rm vnc_tls',
'rm vnc_tls_x509_verify', 'rm vnc_tls_x509_verify',
'rm default_tls_x509_verify', 'rm default_tls_x509_verify',
'rm user',
'rm group', 'rm group',
'rm memory_backing_dir', 'rm memory_backing_dir',
'rm nbd_tls', 'rm nbd_tls',

View File

@@ -0,0 +1,4 @@
---
features:
- |
The new ``nova::compute::libvirt::qemu::user`` parameter has been added.

View File

@@ -18,6 +18,7 @@ describe 'nova::compute::libvirt::qemu' do
"rm vnc_tls", "rm vnc_tls",
"rm vnc_tls_x509_verify", "rm vnc_tls_x509_verify",
"rm default_tls_x509_verify", "rm default_tls_x509_verify",
"rm user",
"rm group", "rm group",
"rm memory_backing_dir", "rm memory_backing_dir",
"rm nbd_tls", "rm nbd_tls",
@@ -39,6 +40,7 @@ describe 'nova::compute::libvirt::qemu' do
"set vnc_tls 0", "set vnc_tls 0",
"set vnc_tls_x509_verify 0", "set vnc_tls_x509_verify 0",
"set default_tls_x509_verify 1", "set default_tls_x509_verify 1",
"rm user",
"rm group", "rm group",
"rm memory_backing_dir", "rm memory_backing_dir",
"set nbd_tls 0", "set nbd_tls 0",
@@ -63,6 +65,7 @@ describe 'nova::compute::libvirt::qemu' do
"set vnc_tls 0", "set vnc_tls 0",
"set vnc_tls_x509_verify 0", "set vnc_tls_x509_verify 0",
"set default_tls_x509_verify 1", "set default_tls_x509_verify 1",
"rm user",
"rm group", "rm group",
"rm memory_backing_dir", "rm memory_backing_dir",
"set nbd_tls 0", "set nbd_tls 0",
@@ -71,11 +74,12 @@ describe 'nova::compute::libvirt::qemu' do
}) } }) }
end end
context 'when configuring qemu with group parameter' do context 'when configuring qemu with user/group parameter' do
let :params do let :params do
{ {
:configure_qemu => true, :configure_qemu => true,
:group => 'openvswitch', :user => 'qemu-user',
:group => 'qemu-group',
:max_files => 32768, :max_files => 32768,
:max_processes => 131072, :max_processes => 131072,
:memory_backing_dir => '/tmp', :memory_backing_dir => '/tmp',
@@ -89,7 +93,8 @@ describe 'nova::compute::libvirt::qemu' do
"set vnc_tls 0", "set vnc_tls 0",
"set vnc_tls_x509_verify 0", "set vnc_tls_x509_verify 0",
"set default_tls_x509_verify 1", "set default_tls_x509_verify 1",
"set group openvswitch", "set user qemu-user",
"set group qemu-group",
"set memory_backing_dir /tmp", "set memory_backing_dir /tmp",
"set nbd_tls 0", "set nbd_tls 0",
], ],
@@ -112,6 +117,7 @@ describe 'nova::compute::libvirt::qemu' do
"set vnc_tls 1", "set vnc_tls 1",
"set vnc_tls_x509_verify 1", "set vnc_tls_x509_verify 1",
"set default_tls_x509_verify 1", "set default_tls_x509_verify 1",
"rm user",
"rm group", "rm group",
"rm memory_backing_dir", "rm memory_backing_dir",
"set nbd_tls 0", "set nbd_tls 0",
@@ -135,6 +141,7 @@ describe 'nova::compute::libvirt::qemu' do
"set vnc_tls 0", "set vnc_tls 0",
"set vnc_tls_x509_verify 0", "set vnc_tls_x509_verify 0",
"set default_tls_x509_verify 1", "set default_tls_x509_verify 1",
"rm user",
"rm group", "rm group",
"rm memory_backing_dir", "rm memory_backing_dir",
"set nbd_tls 0", "set nbd_tls 0",
@@ -159,6 +166,7 @@ describe 'nova::compute::libvirt::qemu' do
"set vnc_tls 1", "set vnc_tls 1",
"set vnc_tls_x509_verify 0", "set vnc_tls_x509_verify 0",
"set default_tls_x509_verify 1", "set default_tls_x509_verify 1",
"rm user",
"rm group", "rm group",
"rm memory_backing_dir", "rm memory_backing_dir",
"set nbd_tls 0", "set nbd_tls 0",
@@ -182,6 +190,7 @@ describe 'nova::compute::libvirt::qemu' do
"set vnc_tls 0", "set vnc_tls 0",
"set vnc_tls_x509_verify 0", "set vnc_tls_x509_verify 0",
"set default_tls_x509_verify 0", "set default_tls_x509_verify 0",
"rm user",
"rm group", "rm group",
"rm memory_backing_dir", "rm memory_backing_dir",
"set nbd_tls 0", "set nbd_tls 0",
@@ -205,6 +214,7 @@ describe 'nova::compute::libvirt::qemu' do
"set vnc_tls 0", "set vnc_tls 0",
"set vnc_tls_x509_verify 0", "set vnc_tls_x509_verify 0",
"set default_tls_x509_verify 1", "set default_tls_x509_verify 1",
"rm user",
"rm group", "rm group",
"rm memory_backing_dir", "rm memory_backing_dir",
"set nbd_tls 1", "set nbd_tls 1",