app42 0.6.3 → 0.6.4
Sign up to get free protection for your applications and to get access to all the features.
- data/RELEASE.md +7 -1
- data/lib/app42/base/help.rb +63 -0
- data/lib/app42/base/message.rb +1 -0
- data/lib/app42/base/shell.rb +4 -1
- data/lib/app42/command/app.rb +13 -0
- data/lib/app42/command/base.rb +69 -2
- data/lib/app42/command/client.rb +10 -0
- data/lib/app42/command/gpaas.rb +9 -1
- data/lib/app42/version.rb +1 -1
- metadata +2 -2
data/RELEASE.md
CHANGED
@@ -35,4 +35,10 @@ Client library and command-line tool to deploy and manage apps on App42PaaS.
|
|
35
35
|
|
36
36
|
### 0.6.3 (09-04-2014)
|
37
37
|
|
38
|
-
- Restart command for BPaaS, GPaaS and WordPress setup
|
38
|
+
- Restart command for BPaaS, GPaaS and WordPress setup
|
39
|
+
|
40
|
+
### 0.6.4 (22-04-2014)
|
41
|
+
|
42
|
+
- Add Elastic IP to GPaaS
|
43
|
+
- Update GPaaS dashboard
|
44
|
+
|
data/lib/app42/base/help.rb
CHANGED
@@ -45,6 +45,8 @@ module App42
|
|
45
45
|
addCustomURL # Add a custom URL to an app
|
46
46
|
removeCustomURL # Remove a custom URL from an app
|
47
47
|
customURLInfo # List all custom URL(s) of an app
|
48
|
+
assignStaticIP # Assign Static IP to App belonging to GPaaS
|
49
|
+
releaseStaticIP # Release Static IP from App belonging to GPaaS
|
48
50
|
|
49
51
|
Services
|
50
52
|
createService # Creates a new service e.g. MySQL, MongoDB, CouchDB, PostgreSQL, Redis etc.
|
@@ -94,6 +96,7 @@ module App42
|
|
94
96
|
downgradeGPaas # Downgrade GPaaS by choosing required configuration
|
95
97
|
gPaaSInfo # Show GPaaS setup information
|
96
98
|
gPaaSSetups # List all the GPaaS setups
|
99
|
+
upgradeGPaaSDashboard # Upgrade the GPaaS Setup Dashoard
|
97
100
|
|
98
101
|
Help
|
99
102
|
version # Show Ruby client gem version
|
@@ -571,6 +574,45 @@ Example:
|
|
571
574
|
DESC
|
572
575
|
end
|
573
576
|
|
577
|
+
def assignstaticip
|
578
|
+
print <<-DESC
|
579
|
+
Usage:
|
580
|
+
app42 assignStaticIP
|
581
|
+
|
582
|
+
Assign Static IP to App belonging to GPaaS
|
583
|
+
|
584
|
+
Example:
|
585
|
+
$app42 assignStaticIP
|
586
|
+
Enter App Name: demo
|
587
|
+
|
588
|
+
Assigning Static IP to App demoGPaaS... OK
|
589
|
+
|
590
|
+
Operation is in progress, Please wait...|
|
591
|
+
Static IP assigned successfully.
|
592
|
+
DESC
|
593
|
+
end
|
594
|
+
|
595
|
+
def releasestaticip
|
596
|
+
print <<-DESC
|
597
|
+
Usage:
|
598
|
+
app42 releaseStaticIP
|
599
|
+
|
600
|
+
Release Static IP from App belonging to GPaaS
|
601
|
+
|
602
|
+
Example:
|
603
|
+
$app42 releaseStaticIP
|
604
|
+
Enter App Name: demo
|
605
|
+
|
606
|
+
Releasing Static IP from App demogpaas... OK
|
607
|
+
|
608
|
+
Operation is in progress, Please wait...|
|
609
|
+
Static IP released successfully.
|
610
|
+
|
611
|
+
DESC
|
612
|
+
end
|
613
|
+
|
614
|
+
|
615
|
+
|
574
616
|
def createservice
|
575
617
|
print <<-DESC
|
576
618
|
Usage:
|
@@ -1327,6 +1369,8 @@ Example:
|
|
1327
1369
|
5: m1.xlarge
|
1328
1370
|
Select Instance Configuration [t1.micro]:
|
1329
1371
|
|
1372
|
+
Do you want to add Static IP? [Yn]:
|
1373
|
+
|
1330
1374
|
Setting up the GPaaS infrastructure... OK
|
1331
1375
|
|
1332
1376
|
Operation is in progress, Please wait...|
|
@@ -1494,6 +1538,25 @@ Example:
|
|
1494
1538
|
DESC
|
1495
1539
|
end
|
1496
1540
|
|
1541
|
+
def upgradegpaasdashboard
|
1542
|
+
print <<-DESC
|
1543
|
+
Usage:
|
1544
|
+
app42 upgradeGPaaSDashboard
|
1545
|
+
|
1546
|
+
Upgrade the GPaaS Setup Dashoard
|
1547
|
+
|
1548
|
+
Example:
|
1549
|
+
$app42 app42 upgradeGPaaSDashboard
|
1550
|
+
|
1551
|
+
Enter Setup Name: demo
|
1552
|
+
|
1553
|
+
Upgrading GPaaS Setup... OK
|
1554
|
+
|
1555
|
+
Operation is in progress, Please wait...
|
1556
|
+
GPaaS Setup Dashboard has been updated successfully.
|
1557
|
+
DESC
|
1558
|
+
end
|
1559
|
+
|
1497
1560
|
def supportedservices
|
1498
1561
|
print <<-DESC
|
1499
1562
|
Usage:
|
data/lib/app42/base/message.rb
CHANGED
@@ -42,6 +42,7 @@ module Message
|
|
42
42
|
HIGHLY_CONF = "You are already at highest configuration."
|
43
43
|
LOW_CONF = "You are already at lowest configuration."
|
44
44
|
URL_WILL_CHANGE = "\nStopping setup will modify your app public URL. Are you sure you want to stop Setup 'gpaas'?"
|
45
|
+
ADD_STATIC_IP = "Do you want to add Static IP?"
|
45
46
|
BPAAS_SUCCESSFUL = "Your BPaaS setup has been completed successfully, For details, Login to PaaSHQ console."
|
46
47
|
GPAAS_SUCCESSFUL = "Your GPaaS setup has been completed successfully, For details, Login to PaaSHQ console."
|
47
48
|
WORDPRESS_SUCCESSFUL = "Your WordPress setup has been completed successfully, For details, Login to PaaSHQ console."
|
data/lib/app42/base/shell.rb
CHANGED
data/lib/app42/command/app.rb
CHANGED
@@ -277,7 +277,20 @@ module App42
|
|
277
277
|
table = Terminal::Table.new :title => Paint["=== #{@options[:name]} Custom URLs Details ===", :green], :headings => rows_header_final, :rows => rows
|
278
278
|
puts table
|
279
279
|
end
|
280
|
+
end
|
280
281
|
|
282
|
+
# Assign static IP to App
|
283
|
+
def assign
|
284
|
+
@options[:name] = get_app_name if @options[:name].nil?
|
285
|
+
response = assign_release_static_ip "assignstaticip", @options[:name] if is_app_exist? @options[:name]
|
286
|
+
exit! if response
|
287
|
+
end
|
288
|
+
|
289
|
+
# Release static IP of App
|
290
|
+
def release
|
291
|
+
@options[:name] = get_app_name if @options[:name].nil?
|
292
|
+
response = assign_release_static_ip "releasestaticip", @options[:name] if is_app_exist? @options[:name]
|
293
|
+
exit! if response
|
281
294
|
end
|
282
295
|
|
283
296
|
end
|
data/lib/app42/command/base.rb
CHANGED
@@ -381,14 +381,15 @@ module App42
|
|
381
381
|
end
|
382
382
|
|
383
383
|
# setup GPaaS
|
384
|
-
def create_gpaas_setup setup_name, iaas, vm_type, setup_type, flavour
|
384
|
+
def create_gpaas_setup setup_name, iaas, vm_type, setup_type, flavour, ans
|
385
385
|
begin
|
386
386
|
body = {'app42' => {"request"=> {
|
387
387
|
"setupName" => setup_name,
|
388
388
|
"iaas" => iaas,
|
389
389
|
"vmType" => vm_type,
|
390
390
|
"setupType" => 'setupGPaaS',
|
391
|
-
"flavour" => flavour
|
391
|
+
"flavour" => flavour,
|
392
|
+
"staticIP" => ans
|
392
393
|
}}}.to_json
|
393
394
|
|
394
395
|
query_params = params
|
@@ -1126,6 +1127,72 @@ module App42
|
|
1126
1127
|
end
|
1127
1128
|
end
|
1128
1129
|
|
1130
|
+
# Assign and Release static IP to App
|
1131
|
+
# expect +what+ as operation and +app_name+ as App name.
|
1132
|
+
def assign_release_static_ip what, app_name
|
1133
|
+
begin
|
1134
|
+
if what.to_s == 'assignstaticip'
|
1135
|
+
response = with_progress(Paint[ "Assigning Static IP to App #{app_name}", :yellow]) do |s|
|
1136
|
+
body = {'app42' => {"request"=> {
|
1137
|
+
"appName" => app_name
|
1138
|
+
}}}.to_json
|
1139
|
+
|
1140
|
+
query_params = params
|
1141
|
+
query_params.store('body', body)
|
1142
|
+
build_put_request body, query_params, "app", "assignstaticip"
|
1143
|
+
end
|
1144
|
+
else
|
1145
|
+
response = with_progress(Paint["Releasing Static IP from App #{app_name}", :yellow]) do |s|
|
1146
|
+
body = {'app42' => {"request"=> {
|
1147
|
+
"appName" => app_name
|
1148
|
+
}}}.to_json
|
1149
|
+
|
1150
|
+
query_params = params
|
1151
|
+
query_params.store('body', body)
|
1152
|
+
build_put_request body, query_params, "app", "releasestaticip"
|
1153
|
+
end
|
1154
|
+
end
|
1155
|
+
|
1156
|
+
if response["success"] == true && response["transactionId"]
|
1157
|
+
if what.to_s == 'assignstaticip'
|
1158
|
+
check_transaction_status response["transactionId"], previous_completed = 0, "Assigned"
|
1159
|
+
else
|
1160
|
+
check_transaction_status response["transactionId"], previous_completed = 0, "Released"
|
1161
|
+
end
|
1162
|
+
end
|
1163
|
+
|
1164
|
+
response['success'] ? (return true) : (message "#{response['description']}", true, 'red')
|
1165
|
+
rescue Interrupt
|
1166
|
+
puts Paint[" Command cancelled.", :red]
|
1167
|
+
exit!
|
1168
|
+
end
|
1169
|
+
end
|
1170
|
+
|
1171
|
+
# Udate GPaaS Dashboard
|
1172
|
+
# expect +setup_name+ as GPaaS name.
|
1173
|
+
def update_gpaas_dashboard setup_name
|
1174
|
+
begin
|
1175
|
+
response = with_progress(Paint["Upgrading GPaaS Setup", :yellow]) do |s|
|
1176
|
+
body = {'app42' => {"request"=> {
|
1177
|
+
"setupName" => setup_name
|
1178
|
+
}}}.to_json
|
1179
|
+
|
1180
|
+
query_params = params
|
1181
|
+
query_params.store('body', body)
|
1182
|
+
build_put_request body, query_params, "gpaas", "update/dashboard"
|
1183
|
+
end
|
1184
|
+
|
1185
|
+
transaction_success = check_transaction_status response["transactionId"], previous_completed = 0, 'upgraded' if response["success"] == true && response["transactionId"]
|
1186
|
+
|
1187
|
+
response['success'] ? (return true) : (message "#{response['description']}", true, 'red')
|
1188
|
+
rescue Interrupt
|
1189
|
+
puts Paint[" Command cancelled.", :red]
|
1190
|
+
exit!
|
1191
|
+
rescue Exception => e
|
1192
|
+
puts e
|
1193
|
+
end
|
1194
|
+
end
|
1195
|
+
|
1129
1196
|
# All wordpress operation will take placed like app start, stop etc.
|
1130
1197
|
# expect +what+ as operation and +wordpress_name+ as wordpress name.
|
1131
1198
|
def wordpress_operation what, setup_name
|
data/lib/app42/command/client.rb
CHANGED
@@ -330,6 +330,16 @@ module App42
|
|
330
330
|
when 'gpaassetups'
|
331
331
|
set_cmd(:gpaas, :setups)
|
332
332
|
|
333
|
+
when 'assignstaticip'
|
334
|
+
set_cmd(:app, :assign)
|
335
|
+
|
336
|
+
when 'releasestaticip'
|
337
|
+
set_cmd(:app, :release)
|
338
|
+
|
339
|
+
when 'upgradegpaasdashboard'
|
340
|
+
set_cmd(:gpaas, :update)
|
341
|
+
|
342
|
+
|
333
343
|
else
|
334
344
|
puts Paint["app42: Unknown command [#{action}]", :red]
|
335
345
|
App42::Base::Help.how_to
|
data/lib/app42/command/gpaas.rb
CHANGED
@@ -13,7 +13,8 @@ module App42
|
|
13
13
|
iaas = get_iaas_providers
|
14
14
|
setup_type = get_setup_type
|
15
15
|
flavour = get_instance_config iaas, vm_type
|
16
|
-
|
16
|
+
ans = ask Paint["#{Message::ADD_STATIC_IP}", :red], :default => true ; print_new_line
|
17
|
+
setup_cloud_api_res = App42::Command::Base.new.create_gpaas_setup setup_name, iaas, vm_type, setup_type, flavour, ans
|
17
18
|
exit! if setup_cloud_api_res
|
18
19
|
end
|
19
20
|
|
@@ -68,6 +69,13 @@ module App42
|
|
68
69
|
exit! if response
|
69
70
|
end
|
70
71
|
|
72
|
+
# Update GPaaS Dashboard
|
73
|
+
def update
|
74
|
+
@options[:setup] = get_setup_name if @options[:setup].nil?
|
75
|
+
print_new_line
|
76
|
+
response = update_gpaas_dashboard @options[:setup] if is_setup_name_exist? @options[:setup]
|
77
|
+
end
|
78
|
+
|
71
79
|
# return setup type
|
72
80
|
def get_setup_type
|
73
81
|
setup_type_hash = {}
|
data/lib/app42/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: app42
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-04-
|
12
|
+
date: 2014-04-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|