def _connect(cred):
    try:
        client = skiff.rig(cred['digitalocean']['token'])
    except Exception as e:
        logger.error("Error connecting to digitalocean: %s" % (e))
        exit(1)
    return client
Exemple #2
0
def dropletname_to_ip(name):

    #Authenticate with Digital Ocean
    s = skiff.rig('3461da98023e93f0a40e1058092314fbbd5cf057ceb1f1ae1e4d2d6d0d6e2209');    

    for droplet in s.Droplet.all():    

        if droplet.name == name:
            return droplet.v4[1].ip_address;
Exemple #3
0
	def __init__(self, country, mode):
		self.country = country
		self.mode = mode
		self.do_token = modes[self.mode]['token']
		self.master_node = modes[self.mode]['master']
		self.regions = cycle(['nyc1', 'nyc2', 'nyc3'])
		self.image ='ubuntu-14-04-x64'
		self.skiffer = skiff.rig(self.do_token)
		self.count_drops = 0
		self.backup = False
def _connect(domain, cred):
    try:
        client = skiff.rig(cred["digitalocean"]["token"])
    except Exception as e:
        logger.error("Error connecting to digitalocean: %s" % (e))
        exit(1)

    try:
        dom = client.Domain.get(domain)
    except ValueError as e:
        logger.error("      Error while locating DNS [%s]: %s" % (e, domain))
        return None

    return dom
Exemple #5
0
def create_revelator(name,size,version):

    #Authenticate
    s = skiff.rig('3461da98023e93f0a40e1058092314fbbd5cf057ceb1f1ae1e4d2d6d0d6e2209');

    #Try to find the image ID for the version specified
    images= s.Image.all();
    for image in images:
        if image.name == 'Revelator v'+str(version):
            image_id = image.id;
            break;

    #Create the droplet
    s.Droplet.create(name='rev.'+name,region='ams2',size=size,image=image_id,private_networking=True,ssh_keys=s.Key.all());
Exemple #6
0
 def __init__(self, token):
     self.token = token
     self.s = skiff.rig(token)
import skiff
from time import sleep
from info import api_key

s = skiff.rig(api_key)
my_droplet = s.Droplet.create({
    "name": "Viking",
    "region": "ams2",
    "size": "512mb",
    "image": "ubuntu-14-04-x64",
    "ssh_keys": [s.Key.get('my public key')],
    "backups": False,
    "ipv6": False,
})
print("Created, Waiting...")
sleep(2)
my_droplet.wait_till_done(5)
my_droplet = my_droplet.reload()
print my_droplet.networks["v4"][0]["ip_address"]
Exemple #8
0
 def _getClient(self):
     # get digitalocean connection
     return skiff.rig(self.scalator.config.provider_token)
Exemple #9
0
import skiff
import os
import pytest
import time


token = os.getenv("DO_TOKEN")
assert token is not None

s = skiff.rig(token)
assert s is not None

# I just want to test stuff, don't judge this code


# pytest assures me that this droplet function is called only once, but I don't believe it; this test suite
#  takes forever
@pytest.fixture
def droplet(request):
    # for simplicity, this requires that you already have an ssh key uploaded
    # mostly because I don't want any emails
    my_droplet = s.Droplet.create(name="skiff.test", region="nyc1", size="512mb", image=5141286, ssh_keys=[s.Key.all()[0]])
    my_droplet.wait_till_done()
    my_droplet = my_droplet.reload()

    def fin():
        my_droplet.destroy()
        my_droplet.wait_till_done()
        # assert that it's deleted
        with pytest.raises(ValueError):
            s.Droplet.get(my_droplet.id)
Exemple #10
0
import skiff
# Token
thebig = skiff.rig("9cc0208709c43e877b89986a585df7eb2c4050fafc07469680812e3706608a40")
Exemple #11
0
import skiff
# Token
thebig = skiff.rig(
    "9cc0208709c43e877b89986a585df7eb2c4050fafc07469680812e3706608a40")