Пример #1
0
def fp_status(name):
    if not name.startswith('fp-'):
        return "n/a"
    ip = ip_by_name().get(name)
    if not ip:
        return "destroyed"
    if ip in bakedin():
        return "baked-in"
    cfgs = srv_cfg_by_name(name)
    if not cfgs:
        return "???"
    region = vps_util.region_by_name(name)
    for cfg in cfgs[1]:
        if redis_shell.zscore(region + ':slices', cfg):
            return "open"
    else:
        return "full"
Пример #2
0
def fp_status(name):
    if not name.startswith('fp-'):
        return "n/a"
    ip = ip_by_name().get(name)
    if not ip:
        return "destroyed"
    if ip in bakedin():
        return "baked-in"
    cfg = srv_cfg_by_name(name)
    if not cfg:
        return "???"
    region = vps_util.region_by_name(name)
    for srv in cfg[1]:
        for suffix in ["", "|0"]:
            if redis_shell.zscore(region + ':slices', "%s%s" % (srv, suffix)):
                return "open"
    else:
        return "full"
Пример #3
0
import datetime
import os

from alert import alert, send_to_slack
from redis_util import redis_shell
import vps_util

auth_token = "{{ pillar['cfgsrv_token'] }}"
instance_id = "{{ grains['id'] }}"
region = vps_util.region_by_name(instance_id)

# {% from 'ip.sls' import external_ip %}
ip = "{{ external_ip(grains) }}"
close_flag_filename = "server_closed"
retire_flag_filename = "server_retired"


def flag_as_done(flag_filename):
    file(flag_filename, 'w').write(str(datetime.datetime.utcnow()))


def am_I_closed():
    return vps_util.proxy_status(name=instance_id, ip=ip) == 'closed'


def close_server(msg):
    if os.path.exists(close_flag_filename):
        print "Not closing myself again."
        return
    txn = redis_shell.pipeline()
    vps_util.actually_close_proxy(name=instance_id, ip=ip, pipeline=txn)
Пример #4
0
import datetime
from email.mime.text import MIMEText
import os
import smtplib
import subprocess
import time
import traceback

from redis_util import redis_shell
import requests

import vps_util

auth_token = "{{ pillar['cfgsrv_token'] }}"
instance_id = "{{ grains['id'] }}"
region = vps_util.region_by_name(instance_id)

# {% from 'ip.sls' import external_ip %}
ip = "{{ external_ip(grains) }}"
split_flag_filename = "server_split"
retire_flag_filename = "server_retired"


def send_mail(from_, to, subject, body):
    msg = MIMEText(body)
    msg['Subject'] = subject
    msg['From'] = from_
    msg['To'] = to
    s = smtplib.SMTP('localhost')
    s.sendmail(from_, [to], msg.as_string())
    s.close()