Last active
December 7, 2016 15:33
-
-
Save jbatalle/57c8e859629e6fa807eb4edbe895e35b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| require 'csv' | |
| require 'json' | |
| require 'rest-client' | |
| $i = 0 | |
| $num = 15 | |
| $url = "http://10.10.1.137:4000" | |
| def remove_instance(id) | |
| begin | |
| response = RestClient.delete "#{$url}/ns-instances/#{id}" | |
| rescue => e | |
| end | |
| #get status | |
| count = 0 | |
| status = "DELETING" | |
| while(status == "DELETING" || status == "ERROR_CREATING") | |
| sleep(10) | |
| begin | |
| response = RestClient.get "#{$url}/ns-instances/#{id}" | |
| rescue Errno::ECONNREFUSED | |
| error = {"info" => "VIM unrechable."} | |
| return | |
| rescue => e | |
| status = "DELETED" | |
| break | |
| end | |
| instance = JSON.parse(response) | |
| status = instance['status'] | |
| puts status | |
| count = count +1 | |
| break if count > 40 | |
| end | |
| end | |
| #while $i < $num do | |
| for i in 0..$num | |
| sleep(10) | |
| instantiation_info = { | |
| :ns_id => "512ec7c1e4b0094ef1f54edc", | |
| :callbackUrl => "https://httpbin.org/post", | |
| :pop_id => 7, | |
| :flavour => "basic" | |
| } | |
| begin | |
| response = RestClient.post "#{$url}/ns-instances", instantiation_info.to_json, :content_type => :json | |
| rescue => e | |
| end | |
| nsr = JSON.parse response | |
| sleep(30) | |
| begin | |
| response = RestClient.get "#{$url}/ns-instances/#{nsr['id']}" | |
| rescue => e | |
| end | |
| #get status | |
| status = "CREATING" | |
| instance = {} | |
| count = 0 | |
| while(status != "INSTANTIATED" && status != "START" && status != "ERROR_CREATING") | |
| sleep(10) | |
| begin | |
| response = RestClient.get "#{$url}/ns-instances/#{nsr['id']}" | |
| rescue Errno::ECONNREFUSED | |
| error = {"info" => "VIM unrechable."} | |
| return | |
| rescue => e | |
| end | |
| instance = JSON.parse(response) | |
| status = instance['status'] | |
| puts status | |
| count = count +1 | |
| break if count > 40 | |
| end | |
| remove_instance(nsr['id']) if status == 'ERROR_CREATING' | |
| next if status == 'ERROR_CREATING' | |
| puts "sleep 150sec" | |
| sleep(10) | |
| begin | |
| response = RestClient.get "#{$url}/ns-instances/#{nsr['id']}" | |
| rescue => e | |
| end | |
| instance = JSON.parse(response) | |
| puts instance['created_at'] | |
| puts instance['mapping_time'] | |
| puts instance['instantiation_start_time'] | |
| puts instance['instantiation_end_time'] | |
| puts instance['instantiation_netfloc_start_time'] | |
| puts instance['instantiation_netfloc_end_time'] | |
| mapping_time = (DateTime.parse(instance['mapping_time']).to_time.to_f*1000 - DateTime.parse(instance['created_at']).to_time.to_f*1000).to_s | |
| instantiation_time = (DateTime.parse(instance['instantiation_end_time']).to_time.to_f*1000 - DateTime.parse(instance['instantiation_start_time']).to_time.to_f*1000).to_s | |
| final_time = (DateTime.parse(instance['instantiation_end_time']).to_time.to_f*1000 - DateTime.parse(instance['created_at']).to_time.to_f*1000).to_s | |
| netfloc_end = (DateTime.parse(instance['instantiation_netfloc_end_time']).to_time.to_f*1000 - DateTime.parse(instance['instantiation_netfloc_start_time']).to_time.to_f*1000).to_s | |
| instantiation_time = instantiation_time - netfloc_end | |
| CSV.open("data01.csv", "a+") do |csv| | |
| csv << [mapping_time.to_i, instantiation_time.to_i, netfloc_end.to_i, final_time.to_i] | |
| end | |
| remove_instance(nsr['id']) | |
| $i +=1 | |
| sleep(30) | |
| end | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment