ey_cloud_server 1.4.34 → 1.4.36
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +2 -1
- data/Rakefile +4 -15
- data/features/support/env.rb +3 -1
- data/lib/ey-flex/big-brother.rb +2 -2
- data/lib/ey-flex.rb +0 -3
- data/lib/ey_backup.rb +47 -0
- data/lib/ey_cloud_server/version.rb +1 -1
- data/spec/ey_backup/postgres_backups_spec.rb +1 -1
- data/spec/helpers.rb +8 -11
- data/spec/spec_helper.rb +3 -3
- metadata +99 -112
- data/.gitignore +0 -10
- data/Gemfile +0 -44
- data/Gemfile.lock +0 -131
- data/ey_cloud_server.gemspec +0 -31
- data/lib/ey-flex/ec2.rb +0 -17
- data/script/ci +0 -30
- data/tmp/.gitignore +0 -0
- data/vendor/cache/ParseTree-3.0.6.gem +0 -0
- data/vendor/cache/RubyInline-3.8.6.gem +0 -0
- data/vendor/cache/ZenTest-4.4.0.gem +0 -0
- data/vendor/cache/abstract-1.0.0.gem +0 -0
- data/vendor/cache/aws-s3-0.6.2.gem +0 -0
- data/vendor/cache/builder-2.1.2.gem +0 -0
- data/vendor/cache/chef-0.6.0.2.gem +0 -0
- data/vendor/cache/chef-deploy-0.2.5.gem +0 -0
- data/vendor/cache/columnize-0.3.1.gem +0 -0
- data/vendor/cache/cucumber-0.9.2.gem +0 -0
- data/vendor/cache/dbd-mysql-0.4.4.gem +0 -0
- data/vendor/cache/dbi-0.4.5.gem +0 -0
- data/vendor/cache/deprecated-2.0.1.gem +0 -0
- data/vendor/cache/diff-lcs-1.1.2.gem +0 -0
- data/vendor/cache/erubis-2.6.6.gem +0 -0
- data/vendor/cache/excon-0.6.2.gem +0 -0
- data/vendor/cache/extlib-0.9.15.gem +0 -0
- data/vendor/cache/ey_enzyme-0.9.18.gem +0 -0
- data/vendor/cache/ey_instance_api_client-0.1.1.gem +0 -0
- data/vendor/cache/fakefs-0.0.1.ninjas.gem +0 -0
- data/vendor/cache/fakeweb-1.2.6.ninjas.gem +0 -0
- data/vendor/cache/fog-0.7.2.gem +0 -0
- data/vendor/cache/formatador-0.1.3.gem +0 -0
- data/vendor/cache/gherkin-2.2.8.gem +0 -0
- data/vendor/cache/json-1.4.6.gem +0 -0
- data/vendor/cache/linecache-0.43.gem +0 -0
- data/vendor/cache/mime-types-1.16.gem +0 -0
- data/vendor/cache/mixlib-cli-1.2.0.gem +0 -0
- data/vendor/cache/mixlib-config-1.1.2.gem +0 -0
- data/vendor/cache/mixlib-log-1.1.0.gem +0 -0
- data/vendor/cache/mysql-2.8.1.gem +0 -0
- data/vendor/cache/net-ssh-2.1.4.gem +0 -0
- data/vendor/cache/nokogiri-1.4.4.gem +0 -0
- data/vendor/cache/ohai-0.5.0.gem +0 -0
- data/vendor/cache/open4-0.9.6.gem +0 -0
- data/vendor/cache/rake-0.8.7.gem +0 -0
- data/vendor/cache/randexp-0.1.5.gem +0 -0
- data/vendor/cache/rcov-0.8.6.ninjas.gem +0 -0
- data/vendor/cache/rest-client-1.6.1.gem +0 -0
- data/vendor/cache/right_aws-2.0.0.gem +0 -0
- data/vendor/cache/right_http_connection-1.2.4.gem +0 -0
- data/vendor/cache/rspec-1.3.1.gem +0 -0
- data/vendor/cache/ruby-debug-0.10.3.gem +0 -0
- data/vendor/cache/ruby-debug-base-0.10.3.gem +0 -0
- data/vendor/cache/ruby-hmac-0.4.0.gem +0 -0
- data/vendor/cache/ruby-openid-2.1.8.gem +0 -0
- data/vendor/cache/sexp_processor-3.0.5.gem +0 -0
- data/vendor/cache/stomp-1.1.6.gem +0 -0
- data/vendor/cache/systemu-1.2.0.gem +0 -0
- data/vendor/cache/term-ansicolor-1.0.5.gem +0 -0
- data/vendor/cache/xml-simple-1.0.12.gem +0 -0
data/README.rdoc
CHANGED
data/Rakefile
CHANGED
@@ -3,27 +3,16 @@ Bundler.setup(:runtime, :test)
|
|
3
3
|
$:.unshift File.dirname(__FILE__) + '/lib'
|
4
4
|
require File.dirname(__FILE__) + '/lib/ey-flex'
|
5
5
|
|
6
|
-
require '
|
6
|
+
require 'rspec/core/rake_task'
|
7
7
|
desc "Run unit specifications"
|
8
|
-
|
9
|
-
t.
|
10
|
-
t.
|
11
|
-
t.spec_files = Dir["spec/**/*_spec.rb"]
|
12
|
-
|
13
|
-
t.rcov = ENV['RCOV'] == "true"
|
14
|
-
t.rcov_opts << '--exclude' << 'spec'
|
15
|
-
t.rcov_opts << '--text-summary'
|
16
|
-
t.rcov_opts << '--sort' << 'coverage' << '--sort-reverse'
|
8
|
+
RSpec::Core::RakeTask.new do |t|
|
9
|
+
t.pattern = 'spec/**/*_spec.rb'
|
10
|
+
t.rspec_opts = %w(-fs --color --backtrace)
|
17
11
|
end
|
18
12
|
|
19
13
|
require 'cucumber/rake/task'
|
20
14
|
Cucumber::Rake::Task.new do |t|
|
21
15
|
t.cucumber_opts = %w{--format pretty}
|
22
|
-
|
23
|
-
t.rcov = ENV["RCOV"] == "true"
|
24
|
-
t.rcov_opts << '--text-summary'
|
25
|
-
t.rcov_opts << '--sort' << 'coverage' << '--sort-reverse'
|
26
|
-
t.rcov_opts << '--exclude features/,spec/'
|
27
16
|
end
|
28
17
|
|
29
18
|
desc "Run unit specifications"
|
data/features/support/env.rb
CHANGED
@@ -9,9 +9,11 @@ require File.dirname(__FILE__) + '/../../spec/helpers'
|
|
9
9
|
|
10
10
|
FakeWeb.allow_net_connect = false # if it's not here, it doesn't exist
|
11
11
|
Randexp::Dictionary.words
|
12
|
+
Fog.mock!
|
13
|
+
|
14
|
+
Fog.mock!
|
12
15
|
|
13
16
|
World(Helpers)
|
14
|
-
require 'spec/stubs/cucumber'
|
15
17
|
|
16
18
|
Before do
|
17
19
|
run_before
|
data/lib/ey-flex/big-brother.rb
CHANGED
@@ -55,14 +55,14 @@ module EY
|
|
55
55
|
end
|
56
56
|
@result.to_json
|
57
57
|
end
|
58
|
-
|
58
|
+
|
59
59
|
def check_mysql
|
60
60
|
check_process('mysqld')
|
61
61
|
DBI.connect("DBI:Mysql:mysql:#{@dna['db_host']}", 'root', @dna['users'].first['password'])
|
62
62
|
rescue DBI::DatabaseError => e
|
63
63
|
@result['mysqld'] = 'down'
|
64
64
|
end
|
65
|
-
|
65
|
+
|
66
66
|
def check_process(name)
|
67
67
|
return if name == ''
|
68
68
|
pids = `pgrep #{name}`.split("\n")
|
data/lib/ey-flex.rb
CHANGED
@@ -1,11 +1,9 @@
|
|
1
1
|
require 'json'
|
2
|
-
require 'aws/s3'
|
3
2
|
require 'date'
|
4
3
|
require 'digest'
|
5
4
|
require 'net/http'
|
6
5
|
require 'fileutils'
|
7
6
|
require 'json/ext'
|
8
|
-
require 'right_aws'
|
9
7
|
require 'open-uri'
|
10
8
|
require 'rest_client'
|
11
9
|
require 'dbi'
|
@@ -49,5 +47,4 @@ require lib_dir + '/big-brother'
|
|
49
47
|
require lib_dir + '/bucket_minder'
|
50
48
|
require lib_dir + '/ey-api'
|
51
49
|
require lib_dir + '/snapshot_minder'
|
52
|
-
require lib_dir + '/ec2'
|
53
50
|
require lib_dir + '/../ey_cloud_server/version'
|
data/lib/ey_backup.rb
CHANGED
@@ -8,6 +8,53 @@ require 'ostruct'
|
|
8
8
|
require 'fileutils'
|
9
9
|
require 'fog'
|
10
10
|
|
11
|
+
module Fog
|
12
|
+
module AWS
|
13
|
+
class Storage < ::Fog::Service
|
14
|
+
module Utils
|
15
|
+
def region_to_endpoint(region_name)
|
16
|
+
case region_name
|
17
|
+
when 'us-east-1'
|
18
|
+
's3.amazonaws.com'
|
19
|
+
when 'us-west-2'
|
20
|
+
's3-us-west-2.amazonaws.com'
|
21
|
+
when 'us-west-1'
|
22
|
+
's3-us-west-1.amazonaws.com'
|
23
|
+
when 'eu-west-1'
|
24
|
+
's3-eu-west-1.amazonaws.com'
|
25
|
+
when 'ap-southeast-1'
|
26
|
+
's3-ap-southeast-1.amazonaws.com'
|
27
|
+
when 'ap-northeast-1'
|
28
|
+
's3-ap-northeast-1.amazonaws.com'
|
29
|
+
when 'sa-east-1'
|
30
|
+
's3-sa-east-1.amazonaws.com'
|
31
|
+
else
|
32
|
+
raise ArgumentError, "Unknown region: #{region_name.inspect}"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
class Mock
|
38
|
+
alias_method :original_initialize, :initialize
|
39
|
+
def initialize(options={})
|
40
|
+
options[:region] ||= 'us-east-1'
|
41
|
+
options[:host] ||= region_to_endpoint(options[:region])
|
42
|
+
original_initialize(options)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
class Real
|
47
|
+
alias_method :original_initialize, :initialize
|
48
|
+
def initialize(options={})
|
49
|
+
options[:region] ||= 'us-east-1'
|
50
|
+
options[:host] ||= region_to_endpoint(options[:region])
|
51
|
+
original_initialize(options)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
11
58
|
module EY
|
12
59
|
module Backup
|
13
60
|
class << self
|
@@ -12,7 +12,7 @@ describe "Postgres Backups" do
|
|
12
12
|
|
13
13
|
EY::Backup.run(["-c", backup_config_file, "-l", @db_name, "-e", "postgresql"])
|
14
14
|
|
15
|
-
stdout.should match(/0:#{@db_name}.*\.dump
|
15
|
+
stdout.should match(/0:#{@db_name}.*\.dump$/)
|
16
16
|
end
|
17
17
|
|
18
18
|
it "makes a split backup" do
|
data/spec/helpers.rb
CHANGED
@@ -100,13 +100,12 @@ module Helpers
|
|
100
100
|
|
101
101
|
def drop_postgresql_database(db_key)
|
102
102
|
db_name = created_postgresql_dbs[db_key]
|
103
|
-
|
104
|
-
command=%Q{ssh -F /dev/null -o CheckHostIP=no -o StrictHostKeyChecking=no -i /home/#{postgresql_user}/.ssh/internal root@#{postgresql_host} "dropdb -U postgres -h localhost #{db_name}"}
|
103
|
+
command = %Q{ PGPASSWORD='#{postgresql_password}' dropdb -U #{postgresql_user} -h #{postgresql_host} #{db_name} }
|
105
104
|
system(command)
|
106
105
|
end
|
107
106
|
|
108
107
|
def check_postgresql_database(db_name)
|
109
|
-
command
|
108
|
+
command = %Q{ PGPASSWORD='#{postgresql_password}' psql -l -U #{postgresql_user} -h #{postgresql_host} | grep '#{db_name}' }
|
110
109
|
system(command) || raise("Could not find db: #{db_name} with command:\n #{command}")
|
111
110
|
db_name
|
112
111
|
end
|
@@ -115,15 +114,13 @@ module Helpers
|
|
115
114
|
db_name = generate_database_name('postgresql')
|
116
115
|
created_postgresql_dbs[db_key] = db_name
|
117
116
|
drop_postgresql_database(db_key)
|
118
|
-
|
119
|
-
# system("PGPASSWORD='#{postgresql_password}' createdb -U #{postgresql_user} -h #{postgresql_host} #{db_name}") || raise("Could not create db: #{db_name}")
|
120
|
-
command=%Q{ssh -F /dev/null -o CheckHostIP=no -o StrictHostKeyChecking=no -i /home/#{postgresql_user}/.ssh/internal root@#{postgresql_host} "createdb -U postgres -h localhost -O #{postgresql_user} #{db_name}"}
|
117
|
+
command = %Q{ PGPASSWORD='#{postgresql_password}' createdb -U #{postgresql_user} -h #{postgresql_host} #{db_name} }
|
121
118
|
system(command) || raise("Could not create db: #{db_name} with command:\n #{command}")
|
122
119
|
write_database_config('postgresql', postgresql_user, postgresql_password, postgresql_host, created_postgresql_dbs.values, region)
|
123
120
|
db_name
|
124
121
|
end
|
125
|
-
|
126
|
-
|
122
|
+
|
123
|
+
|
127
124
|
def write_database_config(type, root_user, root_password, host, databases, region)
|
128
125
|
@database_config = {
|
129
126
|
:env => 'production',
|
@@ -149,7 +146,7 @@ module Helpers
|
|
149
146
|
end
|
150
147
|
|
151
148
|
def run_sql(command, database)
|
152
|
-
system("
|
149
|
+
system("mysql -u#{mysql_user} -h#{mysql_host} #{mysql_password_option} -D#{database} -e '#{command}'")
|
153
150
|
end
|
154
151
|
|
155
152
|
def run_sql_pipe(io, database)
|
@@ -193,11 +190,11 @@ module Helpers
|
|
193
190
|
end
|
194
191
|
|
195
192
|
def mysql_host
|
196
|
-
spec_config['mysql_host']
|
193
|
+
spec_config['mysql_host'] || 'localhost'
|
197
194
|
end
|
198
195
|
|
199
196
|
def postgresql_host
|
200
|
-
spec_config['postgresql_host']
|
197
|
+
spec_config['postgresql_host'] || 'localhost'
|
201
198
|
end
|
202
199
|
|
203
200
|
def created_mysql_dbs
|
data/spec/spec_helper.rb
CHANGED
@@ -7,8 +7,8 @@ require 'randexp'
|
|
7
7
|
require 'fog'
|
8
8
|
|
9
9
|
# Made tests work with actual storage; better tests. - rpowell Fri Aug 5 17:53:17 PDT 2011
|
10
|
-
#
|
11
|
-
|
10
|
+
#
|
11
|
+
Fog.mock!
|
12
12
|
|
13
13
|
require File.dirname(__FILE__) + '/fakefs_hax'
|
14
14
|
require File.dirname(__FILE__) + '/helpers'
|
@@ -18,7 +18,7 @@ Helpers.load_spec_config
|
|
18
18
|
FakeWeb.allow_net_connect = false # if it's not here, it doesn't exist
|
19
19
|
Randexp::Dictionary.words
|
20
20
|
|
21
|
-
|
21
|
+
RSpec.configure do |config|
|
22
22
|
config.include(Helpers)
|
23
23
|
|
24
24
|
config.before(:each) do
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ey_cloud_server
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 79
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 4
|
9
|
-
-
|
10
|
-
version: 1.4.
|
9
|
+
- 36
|
10
|
+
version: 1.4.36
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- EngineYard
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-01-
|
18
|
+
date: 2012-01-16 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: json
|
@@ -23,14 +23,22 @@ dependencies:
|
|
23
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
24
24
|
none: false
|
25
25
|
requirements:
|
26
|
-
- -
|
26
|
+
- - ">="
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
hash:
|
28
|
+
hash: 15
|
29
|
+
segments:
|
30
|
+
- 1
|
31
|
+
- 4
|
32
|
+
- 4
|
33
|
+
version: 1.4.4
|
34
|
+
- - <=
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
hash: 11
|
29
37
|
segments:
|
30
38
|
- 1
|
31
|
-
- 6
|
32
39
|
- 4
|
33
|
-
|
40
|
+
- 6
|
41
|
+
version: 1.4.6
|
34
42
|
type: :runtime
|
35
43
|
version_requirements: *id001
|
36
44
|
- !ruby/object:Gem::Dependency
|
@@ -87,14 +95,14 @@ dependencies:
|
|
87
95
|
requirement: &id005 !ruby/object:Gem::Requirement
|
88
96
|
none: false
|
89
97
|
requirements:
|
90
|
-
- -
|
98
|
+
- - ~>
|
91
99
|
- !ruby/object:Gem::Version
|
92
|
-
hash:
|
100
|
+
hash: 15
|
93
101
|
segments:
|
94
102
|
- 1
|
95
|
-
-
|
96
|
-
-
|
97
|
-
version: 1.
|
103
|
+
- 4
|
104
|
+
- 4
|
105
|
+
version: 1.4.4
|
98
106
|
type: :runtime
|
99
107
|
version_requirements: *id005
|
100
108
|
- !ruby/object:Gem::Dependency
|
@@ -103,12 +111,14 @@ dependencies:
|
|
103
111
|
requirement: &id006 !ruby/object:Gem::Requirement
|
104
112
|
none: false
|
105
113
|
requirements:
|
106
|
-
- -
|
114
|
+
- - ~>
|
107
115
|
- !ruby/object:Gem::Version
|
108
116
|
hash: 3
|
109
117
|
segments:
|
110
118
|
- 0
|
111
|
-
|
119
|
+
- 6
|
120
|
+
- 2
|
121
|
+
version: 0.6.2
|
112
122
|
type: :runtime
|
113
123
|
version_requirements: *id006
|
114
124
|
- !ruby/object:Gem::Dependency
|
@@ -119,12 +129,12 @@ dependencies:
|
|
119
129
|
requirements:
|
120
130
|
- - ~>
|
121
131
|
- !ruby/object:Gem::Version
|
122
|
-
hash:
|
132
|
+
hash: 7
|
123
133
|
segments:
|
124
|
-
-
|
125
|
-
-
|
134
|
+
- 0
|
135
|
+
- 7
|
126
136
|
- 2
|
127
|
-
version:
|
137
|
+
version: 0.7.2
|
128
138
|
type: :runtime
|
129
139
|
version_requirements: *id007
|
130
140
|
- !ruby/object:Gem::Dependency
|
@@ -133,12 +143,14 @@ dependencies:
|
|
133
143
|
requirement: &id008 !ruby/object:Gem::Requirement
|
134
144
|
none: false
|
135
145
|
requirements:
|
136
|
-
- -
|
146
|
+
- - ~>
|
137
147
|
- !ruby/object:Gem::Version
|
138
|
-
hash:
|
148
|
+
hash: 45
|
139
149
|
segments:
|
140
|
-
-
|
141
|
-
|
150
|
+
- 2
|
151
|
+
- 8
|
152
|
+
- 1
|
153
|
+
version: 2.8.1
|
142
154
|
type: :runtime
|
143
155
|
version_requirements: *id008
|
144
156
|
- !ruby/object:Gem::Dependency
|
@@ -147,18 +159,37 @@ dependencies:
|
|
147
159
|
requirement: &id009 !ruby/object:Gem::Requirement
|
148
160
|
none: false
|
149
161
|
requirements:
|
150
|
-
- -
|
162
|
+
- - ~>
|
151
163
|
- !ruby/object:Gem::Version
|
152
|
-
hash:
|
164
|
+
hash: 99
|
153
165
|
segments:
|
154
166
|
- 0
|
155
|
-
|
167
|
+
- 9
|
168
|
+
- 44
|
169
|
+
version: 0.9.44
|
156
170
|
type: :runtime
|
157
171
|
version_requirements: *id009
|
158
172
|
- !ruby/object:Gem::Dependency
|
159
|
-
name:
|
173
|
+
name: chef
|
160
174
|
prerelease: false
|
161
175
|
requirement: &id010 !ruby/object:Gem::Requirement
|
176
|
+
none: false
|
177
|
+
requirements:
|
178
|
+
- - "="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
hash: 123
|
181
|
+
segments:
|
182
|
+
- 0
|
183
|
+
- 6
|
184
|
+
- 0
|
185
|
+
- 2
|
186
|
+
version: 0.6.0.2
|
187
|
+
type: :runtime
|
188
|
+
version_requirements: *id010
|
189
|
+
- !ruby/object:Gem::Dependency
|
190
|
+
name: ey_instance_api_client
|
191
|
+
prerelease: false
|
192
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
162
193
|
none: false
|
163
194
|
requirements:
|
164
195
|
- - ~>
|
@@ -170,8 +201,22 @@ dependencies:
|
|
170
201
|
- 1
|
171
202
|
version: 0.1.1
|
172
203
|
type: :runtime
|
173
|
-
version_requirements: *
|
174
|
-
|
204
|
+
version_requirements: *id011
|
205
|
+
- !ruby/object:Gem::Dependency
|
206
|
+
name: rake
|
207
|
+
prerelease: false
|
208
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
209
|
+
none: false
|
210
|
+
requirements:
|
211
|
+
- - ">="
|
212
|
+
- !ruby/object:Gem::Version
|
213
|
+
hash: 3
|
214
|
+
segments:
|
215
|
+
- 0
|
216
|
+
version: "0"
|
217
|
+
type: :development
|
218
|
+
version_requirements: *id012
|
219
|
+
description: Miscellaneous EY server utilities
|
175
220
|
email:
|
176
221
|
- engineering@engineyard.com
|
177
222
|
executables:
|
@@ -186,35 +231,17 @@ extensions: []
|
|
186
231
|
extra_rdoc_files: []
|
187
232
|
|
188
233
|
files:
|
189
|
-
- .gitignore
|
190
|
-
- Gemfile
|
191
|
-
- Gemfile.lock
|
192
|
-
- LICENSE
|
193
|
-
- README.rdoc
|
194
|
-
- Rakefile
|
195
|
-
- TODO
|
196
234
|
- bin/binary_log_purge
|
197
235
|
- bin/clear_binlogs_from_slave
|
198
236
|
- bin/ey-agent
|
199
237
|
- bin/ey-snapshots
|
200
238
|
- bin/eybackup
|
201
239
|
- bin/mysql_start
|
202
|
-
- ey_cloud_server.gemspec
|
203
|
-
- features/downloading_a_mysql_backup.feature
|
204
|
-
- features/making_a_postgresql_backup.feature
|
205
|
-
- features/restoring_postgres_backup.feature
|
206
|
-
- features/step_definitions/backups.rb
|
207
|
-
- features/step_definitions/commands.rb
|
208
|
-
- features/step_definitions/mysql.rb
|
209
|
-
- features/step_definitions/postgresql.rb
|
210
|
-
- features/support/env.rb
|
211
|
-
- lib/ey-flex.rb
|
212
240
|
- lib/ey-flex/big-brother.rb
|
213
241
|
- lib/ey-flex/bucket_minder.rb
|
214
|
-
- lib/ey-flex/ec2.rb
|
215
242
|
- lib/ey-flex/ey-api.rb
|
216
243
|
- lib/ey-flex/snapshot_minder.rb
|
217
|
-
- lib/
|
244
|
+
- lib/ey-flex.rb
|
218
245
|
- lib/ey_backup/backend.rb
|
219
246
|
- lib/ey_backup/backup_set.rb
|
220
247
|
- lib/ey_backup/base.rb
|
@@ -230,10 +257,14 @@ files:
|
|
230
257
|
- lib/ey_backup/processors/gzipper.rb
|
231
258
|
- lib/ey_backup/processors/splitter.rb
|
232
259
|
- lib/ey_backup/spawner.rb
|
233
|
-
- lib/
|
260
|
+
- lib/ey_backup.rb
|
234
261
|
- lib/ey_cloud_server/mysql_start.rb
|
235
262
|
- lib/ey_cloud_server/version.rb
|
236
|
-
-
|
263
|
+
- lib/ey_cloud_server.rb
|
264
|
+
- README.rdoc
|
265
|
+
- Rakefile
|
266
|
+
- LICENSE
|
267
|
+
- TODO
|
237
268
|
- spec/big-brother_spec.rb
|
238
269
|
- spec/bucket_minder_spec.rb
|
239
270
|
- spec/config-example.yml
|
@@ -250,59 +281,15 @@ files:
|
|
250
281
|
- spec/helpers.rb
|
251
282
|
- spec/snapshot_minder_spec.rb
|
252
283
|
- spec/spec_helper.rb
|
253
|
-
-
|
254
|
-
-
|
255
|
-
-
|
256
|
-
-
|
257
|
-
-
|
258
|
-
-
|
259
|
-
-
|
260
|
-
-
|
261
|
-
|
262
|
-
- vendor/cache/columnize-0.3.1.gem
|
263
|
-
- vendor/cache/cucumber-0.9.2.gem
|
264
|
-
- vendor/cache/dbd-mysql-0.4.4.gem
|
265
|
-
- vendor/cache/dbi-0.4.5.gem
|
266
|
-
- vendor/cache/deprecated-2.0.1.gem
|
267
|
-
- vendor/cache/diff-lcs-1.1.2.gem
|
268
|
-
- vendor/cache/erubis-2.6.6.gem
|
269
|
-
- vendor/cache/excon-0.6.2.gem
|
270
|
-
- vendor/cache/extlib-0.9.15.gem
|
271
|
-
- vendor/cache/ey_enzyme-0.9.18.gem
|
272
|
-
- vendor/cache/ey_instance_api_client-0.1.1.gem
|
273
|
-
- vendor/cache/fakefs-0.0.1.ninjas.gem
|
274
|
-
- vendor/cache/fakeweb-1.2.6.ninjas.gem
|
275
|
-
- vendor/cache/fog-0.7.2.gem
|
276
|
-
- vendor/cache/formatador-0.1.3.gem
|
277
|
-
- vendor/cache/gherkin-2.2.8.gem
|
278
|
-
- vendor/cache/json-1.4.6.gem
|
279
|
-
- vendor/cache/linecache-0.43.gem
|
280
|
-
- vendor/cache/mime-types-1.16.gem
|
281
|
-
- vendor/cache/mixlib-cli-1.2.0.gem
|
282
|
-
- vendor/cache/mixlib-config-1.1.2.gem
|
283
|
-
- vendor/cache/mixlib-log-1.1.0.gem
|
284
|
-
- vendor/cache/mysql-2.8.1.gem
|
285
|
-
- vendor/cache/net-ssh-2.1.4.gem
|
286
|
-
- vendor/cache/nokogiri-1.4.4.gem
|
287
|
-
- vendor/cache/ohai-0.5.0.gem
|
288
|
-
- vendor/cache/open4-0.9.6.gem
|
289
|
-
- vendor/cache/rake-0.8.7.gem
|
290
|
-
- vendor/cache/randexp-0.1.5.gem
|
291
|
-
- vendor/cache/rcov-0.8.6.ninjas.gem
|
292
|
-
- vendor/cache/rest-client-1.6.1.gem
|
293
|
-
- vendor/cache/right_aws-2.0.0.gem
|
294
|
-
- vendor/cache/right_http_connection-1.2.4.gem
|
295
|
-
- vendor/cache/rspec-1.3.1.gem
|
296
|
-
- vendor/cache/ruby-debug-0.10.3.gem
|
297
|
-
- vendor/cache/ruby-debug-base-0.10.3.gem
|
298
|
-
- vendor/cache/ruby-hmac-0.4.0.gem
|
299
|
-
- vendor/cache/ruby-openid-2.1.8.gem
|
300
|
-
- vendor/cache/sexp_processor-3.0.5.gem
|
301
|
-
- vendor/cache/stomp-1.1.6.gem
|
302
|
-
- vendor/cache/systemu-1.2.0.gem
|
303
|
-
- vendor/cache/term-ansicolor-1.0.5.gem
|
304
|
-
- vendor/cache/xml-simple-1.0.12.gem
|
305
|
-
homepage: ""
|
284
|
+
- features/downloading_a_mysql_backup.feature
|
285
|
+
- features/making_a_postgresql_backup.feature
|
286
|
+
- features/restoring_postgres_backup.feature
|
287
|
+
- features/step_definitions/backups.rb
|
288
|
+
- features/step_definitions/commands.rb
|
289
|
+
- features/step_definitions/mysql.rb
|
290
|
+
- features/step_definitions/postgresql.rb
|
291
|
+
- features/support/env.rb
|
292
|
+
homepage: http://developer.engineyard.com
|
306
293
|
licenses: []
|
307
294
|
|
308
295
|
post_install_message:
|
@@ -331,19 +318,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
331
318
|
requirements: []
|
332
319
|
|
333
320
|
rubyforge_project:
|
334
|
-
rubygems_version: 1.8.
|
321
|
+
rubygems_version: 1.8.15
|
335
322
|
signing_key:
|
336
323
|
specification_version: 3
|
337
324
|
summary: Server side components for Engine Yard's cloud
|
338
325
|
test_files:
|
339
|
-
- features/downloading_a_mysql_backup.feature
|
340
|
-
- features/making_a_postgresql_backup.feature
|
341
|
-
- features/restoring_postgres_backup.feature
|
342
|
-
- features/step_definitions/backups.rb
|
343
|
-
- features/step_definitions/commands.rb
|
344
|
-
- features/step_definitions/mysql.rb
|
345
|
-
- features/step_definitions/postgresql.rb
|
346
|
-
- features/support/env.rb
|
347
326
|
- spec/big-brother_spec.rb
|
348
327
|
- spec/bucket_minder_spec.rb
|
349
328
|
- spec/config-example.yml
|
@@ -360,3 +339,11 @@ test_files:
|
|
360
339
|
- spec/helpers.rb
|
361
340
|
- spec/snapshot_minder_spec.rb
|
362
341
|
- spec/spec_helper.rb
|
342
|
+
- features/downloading_a_mysql_backup.feature
|
343
|
+
- features/making_a_postgresql_backup.feature
|
344
|
+
- features/restoring_postgres_backup.feature
|
345
|
+
- features/step_definitions/backups.rb
|
346
|
+
- features/step_definitions/commands.rb
|
347
|
+
- features/step_definitions/mysql.rb
|
348
|
+
- features/step_definitions/postgresql.rb
|
349
|
+
- features/support/env.rb
|
data/.gitignore
DELETED
data/Gemfile
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
## THIS IS A GENERATED FILE, DO NOT EDIT BY HAND!!
|
2
|
-
#
|
3
|
-
# To update the project's dependencies, edit
|
4
|
-
# the local .eygemspec and run "ey-gem gemfile"
|
5
|
-
# to generate an up-to-date Gemspec.
|
6
|
-
|
7
|
-
source 'http://rubygems.org/'
|
8
|
-
source 'http://gems.engineyard.com/'
|
9
|
-
source 'http://geminst:hoa3laml@gems-internal.engineyard.com/'
|
10
|
-
|
11
|
-
## Server Dependencies
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
## Client Dependencies
|
16
|
-
|
17
|
-
gem 'json'
|
18
|
-
gem 'right_aws'
|
19
|
-
gem 'open4', '0.9.6'
|
20
|
-
gem 'aws-s3'
|
21
|
-
gem 'fog', '0.7.2'
|
22
|
-
gem 'nokogiri', '1.5.0'
|
23
|
-
gem 'rest-client'
|
24
|
-
gem 'mysql'
|
25
|
-
gem 'ey_enzyme'
|
26
|
-
gem 'ey_instance_api_client', '0.1.1'
|
27
|
-
|
28
|
-
## Group Dependencies
|
29
|
-
|
30
|
-
group :test do
|
31
|
-
gem 'rspec', '~>1.1'
|
32
|
-
gem 'randexp'
|
33
|
-
gem 'cucumber'
|
34
|
-
gem 'rcov', '=0.8.6.ninjas'
|
35
|
-
gem 'fakeweb', '1.2.6.ninjas'
|
36
|
-
gem 'fakefs', '=0.0.1.ninjas'
|
37
|
-
gem 'dbi'
|
38
|
-
gem 'dbd-mysql'
|
39
|
-
gem 'ruby-debug', :platforms => :mri
|
40
|
-
end
|
41
|
-
|
42
|
-
group :development do
|
43
|
-
gem 'rake'
|
44
|
-
end
|
data/Gemfile.lock
DELETED
@@ -1,131 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: http://rubygems.org/
|
3
|
-
remote: http://gems.engineyard.com/
|
4
|
-
remote: http://geminst:hoa3laml@gems-internal.engineyard.com/
|
5
|
-
specs:
|
6
|
-
ParseTree (3.0.6)
|
7
|
-
RubyInline (>= 3.7.0)
|
8
|
-
sexp_processor (>= 3.0.0)
|
9
|
-
RubyInline (3.8.6)
|
10
|
-
ZenTest (~> 4.3)
|
11
|
-
ZenTest (4.4.0)
|
12
|
-
abstract (1.0.0)
|
13
|
-
aws-s3 (0.6.2)
|
14
|
-
builder
|
15
|
-
mime-types
|
16
|
-
xml-simple
|
17
|
-
builder (2.1.2)
|
18
|
-
chef (0.6.0.2)
|
19
|
-
erubis
|
20
|
-
extlib
|
21
|
-
json
|
22
|
-
ohai
|
23
|
-
ruby-openid
|
24
|
-
stomp
|
25
|
-
chef-deploy (0.2.5)
|
26
|
-
columnize (0.3.1)
|
27
|
-
cucumber (0.9.2)
|
28
|
-
builder (~> 2.1.2)
|
29
|
-
diff-lcs (~> 1.1.2)
|
30
|
-
gherkin (~> 2.2.5)
|
31
|
-
json (~> 1.4.6)
|
32
|
-
term-ansicolor (~> 1.0.5)
|
33
|
-
dbd-mysql (0.4.4)
|
34
|
-
dbi (>= 0.4.0)
|
35
|
-
mysql
|
36
|
-
dbi (0.4.5)
|
37
|
-
deprecated (= 2.0.1)
|
38
|
-
deprecated (2.0.1)
|
39
|
-
diff-lcs (1.1.2)
|
40
|
-
erubis (2.6.6)
|
41
|
-
abstract (>= 1.0.0)
|
42
|
-
excon (0.6.2)
|
43
|
-
extlib (0.9.15)
|
44
|
-
ey_enzyme (0.9.18)
|
45
|
-
aws-s3
|
46
|
-
chef (= 0.6.0.2)
|
47
|
-
chef-deploy (= 0.2.5)
|
48
|
-
json
|
49
|
-
rest-client (>= 1.0.0)
|
50
|
-
ey_instance_api_client (0.1.1)
|
51
|
-
json
|
52
|
-
rest-client
|
53
|
-
fakefs (0.0.1.ninjas)
|
54
|
-
fakeweb (1.2.6.ninjas)
|
55
|
-
fog (0.7.2)
|
56
|
-
builder
|
57
|
-
excon (>= 0.6.1)
|
58
|
-
formatador (>= 0.1.3)
|
59
|
-
json
|
60
|
-
mime-types
|
61
|
-
net-ssh (>= 2.1.3)
|
62
|
-
nokogiri (>= 1.4.4)
|
63
|
-
ruby-hmac
|
64
|
-
formatador (0.1.3)
|
65
|
-
gherkin (2.2.8)
|
66
|
-
json (~> 1.4.6)
|
67
|
-
term-ansicolor (~> 1.0.5)
|
68
|
-
json (1.4.6)
|
69
|
-
linecache (0.43)
|
70
|
-
mime-types (1.16)
|
71
|
-
mixlib-cli (1.2.0)
|
72
|
-
mixlib-config (1.1.2)
|
73
|
-
mixlib-log (1.1.0)
|
74
|
-
mysql (2.8.1)
|
75
|
-
net-ssh (2.1.4)
|
76
|
-
nokogiri (1.4.4)
|
77
|
-
ohai (0.5.0)
|
78
|
-
extlib
|
79
|
-
json
|
80
|
-
mixlib-cli
|
81
|
-
mixlib-config
|
82
|
-
mixlib-log
|
83
|
-
systemu
|
84
|
-
open4 (0.9.6)
|
85
|
-
rake (0.8.7)
|
86
|
-
randexp (0.1.5)
|
87
|
-
ParseTree
|
88
|
-
rcov (0.8.6.ninjas)
|
89
|
-
rest-client (1.6.1)
|
90
|
-
mime-types (>= 1.16)
|
91
|
-
right_aws (2.0.0)
|
92
|
-
right_http_connection (>= 1.2.1)
|
93
|
-
right_http_connection (1.2.4)
|
94
|
-
rspec (1.3.1)
|
95
|
-
ruby-debug (0.10.3)
|
96
|
-
columnize (>= 0.1)
|
97
|
-
ruby-debug-base (~> 0.10.3.0)
|
98
|
-
ruby-debug-base (0.10.3)
|
99
|
-
linecache (>= 0.3)
|
100
|
-
ruby-hmac (0.4.0)
|
101
|
-
ruby-openid (2.1.8)
|
102
|
-
sexp_processor (3.0.5)
|
103
|
-
stomp (1.1.6)
|
104
|
-
systemu (1.2.0)
|
105
|
-
term-ansicolor (1.0.5)
|
106
|
-
xml-simple (1.0.12)
|
107
|
-
|
108
|
-
PLATFORMS
|
109
|
-
ruby
|
110
|
-
|
111
|
-
DEPENDENCIES
|
112
|
-
aws-s3
|
113
|
-
cucumber
|
114
|
-
dbd-mysql
|
115
|
-
dbi
|
116
|
-
ey_enzyme
|
117
|
-
ey_instance_api_client (= 0.1.1)
|
118
|
-
fakefs (= 0.0.1.ninjas)
|
119
|
-
fakeweb (= 1.2.6.ninjas)
|
120
|
-
fog (= 0.7.2)
|
121
|
-
json
|
122
|
-
mysql
|
123
|
-
nokogiri (= 1.4.4)
|
124
|
-
open4 (= 0.9.6)
|
125
|
-
rake
|
126
|
-
randexp
|
127
|
-
rcov (= 0.8.6.ninjas)
|
128
|
-
rest-client
|
129
|
-
right_aws
|
130
|
-
rspec (~> 1.1)
|
131
|
-
ruby-debug
|
data/ey_cloud_server.gemspec
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
require File.expand_path('../lib/ey_cloud_server/version', __FILE__)
|
3
|
-
|
4
|
-
Gem::Specification.new do |gem|
|
5
|
-
gem.authors = ["EngineYard"]
|
6
|
-
gem.email = ["engineering@engineyard.com"]
|
7
|
-
gem.description = %q{}
|
8
|
-
gem.summary = %q{Server side components for Engine Yard's cloud}
|
9
|
-
gem.homepage = ""
|
10
|
-
|
11
|
-
gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
12
|
-
gem.files = `git ls-files`.split("\n")
|
13
|
-
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
14
|
-
|
15
|
-
gem.name = "ey_cloud_server"
|
16
|
-
gem.require_paths = ["lib"]
|
17
|
-
gem.version = EY::CloudServer::VERSION
|
18
|
-
|
19
|
-
gem.add_runtime_dependency 'json', '~> 1.6.4'
|
20
|
-
gem.add_runtime_dependency 'right_http_connection', '1.2.4'
|
21
|
-
gem.add_runtime_dependency 'right_aws', '2.0.0'
|
22
|
-
gem.add_runtime_dependency 'open4', "~> 1.3.0"
|
23
|
-
gem.add_runtime_dependency 'nokogiri', "1.5.0"
|
24
|
-
|
25
|
-
gem.add_runtime_dependency 'aws-s3'
|
26
|
-
gem.add_runtime_dependency 'fog', '~> 1.1.2'
|
27
|
-
gem.add_runtime_dependency 'mysql'
|
28
|
-
gem.add_runtime_dependency "ey_enzyme"
|
29
|
-
|
30
|
-
gem.add_runtime_dependency "ey_instance_api_client", "~>0.1.1"
|
31
|
-
end
|
data/lib/ey-flex/ec2.rb
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
module EY
|
2
|
-
class EC2
|
3
|
-
def initialize(opts = {})
|
4
|
-
@ec2 = RightAws::Ec2.new(opts[:aws_secret_id], opts[:aws_secret_key], :logger => Logger.new("/dev/null"))
|
5
|
-
end
|
6
|
-
|
7
|
-
def method_missing(method, *a, &b)
|
8
|
-
@ec2.send(method, *a, &b)
|
9
|
-
rescue RightAws::AwsError => e
|
10
|
-
retries ||= 10
|
11
|
-
retries -= 1
|
12
|
-
raise e if retries == 0
|
13
|
-
sleep 30
|
14
|
-
retry
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
data/script/ci
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
#! /bin/sh
|
2
|
-
|
3
|
-
set -x
|
4
|
-
echo `pwd`
|
5
|
-
gem install bundler --no-rdoc --no-ri
|
6
|
-
gem install ey_gem --no-rdoc --no-ri --source http://geminst:hoa3laml@gems-internal.engineyard.com/ --source http://rubygems.org/
|
7
|
-
bundle install
|
8
|
-
|
9
|
-
sudo emerge -qn =app-crypt/gnupg-2*
|
10
|
-
|
11
|
-
cp spec/config-example.yml spec/config.yml
|
12
|
-
|
13
|
-
sed -i "s/^mysql_host: *.*$/mysql_host: $DB_HOST/g" spec/config.yml
|
14
|
-
sed -i "s/^mysql_user: *.*$/mysql_user: root/g" spec/config.yml
|
15
|
-
sed -i "s/^mysql_password: *.*$/mysql_password: $DB_PASS/g" spec/config.yml
|
16
|
-
|
17
|
-
sed -i "s/^postgresql_host: *.*$/postgresql_host: $DB_HOST/g" spec/config.yml
|
18
|
-
sed -i "s/^postgresql_user: *.*$/postgresql_user: $USER/g" spec/config.yml
|
19
|
-
sed -i "s/^postgresql_password: *.*$/postgresql_password: $DB_PASS/g" spec/config.yml
|
20
|
-
|
21
|
-
# Get the real aws keys; first remove what we have
|
22
|
-
grep -v aws_ spec/config.yml >spec/config.yml.tmp
|
23
|
-
mv spec/config.yml.tmp spec/config.yml
|
24
|
-
sudo grep -i aws_secret_key /etc/chef/dna.json | tail -n 1 | sed -e 's/,* *$//' -e 's/^ *//' >>spec/config.yml
|
25
|
-
sudo grep -i aws_secret_id /etc/chef/dna.json | tail -n 1 | sed -e 's/,* *$//' -e 's/^ *//' >>spec/config.yml
|
26
|
-
|
27
|
-
echo "CONFIG FILE: "
|
28
|
-
cat spec/config.yml
|
29
|
-
|
30
|
-
bundle exec rake
|
data/tmp/.gitignore
DELETED
File without changes
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/vendor/cache/dbi-0.4.5.gem
DELETED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/vendor/cache/fog-0.7.2.gem
DELETED
Binary file
|
Binary file
|
Binary file
|
data/vendor/cache/json-1.4.6.gem
DELETED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/vendor/cache/ohai-0.5.0.gem
DELETED
Binary file
|
Binary file
|
data/vendor/cache/rake-0.8.7.gem
DELETED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|