Exemple #1
0
'''
    Script that adds or updates a static group.
'''
import vmtconnect as vconn
from csv_to_static_groups import StaticGroup

DRYRUN = False

# My Group Variables
GROUP_NAME = "Sample_Group"
ENTITY_TYPE = "VirtualMachine"
MEMBERS = ["SampleVM1", "SampleVM2"]

# Credentials
TURBO_TARGET = "localhost"
TURBO_USER = ""
TURBO_PASS = ""
TURBO_CREDS = b""

# Establish Turbonomic Connection
conn = vconn.VMTConnection(TURBO_TARGET, TURBO_USER, TURBO_PASS, TURBO_CREDS)

# Build Group
group = StaticGroup(conn, GROUP_NAME, ENTITY_TYPE, MEMBERS)
group.add_or_update(lookup_names=True, dryrun=DRYRUN, case_sensitive=True)
Exemple #2
0
        log_handler = RotatingFileHandler(args_dict["log"],
                                          mode='a',
                                          maxBytes=10 * 1024 * 1024,
                                          backupCount=1,
                                          encoding=None,
                                          delay=0)

        log_handler.setFormatter(log_formatter)
        LOGGER.addHandler(log_handler)

    QUIET = args_dict["quiet"]
    WARN = args_dict["no_warn"]

    try:
        # Make connection object
        conn = vconn.VMTConnection(__TURBO_TARGET, __TURBO_USER, __TURBO_PASS,
                                   __TURBO_CREDS)
        __TURBO_USER = __TURBO_PASS = __TURBO_ENC = None
        # Execute main function
        change_summary = main(conn,
                              args_dict["input_csv"],
                              group_headers=args_dict["group_headers"],
                              no_add=args_dict["no_add"],
                              no_remove=args_dict["no_remove"],
                              dryrun=args_dict["dryrun"],
                              delete=args_dict["delete"],
                              case_sensitive=not args_dict["case_insensitive"])

        # Log Summary
        _log_summary(change_summary,
                     args_dict["dryrun"],
                     ignore_total=[TRK_MISS_ENTITY])
                'Risks Avoided':
                0,
                'Actions Completed':
                0,
                'Actions Outstanding':
                action['count']
            })

    return hist_actions


def write_csv(final_report, dest_path):

    with open(dest_path, 'w') as csvfile:
        fieldnames = final_report[0].keys()
        writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
        writer.writeheader()

        for i in final_report:
            writer.writerow(i)


if __name__ == '__main__':
    vmt = vc.VMTConnection(TURBO_TARGET, TURBO_USER, TURBO_PASS)
    actions_list = vmt.request('markets/Market/actions/')
    action_details = get_notification_details(get_action_details(actions_list))
    total_counts = get_counts(action_details)
    hist_actions = read_csv(IN_FILE_NAME)
    final_report = combine_current_and_hist(total_counts, hist_actions)
    write_csv(final_report, OUT_FILE_NAME)