Restart rsyslog from cloud-init in amphorav1

This is a follow-up patch for commit [0], it fixes the same issue but in
amphorav1 (this part was missing in the initial patch).

[0] I550c7d2563a2d3ada07e2162383f59f104bcbbd5

Change-Id: Ie6aae68e8126ad56f771ea0bc00d4005f2d27c4d
(cherry picked from commit c011c61d13)
This commit is contained in:
Gregory Thiemonge 2022-06-21 10:20:16 +02:00
parent 22cb8112be
commit d4b0c4f5b4
3 changed files with 37 additions and 17 deletions

View File

@ -102,10 +102,10 @@ class ComputeCreate(BaseComputeTask):
config_drive_files['/etc/rsyslog.d/10-rsyslog.conf'] = (
logging_cfg.build_logging_config())
udtemplater = user_data_jinja_cfg.UserDataJinjaCfg()
user_data = udtemplater.build_user_data_config(
config_drive_files if user_data_config_drive else {})
if user_data_config_drive:
udtemplater = user_data_jinja_cfg.UserDataJinjaCfg()
user_data = udtemplater.build_user_data_config(
config_drive_files)
config_drive_files = None
compute_id = self.compute.build(

View File

@ -91,9 +91,12 @@ class TestComputeTasks(base.TestCase):
@mock.patch('octavia.amphorae.backends.agent.'
'agent_jinja_cfg.AgentJinjaTemplater.'
'build_agent_config', return_value='test_conf')
@mock.patch('octavia.common.jinja.'
'user_data_jinja_cfg.UserDataJinjaCfg.'
'build_user_data_config', return_value='user_data_conf')
@mock.patch('stevedore.driver.DriverManager.driver')
def test_compute_create(self, mock_driver, mock_conf, mock_jinja,
mock_log_cfg):
def test_compute_create(self, mock_driver, mock_ud_conf,
mock_conf, mock_jinja, mock_log_cfg):
image_owner_id = uuidutils.generate_uuid()
self.conf.config(
@ -120,7 +123,7 @@ class TestComputeTasks(base.TestCase):
config_drive_files={'/etc/octavia/'
'amphora-agent.conf': 'test_conf',
'/etc/rsyslog.d/10-rsyslog.conf': 'FAKE CFG'},
user_data=None,
user_data='user_data_conf',
server_group_id=SERVER_GRPOUP_ID,
availability_zone=None)
@ -155,14 +158,13 @@ class TestComputeTasks(base.TestCase):
'build_agent_config', return_value='test_conf')
@mock.patch('octavia.common.jinja.'
'user_data_jinja_cfg.UserDataJinjaCfg.'
'build_user_data_config', return_value='test_conf')
'build_user_data_config', return_value='user_data_conf')
@mock.patch('stevedore.driver.DriverManager.driver')
def test_compute_create_user_data(self, mock_driver,
mock_ud_conf, mock_conf, mock_jinja):
self.conf.config(
group="controller_worker", user_data_config_drive=True)
mock_ud_conf.return_value = 'test_ud_conf'
createcompute = compute_tasks.ComputeCreate()
mock_driver.build.return_value = COMPUTE_ID
@ -181,7 +183,7 @@ class TestComputeTasks(base.TestCase):
network_ids=AMP_NET,
port_ids=[PORT_ID],
config_drive_files=None,
user_data='test_ud_conf',
user_data='user_data_conf',
server_group_id=None,
availability_zone=None)
@ -216,9 +218,13 @@ class TestComputeTasks(base.TestCase):
@mock.patch('octavia.amphorae.backends.agent.'
'agent_jinja_cfg.AgentJinjaTemplater.'
'build_agent_config', return_value='test_conf')
@mock.patch('octavia.common.jinja.'
'user_data_jinja_cfg.UserDataJinjaCfg.'
'build_user_data_config', return_value='user_data_conf')
@mock.patch('stevedore.driver.DriverManager.driver')
def test_compute_create_availability_zone(self, mock_driver, mock_conf,
mock_jinja, mock_log_cfg):
def test_compute_create_availability_zone(self, mock_driver, mock_ud_conf,
mock_conf, mock_jinja,
mock_log_cfg):
image_owner_id = uuidutils.generate_uuid()
compute_zone = uuidutils.generate_uuid()
@ -249,7 +255,7 @@ class TestComputeTasks(base.TestCase):
config_drive_files={'/etc/octavia/'
'amphora-agent.conf': 'test_conf',
'/etc/rsyslog.d/10-rsyslog.conf': 'FAKE CFG'},
user_data=None,
user_data='user_data_conf',
server_group_id=SERVER_GRPOUP_ID,
availability_zone=compute_zone)
@ -284,9 +290,13 @@ class TestComputeTasks(base.TestCase):
@mock.patch('octavia.amphorae.backends.agent.'
'agent_jinja_cfg.AgentJinjaTemplater.'
'build_agent_config', return_value='test_conf')
@mock.patch('octavia.common.jinja.'
'user_data_jinja_cfg.UserDataJinjaCfg.'
'build_user_data_config', return_value='user_data_conf')
@mock.patch('stevedore.driver.DriverManager.driver')
def test_compute_create_without_ssh_access(
self, mock_driver, mock_conf, mock_jinja, mock_log_cfg):
self, mock_driver, mock_user_data_config,
mock_conf, mock_jinja, mock_log_cfg):
createcompute = compute_tasks.ComputeCreate()
@ -312,7 +322,7 @@ class TestComputeTasks(base.TestCase):
config_drive_files={'/etc/octavia/'
'amphora-agent.conf': 'test_conf',
'/etc/rsyslog.d/10-rsyslog.conf': 'FAKE CFG'},
user_data=None,
user_data='user_data_conf',
server_group_id=SERVER_GRPOUP_ID,
availability_zone=None)
@ -346,9 +356,12 @@ class TestComputeTasks(base.TestCase):
@mock.patch('octavia.amphorae.backends.agent.'
'agent_jinja_cfg.AgentJinjaTemplater.'
'build_agent_config', return_value='test_conf')
@mock.patch('octavia.common.jinja.'
'user_data_jinja_cfg.UserDataJinjaCfg.'
'build_user_data_config', return_value='user_data_conf')
@mock.patch('stevedore.driver.DriverManager.driver')
def test_compute_create_cert(self, mock_driver, mock_conf, mock_jinja,
mock_log_cfg):
def test_compute_create_cert(self, mock_driver, mock_ud_conf,
mock_conf, mock_jinja, mock_log_cfg):
createcompute = compute_tasks.CertComputeCreate()
key = utils.get_compatible_server_certs_key_passphrase()
fer = fernet.Fernet(key)
@ -375,7 +388,7 @@ class TestComputeTasks(base.TestCase):
sec_groups=AMP_SEC_GROUPS,
network_ids=AMP_NET,
port_ids=[],
user_data=None,
user_data='user_data_conf',
config_drive_files={
'/etc/rsyslog.d/10-rsyslog.conf': 'FAKE CFG',
'/etc/octavia/certs/server.pem': fer.decrypt(test_cert),

View File

@ -0,0 +1,7 @@
---
fixes:
- |
Ensure that the provided rsyslog configuration file is used by rsyslog in
the amphora by restarting the service when using the amphorav1 provider, it
fixes the log offloading feature on distributions that start rsyslog before
cloud-init.