def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("-r", "--region", dest="regions", action="append",
                        help="optional list of regions")
    parser.add_argument("-q", "--quiet", action="store_true",
                        help="Supress logging messages")
    parser.add_argument("-j", "--concurrency", type=int, default=4)

    args = parser.parse_args()

    logging.basicConfig(format="%(asctime)s - %(levelname)s - %(message)s")
    if not args.quiet:
        log.setLevel(logging.DEBUG)
    else:
        log.setLevel(logging.ERROR)
        logging.getLogger("boto").setLevel(logging.CRITICAL)

    if not args.regions:
        args.regions = DEFAULT_REGIONS

    instances_to_tag = []
    for r in args.regions:
        instances_to_tag.extend(get_instances_to_tag(r))
        if instances_to_tag:
            populate_spot_requests_cache(
                r, [i.spot_instance_request_id for i in instances_to_tag])
            for i in instances_to_tag:
                log.debug("tagging %s", i)
                copy_spot_request_tags(i)
Esempio n. 2
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("-r",
                        "--region",
                        dest="regions",
                        action="append",
                        help="optional list of regions")
    parser.add_argument("-q",
                        "--quiet",
                        action="store_true",
                        help="Supress logging messages")
    parser.add_argument("-j", "--concurrency", type=int, default=4)

    args = parser.parse_args()

    logging.basicConfig(format="%(asctime)s - %(levelname)s - %(message)s")
    if not args.quiet:
        log.setLevel(logging.DEBUG)
    else:
        log.setLevel(logging.ERROR)
        logging.getLogger("boto").setLevel(logging.CRITICAL)

    if not args.regions:
        args.regions = DEFAULT_REGIONS

    instances_to_tag = []
    for r in args.regions:
        instances_to_tag.extend(get_instances_to_tag(r))
        if instances_to_tag:
            populate_spot_requests_cache(
                r, [i.spot_instance_request_id for i in instances_to_tag])
            for i in instances_to_tag:
                log.debug("tagging %s", i)
                copy_spot_request_tags(i)
def test_copy_spot_request_tags(m_get_spot_request):
    req = mock.Mock()
    req.tags = {"t1": "v1", "t2": "v2", "t3": "v3"}
    m_get_spot_request.return_value = req
    i = mock.Mock()
    i.tags = {"t3": "v0", "t4": "vx"}
    i.id = "id1"
    copy_spot_request_tags(i)
    i.connection.create_tags.assert_called_once_with(
        ["id1"], {"t1": "v1", "t2": "v2", "moz-state": "ready"})
def test_copy_spot_request_tags(m_get_spot_request):
    req = mock.Mock()
    req.tags = {"t1": "v1", "t2": "v2", "t3": "v3"}
    m_get_spot_request.return_value = req
    i = mock.Mock()
    i.tags = {"t3": "v0", "t4": "vx"}
    i.id = "id1"
    copy_spot_request_tags(i)
    i.connection.create_tags.assert_called_once_with(["id1"], {
        "t1": "v1",
        "t2": "v2",
        "moz-state": "ready"
    })
def test_no_req(m_get_spot_request):
    m_get_spot_request.return_value = None
    i = mock.Mock()
    copy_spot_request_tags(i)
    i.connection.create_tags.assert_not_called()
def test_no_req(m_get_spot_request):
    m_get_spot_request.return_value = None
    i = mock.Mock()
    copy_spot_request_tags(i)
    i.connection.create_tags.assert_not_called()