Merge "[py3] Fix BarbicanSecrets.create_symmetric_and_delete"

This commit is contained in:
Zuul 2020-04-06 21:52:24 +00:00 committed by Gerrit Code Review
commit e46de4521f
2 changed files with 9 additions and 2 deletions

View File

@ -13,7 +13,12 @@
voting: false
- rally-task-simple-job
- rally-task-barbican:
voting: false
files:
- rally-jobs/barbican.yaml
- rally_openstack/common/osclients.py
- rally_openstack/common/services/key_manager
- rally_openstack/task/cleanup/resources.py
- rally_openstack/task/scenarios/barbican
- rally-task-cinder
# NOTE(andreykurilin): this requires more thing to configure before
# launching.

View File

@ -17,6 +17,7 @@ import datetime as dt
import os
from rally.task import validation
from rally.utils import encodeutils
from rally_openstack.common import consts
from rally_openstack.task import scenario
@ -113,12 +114,13 @@ class BarbicanSecretsCreateSymmetricAndDelete(utils.BarbicanBase):
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC
payload = payload.encode("utf-8")
payload = encodeutils.safe_encode(payload)
salt = os.urandom(16)
kdf = PBKDF2HMAC(
algorithm=hashes.SHA256(), length=32, salt=salt,
iterations=1000, backend=default_backend())
payload = base64.b64encode(kdf.derive(payload))
payload = encodeutils.safe_decode(payload)
expire_time = (dt.datetime.utcnow() + dt.timedelta(days=5))
secret = self.admin_barbican.create_secret(
expiration=expire_time.isoformat(), algorithm=algorithm,