2 # Copyright (c) 2019 Erik Schilling
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain 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,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
19 from emuvim
.api
.osm
.pre_configured_osm
import PreConfiguredOSM
24 with
open('ping_pong_parallel_deploy_and_delete_%d.csv' % time
.time(), 'w') as csvfile
:
25 fieldnames
= ['n', 'start', 'onboard', 'ns_start', 'num_failed', 'ns_delete', 'stop']
26 writer
= csv
.DictWriter(csvfile
, fieldnames
=fieldnames
)
31 for n
in range(30, MAX
+ 1, 1):
33 with
PreConfiguredOSM() as osm
:
34 start_done
= time
.time()
35 osm
.onboard_vnfd('../vnfs/ping_vnf')
36 osm
.onboard_vnfd('../vnfs/pong_vnf')
37 nsd_id
= osm
.onboard_nsd('../services/pingpong_ns')
38 onboard_done
= time
.time()
40 osm
.ns_create('pingpong-test-%d' % i
, nsd_id
)
42 _
, num_failed
= osm
.ns_wait_until_all_in_status('running', 'failed')
44 ns_start_done
= time
.time()
46 for ns
in osm
.ns_list():
47 osm
.ns_delete(ns
['id'])
49 osm
.ns_wait_until_all_in_status('terminated')
51 ns_delete_done
= time
.time()
52 stop_done
= time
.time()
56 'start': start_done
- start
,
57 'onboard': onboard_done
- start_done
,
58 'ns_start': ns_start_done
- onboard_done
,
59 'num_failed': num_failed
,
60 'ns_delete': ns_delete_done
- ns_start_done
,
61 'stop': stop_done
- ns_delete_done
,
63 writer
.writerow(measurement
)