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)
Example #2
0
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'])
Example #3
0
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')
Example #4
0
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)
Example #5
0
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)
Example #7
0
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)
Example #11
0
def main():
    print (usage)
    k5token =  fjk5.get_scoped_token()

    restoreSnapshot(k5token)