def add_cronjobs():
    conn = consul_kv.Connection(endpoint="http://consul:8500/v1/")
    target_path_env = "facebook-auto-feed/config/ENVIRONMENT"
    target_path_platform = "facebook-auto-feed/config/PLATFORM"
    try:
        raw_env = conn.get(target_path_env)
        raw_platform = conn.get(target_path_platform)
    except:
        print("problem connecting to consul...ignoring")
        return None
    regex_string = "^facebook-auto-feed/config/"
    for k, v in raw_env.items():
        env = re.sub(regex_string, '', v)
    for k, v in raw_platform.items():
        platform = re.sub(regex_string, '', v)
    cronjob_home_s3_sync = "*/3 * * * * aws s3 sync /home s3://facebook-auto-feed-{0}-{1}".format(
        env, platform)
    cmd0 = "echo \"{}\" >> /var/spool/cron/crontabs/admin".format(
        cronjob_home_s3_sync)
    p = subprocess.Popen(cmd0, shell=True)
    cronjob_rl_data_s3_sync = "*/4 * * * * aws s3 sync /rl/data s3://facebook-auto-feed-{0}-{1}".format(
        env, platform)
    cmd1 = "echo \"{}\" >> /var/spool/cron/crontabs/admin".format(
        cronjob_rl_data_s3_sync)
    p = subprocess.Popen(cmd1, shell=True)

    subprocess.run(["chgrp", "crontab", "/var/spool/cron/crontabs/admin"])
    os.waitpid(p.pid, 0)
    time.sleep(10)
    subprocess.run(["service", "cron", "restart"])
 def __init__(self, profile):
     # example: curl -s http://consul.media.dev.usa.reachlocalservices.com:8500/v1/kv/tf_managed/media-gateway?keys
     #response = requests.get("http://consul.media.dev.usa.reachlocalservices.com:8500/v1/kv/tf_managed/media-gateway?keys")
     # this dictionary is a kludge until networking is sorted out for consul
     # see terraform-configurations/aws_core_services/consul
     endpoints = {
         'dev-usa':
         'http://consul.media.dev.usa.reachlocalservices.com:8500/v1/',
         'qa-aus':
         'http://consul.media.qa.aus.reachlocalservices.com:8500/v1/',
         'qa-can':
         'http://consul.media.qa.can.reachlocalservices.com:8500/v1/',
         'qa-eur':
         'http://consul.media.qa.eur.reachlocalservices.com:8500/v1/',
         'qa-gbr':
         'http://consul.media.qa.gbr.reachlocalservices.com:8500/v1/',
         'qa-jpn':
         'http://consul.media.qa.jpn.reachlocalservices.com:8500/v1/',
         'qa-usa':
         'http://consul.media.qa.usa.reachlocalservices.com:8500/v1/',
         'prod-aus':
         'https://consul-external.media.prod.aus.reachlocalservices.com/v1/',
         'prod-can':
         'https://consul-external.media.prod.can.reachlocalservices.com/v1/',
         'prod-gbr':
         'https://consul-external.media.prod.gbr.reachlocalservices.com/v1/',
         'prod-eur':
         'https://consul-external.media.prod.eur.reachlocalservices.com/v1/',
         'prod-jpn':
         'https://consul-external.media.prod.jpn.reachlocalservices.com/v1/',
         'prod-usa':
         'https://consul-external.media.prod.usa.reachlocalservices.com/v1/'
     }
     self.conn = consul_kv.Connection(endpoint=endpoints[profile])
def scrape_consul_for_users():
    try:
        conn = consul_kv.Connection(endpoint="http://consul:8500/v1/")
        target_path = "facebook-auto-feed/users"
        allusers = conn.get(target_path, recurse=True)
        return allusers
    except:
        print("problem scraping consul for users...ignoring")
        return None
Esempio n. 4
0
 def get_role_id(self):
   #TODO: delete this after 06/2022
   #conn = consul_kv.Connection(endpoint="http://consul.media.dev.usa.reachlocalservices.com:8500/v1/")
   conn = consul_kv.Connection(endpoint="https://consul.dev.usa.media.reachlocalservices.com/v1/")
   target_path = "jenkins-rl-bin/config/role_id"
   try:
     raw_target_path = conn.get(target_path)
     role_id = raw_target_path['jenkins-rl-bin/config/role_id']
     return role_id
   except:
     print("problem scraping consul role_id...ignoring")
     return None
def create_admin_user():
    # get admin user password from consul
    conn = consul_kv.Connection(endpoint="http://consul:8500/v1/")
    target_path = "facebook-auto-feed/config/admin"
    try:
        admin = conn.get(target_path)
    except:
        print("problem connecting to consul...ignoring")
        return None
    for raw_username, raw_password in admin.items():
        regex_string = "^facebook-auto-feed/config/"
        username = re.sub(regex_string, '', raw_username)
        password = raw_password
        homedir = "/home/{}".format(username)
        subprocess.run([
            "useradd", "-c", "gecos", "-d", "/tmp/admin", "-N", "-p", password,
            username
        ])
        time.sleep(3)
        print("update admin password")
        subprocess.run(["usermod", "-p", password, username])
 def __init__(self):
     # example: curl -s http://consul.media.dev.usa.reachlocalservices.com:8500/v1/kv/tf_managed/media-gateway?keys
     #response = requests.get("http://consul.media.dev.usa.reachlocalservices.com:8500/v1/kv/tf_managed/media-gateway?keys")
     self.conn = consul_kv.Connection(
         endpoint=
         'http://consul.media.dev.usa.reachlocalservices.com:8500/v1/')