Merge "[py3] Fix BarbicanSecrets.create_symmetric_and_delete"
This commit is contained in:
commit
e46de4521f
|
@ -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.
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue