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)
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))