示例#1
0
def main(argv):
    foreman_host = os.environ.get('FOREMAN_HOST', '127.0.0.1')
    foreman_port = os.environ.get('FOREMAN_PORT', '443')
    foreman_username = os.environ.get('FOREMAN_USERNAME', 'foreman')
    foreman_password = os.environ.get('FOREMAN_PASSWORD', 'changme')    
    config_file = None
    config = {}
    try:
        opts, args = getopt.getopt(argv, "c:f:hu:p:s:", ["config=", "foreman=", "username="******"port=", "secret="])
    except getopt.GetoptError:
        show_help()
        sys.exit(2)
    for opt, arg in opts:
        if opt in ('-c', '--config'):
            config_file = arg
        elif opt in ('-f', '--foreman'):
            foreman_host = arg
        elif opt == '-h':
            show_help()
            sys.exit()
        elif opt in ('-u', '--username'):
            foreman_username = arg
        elif opt in ('-p', '--port'):
            foreman_port = arg
        elif opt in ('-s', '--secret'):
            foreman_password = arg

    f = Foreman(foreman_host, foreman_port, foreman_username, foreman_password)
    if config_file:
        with open(config_file, 'r') as cfgfile:
            config = yaml.load(cfgfile)
    
    # Test Architectures
    for item in config.get('architectures'):
        obj = f.get_architecture_by_name(name=item.get('name'))
        if not obj:
            obj = f.set_architecture(data=item)
        print "Architecture: %s" % (json.dumps(obj))
    
    # Test Compute Resources
    for item in config.get('compute_resources'):
        obj = f.get_compute_resource_by_name(name=item.get('name'))
        if not obj:
            obj = f.set_compute_resource(data=item)
        print "Compute Resource: %s" % (json.dumps(obj))
    
    # Test Domains
    for item in config.get('domains'):
        obj = f.get_domain_by_name(name=item.get('name'))
        if not obj:
            obj = f.set_domain(data=item)
        print "Domain: %s" % (json.dumps(obj))
    
    # Test Environments
    for item in config.get('environments'):
        obj = f.get_environment_by_name(name=item.get('name'))
        if not obj:
            obj = f.set_environment(data=item)
        print "Environment: %s" % (json.dumps(obj))
    
    # Test Locations
    for item in config.get('locations'):
        obj = f.get_location_by_name(name=item.get('name'))
        if not obj:
            obj = f.set_location(data=item)
        print "Location: %s" % (json.dumps(obj))
            
    # Test Media
    for item in config.get('medias'):
        obj = f.get_media_by_name(name=item.get('name'))
        if not obj:
            obj = f.set_media(data=item)
        else:
            print "Media exist: %s" % (json.dumps(obj))

    # Test Operatingsystems
    for item in config.get('operatingsystems'):
        obj = f.get_operatingsystem_by_name(name=item.get('name'))
        if not obj:
            obj = f.set_operatingsystem(data=item)
        print "Operatingsystem exist: %s" % (json.dumps(obj))
            
    # Test Organizations
    for item in config.get('organizations'):
        obj = f.get_organization_by_name(name=item.get('name'))
        if not obj:
            obj = f.set_organization(data=item)
        print "Organization exist: %s" % (json.dumps(obj))
            
    # Test Partition Tables
    for item in config.get('partition_tables'):
        obj = f.get_partition_table_by_name(name=item.get('name'))
        if not obj:
            obj = f.set_partition_table(data=item)
        print "Partition Table exist: %s" % (json.dumps(obj))
            
    # Test Smart Proxies
    for item in config.get('smart_proxies'):
        obj = f.get_smart_proxy_by_name(name=item.get('name'))
        if not obj:
            obj = f.set_smart_proxy(data=item)
        print "Smart Proxy exist: %s" % (json.dumps(obj))
示例#2
0
def main(argv):
    foreman_host = os.environ.get('FOREMAN_HOST', '127.0.0.1')
    foreman_port = os.environ.get('FOREMAN_PORT', '443')
    foreman_username = os.environ.get('FOREMAN_USERNAME', 'foreman')
    foreman_password = os.environ.get('FOREMAN_PASSWORD', 'changme')
    config_file = None
    config = {}
    try:
        opts, args = getopt.getopt(
            argv, "c:f:hu:p:s:",
            ["config=", "foreman=", "username="******"port=", "secret="])
    except getopt.GetoptError:
        show_help()
        sys.exit(2)
    for opt, arg in opts:
        if opt in ('-c', '--config'):
            config_file = arg
        elif opt in ('-f', '--foreman'):
            foreman_host = arg
        elif opt == '-h':
            show_help()
            sys.exit()
        elif opt in ('-u', '--username'):
            foreman_username = arg
        elif opt in ('-p', '--port'):
            foreman_port = arg
        elif opt in ('-s', '--secret'):
            foreman_password = arg

    f = Foreman(foreman_host, foreman_port, foreman_username, foreman_password)
    if config_file:
        with open(config_file, 'r') as cfgfile:
            config = yaml.load(cfgfile)

    # Test Architectures
    for item in config.get('architectures'):
        obj = f.get_architecture_by_name(name=item.get('name'))
        if not obj:
            obj = f.set_architecture(data=item)
        print "Architecture: %s" % (json.dumps(obj))

    # Test Compute Resources
    for item in config.get('compute_resources'):
        obj = f.get_compute_resource_by_name(name=item.get('name'))
        if not obj:
            obj = f.set_compute_resource(data=item)
        print "Compute Resource: %s" % (json.dumps(obj))

    # Test Domains
    for item in config.get('domains'):
        obj = f.get_domain_by_name(name=item.get('name'))
        if not obj:
            obj = f.set_domain(data=item)
        print "Domain: %s" % (json.dumps(obj))

    # Test Environments
    for item in config.get('environments'):
        obj = f.get_environment_by_name(name=item.get('name'))
        if not obj:
            obj = f.set_environment(data=item)
        print "Environment: %s" % (json.dumps(obj))

    # Test Locations
    for item in config.get('locations'):
        obj = f.get_location_by_name(name=item.get('name'))
        if not obj:
            obj = f.set_location(data=item)
        print "Location: %s" % (json.dumps(obj))

    # Test Media
    for item in config.get('medias'):
        obj = f.get_media_by_name(name=item.get('name'))
        if not obj:
            obj = f.set_media(data=item)
        else:
            print "Media exist: %s" % (json.dumps(obj))

    # Test Operatingsystems
    for item in config.get('operatingsystems'):
        obj = f.get_operatingsystem_by_name(name=item.get('name'))
        if not obj:
            obj = f.set_operatingsystem(data=item)
        print "Operatingsystem exist: %s" % (json.dumps(obj))

    # Test Organizations
    for item in config.get('organizations'):
        obj = f.get_organization_by_name(name=item.get('name'))
        if not obj:
            obj = f.set_organization(data=item)
        print "Organization exist: %s" % (json.dumps(obj))

    # Test Partition Tables
    for item in config.get('partition_tables'):
        obj = f.get_partition_table_by_name(name=item.get('name'))
        if not obj:
            obj = f.set_partition_table(data=item)
        print "Partition Table exist: %s" % (json.dumps(obj))

    # Test Smart Proxies
    for item in config.get('smart_proxies'):
        obj = f.get_smart_proxy_by_name(name=item.get('name'))
        if not obj:
            obj = f.set_smart_proxy(data=item)
        print "Smart Proxy exist: %s" % (json.dumps(obj))