Upload
david-ko
View
211
Download
0
Embed Size (px)
Citation preview
DEV-IT NGA Status UpdateDavid Ko
2016/3/30
● New Automation execution platform, based on the concept of infrastructure as
code
○ Manageable, API-driven
○ Scalable
○ Distributed
○ Extensible
○ Auto-recovery
○ Portable
○ Easy deployable
Next Generation Automation - NGA
Current Automation● Automation team (DEV-IT/QA-Auto) is only source of test case automation
● Automation team is only knowledge owner of test case execution & environment
Customers(ex: EET, Branch owner, ….)Automation teams
Problem: too many communications, closed info & resource Issues
So… Latency & unexpected result
Current Automation, Cont.● This is an example for communication of automation execution request, needless
communication and operation… again and again
● Save time to focus on much meaningful stuff
● Everyone can write & run test case everywhere through different deployment ways
● Everyone can setup their own NGA platform or use DEV-IT hosting service to run test
cases
Future Automation
Architecture - Microservice
app-api app-master
app-test
app-frontend
app-resource
Post Commit SanityDeveloper
message queue message queue...
OpenStack
AP
vAP
Radius
AD/LDAP
vUE
Mac mini
SZ
app-test
service discovery
app-agent
app-report
Architecture - Microservice, Cont.● Each application/service is microservice built by Container
● Use service discovery to manager/load balance service usage
● Suitable to extend and scale out services
Where we are - Progress● Development flow is mature
○ Git, Jenkins/CI
○ SonarQube for test coverage
○ Container deployment for functional testing
● REST API is ready to run test cases
○ Post commit sanity will use API to integrate, no need to manual operation
● NGA services deployment
○ Deployment solutions for different use cases
● Test Case execution on NGA
○ Modify DEV-IT test case to run on NGA
○ Support end-to-end or config only testing
○ Run on all platforms, SCG200/SZ100/vSZ-H/vSZ-E
○ IPv4 support first, IPv6 depends on OpenStack function
Where we are - Progress, Cont.● GUI is under construction
○ Front-end application operates NGA through REST API
● vAP & vUE evaluation, but not suitable for NGA for now
○ Can not work well on OpenStack due to DHCP IP known issue
API REST API is able to do below tasks
● Create test project
● Select test case
● Create test job
● Run test job to trigger test build
● Get test build report
● Manage resource
● Check service status
● ....
API, Cont REST API is able to do below tasks
● Download test report
● Check test build status
● Check test build console
● ….
Deployment● Single host (all-in-one) - Done
○ For testing & personal use
○ One command to deploy
● Single master/agent + multiple tests - Verifying
○ For scalable test execution
● Single master, multiple agents + multiple agents - To Do
○ Besides scalable test execution, scalable different style test beds
Docker Docker Docker Docker Docker Docker
1 2 3
Docker Swarm
Demo1. Automatically redeploy NGA Microservices
2. Check services available
3. Create test project
4. Select test cases and create test job
5. Run test job to create test build
6. Check test build status
7. Get test report
What is Next● Add more status check API for frontend application
● Implement GUI for better operation experience
● Setup NGA production platform for DEV-IT hosting service
● Migrate Post Commit sanity to NGA
● Share deployment solution to user to install single-host environment to run by
themselve
● ….
● Detailed schedule and plan will be delivered by Daniel & Eva
Thank You