cap-rightscale 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.jp.rdoc ADDED
File without changes
data/README.rdoc CHANGED
@@ -1,23 +1,230 @@
1
1
  = cap-rightscale
2
2
 
3
3
  Capistrano extension that maps RightScale parameters to Roles
4
+ [RightScale](http://www.rightscale.com)
5
+
6
+ == Installation
7
+
8
+ Install the packages
9
+
10
+ For Debian/Ubuntu:
11
+
12
+ $ apt-get install ruby ruby-dev rubygems
13
+
14
+ For RHEL5 (probably needs the EPEL repository enabled):
15
+
16
+ $ yum install ruby ruby-devel rubygems
17
+
18
+ For MacOSX(MacPorts):
19
+
20
+ $ port install ruby rb-rubygems
21
+
22
+
23
+ Install the cap-rightscale:
24
+
25
+ $ gem install cap-rightscale
26
+
27
+ == Settings
28
+
29
+ To prepare, go info the root directory of that project and run capify:
30
+
31
+ $ cd <project_dir>
32
+ $ capify .
33
+
34
+ Configure Capfile(example deploy.rb):
4
35
 
5
36
  # config/deploy.rb
6
37
  require 'rubygems'
7
38
  require 'cap-rightscale'
8
39
  require 'cap-rightscale/recipes'
9
40
 
10
- SERVER_ARRAY_ID = 1
11
- DEPLOYMENT_ID = 1
41
+ DEPLOYMENT_ID = 12345 # RightScale Deployment ID
42
+ SERVER_ARRAY_ID = 6789 # RightScale ServerArray ID
12
43
 
13
44
  # set roles
14
45
  nickname :web, :name_prefix => "proxy", :deployment => DEPLOYMENT_ID
15
46
  server_array :app, :array_id => SERVER_ARRAY_ID
16
- tag :dbm, :tags => "xx_db:role=master", :deployment => DEPLOYMENT_ID, :no_release => true
17
- tag :dbs, :tags => "xx_db:role=slave", :deployment => DEPLOYMENT_ID
47
+ tag :dbm, :tags => "xx_db:role=master", :deployment => DEPLOYMENT_ID
48
+ tag :dbs, :tags => "xx_db:role=slave", :deployment => DEPLOYMENT_ID, :no_release => true
49
+
50
+ Put RightScale API Credential file into <tt><HOME>/.rsconf/rsapiconfig.yml</tt>
51
+
52
+ # <HOME>/.rsconf/rsapiconfig.yml
53
+ username: user@example.com
54
+ password: yourpassword
55
+ account: 1
56
+
57
+ Run testing:
58
+
59
+ $ cap rs:none
60
+
61
+
62
+ For more help with Capistrano, see this: https://github.com/capistrano/capistrano/wiki
63
+
64
+
65
+ === Roles
66
+
67
+ In order to define role, RightScale nickname and deployment mappings:
68
+
69
+ nickname :web, :name_prefix => "proxy", :deployment => 12345
70
+ # => role :web, ["proxyXXX", ... in deployment ID:12345]
71
+
72
+ ServerArray mappings:
73
+
74
+ server_array :app, :array_id => 6789, :backup => true
75
+ # => role(:app, :backup => true) { ["apXXX", ... in serverarray ID:6789] }
76
+
77
+ Machine tags and deployment mappings:
78
+
79
+ tag :dbm, :name_prefix => "db", :tags => ["xx_db:env=prod", "xx_db:role=master"], :deployment => 12345, :primary => true
80
+ # => role(:dbm, :primary => true) { ["dbXXX", ... in deployment ID:12345] }
81
+
82
+ === RightScale API Credential
83
+
84
+ see the below site:
85
+
86
+ {Authentication}[http://support.rightscale.com/12-Guides/03-RightScale_API/RightScale_API_Examples/Authentication] - RightScale Cloud Management Support Portal
87
+
88
+ You must authenticate to use the RightScale API, Make sure to set your own login/password(used to login to RightScale dashboard) and account number(the tail end of the Dashboard URL: Settings > Account)
89
+
90
+ Put Authentication file described in RightScale API credentials into <tt><HOME>/.rsconf/rsapiconfig.yml</tt>
91
+
92
+ Or, You can define filepath:
93
+
94
+ # config/deploy.rb
95
+ set :rs_confpath, "/project/config/rs_auth.yml"
96
+
97
+
98
+ === Caches
99
+
100
+ These functions require RightScale api calls, which are slow. On the first call, Write a cache file in the temp directory.
101
+ Default cache lifetime is 86400 seconds(1day) each role.
102
+
103
+ modified cache life time:
104
+
105
+ # config/deploy.rb
106
+ set :rs_lifetime, 86400 * 7 # 1week
107
+
108
+
109
+ This can be disabled with ENV variable: <tt>RS_CACHE=false</tt> , <tt>set :rs_lifetime 0</tt> OR <tt>rs_disable :use_rs_cache</tt> in the Capfile.
110
+
111
+ $ cap invoke COMMAND='hostname' RS_CACHE=false
112
+
113
+ # disable cache config/deploy.rb
114
+ set :rs_lifetime 0
115
+ # the other way
116
+ rs_disable :use_rs_cache
117
+
118
+ Conversely, to use cache to infinity with <tt>set :rs_lifetime -1</tt>.
119
+
120
+ # config/deploy.rb
121
+ set :rs_lifetime -1
122
+
123
+ Cache clear task(needs after modifying the Capfile):
124
+
125
+ $ cap rs:cache:clear
126
+ $ cap rs:cc
127
+
128
+ === Server name to associate with the role
129
+
130
+ Default name is Amazon EC2 local IP address, This can be changed according to the parameter.
131
+
132
+ Use EC2 public IP address:
133
+
134
+ # config/deploy.rb
135
+ rs_enable :use_public_ip
136
+
137
+
138
+ Use RightScale nickname(use as name to resolve for host in <tt>/etc/hosts</tt> or dns record entry).
139
+ This takes priority over ip address.
140
+ Using RightScale Nickname, How to DNS hostname for ec2 instances:
141
+ * {"Developing RightScripts - RightScale Cloud Management Support Portal"}[http://support.rightscale.com/12-Guides/Dashboard_Users_Guide/Design/RightScripts/Actions/Developing_RightScripts#Document_your_RightScript_and_its_Inputs]
142
+ * {"Environment Inputs - RightScale Cloud Management Support Portal"}[http://support.rightscale.com/15-References/Lists/List_of_Environment_Inputs#RightScale_%28RS%29.3a]
143
+ * {"HowTo update DNS hostnames automatically for your Amazon EC2 instances | MDLog:/sysadmin"}[http://www.ducea.com/2009/06/01/howto-update-dns-hostnames-automatically-for-your-amazon-ec2-instances/]
144
+
145
+
146
+
147
+ # config/deploy.rb
148
+ rs_enable :use_nickname # RightScale nickname
149
+ set :rs_domain, "ec2.int.com" # set subdomain managed by your dns server zone(option: default ref <tt>search</tt> in <tt>/etc/resolv.conf</tt>)
150
+
151
+ # set domain each role(priority over <tt>set :rs_domain</tt>)
152
+ nickname :web, :nickname => "lb", :domain => "ec2.com"
153
+
154
+ === Validate
155
+
156
+ Using ping and name resolv, validate host(except invalid host).
157
+
158
+ * <tt>rs_enable :validate_echo</tt>: In case you want to except hang-up instance
159
+ * <tt>rs_enable :validate_resolv</tt>: In case you want to except host can not be resolved
160
+
161
+
162
+ # config/deploy.rb
163
+ rs_enable :validate_echo, :validate_resolv
164
+
165
+ == nickname
166
+
167
+ Definition:
168
+
169
+ nickname(role, params)
170
+
171
+ === Arguments
172
+
173
+ ==== role
174
+
175
+ Capistrano role paramter(:app, :web, :db)
176
+
177
+ === params
178
+
179
+ Example:
180
+ nickname :app, :name_prefix => "ap", :deployment => 12345, :user => "www"
181
+ nickname :db, :name_prefix => "db", :deployment => 12345, :except_tags => "xx_db:state=broken"
182
+ nickname :mem, :name_prefix => "mem", :deployment => 12345, :except_tags => ["xx_mem:state=out_of_service"]
183
+
184
+ == server_array
185
+
186
+ Definition:
187
+
188
+ server_array(role, params)
189
+
190
+ === Arguments
191
+
192
+ ==== role
193
+
194
+ Capistrano role paramter(:app, :web, :db)
195
+
196
+ === params
197
+
198
+ Example:
199
+ server_array :app, :array_id => 6789, :user => "www"
200
+ server_array :mem, :array_id => 4321, :except_tags => "xx_mem:state=broken", :domain => "ec2.int.com"
201
+
202
+ == tag
203
+
204
+ Definition:
205
+
206
+ tag(role, params)
207
+
208
+ === role
209
+
210
+ Capistrano role paramter(:app, :web, :db)
211
+
212
+ === params
213
+
214
+ Example:
215
+ tag :dbm, :deployment => 12345, :name_prefix => "db", :tags => "xx_db:role=master", :primary => true
216
+ tag :dbs, :deployment => 12345, :tags => ["xx_db:role=slave", "xx_db:master"] # matching tag "xx_db:master=<master_ip>"
217
+
218
+ == Output message
219
+
220
+ To suppress output as possible(-v option):
221
+
222
+ $ cap -v shell
223
+ $ cap -v invoke COMMAND='cat /var/log/httpd/access_log' 2>/tmp/collect_httpd_access_log
224
+
18
225
 
19
226
  == Contributing to cap-rightscale
20
-
227
+
21
228
  * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
22
229
  * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
23
230
  * Fork the project
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.0
1
+ 0.6.1
@@ -5,15 +5,16 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{cap-rightscale}
8
- s.version = "0.6.0"
8
+ s.version = "0.6.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Satoshi Ohki"]
12
- s.date = %q{2011-02-06}
12
+ s.date = %q{2011-02-07}
13
13
  s.description = %q{Capistrano extension that maps RightScale parameters to Roles.}
14
14
  s.email = %q{roothybrid7@gmail.com}
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE.txt",
17
+ "README.jp.rdoc",
17
18
  "README.rdoc"
18
19
  ]
19
20
  s.files = [
@@ -22,6 +23,7 @@ Gem::Specification.new do |s|
22
23
  "Gemfile",
23
24
  "Gemfile.lock",
24
25
  "LICENSE.txt",
26
+ "README.jp.rdoc",
25
27
  "README.rdoc",
26
28
  "Rakefile",
27
29
  "VERSION",
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cap-rightscale
3
3
  version: !ruby/object:Gem::Version
4
- hash: 7
4
+ hash: 5
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 6
9
- - 0
10
- version: 0.6.0
9
+ - 1
10
+ version: 0.6.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Satoshi Ohki
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-02-06 00:00:00 +09:00
18
+ date: 2011-02-07 00:00:00 +09:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -133,6 +133,7 @@ extensions: []
133
133
 
134
134
  extra_rdoc_files:
135
135
  - LICENSE.txt
136
+ - README.jp.rdoc
136
137
  - README.rdoc
137
138
  files:
138
139
  - .document
@@ -140,6 +141,7 @@ files:
140
141
  - Gemfile
141
142
  - Gemfile.lock
142
143
  - LICENSE.txt
144
+ - README.jp.rdoc
143
145
  - README.rdoc
144
146
  - Rakefile
145
147
  - VERSION