Browse Source

AMBARI-14605: '[RAM_DISK]' configured in dfs.datanode.data.dir validates failed (yaolei via mithmatt)

Matt 9 years ago
parent
commit
1fce0cabb9
2 changed files with 7 additions and 4 deletions
  1. 3 3
      ambari-web/app/utils/validator.js
  2. 4 1
      ambari-web/test/utils/validator_test.js

+ 3 - 3
ambari-web/app/utils/validator.js

@@ -76,9 +76,9 @@ module.exports = {
    * @returns {boolean}
    */
   isValidDataNodeDir: function(value) {
-    var dirRegex = /^(\[[0-9a-zA-Z]+\])?(file:\/\/)?(\/[0-9a-z]*)/;
-    var winRegex = /^(\[[0-9a-zA-Z]+\])?[a-zA-Z]:\\[0-9a-zA-Z]*/;
-    var winUrlRegex = /^(\[[0-9a-zA-Z]+\])?file:\/\/\/[a-zA-Z]:\/[0-9a-zA-Z]*/;
+    var dirRegex = /^(\[[0-9a-zA-Z]+_?[0-9a-zA-Z]+\])?(file:\/\/)?(\/[0-9a-z]*)/;
+    var winRegex = /^(\[[0-9a-zA-Z]+_?[0-9a-zA-Z]+\])?[a-zA-Z]:\\[0-9a-zA-Z]*/;
+    var winUrlRegex = /^(\[[0-9a-zA-Z]+_?[0-9a-zA-Z]+\])?file:\/\/\/[a-zA-Z]:\/[0-9a-zA-Z]*/;
     var dirs = value.split(',');
     if (dirs.some(function (i) {return i.startsWith(' '); })) {
       return false;

+ 4 - 1
ambari-web/test/utils/validator_test.js

@@ -332,7 +332,10 @@ describe('validator', function () {
       {m:'"[ssd] /1a2b3c" - invalid',i:'[ssd] /1a2b3c',e:false},
       {m:'"[/1a2b3c]" - invalid',i:'[/1a2b3c]',e:false},
       {m:'"[s]ss /sd" - invalid',i:'[s]ss /sd',e:false},
-      {m:'" [s]ss/sd" - invalid',i:' [s]ss/sd',e:false}
+      {m:'" [s]ss/sd" - invalid',i:' [s]ss/sd',e:false},
+      {m:'"[RAM_DISK]/1a2b3c" - valid',i:'[RAM_DISK]/1a2b3c',e:true},
+      {m:'"[RAMDISK_]/1a2b3c" - invalid',i:'[RAMDISK_]/1a2b3c',e:false},
+      {m:'"[_RAMDISK]/1a2b3c" - invalid',i:'[_RAMDISK]/1a2b3c',e:false}
     ];
     tests.forEach(function(test) {
       it(test.m + ' ', function () {