def check_domain_status(self, **kw): if not 'domain' in kw or not kw['domain']: return {'check': False} proj_id = request.env['project.project'].sudo().search([ ('name', '=ilike', kw['domain']) ]) if proj_id: return {'check': False} # Check if exist record domain in Digital Ocean doClient = dosa.Client(api_key=request.website.digital_ocean_api_key) dr = doClient.DomainRecords(domain='eiqui.com') resp = dr.list() if not resp[0] == 200: return {'check': False} domain_recs = resp[1]['domain_records'] if [ d for d in domain_recs if d['name'] and d['name'].lower() == kw['domain'].lower() ]: return {'check': False} return {'check': True}
#!/usr/bin/env python import dosa from subprocess import call, check_output import random, string, urllib, urllib2, fileinput, shutil, os, sys, time, re sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), os.pardir)) from myconfig import * # set variables # dosa.set_debug() # enables debug logs client = dosa.Client(api_key=API_KEY) HOME = os.environ['HOME'] os.environ['DO_TOKEN'] = API_KEY os.environ['DISCOVERY_URL'] = urllib2.urlopen("https://discovery.etcd.io/new").read() os.environ['NUM_OF_DROPLETS'] = str(CLUSTER_SIZE) z = 0 - CLUSTER_SIZE kub_ip = client.droplets.list()[-1]["droplets"][z]["networks"]["v4"][0]["ip_address"] drupal_ip_list = list() # copy and run deployment script of local docker registry on each node z = 0 - CLUSTER_SIZE x = 1 while x <= CLUSTER_SIZE: # get host's public IP host_pub_ip = client.droplets.list()[-1]["droplets"][z]["networks"]["v4"][1]["ip_address"] # remove old ssh public key fingerprints call(["ssh-keygen", "-R", host_pub_ip]) call(["/usr/bin/scp", "-o StrictHostKeyChecking=no", "-o PasswordAuthentication=no", HOME + "/kubernetes_cluster_automation/scripts/docker_registry.sh", "core@" + host_pub_ip + ":~/"]) call(["/usr/bin/ssh", "-o StrictHostKeyChecking=no", "-o PasswordAuthentication=no", "core@" + host_pub_ip, "bash docker_registry.sh", str(kub_ip), str(x)])
def test_dosa_client_created(self): client = dosa.Client(self.api_key) self.assertIsInstance(client, dosa.Client)
def setUp(self): self.api_key = 'my_fake_api_key' self.client = dosa.Client(self.api_key)