virtualmonkey 0.0.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.
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