コード例 #1
0
ファイル: image_views.py プロジェクト: to-aoki/Cocuuma
def createImageModelList(images=[]):
    image_model_List = []

    euca_metadata = EucalyptusMetadataDB()
    image_snapshot_list = euca_metadata.getImageSnapshotList()

    for image in images:
        if not Image.objects.filter(image_id=image.id):
            new_image = Image()
            new_image.image_id = image.id
            new_image.name = "新しいOSイメージ"
            new_image.description = ""
            new_image.save()
            logger.debug('新しいOSイメージを登録しました: %s' % image.id.encode('utf8'))

    for image in images:
        if image.type == "machine":
            #(account_id, owner) = getUserFromImage(image)
            #logger.debug("account_id:%s owner:%s" % (account_id, owner))
            image_model = euca_common.createImageModel(images, image.id)
            if image_model != None:
                if image_model.root_device_type == "ebs":
                    for snap in image_snapshot_list:
                        if snap.image_id == image_model.id:
                            image_model.image_snapshot = snap.snapshot_id
                            break
                image_model_List.append(image_model)

    return image_model_List
コード例 #2
0
ファイル: image_views.py プロジェクト: to-aoki/Cocuuma
def createstep3(request):

    logger.info('OSイメージ作成 Step3のOSイメージの登録処理')

    register = RegisterOSImage(request)
    image_id = ""

    if request.session['ss_img_selectimagetype'] == 'machine':
        image_id = register.registerOSImage()
    elif request.session['ss_img_selectimagetype'] == 'kernel':
        image_id = register.registerKernel()
    elif request.session['ss_img_selectimagetype'] == 'ramdisk':
        image_id = register.registerRamdisk()
    else:
        logger.error('selectImageType error .')
        raise Exception('selectImageType error .')

    new_db_image = Image()
    new_db_image.image_id = image_id
    new_db_image.name = request.session['ss_img_name']
    new_db_image.description = request.session['ss_img_description']

    new_db_image.save()

    #セッションからログインユーザ情報を取得する
    login_user = request.session['ss_usr_user']
    #Eucalyptus基盤へのアクセサを生成する
    get_euca_info = GetEucalyptusInfo(login_user)

    #ログインユーザのイメージの一覧を取得
    images = get_euca_info.get_image()

    #イメージモデルのリストを取得
    image_model_List = createImageModelList(images)

    selectImageNumber = 0

    count = 0
    for i in image_model_List:

        if image_id == i.id:
            selectImageNumber = count
            break

        count = count + 1

    #セッションに選択中のイメージナンバーの情報を保持する
    request.session['ss_img_selectNumber'] = selectImageNumber

    #セッションに選択中のイメージのIDの情報を保持する
    request.session['ss_img_selectID'] = image_id

    message = ""

    form = ImageModForm({
        'image_name':
        image_model_List[selectImageNumber].name,
        'image_description':
        image_model_List[selectImageNumber].description
    })

    logger.info('OSイメージ作成 完了 image_id=%s' % image_id)

    return render_to_response('image_list.html', {
        'image_model_List': image_model_List,
        'form': form,
        'message': message
    },
                              context_instance=RequestContext(request))