def notify(topic, subject, message):
    configs = OmeletConfigParser()
    aws_key = Credential()
    omelet_notifier = Notifier(configs.get_sns_region(),
                               aws_key.get_aws_access_key(),
                               aws_key.get_aws_secret_key())
    omelet_notifier.send(configs.get_sns_topic('patch'), subject, message)
def determine_region(logger):
    configs = OmeletConfigParser()
    regions = configs.get_packer_regions()
    
    logger.debug("we have %d regions : %s" % (len(regions), regions))
    
    #config error, give up
    if regions < 1:
        logger.error("please check config.ini region setting, give up :-(")
        raise
    
    logger.info("use %s region" % regions[0])
    return regions[0]
Esempio n. 3
0
    def get_commit_diff_info(self, repo=None):
        configs = OmeletConfigParser()

        git_repo = git.Repo(self.repo) if not repo else repo
        diff = list()
        committer = ""
        commits_list = list(git_repo.iter_commits(configs.get_git_branch(), max_count=10))
        if len(commits_list) > 1:
            for commit in commits_list[0].diff(commits_list[1]):
                # add files
                if commit.a_blob and commit.a_blob.path not in diff:
                    diff.append(commit.a_blob.path)
                    committer = commits_list[0].committer
                    # remove files
                    #if commit.b_blob and commit.b_blob.path not in diff:
                    #    diff.append(commit.b_blob.path)
        else:
            raise ValueError("repo commit count is less than one")
        return (committer, diff)
def main(logger):
    #objects
    configs = OmeletConfigParser()
    region = configs.get_glacier_region()
    aws_key = Credential()

    #parse argument
    parser = argparse.ArgumentParser()
    parser.add_argument('filename', type=str, help='file to upload to Glacier')
    parser.add_argument('--vault', required=True, help='vault name')
    args = parser.parse_args()

    #parameters        
    filename = args.filename 
    vault = args.vault

    #exec
    glacier_helper = Glacier(_aws_access_key_id=aws_key.get_aws_access_key(),
                             _aws_secret_access_key=aws_key.get_aws_secret_key(),
                             _region=region)
    glacier_helper.upload(vault, filename, True)
Esempio n. 5
0
        # update my descent if any
        if valid:
            for child in db.get_tree_children(ami_name):
                self._launch_amipacker_series(db, child, self._get_template(child), sha1,
                                              committer, committer_mail, comment, notify, causedby)


if __name__ == '__main__':
    parser = argparse.ArgumentParser(description='AMIPacker wrapper args')

    # should be ~/clone or ~/src/github.com/TrendMicroDCS
    parser.add_argument("-r", "--repo", type=str, help="target packer template repo master", required=True)

    # configs
    args = parser.parse_args()
    configs = OmeletConfigParser()

    # logging
    logging.config.fileConfig(os.path.join(configs.get_omelet_config_dir(), 'logging.ini'))
    logger = logging.getLogger(__name__)

    # aws key
    aws_key = Credential()

    # mail sender
    omelet_notifier = Notifier(configs.get_sns_region(), aws_key.get_aws_access_key(),
                               aws_key.get_aws_secret_key())

    try:
        amipacker_launcher = OmeletAMIPacker(configs, aws_key, args.repo)
        ret = amipacker_launcher.launch()
Esempio n. 6
0
#
# Copyright (c) 2014 TrendMicro. Data Center Services Research and Development. ([email protected])      
#

import os
import logging
import argparse
import sys
from distutils.sysconfig import get_python_lib

sys.path.append(os.path.abspath("."))
from omelet.aws.ami import AMI
from omelet.aws.credential import Credential
from omelet.utils.configparser import OmeletConfigParser

def main(region, id):
    aws_key = Credential()
    image = AMI(region, aws_key.get_aws_access_key(), aws_key.get_aws_secret_key())
    image.get_ami_obj(id)

if __name__ == '__main__':
    configs = OmeletConfigParser()
    logging.config.fileConfig(os.path.join(configs.get_omelet_config_dir(), 'logging.ini'))
    parser = argparse.ArgumentParser(description='Check AMI Name Args') 
    parser.add_argument("-r", "--region", type=str, help="target region", required=True)   
    parser.add_argument("-i", "--id", type=str, help="ami id", required=True)   
    args = parser.parse_args() 
    main(args.region, args.id)