Project

General

Profile

action #51560

Updated by whdu almost 5 years ago

Krb5 related cases include `"krb5"` and `"NFSv4 with krb5 authentication and gss api"`. We test all of them are focusing on `krb5` itself here and will add other tests to the same testsuite in one set of testsuites. 

 future.  

 The cases case will be focus on cryptographic function for Krb5, especially for FIPS regression verification. It **does NOT** cover all aspects. 

 ## Design 

 Krb5 require at least three machines (therefor three testsuites) - **KDC**, **Server** and **Client**. The test connection will be initiated on client machine. The idea is to config the relationship of these testsuites with **`PARALLEL_WITH`**, add all of them to the same job group and trigger together as multi-machine testing. 

 For each machine, a 'preparation' script will be run at first. The dependency between them shown below: 

 ``` 
 Testsuite | Cases in Testsuite 
 ----------+------------------------------------------------------------------------------------------------ ----------+--------------------------------- 
 KDC         | krb5_crypt_prepare krb5_prepare.pm -> krb5_crypt_setup_kdc ---------------------------------------------------> krb5kdc.pm 
  ^          | 
 Server      | krb5_crypt_prepare krb5_prepare.pm -> krb5_crypt_setup_server -> krb5_crypt_ssh_server -> krb5_crypt_nfs_server krb5server.pm 
  ^          | 
 Client      | krb5_crypt_prepare krb5_prepare.pm -> krb5_crypt_setup_client -> krb5_crypt_ssh_client -> krb5_crypt_nfs_client krb5client.pm 
 ``` 

 The character "`^`" shows the parent/child dependency relation between testsuites, 'Sever' is the child of 'KDC', and 'Client' is the child of 'Server'. 

 There will have several locks(mutex) in the code to sync the running progress of task between three machines. 


 

 ## Tasks 

 We set three sub tasks here for each machines(testsuites).<br>The scripts will be put into `tests/security/krb5/` directory. 

 A separate `krb5crypt` package will be created in lib/ to setup common variables for these cases, so that we do not need to define the same ones in each cases. 

 ## Workload 

 The main workload for this task is include investigation for krb5 mechanism and openQA multi-machine testing, as well as deploy the multi-machine network configurations in local developing environment. 

 The workload of the coding for these scripts will be distributed to each sub tasks.

Back