예제 #1
0
파일: ssh_onstor.py 프로젝트: pijany/ralph
def _save_device(ip, name, model_name, sn, mac):
    model, model_created = DeviceModel.concurrent_get_or_create(
        name = 'Onstor %s' % model_name, type=DeviceType.storage.id)
    dev, dev_created = Device.concurrent_get_or_create(sn=sn, model=model)
    dev.save()
    ipaddr, ip_created = IPAddress.concurrent_get_or_create(address=ip)
    ipaddr.device = dev
    ipaddr.is_management = True
    ipaddr.save(update_last_seen=True)
    dev.management = ipaddr
    dev.save(update_last_seen=True)
    return dev
예제 #2
0
def _save_device(ip, name, model_name, sn, mac):
    model, model_created = DeviceModel.concurrent_get_or_create(
        name='Onstor %s' % model_name, type=DeviceType.storage.id)
    dev, dev_created = Device.concurrent_get_or_create(sn=sn, model=model)
    dev.save()
    ipaddr, ip_created = IPAddress.concurrent_get_or_create(address=ip)
    ipaddr.device = dev
    ipaddr.is_management = True
    ipaddr.save(update_last_seen=True)
    dev.management = ipaddr
    dev.save(update_last_seen=True)
    return dev
예제 #3
0
파일: ssh_3par.py 프로젝트: damjanek/ralph
def _save_device(ip, name, model_name, sn):
    model, model_created = DeviceModel.concurrent_get_or_create(
        name='3PAR %s' % model_name,
        defaults={'type': DeviceType.storage.id},
    )
    dev = Device.create(sn=sn, model=model)
    ipaddr, ip_created = IPAddress.concurrent_get_or_create(address=ip)
    ipaddr.device = dev
    ipaddr.is_management = True
    ipaddr.save()
    dev.management = ipaddr
    dev.save()
    return dev
예제 #4
0
def _save_device(ip, name, model_name, sn):
    model, model_created = DeviceModel.concurrent_get_or_create(
        name='3PAR %s' % model_name,
        defaults={'type': DeviceType.storage.id},
    )
    dev = Device.create(sn=sn, model=model)
    ipaddr, ip_created = IPAddress.concurrent_get_or_create(address=ip)
    ipaddr.device = dev
    ipaddr.is_management = True
    ipaddr.save()
    dev.management = ipaddr
    dev.save()
    return dev
예제 #5
0
파일: position.py 프로젝트: szaydel/ralph
def _make_dc_rack(dc_no, rack_no):
    if dc_no is None:
        return None, None
    dev_model, created = DeviceModel.concurrent_get_or_create(
            name='Data center', type=DeviceType.data_center.id)
    dc, created = Device.concurrent_get_or_create(sn=dc_no,
                                                   model=dev_model)
    if created:
        dc.name = dc_no
    dc.save(update_last_seen=True)

    if rack_no is None:
        rack = None
    else:
        rack_name = 'Rack %s' % rack_no
        dev_model, created = DeviceModel.concurrent_get_or_create(
                name='Rack', type=DeviceType.rack.id)
        rack, created = Device.concurrent_get_or_create(
                sn=rack_name, model=dev_model)
        if created:
            rack.name = rack_name
        rack.parent = dc
        rack.save(update_last_seen=True)
    return dc, rack
예제 #6
0
def _make_dc(dc_no):
    if dc_no is None:
        return None
    dev_model, created = DeviceModel.concurrent_get_or_create(
        name='Data center',
        defaults={
            'type': DeviceType.data_center.id,
        },
    )
    dc, created = Device.concurrent_get_or_create(
        sn=dc_no,
        defaults={
            'model': dev_model,
        },
    )
    if created:
        dc.name = dc_no
    dc.save(update_last_seen=True)
    return dc
예제 #7
0
파일: position.py 프로젝트: 4i60r/ralph
def _make_dc(dc_no):
    if dc_no is None:
        return
    dev_model, created = DeviceModel.concurrent_get_or_create(
        name='Data center',
        defaults={
            'type': DeviceType.data_center.id,
        },
    )
    dc, created = Device.concurrent_get_or_create(
        sn=dc_no,
        defaults={
            'model': dev_model,
        },
    )
    if created:
        dc.name = dc_no
    dc.save(update_last_seen=True)
    return dc