virtualmonkey 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (178) hide show
  1. data/.document +5 -0
  2. data/LICENSE +20 -0
  3. data/README.rdoc +77 -0
  4. data/Rakefile +51 -0
  5. data/VERSION +1 -0
  6. data/bin/grinder +102 -0
  7. data/bin/mcicp +46 -0
  8. data/bin/monkey +12 -0
  9. data/bin/vary_instance_types +59 -0
  10. data/config/cloud_variables/all_clouds.json +30 -0
  11. data/config/cloud_variables/east.json +9 -0
  12. data/config/cloud_variables/rackspace.json +7 -0
  13. data/config/cloud_variables/west.json +9 -0
  14. data/config/common_inputs/apache_haproxy.json +27 -0
  15. data/config/common_inputs/base.json +5 -0
  16. data/config/common_inputs/ebs_toolbox.json +10 -0
  17. data/config/common_inputs/haproxy.json +15 -0
  18. data/config/common_inputs/lamp.json +30 -0
  19. data/config/common_inputs/mysql.json +24 -0
  20. data/config/common_inputs/none.json +4 -0
  21. data/config/common_inputs/php.json +25 -0
  22. data/config/common_inputs/php_aio_trial_chef_alpha.json +3 -0
  23. data/config/common_inputs/php_app_fe_chef.json +12 -0
  24. data/config/common_inputs/php_elb.json +12 -0
  25. data/config/common_inputs/qstart.json +5 -0
  26. data/config/common_inputs/rails.json +31 -0
  27. data/config/common_inputs/rails_aio_demo_chef_alpha.json +3 -0
  28. data/config/common_inputs/rails_aio_developer_chef_alpha.json +10 -0
  29. data/config/common_inputs/rsgrid.json +10 -0
  30. data/config/common_inputs/tomcat.json +15 -0
  31. data/config/common_inputs/windows_blog_engine.json +3 -0
  32. data/config/common_inputs/windows_net_aio.json +14 -0
  33. data/config/troop/11H1/backup/base.json +10 -0
  34. data/config/troop/11H1/backup/lamp_mysql_50.json +10 -0
  35. data/config/troop/11H1/backup/lamp_mysql_51.json +10 -0
  36. data/config/troop/11H1/backup/loadbalancer-php.json +13 -0
  37. data/config/troop/11H1/backup/loadbalancer.json +14 -0
  38. data/config/troop/11H1/backup/loadbalancer_rails.json +13 -0
  39. data/config/troop/11H1/backup/loadbalancer_tomcat6.json +13 -0
  40. data/config/troop/11H1/backup/mysql50.json +11 -0
  41. data/config/troop/11H1/backup/mysql50_toolbox.json +12 -0
  42. data/config/troop/11H1/backup/mysql51.json +11 -0
  43. data/config/troop/11H1/backup/mysql51_toolbox.json +12 -0
  44. data/config/troop/11H1/backup/php_elb.json +11 -0
  45. data/config/troop/11H1/base.json +10 -0
  46. data/config/troop/11H1/ebs_toolbox.json +12 -0
  47. data/config/troop/11H1/lamp_mysql_50.json +10 -0
  48. data/config/troop/11H1/lamp_mysql_51.json +10 -0
  49. data/config/troop/11H1/loadbalancer-php.json +13 -0
  50. data/config/troop/11H1/loadbalancer.json +17 -0
  51. data/config/troop/11H1/loadbalancer_rails.json +13 -0
  52. data/config/troop/11H1/loadbalancer_tomcat6.json +13 -0
  53. data/config/troop/11H1/mysql50.json +11 -0
  54. data/config/troop/11H1/mysql50_toolbox.json +12 -0
  55. data/config/troop/11H1/mysql51.json +11 -0
  56. data/config/troop/11H1/mysql51_awsdns.json +11 -0
  57. data/config/troop/11H1/mysql51_debug.json +11 -0
  58. data/config/troop/11H1/mysql51_toolbox.json +12 -0
  59. data/config/troop/11H1/php.json +13 -0
  60. data/config/troop/11H1/php_elb.json +11 -0
  61. data/config/troop/11H1/rails.json +13 -0
  62. data/config/troop/11H1/tomcat6.json +13 -0
  63. data/config/troop/chef_quickstart.json +10 -0
  64. data/config/troop/just_elb +10 -0
  65. data/config/troop/lamp_v4.json +10 -0
  66. data/config/troop/patch_test.json +10 -0
  67. data/config/troop/rightlink.json +10 -0
  68. data/config/troop/simple_fail.json +11 -0
  69. data/config/troop/simple_pass.json +11 -0
  70. data/config/troop/windows_blog_engine.json +10 -0
  71. data/config/troop/windows_net_aio.json +10 -0
  72. data/config/troop/windows_quick_start.json +10 -0
  73. data/features/base.rb +31 -0
  74. data/features/db_toolbox.rb +59 -0
  75. data/features/ebs_toolbox.rb +62 -0
  76. data/features/lamp.rb +33 -0
  77. data/features/lb-apache-haproxy.rb +49 -0
  78. data/features/mysql_5.x_v2_v4_from_scratch.rb +71 -0
  79. data/features/mysql_5.x_v2_v4_from_scratch_awsdns.rb +71 -0
  80. data/features/mysql_5.x_v2_v4_from_scratch_dyndns.rb +71 -0
  81. data/features/mysql_v1_upgrade_v2.rb +54 -0
  82. data/features/old_cuke_features/Rakefile +121 -0
  83. data/features/old_cuke_features/Steps-TODO +31 -0
  84. data/features/old_cuke_features/app_state.feature +25 -0
  85. data/features/old_cuke_features/app_test.feature +24 -0
  86. data/features/old_cuke_features/base.feature +16 -0
  87. data/features/old_cuke_features/chef_quickstart.feature +11 -0
  88. data/features/old_cuke_features/db_toolbox.feature +38 -0
  89. data/features/old_cuke_features/ebs_toolbox.feature +39 -0
  90. data/features/old_cuke_features/elb_create_delete.feature +41 -0
  91. data/features/old_cuke_features/elb_generic.feature +27 -0
  92. data/features/old_cuke_features/fe_app_checks.feature +21 -0
  93. data/features/old_cuke_features/just-start.feature +13 -0
  94. data/features/old_cuke_features/lamp.feature +15 -0
  95. data/features/old_cuke_features/lb-apache-haproxy.feature +27 -0
  96. data/features/old_cuke_features/mysql_5.x_v2_v4_from_scratch.feature +33 -0
  97. data/features/old_cuke_features/mysql_5.x_v2_v4_from_scratch_awsdns.feature +33 -0
  98. data/features/old_cuke_features/mysql_5.x_v2_v4_from_scratch_dyndns.feature +33 -0
  99. data/features/old_cuke_features/mysql_chef_premium.feature +27 -0
  100. data/features/old_cuke_features/mysql_chef_premium_from_scratch.feature +37 -0
  101. data/features/old_cuke_features/mysql_v1_upgrade_v2.feature +42 -0
  102. data/features/old_cuke_features/php.feature +27 -0
  103. data/features/old_cuke_features/php_aio_trial_chef_alpha.feature +11 -0
  104. data/features/old_cuke_features/php_chef.feature +21 -0
  105. data/features/old_cuke_features/php_elb.feature +41 -0
  106. data/features/old_cuke_features/rails.feature +26 -0
  107. data/features/old_cuke_features/rails_aio_developer_chef.feature +17 -0
  108. data/features/old_cuke_features/reboot.feature +23 -0
  109. data/features/old_cuke_features/rightlink.feature +19 -0
  110. data/features/old_cuke_features/rsgrid.feature +19 -0
  111. data/features/old_cuke_features/simple.feature +8 -0
  112. data/features/old_cuke_features/simple_fail.feature +9 -0
  113. data/features/old_cuke_features/start-stop.feature +13 -0
  114. data/features/old_cuke_features/step_definitions/app.rb +21 -0
  115. data/features/old_cuke_features/step_definitions/deployment_steps.rb +112 -0
  116. data/features/old_cuke_features/step_definitions/ebs.rb +36 -0
  117. data/features/old_cuke_features/step_definitions/elb.rb +35 -0
  118. data/features/old_cuke_features/step_definitions/lb.rb +22 -0
  119. data/features/old_cuke_features/step_definitions/mysql_steps.rb +84 -0
  120. data/features/old_cuke_features/terminate.feature +7 -0
  121. data/features/old_cuke_features/tomcat6-tests-TODO +29 -0
  122. data/features/old_cuke_features/tomcat6.feature +27 -0
  123. data/features/patch_test.rb +33 -0
  124. data/features/php.rb +54 -0
  125. data/features/php_elb.rb +78 -0
  126. data/features/rails.rb +54 -0
  127. data/features/start_only.rb +26 -0
  128. data/features/tomcat6.rb +54 -0
  129. data/lib/virtualmonkey.rb +28 -0
  130. data/lib/virtualmonkey/application.rb +75 -0
  131. data/lib/virtualmonkey/application_frontend.rb +42 -0
  132. data/lib/virtualmonkey/command.rb +39 -0
  133. data/lib/virtualmonkey/command/clone.rb +50 -0
  134. data/lib/virtualmonkey/command/create.rb +21 -0
  135. data/lib/virtualmonkey/command/destroy.rb +51 -0
  136. data/lib/virtualmonkey/command/list.rb +10 -0
  137. data/lib/virtualmonkey/command/run.rb +76 -0
  138. data/lib/virtualmonkey/command/troop.rb +146 -0
  139. data/lib/virtualmonkey/cuke_monk.rb +184 -0
  140. data/lib/virtualmonkey/deployment_monk.rb +132 -0
  141. data/lib/virtualmonkey/deployment_runner.rb +333 -0
  142. data/lib/virtualmonkey/ebs.rb +161 -0
  143. data/lib/virtualmonkey/ebs_runner.rb +59 -0
  144. data/lib/virtualmonkey/elb_runner.rb +194 -0
  145. data/lib/virtualmonkey/fe_app_runner.rb +7 -0
  146. data/lib/virtualmonkey/file_locations.rb +7 -0
  147. data/lib/virtualmonkey/frontend.rb +124 -0
  148. data/lib/virtualmonkey/http_checks.rb +33 -0
  149. data/lib/virtualmonkey/index.html.erb +109 -0
  150. data/lib/virtualmonkey/lamp_runner.rb +29 -0
  151. data/lib/virtualmonkey/mysql.rb +172 -0
  152. data/lib/virtualmonkey/mysql_runner.rb +108 -0
  153. data/lib/virtualmonkey/mysql_toolbox_runner.rb +51 -0
  154. data/lib/virtualmonkey/patch_runner.rb +46 -0
  155. data/lib/virtualmonkey/php_aio_trial_chef_runner.rb +6 -0
  156. data/lib/virtualmonkey/php_chef_runner.rb +69 -0
  157. data/lib/virtualmonkey/rails_aio_developer_chef_runner.rb +8 -0
  158. data/lib/virtualmonkey/shared_dns.rb +67 -0
  159. data/lib/virtualmonkey/simple.rb +5 -0
  160. data/lib/virtualmonkey/simple_runner.rb +6 -0
  161. data/lib/virtualmonkey/test_case_interface.rb +151 -0
  162. data/lib/virtualmonkey/unified_application.rb +40 -0
  163. data/spec/bug3518.rb +16 -0
  164. data/spec/concurrent_writes_spec.rb +26 -0
  165. data/spec/cuke_job_spec.rb +26 -0
  166. data/spec/ek.rb +28 -0
  167. data/spec/little_ruby.rb +20 -0
  168. data/spec/mini.rb +25 -0
  169. data/spec/monitoring.rb +13 -0
  170. data/spec/release_aws_dns.rb +5 -0
  171. data/spec/release_dns.rb +5 -0
  172. data/spec/release_dyndns.rb +5 -0
  173. data/spec/shared_resources_spec.rb +25 -0
  174. data/spec/spec.opts +1 -0
  175. data/spec/spec_helper.rb +11 -0
  176. data/spec/virtualmonkey_spec.rb +7 -0
  177. data/virtualmonkey.gemspec +265 -0
  178. metadata +428 -0
