r6 - 13 Nov 2007 - 11:56:42 - LubaFutekovaYou are here: Wiki >  AppLogic2 Web > CatMiscMYSQLTp
ALERT! AppLogic 2.1/2.2 Documentation The latest production release is AppLogic 2.9.9

MYSQL: MySQL Database Appliance - Test Plan

Preparation

For test cases below we need a test application like this:

tp-test-app.gif

in - appliance of type IN

  • switch on the standby attribute
  • configure its mandatory properties
web - appliance of type WEB
  • switch on the standby attribute
  • set content_on_fs=on
content - appliance of type NAS
  • switch on the standby attribute
  • set start order=1
  • create a user volume and configure it as data volume
mon - appliance of type MON
  • switch on the standby attribute
  • create a user volume and configure it as data volume
db - appliance of type MYSQL

Tests Summary

All test cases need manual execution.

Appliance recreation

  • Verfiries the appliance can be recreated following steps specified within the appliance implementation design.

Boundary Tests

  • appliance boundary - verifies class boundaries are according specification
  • "data" volume type - verifies the appliance can use different type data volumes

Properties Tests

  • "auto_create" property - verifies the auto_create property works as expected
  • "error_log_filename" property - verifies the error_log_filename property works as expected
  • "error_log_level" property - verifies the error_log_level property works as expected

Counters Tests

  • counters values - verifies that custom mysql counter show properly values

Left-over Tests

  • appliance cleanup - verifies all installation files and logs are cleaned up

Tests Details

Appliance recreation

  1. Follow the steps specified within the building procedure to recreate the MYSQL appliance.
  2. Move the just created appliance into the /user catalog to be used for the remaining tests.

Boundary Tests

appliance boundary

Verify that the db boundaries are according the appliance datasheet:

  1. Check the appliance description and version.
  2. Check the properties - verify their type, default value, available values.
  3. Check the resources.
  4. Check the terminals.
  5. Check the user volume - the data volume should be mandatory.

Verify that the db appliance can be started/stopped with varying memory and CPU resources:

  1. Start the test application and verify that it starts successfully
    • SSH into all appliances
  2. Stop the application and configure the db appliance to have minimum CPU and memory resources
  3. Start the application and verify that it starts successfully

"data" volume type

  1. Create an user volume with ext3 file system, configure it as data volume and try to start the test application - db appliance should start successfully.
  2. Data volumes of other types should also work (ext2, reiserfs).


Properties Tests

"auto_create" property

  1. Set auto_create=1 and restart the test application - new database should be create in /mnt/data and the mysql daemon should be started.
  2. Set auto_create=0 and restart the test application - appliance should start successfully (with started mysql daemon).
  3. Create new empty user volume and configure it as data volume. Set auto_create=0 and restart the test application - appliance should start successfully (without new created database and with stopped mysql daemon).
  4. Restore the default auto_create value.

"error_log_filename" property

  1. Leave error_log_filename empty and restart the test application - the appliance should start successfully writing error logs in /mnt/data/error.log.
  2. Set error_log_filename=db-error.log (leaving the log terminal not connected) and restart the test application (in --debug mode) - the appliance starting should fail with proper error message (check th message in 3t log and in the /var/log/appliances/log file on the db appliance).
  3. Create db.log -> content.cifs connection (leaving the content appliance in standby mode) and restart the test application (in --debug mode) - the appliance starting should fail with proper error message (check the message in 3t log and in the /var/log/appliances/log file on the db appliance).
  4. Switch off the standby attribute of the content appliance and restart the test application - the appliance should start successfully writing database logs in /mnt/log/db-error.log file.
  5. Set error_log_filename=/test1/test2/test3/db-error.log and restart the test application - the appliance should start successfully writing database logs in /mnt/log/test1/test2/test3/db-error.log file.

"error_log_level" property

  1. Set error_log_level=error and restart the test application - it should start successfully. Using ps verify the mysql server writes error level logs.
  2. Set error_log_level=warn and restart the test application - it should start successfully. Using ps verify the mysql server writes warn level logs.


Counters Tests

counters values

  1. Create db.mon -> mon.in connection. Switch off the standby attribute of the mon appliance and restart the test appliaction.
  2. Open monitoring and verify mysql counters are properly updated.


Left-over Tests

appliance cleanup

  1. Login on the db appliance and verify there are not /var/log/mysql* files.
  2. Stop the test application and mount both /proto:MYSQL.boot and /proto:MYSQL.usr volumes:
    1. Verify there are not files except /var/log/lastlog in /var/log directory (cd /vol/proto/MYSQL.boot; find ./var/log -type f MUST return just /var/log/lastlog)
    2. Verify there are not files in /tmp directory (cd /vol/proto/MYSQL.boot; find ./tmp -type f should return empty list)
    3. Verify there are not files in /var/cache/yum directory (cd /vol/proto/MYSQL.boot; find ./var/cache/yum -type f should return empty list)
    4. Verify there are not history files in /root directory (cd /vol/proto/MYSQL.boot/root; ls -al - the list should not contain files like .bash_history and .lesshst)
    5. Verify there are not backup config files saved by rpm (cd /vol/proto; find . -iname "*rpm*" - the list should not contain files with extensions like .rmpnew .rpmsave)

-- NetClime - 02 Oct 2007

 
Copyright © CA 2005-2010. All Rights Reserved.
%