SlideShare a Scribd company logo
1 of 22
Download to read offline
Confidentiel SILICOM
© 2017
© Silicom 2019
1
Modifiez le style du titre
© Silicom 2019
SILICOM
FaSilET² : End To End Tester
Multifunction Tool for Developers and QA
Confidentiel SILICOM
© 2017
© Silicom 2019
2
§ Framework and tool for developers and quality assurance
§ Interact with code in production conditions
§ No need to insert test-only code or stubs
§ Act like a human tester
FaSilET² : Main concepts
Confidentiel SILICOM
© 2017
© Silicom 2019
3
§ Actuators :
Scripts launched in a pre-established order defined in a config file.
Simulate human interactions through GUI or CLI and catch their returns.
May be launched in parallel to simulate multiple users at the same time, using
LXC containers.
Examples :
§ Web interface interaction simulation using Selenium
§ Writing into files using ssh or telnet
§ Database modification
§ Physical buttons action simulation using /proc or /sys
§ Etc.
FaSilET² : Vocabulary
Confidentiel SILICOM
© 2017
© Silicom 2019
4
§ Validators :
Get information on changes resulting from actuators activities
Zero to many validators for every actuator
Launched in parallel in LXC container prior to the corresponding actuator
Store validation results until needed
Return status PASSED, FAILED, TIMEOUT
FaSilET² : Vocabulary
Confidentiel SILICOM
© 2017
© Silicom 2019
5
§ Validators :
Exemples :
§ Reading local or remote logs
§ Database queries
§ Email reception
§ Etc.
FaSilET² : Vocabulary
Confidentiel SILICOM
© 2017
© Silicom 2019
6
§ Monitors :
Monitor one or more machine components during actuators execution.
Launched in parallel in LXC containers prior to test session start.
Stopped after the end of the whole process
Timestamped logs to compare with actuator activity
Exemples :
§ CPU usage
§ RAM usage
§ Disk space
§ Etc.
FaSilET² : Vocabulary
Confidentiel SILICOM
© 2017
© Silicom 2019
7
FaSilET² is currently a little better than a proof of concept.
Core is ready
Some modules are at production level
Validators :
§ Logs reader using ssh connections
§ Databases reader
Actuators :
§ Web (Selenium)
FaSilET² : Current development status
Confidentiel SILICOM
© 2017
© Silicom 2019
8
Current version
FaSilET² : Current architecture
Validator
1
Validator
n
GUI or system
under
tests
Logs
server
L
X
C
Action
GUI returns
Other
(mail, etc.)
Results
Centralization
(JSON file)
Results
analysis
Actuators
Validator
2
Exécute
Database
Monitor
1
Monitor
n
L
X
C
L
X
C
Confidentiel SILICOM
© 2017
© Silicom 2019
9
Dynamic operation in list
FaSilET² : Architecture
Actuator
parsing
Containers
creation for
validators
and
monitoring
Validators
and
monitors
started
Actuator
started
Waiting for
validators
Getting and
storing
results
Next
actuator
Other
actuator in
list
?
Et2.pl
JSON
export
Confidentiel SILICOM
© 2017
© Silicom 2019
10
§ Scripts based
Operation based on Perl scripts
Use abstraction modules
For exemple :
§ ET2::Web::Selenium
§ ET2::Utils::Report
§ ET2::Validators::SSHLogs
§ Etc.
FaSilET² : Operation
Confidentiel SILICOM
© 2017
© Silicom 2019
11
§ Directory layout
Testing scripts must be put into directories like this :
test
├── actuators
│ ├── activate_equipment.pl
│ ├── badlogin.pl
│ ├── finish.pl
│ ├── login.pl
│ ├── ntp.pl
│ └── share.pl
├── et2.conf
├── monitors
│ └── CPU1.pl
└── validators
├── Log1.pl
├── Log2.pl
└── LogNTP.pl
And the main script named et2.pl is called with the top directory as parameter
Execution order of actuators is given in configuration file et2.conf. This file is a simple “ini” format
one.
FaSilET² : Operation
Confidentiel SILICOM
© 2017
© Silicom 2019
12
§ Results
Test results are stored in two JSON files :
§ Results from actuators
§ Results from validators
A graphical analysis solution development is planned.
Results are stamped with UIDs
UID format : <actuator_number>-<action_number>-<start_ts>-<stop_ts>
FaSilET² : Running
Confidentiel SILICOM
© 2017
© Silicom 2019
13
§ Actuator result example
{
"actuators" : {
"login" : {
"results" : {
"wait_for_text" : {
"main" : "SUCCESS",
"description" : "Waiting for error message",
"UID" : "0001-0001-20190425132501-20190425132512"
}
}
},
"ntp" : {
"results" : {
"change_ntp_server" : {
"main" : "SUCCESS",
"description" : "Checking NTP server is the one entered previously",
"comment" : "NTP server read : 0.debian.pool.ntp.org",
"UID" : "0002-0001-20190425132602-20190425132623"
}
}
},
…
FaSilET² : Running
Confidentiel SILICOM
© 2017
© Silicom 2019
14
§ Validator result example{
"maintitle" : "SG4000",
"maindescription" : "SG4000 end to end tests",
"actuators" : {
"ntp" : {
"description" : "Change NTP server address",
"results" : {
"LogNTP" : {
"status" : "PASSED",
"data" : [],
"params_ERROR" : null,
"params_OK" : "server 0.debian.pool.ntp.org",
"UID" : "0002-0001-20190425132400-20190425132730",
"name" : "LogNTP"
}
},
"status" : {
"LogNTP" : "ok"
}
},
"login" : {
"status" : {
"Log1" : "ok"
},
"description" : "Good login tests",
"results" : {
"Log1" : {
"status" : "PASSED",
"params_OK" : "WARN admin_vpn0: connection",
"name" : "Log1",
"UID" : "0001-0001-20190425132412-20190425132842",
"data" : [
"2019/03/25 15:44:15 WARN admin_vpn0: connection "
],
"params_ERROR" : null
}
}
},
…
FaSilET² : Running
Confidentiel SILICOM
© 2017
© Silicom 2019
15
FaSilET² : Screenshot
Confidentiel SILICOM
© 2017
© Silicom 2019
16
§ Providing a VM image (OVA), LXC or LXD template
§ Add network scanning modules (nmap, wireshark…)
§ Add IA modules
§ GUI to generate actuator and validator scripts
§ Other ways to use this framework :
§ Cyber security (attack and defense)
§ Quality Assurance
§ …
FaSilET² : Near future
Improvements
Confidentiel SILICOM
© 2017
© Silicom 2019
17
Modifiez le style du titre
© Silicom 2019
Thank you
Any questions ?
Sources available on gitlab : https://gitlab.com/silicom/fasilet
Confidentiel SILICOM
© 2017
© Silicom 2019
18
Actuator example :
FaSilET² : Scripts exemple
#!/usr/bin/perl
use 5.20.0;
use File::Basename;
my $dirname = dirname(__FILE__);
require "$dirname/share.pl";
…
use ET2::Web::Selenium;
use ET2::Utils::Report;
our @VALIDATORS = ( 'Log1' );
…
if(!defined($sel))
{
$sel = ET2::Web::Selenium->new(
host => "https://$host",
driver => "firefox",
encoding => 'latin1',
);
$sel->setname("Sel1");
$sel->start();
}
if(!defined($report))
{
$report = ET2::Utils::Report->new(
title => 'VPN tests',
description => 'End to end tests for VPN project'
);
}
Confidentiel SILICOM
© 2017
© Silicom 2019
19
FaSilET² : Scripts example
$sel->goto('/');
$sel->write(name => "username", value =>
"admin_vpn0");
$sel->write(name => "password", value =>
"admin_vpn1");
$sel->clickbtn(class_name => "btn");
$ret = $sel->waitforpage(
timeout => 2,
url =>
'https://10.10.2.4/#/configuration/localnetwork/
ipconfig'
);
if($ret > 0)
{
say “Login : TIMEOUT”;
}
else
{
$rettitle = $sel->gettitle();
$returl = $sel->geturl();
if(($returl =~ /config$/) && ($rettitle =~ /^Param/))
{
say “Login : TEST SUCCESSFUL";
}
else
{
say “Login : TEST FAILED";
}
}
Confidentiel SILICOM
© 2017
© Silicom 2019
20
Validator example :
FaSilET² : Scripts example
#!/usr/bin/perl
use 5.20.0;
…
use ET2::Validator::SSHLogs;
sub run
{
my $vlog = new ET2::Validators::SSHLogs(
host => $host,
port => 10022,
key => '/home/cedric/Developpement/keys/ssh.key',
logfile => '/var/log/diags.log',
timeout => '0..20',
autostart => 1,
user => "root"
);
Confidentiel SILICOM
© 2017
© Silicom 2019
21
FaSilET² : Scripts example
return undef if(!defined($vlog));
$vlog->setregexok("WARNsw+s: connection");
$vlog->setname("Log1");
$vlog->tail();
return $vlog->getresults();
}
run();
Confidentiel SILICOM
© 2017
© Silicom 2019
22
FaSilET² : Why such a name ?
• ET² stands for End To End Testing = ETET = (ET) ²
• Sil stands for Silicom
• Fa(r) is a long, long way to run… because we can do many
things with it, mainly a name one can easily remember J

More Related Content

What's hot

Software Composition Analysis in PHP
Software Composition Analysis in PHP Software Composition Analysis in PHP
Software Composition Analysis in PHP Piotr Horzycki
 
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - David Bo...
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - David Bo...What’s cool in the new and updated OSGi specs (DS, Cloud and more) - David Bo...
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - David Bo...mfrancis
 
Deploying Flink on Kubernetes - David Anderson
 Deploying Flink on Kubernetes - David Anderson Deploying Flink on Kubernetes - David Anderson
Deploying Flink on Kubernetes - David AndersonVerverica
 
Application Automation with Habitat
Application Automation with HabitatApplication Automation with Habitat
Application Automation with HabitatChef
 
Social Connections 14 - Kubernetes Basics for Connections Admins
Social Connections 14 - Kubernetes Basics for Connections AdminsSocial Connections 14 - Kubernetes Basics for Connections Admins
Social Connections 14 - Kubernetes Basics for Connections Adminspanagenda
 
Vault - Enhancement for K8S secret security
Vault - Enhancement for K8S secret securityVault - Enhancement for K8S secret security
Vault - Enhancement for K8S secret securityHuynh Thai Bao
 
Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019
Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019
Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019Icinga
 
Kubernetes persistence 101
Kubernetes persistence 101Kubernetes persistence 101
Kubernetes persistence 101Kublr
 
カエルと実践するコンテナ
カエルと実践するコンテナカエルと実践するコンテナ
カエルと実践するコンテナTsuyoshi Miyake
 
Debugging Complex Issues in Web Applications
Debugging Complex Issues in Web ApplicationsDebugging Complex Issues in Web Applications
Debugging Complex Issues in Web ApplicationsVMware Tanzu
 
DevOpsDaysRiga 2018: Andrew Martin - Continuous Kubernetes Security
DevOpsDaysRiga 2018: Andrew Martin - Continuous Kubernetes Security DevOpsDaysRiga 2018: Andrew Martin - Continuous Kubernetes Security
DevOpsDaysRiga 2018: Andrew Martin - Continuous Kubernetes Security DevOpsDays Riga
 
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...Wojciech Barczyński
 
Gatekeeper: API gateway
Gatekeeper: API gatewayGatekeeper: API gateway
Gatekeeper: API gatewayChengHui Weng
 
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & DockerIndicThreads
 
Kubernetes &amp; the 12 factor cloud apps
Kubernetes &amp; the 12 factor cloud appsKubernetes &amp; the 12 factor cloud apps
Kubernetes &amp; the 12 factor cloud appsAna-Maria Mihalceanu
 
Spring Boot—Production Boost
Spring Boot—Production BoostSpring Boot—Production Boost
Spring Boot—Production BoostVMware Tanzu
 
Kubernetes Ingress 101
Kubernetes Ingress 101Kubernetes Ingress 101
Kubernetes Ingress 101Kublr
 
Compliance as Code: Velocity with Security - Fraser Pollock, Chef
Compliance as Code: Velocity with Security - Fraser Pollock, ChefCompliance as Code: Velocity with Security - Fraser Pollock, Chef
Compliance as Code: Velocity with Security - Fraser Pollock, ChefAlert Logic
 
Spring Data JDBC: Beyond the Obvious
Spring Data JDBC: Beyond the ObviousSpring Data JDBC: Beyond the Obvious
Spring Data JDBC: Beyond the ObviousVMware Tanzu
 
Running eZ Platform on Kubernetes (presented by Björn Dieding at eZ Conferenc...
Running eZ Platform on Kubernetes (presented by Björn Dieding at eZ Conferenc...Running eZ Platform on Kubernetes (presented by Björn Dieding at eZ Conferenc...
Running eZ Platform on Kubernetes (presented by Björn Dieding at eZ Conferenc...eZ Systems
 

What's hot (20)

Software Composition Analysis in PHP
Software Composition Analysis in PHP Software Composition Analysis in PHP
Software Composition Analysis in PHP
 
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - David Bo...
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - David Bo...What’s cool in the new and updated OSGi specs (DS, Cloud and more) - David Bo...
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - David Bo...
 
Deploying Flink on Kubernetes - David Anderson
 Deploying Flink on Kubernetes - David Anderson Deploying Flink on Kubernetes - David Anderson
Deploying Flink on Kubernetes - David Anderson
 
Application Automation with Habitat
Application Automation with HabitatApplication Automation with Habitat
Application Automation with Habitat
 
Social Connections 14 - Kubernetes Basics for Connections Admins
Social Connections 14 - Kubernetes Basics for Connections AdminsSocial Connections 14 - Kubernetes Basics for Connections Admins
Social Connections 14 - Kubernetes Basics for Connections Admins
 
Vault - Enhancement for K8S secret security
Vault - Enhancement for K8S secret securityVault - Enhancement for K8S secret security
Vault - Enhancement for K8S secret security
 
Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019
Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019
Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019
 
Kubernetes persistence 101
Kubernetes persistence 101Kubernetes persistence 101
Kubernetes persistence 101
 
カエルと実践するコンテナ
カエルと実践するコンテナカエルと実践するコンテナ
カエルと実践するコンテナ
 
Debugging Complex Issues in Web Applications
Debugging Complex Issues in Web ApplicationsDebugging Complex Issues in Web Applications
Debugging Complex Issues in Web Applications
 
DevOpsDaysRiga 2018: Andrew Martin - Continuous Kubernetes Security
DevOpsDaysRiga 2018: Andrew Martin - Continuous Kubernetes Security DevOpsDaysRiga 2018: Andrew Martin - Continuous Kubernetes Security
DevOpsDaysRiga 2018: Andrew Martin - Continuous Kubernetes Security
 
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
 
Gatekeeper: API gateway
Gatekeeper: API gatewayGatekeeper: API gateway
Gatekeeper: API gateway
 
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 
Kubernetes &amp; the 12 factor cloud apps
Kubernetes &amp; the 12 factor cloud appsKubernetes &amp; the 12 factor cloud apps
Kubernetes &amp; the 12 factor cloud apps
 
Spring Boot—Production Boost
Spring Boot—Production BoostSpring Boot—Production Boost
Spring Boot—Production Boost
 
Kubernetes Ingress 101
Kubernetes Ingress 101Kubernetes Ingress 101
Kubernetes Ingress 101
 
Compliance as Code: Velocity with Security - Fraser Pollock, Chef
Compliance as Code: Velocity with Security - Fraser Pollock, ChefCompliance as Code: Velocity with Security - Fraser Pollock, Chef
Compliance as Code: Velocity with Security - Fraser Pollock, Chef
 
Spring Data JDBC: Beyond the Obvious
Spring Data JDBC: Beyond the ObviousSpring Data JDBC: Beyond the Obvious
Spring Data JDBC: Beyond the Obvious
 
Running eZ Platform on Kubernetes (presented by Björn Dieding at eZ Conferenc...
Running eZ Platform on Kubernetes (presented by Björn Dieding at eZ Conferenc...Running eZ Platform on Kubernetes (presented by Björn Dieding at eZ Conferenc...
Running eZ Platform on Kubernetes (presented by Björn Dieding at eZ Conferenc...
 

Similar to FaSilET² full end-to-end testing solution presented at OW2con'19, June 12-13, 2019, Paris.

Building 12 factor apps with ASP.NET Core, Сергій Калинець
Building 12 factor apps with ASP.NET Core, Сергій КалинецьBuilding 12 factor apps with ASP.NET Core, Сергій Калинець
Building 12 factor apps with ASP.NET Core, Сергій КалинецьSigma Software
 
Integrated, Automated Video Room Systems - Webex Devices - Cisco Live Orlando...
Integrated, Automated Video Room Systems - Webex Devices - Cisco Live Orlando...Integrated, Automated Video Room Systems - Webex Devices - Cisco Live Orlando...
Integrated, Automated Video Room Systems - Webex Devices - Cisco Live Orlando...Cisco DevNet
 
GE Predix 新手入门 赵锴 物联网_IoT
GE Predix 新手入门 赵锴 物联网_IoTGE Predix 新手入门 赵锴 物联网_IoT
GE Predix 新手入门 赵锴 物联网_IoTKai Zhao
 
Microservices & Serverless Architecture Principles Applied - Cisco Live Orlan...
Microservices & Serverless Architecture Principles Applied - Cisco Live Orlan...Microservices & Serverless Architecture Principles Applied - Cisco Live Orlan...
Microservices & Serverless Architecture Principles Applied - Cisco Live Orlan...Cisco DevNet
 
DevOps Sydney: Chef Automate
DevOps Sydney: Chef AutomateDevOps Sydney: Chef Automate
DevOps Sydney: Chef AutomateMatt Ray
 
Apic dc api deep dive
Apic dc api deep dive Apic dc api deep dive
Apic dc api deep dive Cisco DevNet
 
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten ZiegelerOSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegelermfrancis
 
Webex Devices xAPI - DEVNET_2071 - Cisco Live - San Diego 2019
Webex Devices xAPI - DEVNET_2071 - Cisco Live - San Diego 2019Webex Devices xAPI - DEVNET_2071 - Cisco Live - San Diego 2019
Webex Devices xAPI - DEVNET_2071 - Cisco Live - San Diego 2019Cisco DevNet
 
Bay Area Chef Meetup February
Bay Area Chef Meetup FebruaryBay Area Chef Meetup February
Bay Area Chef Meetup FebruaryJessica DeVita
 
Improving the Accumulo User Experience
 Improving the Accumulo User Experience Improving the Accumulo User Experience
Improving the Accumulo User ExperienceAccumulo Summit
 
Pivotal Platform - December Release A First Look
Pivotal Platform - December Release A First LookPivotal Platform - December Release A First Look
Pivotal Platform - December Release A First LookVMware Tanzu
 
Developing html5 mobile applications using cold fusion 11
Developing html5 mobile applications using cold fusion 11Developing html5 mobile applications using cold fusion 11
Developing html5 mobile applications using cold fusion 11ColdFusionConference
 
Command central 9.6 - Features Overview
Command central 9.6 - Features OverviewCommand central 9.6 - Features Overview
Command central 9.6 - Features OverviewSoftware AG
 
Accelerating Infrastructure as Code with CI in AWS.
Accelerating Infrastructure as Code with CI in AWS.Accelerating Infrastructure as Code with CI in AWS.
Accelerating Infrastructure as Code with CI in AWS.Will Hall
 
Will hall - Accelerating Infrastructure as Code and Configuration Management ...
Will hall - Accelerating Infrastructure as Code and Configuration Management ...Will hall - Accelerating Infrastructure as Code and Configuration Management ...
Will hall - Accelerating Infrastructure as Code and Configuration Management ...AWSCOMSUM
 
Intro to Git Devnet-1080 Cisco Live 2018
Intro to Git Devnet-1080 Cisco Live 2018Intro to Git Devnet-1080 Cisco Live 2018
Intro to Git Devnet-1080 Cisco Live 2018Ashley Roach
 
When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?Niklas Heidloff
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSAOracle Korea
 

Similar to FaSilET² full end-to-end testing solution presented at OW2con'19, June 12-13, 2019, Paris. (20)

Building 12 factor apps with ASP.NET Core, Сергій Калинець
Building 12 factor apps with ASP.NET Core, Сергій КалинецьBuilding 12 factor apps with ASP.NET Core, Сергій Калинець
Building 12 factor apps with ASP.NET Core, Сергій Калинець
 
Integrated, Automated Video Room Systems - Webex Devices - Cisco Live Orlando...
Integrated, Automated Video Room Systems - Webex Devices - Cisco Live Orlando...Integrated, Automated Video Room Systems - Webex Devices - Cisco Live Orlando...
Integrated, Automated Video Room Systems - Webex Devices - Cisco Live Orlando...
 
GE Predix 新手入门 赵锴 物联网_IoT
GE Predix 新手入门 赵锴 物联网_IoTGE Predix 新手入门 赵锴 物联网_IoT
GE Predix 新手入门 赵锴 物联网_IoT
 
Microservices & Serverless Architecture Principles Applied - Cisco Live Orlan...
Microservices & Serverless Architecture Principles Applied - Cisco Live Orlan...Microservices & Serverless Architecture Principles Applied - Cisco Live Orlan...
Microservices & Serverless Architecture Principles Applied - Cisco Live Orlan...
 
DevOps Sydney: Chef Automate
DevOps Sydney: Chef AutomateDevOps Sydney: Chef Automate
DevOps Sydney: Chef Automate
 
Apic dc api deep dive
Apic dc api deep dive Apic dc api deep dive
Apic dc api deep dive
 
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten ZiegelerOSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
 
Webex Devices xAPI - DEVNET_2071 - Cisco Live - San Diego 2019
Webex Devices xAPI - DEVNET_2071 - Cisco Live - San Diego 2019Webex Devices xAPI - DEVNET_2071 - Cisco Live - San Diego 2019
Webex Devices xAPI - DEVNET_2071 - Cisco Live - San Diego 2019
 
Bay Area Chef Meetup February
Bay Area Chef Meetup FebruaryBay Area Chef Meetup February
Bay Area Chef Meetup February
 
Improving the Accumulo User Experience
 Improving the Accumulo User Experience Improving the Accumulo User Experience
Improving the Accumulo User Experience
 
Pivotal Platform - December Release A First Look
Pivotal Platform - December Release A First LookPivotal Platform - December Release A First Look
Pivotal Platform - December Release A First Look
 
Developing html5 mobile applications using cold fusion 11
Developing html5 mobile applications using cold fusion 11Developing html5 mobile applications using cold fusion 11
Developing html5 mobile applications using cold fusion 11
 
Pyramid deployment
Pyramid deploymentPyramid deployment
Pyramid deployment
 
Command central 9.6 - Features Overview
Command central 9.6 - Features OverviewCommand central 9.6 - Features Overview
Command central 9.6 - Features Overview
 
Accelerating Infrastructure as Code with CI in AWS.
Accelerating Infrastructure as Code with CI in AWS.Accelerating Infrastructure as Code with CI in AWS.
Accelerating Infrastructure as Code with CI in AWS.
 
Will hall - Accelerating Infrastructure as Code and Configuration Management ...
Will hall - Accelerating Infrastructure as Code and Configuration Management ...Will hall - Accelerating Infrastructure as Code and Configuration Management ...
Will hall - Accelerating Infrastructure as Code and Configuration Management ...
 
Intro to Git Devnet-1080 Cisco Live 2018
Intro to Git Devnet-1080 Cisco Live 2018Intro to Git Devnet-1080 Cisco Live 2018
Intro to Git Devnet-1080 Cisco Live 2018
 
When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSA
 
Eclipse summit-2010
Eclipse summit-2010Eclipse summit-2010
Eclipse summit-2010
 

More from OW2

OW2 and RIOS teaming up to boost the open source impact, Nov. 2022 in Roma
OW2 and RIOS teaming up to boost the open source impact, Nov. 2022 in RomaOW2 and RIOS teaming up to boost the open source impact, Nov. 2022 in Roma
OW2 and RIOS teaming up to boost the open source impact, Nov. 2022 in RomaOW2
 
The Open Source Good Governance Initiative presented at RIOS OS Week, Nov. 20...
The Open Source Good Governance Initiative presented at RIOS OS Week, Nov. 20...The Open Source Good Governance Initiative presented at RIOS OS Week, Nov. 20...
The Open Source Good Governance Initiative presented at RIOS OS Week, Nov. 20...OW2
 
GLPi v.10, les fonctionnalités principales et l'offre cloud
GLPi v.10, les fonctionnalités principales et l'offre cloudGLPi v.10, les fonctionnalités principales et l'offre cloud
GLPi v.10, les fonctionnalités principales et l'offre cloudOW2
 
Centreon: superviser le Cloud et le Legacy à partir d'une même plateforme, po...
Centreon: superviser le Cloud et le Legacy à partir d'une même plateforme, po...Centreon: superviser le Cloud et le Legacy à partir d'une même plateforme, po...
Centreon: superviser le Cloud et le Legacy à partir d'une même plateforme, po...OW2
 
FusionIAM : la gestion des identités et des accés open source
FusionIAM : la gestion des identités et des accés open sourceFusionIAM : la gestion des identités et des accés open source
FusionIAM : la gestion des identités et des accés open sourceOW2
 
OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...
OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...
OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...OW2
 
SFScon'20 Bringing the User into the Equation
SFScon'20 Bringing the User into the EquationSFScon'20 Bringing the User into the Equation
SFScon'20 Bringing the User into the EquationOW2
 
Towards a sustainable solution to open source sustainability, OW2online20, Ju...
Towards a sustainable solution to open source sustainability, OW2online20, Ju...Towards a sustainable solution to open source sustainability, OW2online20, Ju...
Towards a sustainable solution to open source sustainability, OW2online20, Ju...OW2
 
Advanced proactive and polymorphing cloud application adaptation with MORPHEM...
Advanced proactive and polymorphing cloud application adaptation with MORPHEM...Advanced proactive and polymorphing cloud application adaptation with MORPHEM...
Advanced proactive and polymorphing cloud application adaptation with MORPHEM...OW2
 
Open Source governance and the Eclipse Foundation, OW2online, June 2020
Open Source governance and the Eclipse Foundation, OW2online, June 2020Open Source governance and the Eclipse Foundation, OW2online, June 2020
Open Source governance and the Eclipse Foundation, OW2online, June 2020OW2
 
Open source contribution policies, OW2online, June 2020
Open source contribution policies, OW2online, June 2020Open source contribution policies, OW2online, June 2020
Open source contribution policies, OW2online, June 2020OW2
 
Software development at scale, pandemic lockdown and oss ecosystems, OW2onlin...
Software development at scale, pandemic lockdown and oss ecosystems, OW2onlin...Software development at scale, pandemic lockdown and oss ecosystems, OW2onlin...
Software development at scale, pandemic lockdown and oss ecosystems, OW2onlin...OW2
 
Overview of the OpenChain Reference Tooling Work Group, OW2online20, June 2020
Overview of the OpenChain Reference Tooling Work Group, OW2online20, June 2020Overview of the OpenChain Reference Tooling Work Group, OW2online20, June 2020
Overview of the OpenChain Reference Tooling Work Group, OW2online20, June 2020OW2
 
Open Source Compliance at Orange, OW2online, June 2020
Open Source Compliance at Orange, OW2online, June 2020Open Source Compliance at Orange, OW2online, June 2020
Open Source Compliance at Orange, OW2online, June 2020OW2
 
Ideas, methods and tools for OSS Compliance assessment, OW2online, June 2020
Ideas, methods and tools for OSS Compliance assessment, OW2online, June 2020Ideas, methods and tools for OSS Compliance assessment, OW2online, June 2020
Ideas, methods and tools for OSS Compliance assessment, OW2online, June 2020OW2
 
Intelligent package management with FASTEN, OW2online, June 2020
Intelligent package management with FASTEN, OW2online, June 2020Intelligent package management with FASTEN, OW2online, June 2020
Intelligent package management with FASTEN, OW2online, June 2020OW2
 
DECODER, a Smarter Environment for DevOps Teams , OW2online, June 2020
DECODER, a Smarter Environment for DevOps Teams , OW2online, June 2020DECODER, a Smarter Environment for DevOps Teams , OW2online, June 2020
DECODER, a Smarter Environment for DevOps Teams , OW2online, June 2020OW2
 
Enabling DevOps for IoT software development, powered by Open Source, OW2onli...
Enabling DevOps for IoT software development, powered by Open Source, OW2onli...Enabling DevOps for IoT software development, powered by Open Source, OW2onli...
Enabling DevOps for IoT software development, powered by Open Source, OW2onli...OW2
 
Upcoming Challenges in Artificial Intelligence Research and Development, OW2o...
Upcoming Challenges in Artificial Intelligence Research and Development, OW2o...Upcoming Challenges in Artificial Intelligence Research and Development, OW2o...
Upcoming Challenges in Artificial Intelligence Research and Development, OW2o...OW2
 
Cacti and Big Data at Orange France, OW2online, June 2020
Cacti and Big Data at Orange France, OW2online, June 2020Cacti and Big Data at Orange France, OW2online, June 2020
Cacti and Big Data at Orange France, OW2online, June 2020OW2
 

More from OW2 (20)

OW2 and RIOS teaming up to boost the open source impact, Nov. 2022 in Roma
OW2 and RIOS teaming up to boost the open source impact, Nov. 2022 in RomaOW2 and RIOS teaming up to boost the open source impact, Nov. 2022 in Roma
OW2 and RIOS teaming up to boost the open source impact, Nov. 2022 in Roma
 
The Open Source Good Governance Initiative presented at RIOS OS Week, Nov. 20...
The Open Source Good Governance Initiative presented at RIOS OS Week, Nov. 20...The Open Source Good Governance Initiative presented at RIOS OS Week, Nov. 20...
The Open Source Good Governance Initiative presented at RIOS OS Week, Nov. 20...
 
GLPi v.10, les fonctionnalités principales et l'offre cloud
GLPi v.10, les fonctionnalités principales et l'offre cloudGLPi v.10, les fonctionnalités principales et l'offre cloud
GLPi v.10, les fonctionnalités principales et l'offre cloud
 
Centreon: superviser le Cloud et le Legacy à partir d'une même plateforme, po...
Centreon: superviser le Cloud et le Legacy à partir d'une même plateforme, po...Centreon: superviser le Cloud et le Legacy à partir d'une même plateforme, po...
Centreon: superviser le Cloud et le Legacy à partir d'une même plateforme, po...
 
FusionIAM : la gestion des identités et des accés open source
FusionIAM : la gestion des identités et des accés open sourceFusionIAM : la gestion des identités et des accés open source
FusionIAM : la gestion des identités et des accés open source
 
OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...
OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...
OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...
 
SFScon'20 Bringing the User into the Equation
SFScon'20 Bringing the User into the EquationSFScon'20 Bringing the User into the Equation
SFScon'20 Bringing the User into the Equation
 
Towards a sustainable solution to open source sustainability, OW2online20, Ju...
Towards a sustainable solution to open source sustainability, OW2online20, Ju...Towards a sustainable solution to open source sustainability, OW2online20, Ju...
Towards a sustainable solution to open source sustainability, OW2online20, Ju...
 
Advanced proactive and polymorphing cloud application adaptation with MORPHEM...
Advanced proactive and polymorphing cloud application adaptation with MORPHEM...Advanced proactive and polymorphing cloud application adaptation with MORPHEM...
Advanced proactive and polymorphing cloud application adaptation with MORPHEM...
 
Open Source governance and the Eclipse Foundation, OW2online, June 2020
Open Source governance and the Eclipse Foundation, OW2online, June 2020Open Source governance and the Eclipse Foundation, OW2online, June 2020
Open Source governance and the Eclipse Foundation, OW2online, June 2020
 
Open source contribution policies, OW2online, June 2020
Open source contribution policies, OW2online, June 2020Open source contribution policies, OW2online, June 2020
Open source contribution policies, OW2online, June 2020
 
Software development at scale, pandemic lockdown and oss ecosystems, OW2onlin...
Software development at scale, pandemic lockdown and oss ecosystems, OW2onlin...Software development at scale, pandemic lockdown and oss ecosystems, OW2onlin...
Software development at scale, pandemic lockdown and oss ecosystems, OW2onlin...
 
Overview of the OpenChain Reference Tooling Work Group, OW2online20, June 2020
Overview of the OpenChain Reference Tooling Work Group, OW2online20, June 2020Overview of the OpenChain Reference Tooling Work Group, OW2online20, June 2020
Overview of the OpenChain Reference Tooling Work Group, OW2online20, June 2020
 
Open Source Compliance at Orange, OW2online, June 2020
Open Source Compliance at Orange, OW2online, June 2020Open Source Compliance at Orange, OW2online, June 2020
Open Source Compliance at Orange, OW2online, June 2020
 
Ideas, methods and tools for OSS Compliance assessment, OW2online, June 2020
Ideas, methods and tools for OSS Compliance assessment, OW2online, June 2020Ideas, methods and tools for OSS Compliance assessment, OW2online, June 2020
Ideas, methods and tools for OSS Compliance assessment, OW2online, June 2020
 
Intelligent package management with FASTEN, OW2online, June 2020
Intelligent package management with FASTEN, OW2online, June 2020Intelligent package management with FASTEN, OW2online, June 2020
Intelligent package management with FASTEN, OW2online, June 2020
 
DECODER, a Smarter Environment for DevOps Teams , OW2online, June 2020
DECODER, a Smarter Environment for DevOps Teams , OW2online, June 2020DECODER, a Smarter Environment for DevOps Teams , OW2online, June 2020
DECODER, a Smarter Environment for DevOps Teams , OW2online, June 2020
 
Enabling DevOps for IoT software development, powered by Open Source, OW2onli...
Enabling DevOps for IoT software development, powered by Open Source, OW2onli...Enabling DevOps for IoT software development, powered by Open Source, OW2onli...
Enabling DevOps for IoT software development, powered by Open Source, OW2onli...
 
Upcoming Challenges in Artificial Intelligence Research and Development, OW2o...
Upcoming Challenges in Artificial Intelligence Research and Development, OW2o...Upcoming Challenges in Artificial Intelligence Research and Development, OW2o...
Upcoming Challenges in Artificial Intelligence Research and Development, OW2o...
 
Cacti and Big Data at Orange France, OW2online, June 2020
Cacti and Big Data at Orange France, OW2online, June 2020Cacti and Big Data at Orange France, OW2online, June 2020
Cacti and Big Data at Orange France, OW2online, June 2020
 

Recently uploaded

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 

Recently uploaded (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 

FaSilET² full end-to-end testing solution presented at OW2con'19, June 12-13, 2019, Paris.

  • 1. Confidentiel SILICOM © 2017 © Silicom 2019 1 Modifiez le style du titre © Silicom 2019 SILICOM FaSilET² : End To End Tester Multifunction Tool for Developers and QA
  • 2. Confidentiel SILICOM © 2017 © Silicom 2019 2 § Framework and tool for developers and quality assurance § Interact with code in production conditions § No need to insert test-only code or stubs § Act like a human tester FaSilET² : Main concepts
  • 3. Confidentiel SILICOM © 2017 © Silicom 2019 3 § Actuators : Scripts launched in a pre-established order defined in a config file. Simulate human interactions through GUI or CLI and catch their returns. May be launched in parallel to simulate multiple users at the same time, using LXC containers. Examples : § Web interface interaction simulation using Selenium § Writing into files using ssh or telnet § Database modification § Physical buttons action simulation using /proc or /sys § Etc. FaSilET² : Vocabulary
  • 4. Confidentiel SILICOM © 2017 © Silicom 2019 4 § Validators : Get information on changes resulting from actuators activities Zero to many validators for every actuator Launched in parallel in LXC container prior to the corresponding actuator Store validation results until needed Return status PASSED, FAILED, TIMEOUT FaSilET² : Vocabulary
  • 5. Confidentiel SILICOM © 2017 © Silicom 2019 5 § Validators : Exemples : § Reading local or remote logs § Database queries § Email reception § Etc. FaSilET² : Vocabulary
  • 6. Confidentiel SILICOM © 2017 © Silicom 2019 6 § Monitors : Monitor one or more machine components during actuators execution. Launched in parallel in LXC containers prior to test session start. Stopped after the end of the whole process Timestamped logs to compare with actuator activity Exemples : § CPU usage § RAM usage § Disk space § Etc. FaSilET² : Vocabulary
  • 7. Confidentiel SILICOM © 2017 © Silicom 2019 7 FaSilET² is currently a little better than a proof of concept. Core is ready Some modules are at production level Validators : § Logs reader using ssh connections § Databases reader Actuators : § Web (Selenium) FaSilET² : Current development status
  • 8. Confidentiel SILICOM © 2017 © Silicom 2019 8 Current version FaSilET² : Current architecture Validator 1 Validator n GUI or system under tests Logs server L X C Action GUI returns Other (mail, etc.) Results Centralization (JSON file) Results analysis Actuators Validator 2 Exécute Database Monitor 1 Monitor n L X C L X C
  • 9. Confidentiel SILICOM © 2017 © Silicom 2019 9 Dynamic operation in list FaSilET² : Architecture Actuator parsing Containers creation for validators and monitoring Validators and monitors started Actuator started Waiting for validators Getting and storing results Next actuator Other actuator in list ? Et2.pl JSON export
  • 10. Confidentiel SILICOM © 2017 © Silicom 2019 10 § Scripts based Operation based on Perl scripts Use abstraction modules For exemple : § ET2::Web::Selenium § ET2::Utils::Report § ET2::Validators::SSHLogs § Etc. FaSilET² : Operation
  • 11. Confidentiel SILICOM © 2017 © Silicom 2019 11 § Directory layout Testing scripts must be put into directories like this : test ├── actuators │ ├── activate_equipment.pl │ ├── badlogin.pl │ ├── finish.pl │ ├── login.pl │ ├── ntp.pl │ └── share.pl ├── et2.conf ├── monitors │ └── CPU1.pl └── validators ├── Log1.pl ├── Log2.pl └── LogNTP.pl And the main script named et2.pl is called with the top directory as parameter Execution order of actuators is given in configuration file et2.conf. This file is a simple “ini” format one. FaSilET² : Operation
  • 12. Confidentiel SILICOM © 2017 © Silicom 2019 12 § Results Test results are stored in two JSON files : § Results from actuators § Results from validators A graphical analysis solution development is planned. Results are stamped with UIDs UID format : <actuator_number>-<action_number>-<start_ts>-<stop_ts> FaSilET² : Running
  • 13. Confidentiel SILICOM © 2017 © Silicom 2019 13 § Actuator result example { "actuators" : { "login" : { "results" : { "wait_for_text" : { "main" : "SUCCESS", "description" : "Waiting for error message", "UID" : "0001-0001-20190425132501-20190425132512" } } }, "ntp" : { "results" : { "change_ntp_server" : { "main" : "SUCCESS", "description" : "Checking NTP server is the one entered previously", "comment" : "NTP server read : 0.debian.pool.ntp.org", "UID" : "0002-0001-20190425132602-20190425132623" } } }, … FaSilET² : Running
  • 14. Confidentiel SILICOM © 2017 © Silicom 2019 14 § Validator result example{ "maintitle" : "SG4000", "maindescription" : "SG4000 end to end tests", "actuators" : { "ntp" : { "description" : "Change NTP server address", "results" : { "LogNTP" : { "status" : "PASSED", "data" : [], "params_ERROR" : null, "params_OK" : "server 0.debian.pool.ntp.org", "UID" : "0002-0001-20190425132400-20190425132730", "name" : "LogNTP" } }, "status" : { "LogNTP" : "ok" } }, "login" : { "status" : { "Log1" : "ok" }, "description" : "Good login tests", "results" : { "Log1" : { "status" : "PASSED", "params_OK" : "WARN admin_vpn0: connection", "name" : "Log1", "UID" : "0001-0001-20190425132412-20190425132842", "data" : [ "2019/03/25 15:44:15 WARN admin_vpn0: connection " ], "params_ERROR" : null } } }, … FaSilET² : Running
  • 15. Confidentiel SILICOM © 2017 © Silicom 2019 15 FaSilET² : Screenshot
  • 16. Confidentiel SILICOM © 2017 © Silicom 2019 16 § Providing a VM image (OVA), LXC or LXD template § Add network scanning modules (nmap, wireshark…) § Add IA modules § GUI to generate actuator and validator scripts § Other ways to use this framework : § Cyber security (attack and defense) § Quality Assurance § … FaSilET² : Near future Improvements
  • 17. Confidentiel SILICOM © 2017 © Silicom 2019 17 Modifiez le style du titre © Silicom 2019 Thank you Any questions ? Sources available on gitlab : https://gitlab.com/silicom/fasilet
  • 18. Confidentiel SILICOM © 2017 © Silicom 2019 18 Actuator example : FaSilET² : Scripts exemple #!/usr/bin/perl use 5.20.0; use File::Basename; my $dirname = dirname(__FILE__); require "$dirname/share.pl"; … use ET2::Web::Selenium; use ET2::Utils::Report; our @VALIDATORS = ( 'Log1' ); … if(!defined($sel)) { $sel = ET2::Web::Selenium->new( host => "https://$host", driver => "firefox", encoding => 'latin1', ); $sel->setname("Sel1"); $sel->start(); } if(!defined($report)) { $report = ET2::Utils::Report->new( title => 'VPN tests', description => 'End to end tests for VPN project' ); }
  • 19. Confidentiel SILICOM © 2017 © Silicom 2019 19 FaSilET² : Scripts example $sel->goto('/'); $sel->write(name => "username", value => "admin_vpn0"); $sel->write(name => "password", value => "admin_vpn1"); $sel->clickbtn(class_name => "btn"); $ret = $sel->waitforpage( timeout => 2, url => 'https://10.10.2.4/#/configuration/localnetwork/ ipconfig' ); if($ret > 0) { say “Login : TIMEOUT”; } else { $rettitle = $sel->gettitle(); $returl = $sel->geturl(); if(($returl =~ /config$/) && ($rettitle =~ /^Param/)) { say “Login : TEST SUCCESSFUL"; } else { say “Login : TEST FAILED"; } }
  • 20. Confidentiel SILICOM © 2017 © Silicom 2019 20 Validator example : FaSilET² : Scripts example #!/usr/bin/perl use 5.20.0; … use ET2::Validator::SSHLogs; sub run { my $vlog = new ET2::Validators::SSHLogs( host => $host, port => 10022, key => '/home/cedric/Developpement/keys/ssh.key', logfile => '/var/log/diags.log', timeout => '0..20', autostart => 1, user => "root" );
  • 21. Confidentiel SILICOM © 2017 © Silicom 2019 21 FaSilET² : Scripts example return undef if(!defined($vlog)); $vlog->setregexok("WARNsw+s: connection"); $vlog->setname("Log1"); $vlog->tail(); return $vlog->getresults(); } run();
  • 22. Confidentiel SILICOM © 2017 © Silicom 2019 22 FaSilET² : Why such a name ? • ET² stands for End To End Testing = ETET = (ET) ² • Sil stands for Silicom • Fa(r) is a long, long way to run… because we can do many things with it, mainly a name one can easily remember J