@@ -0,0 +1,31 @@
1
+ FEs
2
+ 3233 a2enmod deflate needs to be added in the apache install script for Ubuntu FE's
3
+ 3248 Apache modules are not installed properly for Ubuntu images
4
+ 2700 haproxy plugin for collectd is not working
5
+ 3378 Apache doesn't properly serve static content, due to a bad Rewrite Condition
6
+ 3379 Add "LB get HA proxy config" to all Front End ST
7
+ 1401 entering "yes" for the OPT_PHP_ENABLE script breaks the install'
8
+ 3302 Ubuntu Apache access_log doesn't get rotated
9
+
10
+ HAProxy
11
+ 3300 HAProxy Add scripts user sed -i.orig which causes duplicate plugins in processes.conf
12
+ 3225 Collectd plugin does not work with HAProxy 1.3
13
+ 3223 LB HA proxy install v5: Script bug with Ubuntu RightImages
14
+ 2700 haproxy plugin for collectd is not working
15
+ 3279 Better race condition code for haproxy connect/disconnect backend
16
+ 3312 Front End HAProxy templates do not rotate /var/log/httpd/haproxy.log
17
+ 3332 HAProxy templates should not have a default value for HEALTH_CHECK_URI
18
+ 3413 haproxy 1.3 won't start with no servers registered
19
+
20
+ MySQL
21
+ 3381 MySQL logs not configured in logrotate.
22
+ 3399 MySQL 5.1 EBS v2 support for new size
23
+ 3175 Initialize slave from slave snapshot
24
+ 3303 MySQL shared default configuration files do not properly enable logging
25
+ 3324 MySQL keeps bin logs forever eventually consuming entire disk
26
+ 3391 MySQL binlogs are not properly rotated on CentOS
27
+ 3136 MySql Ubuntu - Logging not configured in my.cnf
28
+ 3012 verify low TTL for mysql/EBS server
29
+ 652 MySQL, collectd needs to be restart after promote to master
30
+
31
+
@@ -0,0 +1,25 @@
1
+ @app_state
2
+
3
+ Feature: Unified App Server Test
4
+ Tests the RightScale app servers
5
+
6
+ Scenario: App server test
7
+
8
+ Given A deployment
9
+ When I launch the frontends
10
+ And I hack the frontend rc crap
11
+ Then the frontends become operational
12
+
13
+ When I launch the appservers
14
+ And I hack the appservers rc crap
15
+ Then the appservers become operational
16
+
17
+ When I reboot the frontends
18
+ Then the frontends become non-operational
19
+ Then the frontends become operational
20
+
21
+ When I reboot the appservers
22
+ Then the appservers become non-operational
23
+ Then the appservers become operational
24
+
25
+
@@ -0,0 +1,24 @@
1
+ @app_test
2
+
3
+ Feature: Unified App Server Test
4
+ Tests the RightScale app servers
5
+
6
+ Scenario: App server test
7
+
8
+ Given A deployment
9
+
10
+ When I query "/index.html" on all servers
11
+ Then I should see "html serving succeeded." in all the responses
12
+
13
+ When I query "/appserver/" on all servers
14
+ Then I should see "configuration=succeeded" in all the responses
15
+
16
+ When I query "/dbread/" on all servers
17
+ Then I should see "I am in the db" in all the responses
18
+
19
+ When I query "/serverid/" on all servers
20
+ Then I should see "hostname=" in all the responses
21
+
22
+ When I query "/dbread/" on all servers
23
+ Then I should see "I am in the db" in all the responses
24
+
@@ -0,0 +1,16 @@
1
+ @base
2
+
3
+ Feature: Base Server Test
4
+ Tests the base server functions
5
+
6
+ Scenario: base server test
7
+
8
+ Given A simple deployment
9
+ Then I should stop the servers
10
+ Then I should launch all servers
11
+ Then I should wait for the state of "all" servers to be "operational"
12
+ Then I should check that monitoring is enabled
13
+ Then I should reboot the servers
14
+ Then I should wait for the state of "all" servers to be "operational"
15
+ Then I should check that monitoring is enabled
16
+
@@ -0,0 +1,11 @@
1
+ @rightlink
2
+ Feature: RightLink Feature Tests
3
+
4
+ Make sure rightlink supports the expected functionality
5
+
6
+ Scenario: The RightLink Test template should go operational
7
+ Given A simple deployment
8
+ Then I should stop the servers
9
+ Then I should launch all servers
10
+ Then I should wait for the state of "all" servers to be "operational"
11
+ Then I should check that monitoring is enabled
@@ -0,0 +1,38 @@
1
+ @mysql_5.x
2
+ Feature: mysql toolbox
3
+ Tests the RightScale premium ServerTemplate
4
+
5
+ Scenario: Run all toolbox scripts
6
+ #
7
+ # PHASE 1) Launch a few DB servers. Make one the master.
8
+ #
9
+ Given A MySQL Toolbox deployment
10
+ Then I should set a variation MySQL DNS
11
+ Then I should set a variation lineage
12
+ Then I should set a variation stripe count of "3"
13
+ Then I should set a variation volume size "3"
14
+
15
+ Then I should stop the servers
16
+ Then I should launch all servers
17
+ Then I should wait for the state of "all" servers to be "operational"
18
+ Then I should create master from scratch
19
+
20
+ #
21
+ # PHASE 2) Run checks for the basic scripts
22
+ #
23
+ # We need a non-mysql server that doesn't have continuous backups enabled
24
+ # Then I should test the backup script operations
25
+
26
+ #
27
+ # PHASE 3) restore the snapshot on another server
28
+ #
29
+ Then I should backup the volume
30
+ # Then I should test the restore operations
31
+
32
+ #
33
+ # PHASE 4) Do the grow EBS tests
34
+ #
35
+ Then I should test the restore grow operations
36
+ #
37
+ #
38
+ # Then I should stop the servers
@@ -0,0 +1,39 @@
1
+ @ebs
2
+ Feature: EBS toolbox tests
3
+ Tests the RightScale premium ServerTemplate
4
+
5
+ Scenario: Run all EBS toolbox operational scripts
6
+ #
7
+ # PHASE 1) Launch a toolbox server and create an EBS stripe with "interesting" data on it.
8
+ # How many servers do we need? Launch them all and figure it out later.
9
+ #
10
+ Given A EBS Toolbox deployment
11
+ Then I should set a variation lineage
12
+ Then I should set a variation stripe count of "3"
13
+ Then I should set a variation volume size "3"
14
+ Then I should set a variation mount point "/mnt/ebs"
15
+ Then I should stop the servers
16
+ Then I should launch all servers
17
+ Then I should wait for the state of "all" servers to be "operational"
18
+ Then I should create a new EBS stripe
19
+
20
+ #
21
+ # PHASE 2) Run checks for the basic scripts
22
+ #
23
+ Then I should test the backup script operations
24
+
25
+ #
26
+ # PHASE 3) restore the snapshot on another server
27
+ #
28
+ Then I should backup the volume
29
+ Then I should test the restore operations
30
+
31
+ #
32
+ # PHASE 4) Do the grow EBS tests
33
+ #
34
+ Then I should test the restore grow operations
35
+ #
36
+ #
37
+ Then I should test reboot operations on the deployment
38
+ #
39
+ Then I should stop the servers
@@ -0,0 +1,41 @@
1
+ @elb_test
2
+
3
+ Feature: PHP App Server Elastic Load Balancing test
4
+ Tests the Elastic Load Balancing RightScripts using PHP App Server
5
+
6
+ Scenario: Connect/Disconnect PHP App Server to ELB
7
+
8
+ Given An ELB Test deployment
9
+
10
+ When I create EC2 Elastic Load Balancer
11
+
12
+ # Then I should stop the servers
13
+ # Then I should set a variation for connecting to shared database host
14
+ # Then I should set a variation ELB_NAME
15
+ # When I launch the "App Server" servers
16
+ # Then I should wait for the state of "App Server" servers to be "booting"
17
+ # Then I should wait for the state of "App Server" servers to be "operational"
18
+ #
19
+ # Then I should run EC2 Elastic Load Balancer unified_app checks
20
+ # Then all instances should be registered with ELB
21
+ ## Then I should run log rotation checks
22
+ ## Then I should check that monitoring is enabled
23
+ #
24
+ ## Then I should reboot the servers
25
+ #
26
+ ## Then I should run EC2 Elastic Load Balancer unified_app checks
27
+ ## Then all instances should be registered with ELB
28
+ ## Then I should run log rotation checks
29
+ ## Then I should check that monitoring is enabled
30
+ #
31
+ # Then I should stop the servers
32
+ # Then no instances should be registered with ELB
33
+
34
+ When I delete EC2 Elastic Load Balancer
35
+ # When I launch the "App Server" servers
36
+ # When I should wait for the state of "App Server" servers to be "booting"
37
+ #
38
+ # Then I should wait for the state of "App Server" servers to be "stranded"
39
+ # Then I should stop the servers
40
+
41
+
@@ -0,0 +1,27 @@
1
+ @elb_test
2
+
3
+ Feature: PHP App Server Elastic Load Balancing test
4
+ Tests the Elastic Load Balancing RightScripts using an App Server
5
+
6
+ Scenario: Connect/Disconnect PHP App Server to ELB
7
+
8
+ Given An ELB Test deployment
9
+
10
+ When I create EC2 Elastic Load Balancer
11
+
12
+ Then I should stop the servers
13
+ Then I should set a variation for connecting to shared database host
14
+ Then I should set a variation ELB_NAME
15
+ When I launch the "App Server" servers
16
+ Then I should wait for the state of "App Server" servers to be "booting"
17
+ Then I should wait for the state of "App Server" servers to be "operational"
18
+
19
+ Then I should run EC2 Elastic Load Balancer unified_app checks
20
+ Then all instances should be registered with ELB
21
+
22
+ Then I should stop the servers
23
+ Then no instances should be registered with ELB
24
+
25
+ When I delete EC2 Elastic Load Balancer
26
+
27
+
@@ -0,0 +1,21 @@
1
+ @lb_test
2
+
3
+ Feature: PHP Server Test
4
+ Tests the PHP servers (checks only). Assumes all servers are already operational or can be launched to operational and have the correct config.
5
+
6
+ Scenario: PHP server test (checks only)
7
+
8
+ Given A frontend with application servers deployment
9
+
10
+ When I launch the "Front End" servers
11
+ Then I should wait for the state of "Front End" servers to be "operational"
12
+
13
+ When I launch the "App Server" servers
14
+ Then I should wait for the state of "App Server" servers to be "operational"
15
+
16
+ # Optional:
17
+ # Then I should cross connect the frontends
18
+
19
+ Then I should run unified application checks
20
+ Then I should run frontend checks
21
+ Then I should run log rotation checks
@@ -0,0 +1,13 @@
1
+ @base
2
+
3
+ Feature: Base Server Test
4
+ Tests the base server functions
5
+
6
+ Scenario: base server test
7
+
8
+ Given A simple deployment
9
+ Then I should stop the servers
10
+ # Then I should relaunch all servers
11
+ Then I should launch all servers
12
+ Then I should wait for the state of "all" servers to be "operational"
13
+ # Then I should perform start stop operations.
@@ -0,0 +1,15 @@
1
+ @lamp_test
2
+
3
+ Feature: LAMP Server Template Test
4
+ Tests the deployment
5
+
6
+ Scenario: LAMP Server Template Test
7
+
8
+ Given A LAMP deployment
9
+ Then I should stop the servers
10
+ Then I should launch all servers
11
+ Then I should wait for the state of "all" servers to be "operational"
12
+ Then I should run LAMP checks
13
+ Then I should run mysql checks
14
+ # Then I should run mysqlslap stress test
15
+ Then I should check that ulimit was set correctly
@@ -0,0 +1,27 @@
1
+ @lb_test
2
+
3
+ Feature: LB Server Test
4
+ Tests the LB servers
5
+
6
+ Scenario: LB server test
7
+
8
+ Given An Apache with HAproxy deployment
9
+ Then I should stop the servers
10
+ Then I should set a variation for connecting to shared database host
11
+
12
+ When I launch the "Load Balancer" servers
13
+ Then I should wait for the state of "Load Balancer" servers to be "operational"
14
+
15
+ Then I should set a variation LB_HOSTNAME
16
+ When I launch the "App Server" servers
17
+ Then I should wait for the state of "App Server" servers to be "operational"
18
+
19
+ Then I should run unified application checks
20
+ Then I should run frontend checks
21
+ Then I should run log rotation checks
22
+
23
+ # TODO?
24
+ #When I restart apache
25
+ #Then apache status should be good
26
+
27
+ Then I should test reboot operations on the deployment
@@ -0,0 +1,33 @@
1
+ @mysql_5.x
2
+ Feature: mysql 5.x v2 or v4 promote operations test
3
+ Tests the RightScale premium ServerTemplate
4
+
5
+ Scenario: Setup 2 server deployment and run basic cluster failover operations
6
+ #
7
+ # PHASE 1) Bootstrap and test promote
8
+ #
9
+ Given A MySQL deployment
10
+ Then I should stop the servers
11
+ Then I should set a variation lineage
12
+ Then I should set a variation stripe count of "1"
13
+ Then I should set a variation MySQL DNS
14
+ Then I should launch all servers
15
+ Then I should wait for the state of "all" servers to be "booting"
16
+ Then I should wait for the state of "all" servers to be "operational"
17
+ Then I should test promotion operations on the deployment
18
+ Then I should run mysql checks
19
+ # Then I should run mysqlslap stress test
20
+ Then I should check that ulimit was set correctly
21
+ Then I should check that monitoring is enabled
22
+
23
+ #
24
+ # PHASE 2) Reboot
25
+ #
26
+
27
+ Then I should test reboot operations on the deployment
28
+
29
+ #
30
+ # PHASE 3) Additional Tests
31
+ #
32
+
33
+ Then I should run a restore using OPT_DB_RESTORE_TIMESTAMP_OVERRIDE
@@ -0,0 +1,33 @@
1
+ @mysql_5.x
2
+ Feature: mysql 5.x v2 or v4 promote operations test
3
+ Tests the RightScale premium ServerTemplate
4
+
5
+ Scenario: Setup 2 server deployment and run basic cluster failover operations
6
+ #
7
+ # PHASE 1) Bootstrap and test promote
8
+ #
9
+ Given A MySQL deployment
10
+ Then I should stop the servers
11
+ Then I should set a variation lineage
12
+ Then I should set a variation stripe count of "1"
13
+ Then I should set a variation AWSDNS provider
14
+ Then I should launch all servers
15
+ Then I should wait for the state of "all" servers to be "booting"
16
+ Then I should wait for the state of "all" servers to be "operational"
17
+ Then I should test promotion operations on the deployment
18
+ Then I should run mysql checks
19
+ # Then I should run mysqlslap stress test
20
+ Then I should check that ulimit was set correctly
21
+ Then I should check that monitoring is enabled
22
+
23
+ #
24
+ # PHASE 2) Reboot
25
+ #
26
+
27
+ Then I should test reboot operations on the deployment
28
+
29
+ #
30
+ # PHASE 3) Additional Tests
31
+ #
32
+
33
+ Then I should run a restore using OPT_DB_RESTORE_TIMESTAMP_OVERRIDE
@@ -0,0 +1,33 @@
1
+ @mysql_5.x
2
+ Feature: mysql 5.x v2 or v4 promote operations test
3
+ Tests the RightScale premium ServerTemplate
4
+
5
+ Scenario: Setup 2 server deployment and run basic cluster failover operations
6
+ #
7
+ # PHASE 1) Bootstrap and test promote
8
+ #
9
+ Given A MySQL deployment
10
+ Then I should stop the servers
11
+ Then I should set a variation lineage
12
+ Then I should set a variation stripe count of "1"
13
+ Then I should set a variation DNS provider
14
+ Then I should launch all servers
15
+ Then I should wait for the state of "all" servers to be "booting"
16
+ Then I should wait for the state of "all" servers to be "operational"
17
+ Then I should test promotion operations on the deployment
18
+ Then I should run mysql checks
19
+ # Then I should run mysqlslap stress test
20
+ Then I should check that ulimit was set correctly
21
+ Then I should check that monitoring is enabled
22
+
23
+ #
24
+ # PHASE 2) Reboot
25
+ #
26
+
27
+ Then I should test reboot operations on the deployment
28
+
29
+ #
30
+ # PHASE 3) Additional Tests
31
+ #
32
+
33
+ Then I should run a restore using OPT_DB_RESTORE_TIMESTAMP_OVERRIDE