#!/usr/bin/env python # -*- coding: utf-8 -*- #dohvacanje vanjskih funkcija i knjiznica funkcija import requests import json from openstack_api_utils import get_auth_token, get_endpoint import sys # dohvacanje tokena za autentifikaciju korsnika auth_token = get_auth_token() headers = {'X-Auth-Token': auth_token} # dohvacanje URL-a(endpointa) neutron servisa neutron_endpoint = get_endpoint("neutron", auth_token) # trazi unos naziva mreze od korisnika name = raw_input('\nEnter exact network name: ') # dohvaca id mreze cije ime je korisnik unio r = requests.get(neutron_endpoint + "/v2.0/networks?name=" + name + "&fields=id", headers=headers) print("Finding network...") print(r.status_code, r.reason) results_json = r.json() # provjera ima li rezultata pretrage, ako ih nema rezults_json ce biti prazan (len ce biti nula) #ako rezultata pretrage postoji spremamo ga u varijablu network_id if len(results_json["networks"]) > 0: net_dict = results_json['networks'][0]
USER_SUBMENU_OPTIONS = ["Ispis svih korisnika", "Natrag"] INSTANCE_SUBMENU_OPTIONS = [ "Ispis svih instanci", "Ispis svih aktivnih instanci", "Ispis svih instanci s greskom", "Ispis svih instanci koje se kreiraju", "Ispis svih instanci za nekog korisnika", "Natrag" ] STATISTICS_SUBMENU_OPTIONS = [ "Statistika za sve projekte", "Statistika za odredjen projekt", "Natrag" ] auth_token = get_auth_token() headers = {'X-Auth-Token': auth_token} nova_endpoint = get_endpoint("nova", auth_token) def list_instances(filter): if filter == 'all': instance_count = 0 r = requests.get(nova_endpoint + "/servers", headers=headers) json_data = r.json() print( "\n----------------------------------------------------------------------" ) print("Sve instance") print( "----------------------------------------------------------------------" ) for server in json_data["servers"]:
import requests import json from openstack_api_utils import get_auth_token, get_endpoint import sys # dohvacanje tokena za autentifikaciju korisnika sa pomocnom funkcijom auth_token = get_auth_token() # dodavanje auth tokena u zaglavlje koje ce se poslati headers = {'X-Auth-Token': auth_token} # iduce tri linije su pomocne funkcije za dohvacanje URL-a (endpointa) svih potrebnih servisa # ove funkcije su uvezene iz pomocne knjiznice nova_endpoint = get_endpoint("nova", auth_token) glance_endpoint = get_endpoint("glance", auth_token) neutron_endpoint = get_endpoint("neutron", auth_token) print "List of all images by name and size:" # slanje zahtjeva na glance url da se dohvate sve slike r = requests.get(glance_endpoint + "/v2/images", headers=headers) # ispis statusnog koda koji je glance servis vratio print(r.status_code, r.reason) # pretvaranje rezultata u json format json_data = r.json() # ispis svih slika koje smo dobili for image in json_data["images"]: # ljust i rjust poravnavaju ispis u lijevo i u desno kako bi # ga korisnik mogao lakse citati print repr(image["name"]).ljust(50) + repr(image["size"]).rjust(15)
#!/usr/bin/env python # -*- coding: utf-8 -*- # dohvacanje vanjskih funkcija from openstack_api_utils import get_auth_token, get_endpoint import json import requests # dohvacanje auth tokena pomocu vanjske funkcije auth_token = get_auth_token() # dohvacanje url-a glance servisa glance_endpoint = get_endpoint("glance", auth_token) # trazenje unosa od korisnika image_name = raw_input("\nEnter new image name: ") image_path = raw_input("\nEnter image file location: ") # osnovni podaci koji su potrebni za pokretanje slike data = { "container_format": "bare", "disk_format": "qcow2", "name": image_name } # zaglavlje u kojem se salje auth token i u kojem su formatu podaci koji se salju headers={ 'X-Auth-Token': auth_token, "Content-Type": "application/json" }