Permalink
Browse files

Merge branch 'maint/3.2/testing' of git.eucalyptus-systems.com:eucaly…

…ptus into maint/3.2/testing
  • Loading branch information...
2 parents e36fd1c + 9eba235 commit b9beed879368d17ac61791aedf9014d1c9906620 @dkavanagh dkavanagh committed Nov 21, 2012
@@ -77,6 +77,8 @@
/* Metric names */
public static final String METRIC_NET_IN_BYTES = "NetworkIn";
public static final String METRIC_NET_OUT_BYTES = "NetworkOut";
+ public static final String METRIC_NET_EXT_IN_BYTES = "NetworkInExternal";
+ public static final String METRIC_NET_EXT_OUT_BYTES = "NetworkOutExternal";
public static final String METRIC_DISK_IN_BYTES = "DiskReadBytes";
public static final String METRIC_DISK_OUT_BYTES = "DiskWriteBytes";
public static final String METRIC_DISK_READ_OPS = "DiskReadOps";
@@ -285,11 +287,11 @@ private static void addMetricValueToUsageEntity( InstanceUsageArtEntity usage, S
usage.addNetTotalInBytes( value );
} else if ( metric.equals( METRIC_NET_OUT_BYTES ) && dim.equals( DIM_TOTAL ) ) {
usage.addNetTotalOutBytes( value );
- } else if ( metric.equals( METRIC_NET_IN_BYTES ) && dim.equals( DIM_EXTERNAL ) ) {
+ } else if ( metric.equals( METRIC_NET_EXT_IN_BYTES ) && dim.equals( DIM_DEFAULT ) ) {
usage.addNetExternalInBytes( value );
- } else if ( metric.equals( METRIC_NET_OUT_BYTES ) && dim.equals( DIM_EXTERNAL ) ) {
+ } else if ( metric.equals( METRIC_NET_EXT_OUT_BYTES ) && dim.equals( DIM_DEFAULT ) ) {
usage.addNetExternalOutBytes( value );
- } else if ( metric.equals( METRIC_DISK_IN_BYTES ) ) {
+ } else if ( metric.equals( METRIC_DISK_IN_BYTES ) ) {
usage.addDiskReadBytes( value );
} else if ( metric.equals( METRIC_DISK_OUT_BYTES ) ) {
usage.addDiskWriteBytes( value );
@@ -186,7 +186,7 @@ public static Document addUsageCols( final Document doc,
doc.addValCol((long)entity.getInstanceCnt());
doc.addValCol(UnitUtil.convertTime(entity.getDurationMs(), TimeUnit.MS, units.getTimeUnit()));
if (entity.getDurationMs()>0) {
- doc.addValCol(entity.getCpuUtilizationMs()==null?null:(100.0d * (double)entity.getCpuUtilizationMs()/(double)entity.getDurationMs())); // Percentage, so multiply ratio by 100
+ doc.addValCol(entity.getCpuUtilizationMs()==null?0.0d:(100.0d * (double)entity.getCpuUtilizationMs()/(double)entity.getDurationMs())); // Percentage, so multiply ratio by 100
} else {
doc.addValCol(0d); //Doesn't work if you divide by zero
}
@@ -27,7 +27,6 @@
import com.eucalyptus.cluster.callback.DescribeSensorCallback;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
import java.util.concurrent.TimeUnit;
import com.eucalyptus.util.async.AsyncRequests;
@@ -45,7 +44,6 @@
import com.eucalyptus.event.Listeners;
import com.google.common.base.Predicates;
import com.google.common.collect.Iterables;
-import com.google.common.collect.Iterators;
import com.google.common.collect.Lists;
@ConfigurableClass( root = "reporting", description = "Parameters controlling reporting")
@@ -30,8 +30,7 @@ login_failure_title = 요청에 문제가 있었습니다.
login_failure = 계정/사용자/비밀번호 조합에 문제가 있었습니다. 다시 시도하세요.
login_timeout = 보안을 위해 자동으로 혹은 예상치 못한 에러로 로그아웃 되었습니다. 잠시후 다시 시도해 보세요. 문제가 지속될때는 {0}에게 연락하세요.
connection_failure = 예상치 못한 문제가 발생했습니다. 후에 다시 시도해 보세요. 문제가 지속될때는 {0}에게 연락 하세요.
-#warning - translation not found
-unsupported_browser = The browser version you are using is not supported, and may result in unpredictable behavior or incomplete functionality. To use the Eucalyptus Management Console you should be running one of the following browsers (minimum required version): Chrome 22, Firefox 15, Safari 6, or IE 9.
+unsupported_browser = 현재 사용중인 브라우저는 지원되지 않으므로 사용중 기능상의 문제가 발생할 수 있습니다. 유칼립투스 콘솔은 현재 다음 브라우저를 지원합니다: 크롬 22, 파이어팍스 15, 사파리 6, 인터넷 익스플로러 9
#[table]
table_menu_main_action = 메뉴선택
@@ -69,12 +68,9 @@ keypair_create_error = 키 쌍 {0}을 만드는데 실패 했습니다. 다시
keypair_delete_success = 키 쌍 {0}을 지웠습니다. 테이블이 업데이트 되기까지 몇분의 시간이 소요될 수 있습니다.
keypair_delete_error = 키 쌍 {0}을 지우는데 실패했습니다. 다시 시도하세요.
-#warning - translation not found
-keypair_delete_progress = Deleting {0} key pair(s).
-#warning - translation not found
-keypair_delete_done = Successfully sent delete request to Cloud for {0} of {1} key pair(s).
-#warning - translation not found
-keypair_delete_fail = Failed to send delete request to Cloud for {0} key pair(s). <a href="#">Click here for details. </a>
+keypair_delete_progress = {0}개의 키쌍을 지웁니다.
+keypair_delete_done = {1}개중 {0}의 키 쌍을 성공적으로 지웠습니다.
+keypair_delete_fail = {0}개의 키 쌍을 지우는데 실패했습니다. <a href="#">상세한 내용은 이곳을 클릭하세요.</a>
keypair_import_success = 키{0}을 반입했습니다.테이블이 업데이트 되기까지 몇분의 시간이 소요될 수 있습니다.
keypair_import_error = 키 {0}을 반입하는데 실패했습니다. 다음에 다시 시도하세요.
@@ -133,12 +129,9 @@ sgroup_create_error = 보안 그룹 {0}을 만드는데 실패했습니다. 다
sgroup_delete_success = 보안 그룹 {0}을 지웠습니다. 테이블이 업데이트 되기까지 몇분의 시간이 소요될 수 있습니다.
sgroup_delete_error = 보안 그룹 {0}을 지우는데 실패했습니다. 다시 시도해 주세요.
-#warning - translation not found
-sgroup_delete_progress = Deleting {0} security group(s).
-#warning - translation not found
-sgroup_delete_done = Successfully sent delete request to Cloud for {0} of {1} security group(s).
-#warning - translation not found
-sgroup_delete_fail = Failed to send delete request to Cloud for {0} security group(s). <a href="#">Click here for details. </a>
+sgroup_delete_progress = {0}개의 보안그룹을 지웁니다.
+sgroup_delete_done = 요청한 {1}개중 {0}개의 보안 그룹을 지우는데 성공했습니다.
+sgroup_delete_fail = {0}개의 보안 그룹을 지우는데 실패했습니다. <a href="#">상세한 내용은 이곳을 클릭하세요.</a>
sgroup_dialog_add_title = 새로운 보안 그룹 만들기
sgroup_dialog_del_title = 보안 그룹 지우기
@@ -215,25 +208,19 @@ volume_dialog_del_text = <p>볼륨의 모든 데이터들은 지워집니다.</p
volume_dialog_del_btn = 네, 지웁니다
volume_delete_success = 볼륨 {0} 을 지우기 시작했습니다. 테이블이 업데이트 되기까지 몇분의 시간이 소요될 수 있습니다.
volume_delete_error = 볼륨 {0} 을 지우는데 실패했습니다. 다시 시도해 주세요.
-#warning - translation not found
-volume_delete_progress = Deleting {0} volume(s).
-#warning - translation not found
-volume_delete_done = Successfully sent delete request to Cloud for {0} of {1} volume(s).
-#warning - translation not found
-volume_delete_fail = Failed to send delete request to Cloud for {0} volume(s). <a href="#">Click here for details. </a>
+volume_delete_progress = {0}개의 볼륨을 지웁니다.
+volume_delete_done = 요청한 {1}개중 {0}개의 볼륨을 지우는데 성공했습니다.
+volume_delete_fail = {0}개의 볼륨을 지우는데 실패했습니다. <a href="#">상세한 내용은 이곳을 클릭하세요.</a>
#[volume detach and force detach dialogs]
volume_dialog_detach_title = 볼륨 분리하기
volume_dialog_detach_text = <p>볼륨을 분리할 경우 인스턴스는 더이상 볼륨으로부터 데이터를 읽거나 볼륨에 데이터를 쓰지 못합니다.</p> <p>다음 볼륨들을 분리하겠습니까?</p>
volume_dialog_detach_btn = 네, 분리합니다
volume_detach_success = 볼륨 {0}을 분리하기 시작했습니다. 테이블이 업데이트 되기까지 몇분의 시간이 소요될 수 있습니다.
volume_detach_error = 볼륨 {0}을 분리하는데 실패했습니다. 테이블이 업데이트 되기까지 몇분의 시간이 소요될 수 있습니다.
-#warning - translation not found
-volume_detach_progress = Detaching {0} volume(s).
-#warning - translation not found
-volume_detach_done = Successfully sent detach request to Cloud for {0} of {1} volume(s).
-#warning - translation not found
-volume_detach_fail = Failed to send detach request to Cloud for {0} volume(s). <a href="#">Click here for details. </a>
+volume_detach_progress = {0}개의 볼륨을 분리합니다.
+volume_detach_done = 요청한 {1}개중 {0}개의 볼륨을 분리하는데 성공했습니다.
+volume_detach_fail = {0}개의 볼륨을 분리하는데 실패했습니다. <a href="#"> 상세한 내용은 이곳을 클릭하세요.</a>
#[volume create dialog]
volume_dialog_create_btn = 볼륨 생성하기
@@ -311,26 +298,18 @@ snapshot_create_dialog_error_msg = 규칙에 맞는 볼륨 아이디를 입력
#[snapshot delete dialog]
snapshot_delete_dialog_text = <p>다음의 스냅샷들을 지우겠습니까?</p>
-#warning - translation not found
-snapshot_delete_dialog_with_dereg_text = Some of your selected snapshots have been registered as images. When you delete those snapshots the images will also be de-registered. Are you sure you want to delete the following snapshots?
-#warning - translation not found
-snapshot_delete_registered_text = Registered as image?
+snapshot_delete_dialog_with_dereg_text = 선택한 스냅샷중에 이미지로 등록된 것들이 있습니다. 스냅샷들을 지울 경우 이미지들도 자동으로 등록해제 됩니다. 다음 스냅샷들을 지우겠습니까?
+snapshot_delete_registered_text = 이미지로 등록?
snapshot_delete_dialog_title = 스냅샷 지우기
snapshot_dialog_del_btn = 네, 지웁니다
snapshot_delete_success = 스냅샷 {0} 을 지우기 시작했습니다. 테이블이 업데이트 되기까지 몇분의 시간이 소요될 수 있습니다.
snapshot_delete_error = 스냅샷 {0}을 지우는데 실패 했습니다. 다시 시도해 주세요.
-#warning - translation not found
-snapshot_delete_progress = Deleting {0} snapshot(s).
-#warning - translation not found
-snapshot_delete_done = Successfully sent delete request to Cloud for {0} of {1} snapshot(s).
-#warning - translation not found
-snapshot_delete_fail = Failed to send delete request to Cloud for {0} snapshot(s). <a href="#">Click here for details.</a>
-#warning - translation not found
-snapshot_delete_image_progress = De-registering {0} image(s).
-#warning - translation not found
-snapshot_delete_image_done = Successfully sent de-register request to Cloud for {0} of {1} images(s).
-#warning - translation not found
-snapshot_delete_image_fail = Failed to send de-register request to Cloud for {0} image(s). <a href="#">Click here for details.</a>
+snapshot_delete_progress = {0}개의 스냅샷을 지웁니다.
+snapshot_delete_done = 요청한 {1}개중 {0}개의 스냅샷을 지우는데 성공했습니다.
+snapshot_delete_fail = {0}개의 스냅샷을 지우는데 실패했습니다. <a href="#">상세한 내용은 이곳을 클릭하세요.</a>
+snapshot_delete_image_progress = {0}개 이미지의 등록을 해제합니다.
+snapshot_delete_image_done = 요청한 {1}개중 {0}개의 이미지를 등록해제하는데 성공했습니다.
+snapshot_delete_image_fail = {0}개의 이미지를 등록해제하는데 실패했습니다.<a href="#">상세한 내용은 이곳을 클릭하세요.</a>
#[snapshot register dialog]
snapshot_register_dialog_text = 루트 파일 시스템을 포함하는 볼륨으로 부터 스냅샷이 추출된 경우, 스냅샷을 이미지로 등록 할 수 있습니다. 이미지는 곧 EBS 기반의 인스턴스로 실행할 수 있습니다.
@@ -370,12 +349,9 @@ eip_allocate_dialog_count_label = 몇개의 IP주소를 할당받겠습니까?
eip_allocate_dialog_count_tip = 할당 받을 IP주소의 갯수를 입력하세요.
eip_allocate_success = 새 IP 주소를 할당받았습니다. 테이블이 업데이트 되기까지 몇분의 시간이 소요될 수 있습니다.
eip_allocate_error = 요청한 모든 IP 주소를 할당 받지 못했습니다. 현재 소유한 IP 주소보다 더 많은 IP 주소를 할당 받을 수 있는지 확인하고, 다시 시도해 주세요.
-#warning - translation not found
-eip_allocate_progress = Allocating {0} IP address(es).
-#warning - translation not found
-eip_allocate_done = Successfully sent allocate request to Cloud for {0} of {1} IP address(es).
-#warning - translation not found
-eip_allocate_fail = Failed to send allocate request to Cloud for {0} IP address(es). <a href="#">Click here for details. </a>
+eip_allocate_progress = {0}개의 IP주소를 할당합니다.
+eip_allocate_done = 요청한 {1}개중 {0}개의 IP주소를 할당하는데 성공했습니다.
+eip_allocate_fail = {0}개의 IP주소를 할당하는데 실패했습니다. <a href="#">상세한 내용은 이곳을 클릭하세요. </a>
eip_allocate_count_error_msg = 전체의 갯수를 입력하세요.
#[IP associate dialog]
@@ -394,25 +370,19 @@ eip_release_dialog_title = IP 주소를 클라우드로 해제
eip_release_dialog_release_btn = 네, 해제합니다
eip_release_success = IP주소들이 클라우드로 해제되었습니다. 테이블이 업데이트 되기까지 몇분의 시간이 소요될 수 있습니다.
eip_release_error = 지정된 IP주소를 해제할수 없었습니다. 다시 시도해 주세요.
-#warning - translation not found
-eip_release_progress = Releasing {0} IP address(es).
-#warning - translation not found
-eip_release_done = Successfully sent release request to Cloud for {0} of {1} IP address(es).
-#warning - translation not found
-eip_release_fail = Failed to send release request to Cloud for {0} IP address(es). <a href="#">Click here for details. </a>
+eip_release_progress = {0}개의 IP주소를 해제합니다.
+eip_release_done = 요청한 {1}개중 {0}개의 IP주소를 해제하는데 성공했습니다.
+eip_release_fail = {0}개의 IP주소를 해제하는데 실패했습니다. <a href="#">상세한 내용은 이곳을 클릭하세요. </a>
#[IP disassociate dialog]
eip_disassociate_dialog_text = <p>IP 주소를 인스턴스로부터 분리할 경우, 더 이상 인스턴스에 해당 IP 주소로 접속 할 수 없습니다.</p> <p>다음 IP 주소들을 인스턴스로부터 분리하겠습니까?</p>
eip_disassociate_dialog_title = 인스턴스로부터 IP 주소 분리
eip_disassociate_dialog_disassociate_btn = 네, 분리합니다
eip_disassociate_success = {0}가 인스턴스로부터 분리되었습니다. 테이블이 업데이트 되기까지 몇분의 시간이 소요될 수 있습니다.
eip_disassociate_error = IP {0}를 인스턴스로부터 분리하지 못했습니다. 다시 시도해 주세요.
-#warning - translation not found
-eip_disassociate_progress = Disassociating {0} IP address(es).
-#warning - translation not found
-eip_disassociate_done = Successfully sent disassociate request to Cloud for {0} of {1} IP address(es).
-#warning - translation not found
-eip_disassociate_fail = Failed to send disassociate request to Cloud for {0} IP address(es). <a href="#">Click here for details. </a>
+eip_disassociate_progress = {0}개의 IP주소를 분리합니다.
+eip_disassociate_done = 요청한 {1}개중 {0}개의 IP주소를 분리하는데 성공했습니다.
+eip_disassociate_fail = {0}개의 IP주소를 분리하는데 실패했습니다. <a href="#">상세한 내용은 이곳을 클릭하세요. </a>
#[instance]
instance_h_title = 인스턴스 관리
@@ -485,8 +455,7 @@ instance_start_error = 인스턴스 {0}를 시작하지 못했습니다. 다시
instance_dialog_connect_username = 계정
instance_dialog_connect_password = 비밀번호
instance_dialog_connect_getpassword = {0}의 비밀번호 찾기
-#warning - translation not found
-instance_dialog_password_error = Failed to retrieve password
+instance_dialog_password_error = 패스워드를 찾는데 실패했습니다
instance_dialog_connect_title = 인스턴스에 접속하기
instance_dialog_connect_linux_text = <p> 인스턴스에 접속하기 전, 보안 그룹 "{0}"의 룰이 TCP 포트 22번을 들어오는 트래픽에 허용하는지 확인한 후 다음을 실행하세요 (이 도움말은 인스턴스 실행시 키 쌍을 선택하지 않은 경우 해당되지 않습니다):</p> <ol> <li> SSH 터미널 어플리케이션을 실행합니다. </li> <li>비밀 키 파일 "{1}.pem" 이 저장되어 있는 디렉토리로 이동합니다.</li> <li> 다음 명령을 실행하여 비밀 키 파일에 적절한 권한을 허용합니다: <span class="dialog_command_line"> chmod 400 {1}.pem; </span> </li> <li> 인스턴스의 외부 IP 주소로 다음 명령을 실행해 접속합니다. <span class="dialog_command_line"> ssh -i {1}.pem root@{2} </span></li> </ol>
@@ -742,10 +711,10 @@ rule_label = 룰:
search_label = 검색
showing_label = 보기:
showing_all = 모두
-alphanum_warning = ''
-long_description = ''
+alphanum_warning = 알파벳, 스페이스, 대쉬, 밑줄만 허용됩니다.
+long_description = 설명은 256글자 이내로 제한됩니다.
-error_loading_help_file = Error - 도움말 페이지를 찾을 수 없습니다.
+error_loading_help_file = 오류 - 도움말 페이지를 찾을 수 없습니다.
#[time format]
# see http://momentjs.com/docs/ for more information
@@ -55,18 +55,18 @@ def build_map (file_path, key_arr=None):
from optparse import OptionParser
from argparse import ArgumentParser
- parser = OptionParser(usage='Usage: %prog -t target_language [-t target ..]')
- parser.add_option('-t', '--target', help='Target language (e.g., ko_KR)', action='append', default=[], dest='target')
+ parser = OptionParser(usage='Usage: %prog -l language [-l language ..]')
+ parser.add_option('-l', '--lang', help='Language (e.g., ko_KR)', action='append', default=[], dest='language')
(options, args) = parser.parse_args()
- if not options.target or len(options.target) <= 0:
+ if not options.language or len(options.language) <= 0:
parser.print_help()
exit(-1)
source_arr = []
source_map= build_map('./Messages_en_US.properties', source_arr);
# open en_US properties file and build a map
- for lang in options.target:
+ for lang in options.language:
print "Processing lanugage: %s" % lang
dest_path = 'Messages_%s.properties' % lang
dest_map = build_map(dest_path);
@@ -57,11 +57,12 @@
$('<img>').attr('id','login-spin-wheel').attr('src','images/dots32.gif'));
var param = {
- account:$form.find('input[id=account]').val(),
- username:$form.find('input[id=username]').val(),
- password:$form.find('input[id=password]').val(),
+ account:trim($form.find('input[id=account]').val()),
+ username:trim($form.find('input[id=username]').val()),
+ password:trim($form.find('input[id=password]').val()),
remember:$form.find('input[id=remember]').attr('checked')
};
+
thisObj._trigger('doLogin', evt, { param: param,
onSuccess: function(args){
$login.remove();
@@ -575,3 +575,10 @@ function sortArray(array, comperator){
return array;
return mergeSort(array, 0, array.length-1);
}
+
+function trim (str) {
+ if(str)
+ return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
+ else
+ return str;
+}

0 comments on commit b9beed8

Please sign in to comment.