def main(): print(usage) k5token = fjk5.get_scoped_token() listFlavors(k5token) # resized = fjk5.resizeServer (k5token, fjk5.lookForServer (k5token, config.serverInfo['name'])[0]['id'], '1301') if config.testing: pdb.set_trace() print(resized)
def main(): token = fjk5.get_scoped_token() key = fjk5.create_keypair(token) print("status %s " % key.status_code) if key.status_code > 200: print(key.content) else: print(key.json()['keypair']['private_key'])
def shelveServer(): k5token = fjk5.get_scoped_token() myServer = fjk5.lookForServer(k5token, config.serverInfo['name']) if len(myServer) > 0: print('Queried Server %s has the ID %s' % (config.serverInfo['name'], myServer[0]['id'])) else: print("Server %s does not exist" % config.serverInfo['name']) result = fjk5.shelveUnshelveServer(k5token, myServer[0]['id'], 'unshelve')
def main(): print(usage) # here we get the login token as key for all other info token = fjk5.get_scoped_token() theToken = token.headers['X-Subject-Token'] # print(theToken) # before we start we need info about the network networks, status = fjk5.list_networks(token) if config.testing: pdb.set_trace() if status < 400: # we now have a list of dictionaries containing the network network = filter( lambda name: name['name'] == config.zoneInfo[ config.availabilityZone]['networkName'], networks.json()['networks']) # if this net doesn't exist, we create it if len(network) == 0: ourNetwork = fjk5.create_network(token) networkID = ourNetwork.json()['network']['id'] subnet = fjk5.create_subnet(token, networkID).json() else: networkID = network[0]['id'] subnet = network[0]['subnets'][0] print('network %s: ' % networkID) else: print("error %s: " % response.status_code) # we need a router routers, status = fjk5.list_routers(token) router = filter( lambda name: name['name'] == config.zoneInfo[config.availabilityZone][ 'routerName'], routers.json()['routers']) if len(router) == 0: ourRouter = fjk5.create_router(token) routerID = ourRouter.json()['router']['id'] # now this router needs some networks extNetwork = filter( lambda name: name['name'] == config.zoneInfo[ config.availabilityZone]['externalNet'], networks.json()['networks']) if config.testing: pdb.set_trace() updatedRouter = fjk5.update_router_gateway(token, routerID, extNetwork[0]['id']) routerID = updatedRouter.json()['router']['id'] if config.testing: pdb.set_trace() router_interface = fjk5.add_interface_to_router( token, routerID, subnet['subnet']['id']) if router_interface.status_code > 200: print('errror adding router inteface') pdb.set_trace() else: routerID = router[0]['id'] print(routerID)
def main(): print(usage) k5token = fjk5.get_scoped_token() # delete ports first serverID = fjk5.lookForServer(k5token, config.serverInfo['name'])[0]['id'] for port in fjk5.getServerPorts(k5token, serverID): pprint.pprint(port) fjk5.deletePort(k5token, port['port_id']) result = fjk5.deleteServer(k5token, serverID) # if config.testing: pdb.set_trace() print(result)
def listGlobalIPs() : token = fjk5.get_scoped_token() print ("IPs defined: ") globalIPs = fjk5.list_globalIPs(token) # if config.testing: pdb.set_trace() for address in globalIPs : print('IP %s : bound to: %s ' % (address['floating_ip_address'], address['port_id'])) # unused: print ("IPs available: ") for address in fjk5.list_unusedIPs(token) : print('IP %s : ID: %s ' % (address['floating_ip_address'], address['id'])) # we are friendly and clean up the unused ones fjk5.deleteUnusedGlobalIPs(token)
def main(): print(usage) k5token = fjk5.get_scoped_token() listFirewalls(k5token) if config.testing: pdb.set_trace() ruleIDs = fjk5.createFirewallRules( k5token, config.firewallRules) # creates rules as defined in config # create firewall policy with all these rules policy = fjk5.createFirewallPolicy(k5token=k5token, rules=ruleIDs) if config.testing: pdb.set_trace() firewall = fjk5.createFirewall(k5token=k5token, policy=policy['id']) # create firewall for the router defined in config with all these rules if config.testing: pdb.set_trace() listFirewalls(k5token)
def main(): print(usage) # here we get the login token as key for all other info k5token = fjk5.get_scoped_token() # before we start we need info about the network networks, status = fjk5.list_networks(k5token) securityGroup = fjk5.getSecurityGroup(k5token, config.securityGroup) if status < 400: network = filter( lambda name: name['name'] == config.zoneInfo[ config.availabilityZone]['networkName'], networks.json()['networks']) networkID = network[0]['id'] print('network %s: ' % networkID) # create a port portInfo = fjk5.create_port(k5token, networkID, fixedIP=config.serverInfo['fixedIP']) port = portInfo.json()['port'].get('id') # this one creates the server serverInfo = fjk5.create_server(k5token, port=port, serverInfo=config.serverInfo) print(serverInfo) print(serverInfo.content) else: print("error %s: " % response.status_code) # next we add a public IP to that port extNetwork = filter( lambda name: name['name'] == config.zoneInfo[config.availabilityZone][ 'externalNet'], networks.json()['networks']) publicNetwork = fjk5.create_global_ip(k5token, extNetwork[0]['id'], port) # dispay the most important infos here: IP, vnc listServers.listServers(k5token) initPassword = fjk5.get_Serverpassword(k5token, serverInfo.json()['server']['id']) print(publicNetwork.json()['floatingip']['floating_ip_address']) pprint.pprint(initPassword)
def printAuthInfo(): k5UnscopedToken = fjk5.getUnscopedToken() # list available endpoints / URLs pprint.pprint(fjk5.getEndpointDict(k5UnscopedToken)) projectsForUser = fjk5.listProjectsForUser(k5UnscopedToken) pprint.pprint(projectsForUser) configuredProject = filter(lambda project: project['name'] == config.projectName, projectsForUser['projects'])[0] pprint.pprint(configuredProject) if config.testing: # pprint.pprint(k5UnscopedToken.json()) pdb.set_trace() pprint.pprint(fjk5.get_scoped_token().json())
def main(): print(usage) k5token = fjk5.get_scoped_token() listServers(k5token) # listSecurityGroups(k5token) listSnapshots(k5token)
def main(): print (usage) k5token = fjk5.get_scoped_token() restoreSnapshot(k5token)