6d5ebd84414a6e5894fece666ef8ee75749b27eb
1 # Copyright 2017 Sandvine
5 # Licensed under the Apache License, Version 2.0 (the "License"); you may
6 # not use this file except in compliance with the License. You may obtain
7 # a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 # License for the specific language governing permissions and limitations
25 def wait_for_value(func
, result
=True, wait_time
=10, catch_exception
=None):
26 maxtime
= time
.time() + wait_time
27 while time
.time() < maxtime
:
31 except catch_exception
:
35 return func() == result
36 except catch_exception
:
40 def validate_uuid4(uuid_text
):
44 except (ValueError, TypeError):
49 hash_md5
= hashlib
.md5()
50 with
open(fname
, "rb") as f
:
51 for chunk
in iter(lambda: f
.read(4096), b
""):
52 hash_md5
.update(chunk
)
53 return hash_md5
.hexdigest()
56 def get_key_val_from_pkg(descriptor_file
):
57 # method opens up a package and finds the name of the resulting
58 # descriptor (vnfd or nsd name)
59 tar
= tarfile
.open(descriptor_file
)
61 for member
in tar
.getmembers():
62 if (re
.match('.*.yaml', member
.name
) and
63 len(member
.name
.split('/')) == 2):
64 yamlfile
= member
.name
69 dict = yaml
.safe_load(tar
.extractfile(yamlfile
))
73 result
['type'] = 'nsd'
75 result
['type'] = 'vnfd'