diff --git a/releasenotes/notes/fix-generated-server_certs_key_passphrase-60cba4653109992c.yaml b/releasenotes/notes/fix-generated-server_certs_key_passphrase-60cba4653109992c.yaml new file mode 100644 index 000000000..f22b91305 --- /dev/null +++ b/releasenotes/notes/fix-generated-server_certs_key_passphrase-60cba4653109992c.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - The passphrase for config option 'server_certs_key_passphrase', is used as + a Fernet key in Octavia and thus must be 32 bytes long. TripleO will now + auto-generate 32 bytes long passphrase for OctaviaServerCertsKeyPassphrase. \ No newline at end of file diff --git a/tripleo_common/tests/utils/test_passwords.py b/tripleo_common/tests/utils/test_passwords.py index 5efaf977b..a04586bbc 100644 --- a/tripleo_common/tests/utils/test_passwords.py +++ b/tripleo_common/tests/utils/test_passwords.py @@ -73,6 +73,7 @@ class TestPasswords(base.TestCase): self.assertNotEqual(value['KeystoneCredential0'], value['KeystoneCredential1']) + self.assertEqual(len(value['OctaviaServerCertsKeyPassphrase']), 32) def test_create_ssh_keypair(self): diff --git a/tripleo_common/utils/passwords.py b/tripleo_common/utils/passwords.py index 410a7adfb..425ffeba9 100644 --- a/tripleo_common/utils/passwords.py +++ b/tripleo_common/utils/passwords.py @@ -89,6 +89,8 @@ def generate_passwords(mistralclient=None, stack_env=None, passwords[name] = passlib.pwd.genword(length=10) elif name.startswith("HeatAuthEncryptionKey"): passwords[name] = passlib.pwd.genword(length=32) + elif name.startswith("OctaviaServerCertsKeyPassphrase"): + passwords[name] = passlib.pwd.genword(length=32) elif name.startswith("DesignateRndcKey"): passwords[name] = create_rndc_key_secret() else: