114 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# Debug environment
 | 
						|
 | 
						|
## Create ssh tunnel to Jenkins server
 | 
						|
 | 
						|
```bash
 | 
						|
ssh -f -N -L 8089:127.0.0.1:8089 vagrant@max-tst-01.mariadb.com
 | 
						|
```
 | 
						|
 | 
						|
## Create environment for debugging
 | 
						|
 | 
						|
To create virtual machines for debugging please 
 | 
						|
use Jenkins job 'create_env'
 | 
						|
http://127.0.0.1:8089/view/env/job/create_env/build
 | 
						|
 | 
						|
This Jenkins job creates backend VMs
 | 
						|
(4 Master/Slave and 4 Galera) and
 | 
						|
Maxscale development machine.
 | 
						|
 | 
						|
Maxscale development machine will contain all 
 | 
						|
build tools and build dependencies as well as
 | 
						|
Maxscale source Git.
 | 
						|
 | 
						|
Source is located in:
 | 
						|
```
 | 
						|
~/MaxScale/
 | 
						|
```
 | 
						|
 | 
						|
## Environmental variables setup
 | 
						|
 | 
						|
```bash
 | 
						|
. ~/build-scripts/test/set_env_vagrant.sh <name>
 | 
						|
```
 | 
						|
 | 
						|
Example:
 | 
						|
 | 
						|
```bash
 | 
						|
. ~/build-scripts/test/set_env_vagrant.sh debug_env
 | 
						|
```
 | 
						|
 | 
						|
## Access to Maxscale VM
 | 
						|
 | 
						|
```bash
 | 
						|
ssh -i $maxscale_sshkey $maxscale_whoami@maxscale_network
 | 
						|
```
 | 
						|
 | 
						|
```bash
 | 
						|
scp -i $maxscale_sshkey <stuff_to_copy> $maxscale_whoami@maxscale_network:/home/$maxscale_whoami/
 | 
						|
```
 | 
						|
 | 
						|
```bash
 | 
						|
scp -i $maxscale_sshkey $maxscale_whoami@maxscale_network:/home/$maxscale_whoami/<stuff_to_copy> .
 | 
						|
```
 | 
						|
 | 
						|
## Executing tests
 | 
						|
 | 
						|
Clone https://github.com/mariadb-corporation/maxscale
 | 
						|
 | 
						|
and build tests
 | 
						|
 | 
						|
```bash
 | 
						|
cd MaxScale/maxscale-system/test
 | 
						|
cmake .
 | 
						|
make
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
and then run 
 | 
						|
 | 
						|
```bash
 | 
						|
ctest -VV
 | 
						|
```
 | 
						|
 | 
						|
or manually any test executable from _maxscale-system-test_
 | 
						|
 | 
						|
It is recommended to run 
 | 
						|
 | 
						|
```bash
 | 
						|
./check_backend
 | 
						|
```
 | 
						|
 | 
						|
before manual testing to be sure Master/Slave and Galera setups are
 | 
						|
in order (_check_backend_ also fixes broken replication or Galera)
 | 
						|
 | 
						|
## Restoring broken setup
 | 
						|
 | 
						|
Just use http://127.0.0.1:8089/view/snapshot/job/restore_snapshot/build
 | 
						|
 | 
						|
Manual snapshot reverting:
 | 
						|
 | 
						|
```bash
 | 
						|
~/mdbci/mdbci snapshot  revert --path-to-nodes debug_env --snapshot-name clean
 | 
						|
```
 | 
						|
 | 
						|
## Destroying 
 | 
						|
 | 
						|
Use http://127.0.0.1:8089/view/axilary/job/destroy/build
 | 
						|
with _name=debug_env_
 | 
						|
 | 
						|
or _clean_vms.sh_ script
 | 
						|
 | 
						|
```bash
 | 
						|
cd ~/mdbci/scripts
 | 
						|
./clean_vms.sh debug_env
 | 
						|
```
 | 
						|
 | 
						|
## Notes
 | 
						|
 | 
						|
Please check _slave_name_ parameter when executing any Jenkins job.
 | 
						|
All jobs are executed only for defined slave (or for master).
 | 
						|
 | 
						|
i.e. VM set with the same name can be running on different slaves at the same time.
 | 
						|
 | 
						|
 |