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:
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
- Follow the steps specified within the building procedure to recreate the MYSQL appliance.
- 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:
- Check the appliance description and version.
- Check the properties - verify their type, default value, available values.
- Check the resources.
- Check the terminals.
- 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:
- Start the
test application and verify that it starts successfully
- Stop the application and configure the
db appliance to have minimum CPU and memory resources
- Start the application and verify that it starts successfully
"data" volume type
- 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.
- Data volumes of other types should also work (ext2, reiserfs).
Properties Tests
"auto_create" property
- Set
auto_create=1 and restart the test application - new database should be create in /mnt/data and the mysql daemon should be started.
- Set
auto_create=0 and restart the test application - appliance should start successfully (with started mysql daemon).
- 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).
- Restore the default
auto_create value.
"error_log_filename" property
- Leave
error_log_filename empty and restart the test application - the appliance should start successfully writing error logs in /mnt/data/error.log.
- 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).
- 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).
- 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.
- 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
- Set
error_log_level=error and restart the test application - it should start successfully. Using ps verify the mysql server writes error level logs.
- 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
- Create
db.mon -> mon.in connection. Switch off the standby attribute of the mon appliance and restart the test appliaction.
- Open monitoring and verify mysql counters are properly updated.
Left-over Tests
appliance cleanup
- Login on the
db appliance and verify there are not /var/log/mysql* files.
- Stop the
test application and mount both /proto:MYSQL.boot and /proto:MYSQL.usr volumes:
- 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)
- Verify there are not files in /tmp directory (cd /vol/proto/MYSQL.boot; find ./tmp -type f should return empty list)
- 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)
- 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)
- 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