Esempio n. 1
0
def volume_delete(request, vol_id):
    resource_admin_auth(request)
    acc_num = None
    volume = None

    for vol in request.session['res_volumes']:
        if vol.volumeid == vol_id:
            acc_num = vol.accountnumber
            volume = vol
    if acc_num:
        euca_db = EucalyptusDB()
        usrList = euca_db.getEucalyptusUser()
        errors = []
        for usr in usrList:
            if usr.account_number == acc_num and usr.accesskey:
                try:
                    get_euca_info = GetEucalyptusInfo(usr)
                    get_euca_info.delete_volume(vol_id)
                    volume.status = "deleting"
                    request.session.modified = True

                except Exception, ex:
                    # Eucalyptusエラー
                    errors.append(euca_common.get_euca_error_msg('%s' % ex))
                    logger.warn(errors)
Esempio n. 2
0
def delete(request):
	"""削除ボタン(ボリューム)"""

	#セッションからログインユーザ情報を取得する
	login_user = request.session['ss_usr_user']

	# エラー情報
	errors = []

	logger.info('データボリュームメニュー 削除(ボリューム)開始')

	#入力フォーム
	form = volume_form.VolumeForm(request.POST)
	form.is_valid()

	#セッション情報との一致チェック
	selected = request.session['ss_vol_volumes_selected']
	if selected.db.volume_id != form.cleaned_data['volume_id']:
		errors.append("不正な画面遷移です。表示更新を行ってから再操作してください。")
		logger.warn(errors)
		return render_to_response('volume_list.html',{'form':form,'errors':errors},context_instance=RequestContext(request))

	#Eucalyptus操作
	try:
		#Eucalyptus基盤へのアクセサを生成する
		get_euca_info=GetEucalyptusInfo(login_user)
		# EBSボリューム削除
		get_euca_info.delete_volume(selected.db.volume_id)
	except Exception, ex:
		# Eucalyptusエラー
		errors.append(euca_common.get_euca_error_msg('%s' % ex))
		logger.warn(errors)
		return render_to_response('volume_list.html',{'form':form,'errors':errors},context_instance=RequestContext(request))