incubator-deltacloud-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mfoj...@apache.org
Subject svn commit: r1155541 - in /incubator/deltacloud/trunk/server: lib/deltacloud/drivers/mock/mock_driver.rb public/javascripts/application.js views/instances/new.html.haml
Date Tue, 09 Aug 2011 20:16:04 GMT
Author: mfojtik
Date: Tue Aug  9 20:16:03 2011
New Revision: 1155541

URL: http://svn.apache.org/viewvc?rev=1155541&view=rev
Log:
Mock: Support for user-data testing

Signed-off-by: Michal fojtik <mfojtik@redhat.com>

Modified:
    incubator/deltacloud/trunk/server/lib/deltacloud/drivers/mock/mock_driver.rb
    incubator/deltacloud/trunk/server/public/javascripts/application.js
    incubator/deltacloud/trunk/server/views/instances/new.html.haml

Modified: incubator/deltacloud/trunk/server/lib/deltacloud/drivers/mock/mock_driver.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/lib/deltacloud/drivers/mock/mock_driver.rb?rev=1155541&r1=1155540&r2=1155541&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/lib/deltacloud/drivers/mock/mock_driver.rb (original)
+++ incubator/deltacloud/trunk/server/lib/deltacloud/drivers/mock/mock_driver.rb Tue Aug 
9 20:16:03 2011
@@ -85,6 +85,7 @@ class MockDriver < Deltacloud::BaseDrive
   end
 
   feature :instances, :user_name
+  feature :instances, :user_data
   feature :instances, :authentication_key
 
   def initialize
@@ -221,7 +222,8 @@ class MockDriver < Deltacloud::BaseDrive
       :instance_profile => InstanceProfile.new(hwp.name, opts),
       :realm_id=>realm_id,
       :create_image=>true,
-      :actions=>instance_actions_for( 'RUNNING' )
+      :actions=>instance_actions_for( 'RUNNING' ),
+      :user_data => opts[:user_data]
     }
     File.open( "#{@storage_root}/instances/#{next_id}.yml", 'w' ) {|f|
       YAML.dump( instance, f )

Modified: incubator/deltacloud/trunk/server/public/javascripts/application.js
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/public/javascripts/application.js?rev=1155541&r1=1155540&r2=1155541&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/public/javascripts/application.js (original)
+++ incubator/deltacloud/trunk/server/public/javascripts/application.js Tue Aug  9 20:16:03
2011
@@ -17,6 +17,58 @@ $(document).ready(function() {
 
 })
 
+// NOTE: This code was copied from http://phpjs.org/functions/base64_encode:358
+// phpjs.org license it under the MIT and GPL licenses
+
+function encodeb64 () {
+  // Encodes string using MIME base64 algorithm
+  //
+  // version: 1107.2516
+  // discuss at: http://phpjs.org/functions/base64_encode    // +   original by: Tyler Akins
(http://rumkin.com)
+  // +   improved by: Bayron Guevara
+  // +   improved by: Thunder.m
+  // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
+  // +   bugfixed by: Pellentesque Malesuada    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
+  // -    depends on: utf8_encode
+  // *     example 1: base64_encode('Kevin van Zonneveld');
+  // *     returns 1: 'S2V2aW4gdmFuIFpvbm5ldmVsZA=='
+  // mozilla has this native    // - but breaks in 2.0.0.12!
+  //if (typeof this.window['atob'] == 'function') {
+  //    return atob(data);
+  //}
+  var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";    var o1,
o2, o3, h1, h2, h3, h4, bits, i = 0,
+      ac = 0,
+      enc = "",
+      tmp_arr = [];
+
+  var data = $("textarea#user_data").attr('value');
+
+  do { // pack three octets into four hexets
+    o1 = data.charCodeAt(i++);
+    o2 = data.charCodeAt(i++);
+    o3 = data.charCodeAt(i++);
+    bits = o1 << 16 | o2 << 8 | o3;
+
+    h1 = bits >> 18 & 0x3f;
+    h2 = bits >> 12 & 0x3f;        h3 = bits >> 6 & 0x3f;
+    h4 = bits & 0x3f;
+
+    // use hexets to index into b64, and append result to encoded string
+    tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);  
 } while (i < data.length);
+
+    enc = tmp_arr.join('');
+
+    switch (data.length % 3) {    case 1:
+      enc = enc.slice(0, -2) + '==';
+      break;
+      case 2:
+      enc = enc.slice(0, -1) + '=';        break;
+    }
+
+    $("textarea#user_data").attr('value', enc);
+    return false;
+}
+
 function more_fields()
 {
   //increment the hidden input that captures how many meta_data are passed

Modified: incubator/deltacloud/trunk/server/views/instances/new.html.haml
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/views/instances/new.html.haml?rev=1155541&r1=1155540&r2=1155541&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/views/instances/new.html.haml (original)
+++ incubator/deltacloud/trunk/server/views/instances/new.html.haml Tue Aug  9 20:16:03 2011
@@ -12,6 +12,13 @@
     %div{ 'data-role' => :collapsible, 'data-collapsed' => "true"}
       %h3 Additional parameters
 
+      - if driver_has_feature?(:user_data)
+        %div{ 'data-role' => :fieldcontain }
+          %label{ :for => :user_data} Base64 encoded user-data:
+          %textarea{ :id => :user_data, :name => :user_data, :value => '' }
+          %br/
+          %a{ :href => "", :onclick => 'encodeb64();', :'data-ajax' => 'false'}
Encode data
+
       - if driver_has_feature?(:instance_count)
         %div{ 'data-role' => :fieldcontain }
           %label{ :for => :instance_count} # of instances to be launched:



Mime
View raw message