Automatic verification technology of virtual machine software patch on IaaS cloud
2015/01/23 Yoji Yamato
2
Copyright©2014 NTT corp. All Rights Reserved.
• Background
• Problems of existing methods
• Proposal of automatic verification
• Evaluation of proposed method
• Conclusion
• IaaS Cloud services have been progressed and users can use virtual resources easily. • Users can install OS and middleware to
VMs(virtual machines) and customize VMs. • When new patches are released, users
need to distribute patches to their VMs and verify their systems health.
• This increases users’ operation costs.
4
Copyright©2014 NTT corp. All Rights Reserved.
• If providers verify each user patches,
users’ operation costs can be decreased. • However, it needs a lot of effort to verify
because each user environment is different. • Today, we propose an automatic
verification technology of software patches for user virtual environments on IaaS cloud.
• Background
• Problems of existing methods
• Proposal of automatic verification
• Evaluation of proposed method
• Conclusion
6
Copyright©2014 NTT corp. All Rights Reserved.
Existing automatic verification technologies
• Jenkins is a Continuous Integration tool. • Selenium repeats web browser actions. • However, in these existing technologies
• i) Providers cannot conduct fixed test
cases for plural user virtual environments with different configurations.
• ii) Preparing test cases for each user
• Background
• Problems of existing methods
• Proposal of automatic verification
• Evaluation of proposed method
• Conclusion
8
Copyright©2014 NTT corp. All Rights Reserved.
Proposed automatic verification flow
Automatic Verification Functions (AVF) OpenStack Hyper visor OVS LR VM VOL VM Hyper visor OVS Hyper visor OVS Nova Neutron User OpenStack API OpenStackDB Operator VOL Heat User tenant LR VM VOL VM VOL Operator tenant Test case DB
1. Specify User tenant ID, a patch to be distributed 2. Replicate
User tenant
3. Get tenant information
4. Extract test cases 5. Distribute patches
6. Conduct test cases 7. Gather test cases results
Test case DB diagram for effective test cases
Function group Software group Software example: OS, DB, Web, Mail, AP server example: Windows2012, MySQL5.1 JBoss5.1 example: Windows, MySQL, JBoss Software Test case example:Windows file CRUD CRUD by phpMyAdmin EJB execution on JBoss
Software group Test case Function group Test case example: Ping communication, Mail send/ receive
●
●
●
●
●
• Verification test cases need to confirm behaviors of each installed software on VM.
10
Copyright©2014 NTT corp. All Rights Reserved.
Prepared test case DB data by providers
Function group Software group Software
OS Windows Windows Server 2012 Windows 8.1 RHEL RHEL 7.0 RHEL 6.1 DB Oracle Oracle11g Oracle 10g MySQL MySQL 5.0 MySQL 4.0
Web Apache Apache 2.1
Apache 2.2
IIS IIS 8.0
IIS 8.5
• Service providers prepare software
relation data and test case data in test case DB before patch verifications.
Software relation Test case information
Function group Software group Software Test case DB Table CRUD
DB Japanese character garbling check DB Oracle
DB MySQL Access by phpMyAdmin DB Postgre SQL
Test case Test case class target subject Table CRUD DB function group function Japanese character garbling check DB function group data
Oracle software group
•Firstly, AVFs extract software
information of VM.
•Secondly, AVFs search what
software group and what function
group the software is belong to.
•Lastly, AVFs select corresponding
test cases respectively for each
installed software.
12
Copyright©2014 NTT corp. All Rights Reserved.
• Background
• Problems of existing methods
• Proposal of automatic verification
• Evaluation of proposed method
• Conclusion
• Processing steps of automatic verification: • Case 1; Replicate tenant and conduct tests. • Case 2; Only conduct verification test cases. • Selected test cases number: 15
• 10 for DB function group and 5 for MySQL
software group or PostgreSQL software group. • Concurrent thread numbers:
• 1 thread, 3 threads, 5 threads
14
Copyright©2014 NTT corp. All Rights Reserved.
Performance measurement results
• (a) shows that image extraction and template
deployment take much time in automatic verifications. • (b) shows that it takes only 5 minutes for automatic
verifications when we skip tenant replications.
0:00:00 0:28:48 0:57:36 1:26:24 1:55:12 2:24:00 2:52:48 3:21:36
1 thread 3 threads 5 threads
virtual resources deletion test case conduction patch distribution
environment information acquisition tester resources preparation
template deployment template/image extraction 0:00:00 0:00:43 0:01:26 0:02:10 0:02:53 0:03:36 0:04:19 0:05:02
1 thread 3 threads 5 threads
test case conduction patch distribution environment information acquisition
• Background
• Problems of existing methods
• Proposal of automatic verification
• Evaluation of proposed method
• Conclusion
16
Copyright©2014 NTT corp. All Rights Reserved.
• We propose an automatic verification
technology of software patch for user virtual environment on IaaS cloud.
• Our proposed method replicates user tenants, extracts test cases from test case DB,
distributes patches and conducts test cases. • Performance measurements show that
automatic verifications of patch and test cases conductions take only 5 minutes with 5 threads.