phpfog-fog 0.4.1.1 → 0.4.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/fog.gemspec CHANGED
@@ -7,7 +7,7 @@ Gem::Specification.new do |s|
7
7
  ## If your rubyforge_project name is different, then edit it and comment out
8
8
  ## the sub! line in the Rakefile
9
9
  s.name = 'phpfog-fog'
10
- s.version = '0.4.1.1'
10
+ s.version = '0.4.1.2'
11
11
  s.date = '2011-01-21'
12
12
  s.rubyforge_project = 'fog'
13
13
 
@@ -24,13 +24,13 @@ module Fog
24
24
 
25
25
  def destroy
26
26
  requires :id
27
- connection.grid_server_destroy(id)
27
+ connection.grid_server_delete(id)
28
28
  true
29
29
  end
30
30
 
31
31
  def image
32
32
  requires :image_id
33
- connection.grid_image_get(image_id)
33
+ connection.grid_image_get(:image => image_id)
34
34
  end
35
35
 
36
36
  def ready?
@@ -40,14 +40,50 @@ module Fog
40
40
  def save
41
41
  raise Fog::Errors::Error.new('Resaving an existing object may create a duplicate') if identity
42
42
  requires :name, :image_id, :ip, :memory
43
- options['isSandbox'] = sandbox if sandbox
44
- options['server.ram'] = memory
45
- options['image'] = image_id
43
+ options = {
44
+ 'isSandbox' => sandbox,
45
+ 'server.ram' => memory,
46
+ 'image' => image_id
47
+ }
48
+ options = options.reject {|key, value| value.nil?}
46
49
  data = connection.grid_server_add(name, image, ip, options)
50
+ puts data.body.inspect
47
51
  merge_attributes(data.body)
48
52
  true
49
53
  end
50
54
 
55
+ def ssh(commands)
56
+ requires :ip, :identity, :username
57
+
58
+ options = {}
59
+ options[:key_data] = [private_key] if private_key
60
+ Fog::SSH.new(ip['ip'], username, options).run(commands)
61
+ end
62
+
63
+ def setup(credentials = {})
64
+ requires :ip, :identity, :public_key, :username
65
+ Fog::SSH.new(ip['ip'], username, credentials).run([
66
+ %{mkdir .ssh},
67
+ %{echo "#{public_key}" >> ~/.ssh/authorized_keys},
68
+ %{passwd -l root},
69
+ %{echo "#{attributes.to_json}" >> ~/attributes.json},
70
+ %{echo "#{metadata.to_json}" >> ~/metadata.json}
71
+ ])
72
+ rescue Errno::ECONNREFUSED
73
+ sleep(1)
74
+ retry
75
+ end
76
+
77
+ def username
78
+ @username ||= 'root'
79
+ end
80
+
81
+ private
82
+
83
+ def adminPass=(new_admin_pass)
84
+ @password = new_admin_pass
85
+ end
86
+
51
87
  end
52
88
 
53
89
  end
@@ -6,11 +6,11 @@ module Fog
6
6
  # Create a new server
7
7
  #
8
8
  # ==== Parameters
9
+ # * 'name'<~String> - name of the server, 20 or fewer characters
9
10
  # * 'image'<~String> - image to use, in grid_image_list
10
11
  # * 'ip'<~String> - initial public ip for this server
11
- # * 'name'<~String> - name of the server, 20 or fewer characters
12
- # * 'server_ram'<~String> - flavor to use, in common_lookup_list('server.ram')
13
12
  # * 'options'<~Hash>:
13
+ # * 'server.ram'<~String> - flavor to use, in common_lookup_list('server.ram')
14
14
  # * 'description'<~String> - description of this server
15
15
  # * 'isSandbox'<~String> - treat this server as image sandbox? in ['true', 'false']
16
16
  #
@@ -18,14 +18,13 @@ module Fog
18
18
  # * response<~Excon::Response>:
19
19
  # * body<~Array>:
20
20
  # TODO: docs
21
- def grid_server_add(image, ip, name, server_ram, options={})
21
+ def grid_server_add(name, image, ip, options={})
22
22
  request(
23
23
  :path => 'grid/server/add',
24
24
  :query => {
25
25
  'image' => image,
26
26
  'ip' => ip,
27
27
  'name' => name,
28
- 'server.ram' => server_ram
29
28
  }.merge!(options)
30
29
  )
31
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: phpfog-fog
3
3
  version: !ruby/object:Gem::Version
4
- hash: 105
4
+ hash: 111
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 4
9
9
  - 1
10
- - 1
11
- version: 0.4.1.1
10
+ - 2
11
+ version: 0.4.1.2
12
12
  platform: ruby
13
13
  authors:
14
14
  - geemus (Wesley Beary)