23
EGEE-III INFSO-RI-222667 Enabling Grids for E-sciencE www.eu-egee.org EGEE and gLite are registered trademarks Etienne Dublé - CNRS/UREC EGEE SA2 Mario Reale – GARR EGEE SA2 Thursday, March 26, 2009 – Rome – SA2 All Hands Meeting SA2 IPv6 related activities overall status and on going activities

SA2 IPv6 related activities overall status and on going activities

Embed Size (px)

DESCRIPTION

SA2 IPv6 related activities overall status and on going activities. Etienne Dublé - CNRS/UREC EGEE SA2 Mario Reale – GARR EGEE SA2 Thursday, March 26, 2009 – Rome – SA2 All Hands Meeting. content. EGEE II achievements regarding IPV6 (summary) - PowerPoint PPT Presentation

Citation preview

Page 1: SA2  IPv6 related activities overall status and on going activities

EGEE-III INFSO-RI-222667

Enabling Grids for E-sciencE

www.eu-egee.org

EGEE and gLite are registered trademarks

Etienne Dublé - CNRS/UREC EGEE SA2

Mario Reale – GARR EGEE SA2

Thursday, March 26, 2009 – Rome – SA2 All Hands Meeting

SA2 IPv6 related activitiesoverall status and on going activities

Page 2: SA2  IPv6 related activities overall status and on going activities

EGEE-III INFSO-RI-222667

Enabling Grids for E-sciencE

www.eu-egee.org

EGEE and gLite are registered trademarks

content

• EGEE II achievements regarding IPV6 (summary)

• EGEE III achievements regarding IPV6 (detailed)

• Current status of the IPv6 compliance of gLite

• Next steps

Page 3: SA2  IPv6 related activities overall status and on going activities

Enabling Grids for E-sciencE

EGEE-III INFSO-RI-222667

EGEE II achievements regarding IPv6

Summary of EGEE II SA2 IPv6 past work and collaborations

3

Page 4: SA2  IPv6 related activities overall status and on going activities

Enabling Grids for E-sciencE

EGEE-III INFSO-RI-222667 4

• Definition of a methodology for IPv6 transition• Collaboration with ETICS (initially also with EuChinaGRID):

set up an ETICS pilot project called glite_IPv6:– Goal: automate IPv6 compliance testing of gLite packages– A static code checker was developed in order to test the packages– Results are displayed as the “IPv6 metric” on ETICS website– A demonstration of automated IPv6 regression tests was also set up

• Dissemination, including programming tutorials• Development of a first IPv6-compliant gLite node: the BDII• Building of a testbed in Paris, which allowed to show

– The NAT-PT protocol usage (ex. with the ported BDII)– The dual-stack environment usage (ex. with the ported BDII)

• Building of a testbed in Rome• Report about IPv6 compliance of gLite external dependencies

Main achievements in EGEE II

Page 5: SA2  IPv6 related activities overall status and on going activities

Enabling Grids for E-sciencE

EGEE-III INFSO-RI-222667

EGEE III achievements regarding IPv6

EGEE III SA2 IPv6 work and collaborations

5

Page 6: SA2  IPv6 related activities overall status and on going activities

Enabling Grids for E-sciencE

EGEE-III INFSO-RI-222667 6

• Follow-up of the testbeds built during EGEE II• Goals:

– Test IPv6 compliance of gLite components– Demonstrate current gLite IPv6 features– Future: IPv4 non-regression tests (collaboration with SA3)

• One site in Rome (GARR), one site in Paris (UREC)• Site-to-site IPv6 connectivity (through UREC / RAP /

RENATER / GEANT / GARR networks)• Many relevant deployment modules installed and configured:

VOMS, UI, WMS, lcg-CE, CREAM, WNs, DPM-SE, LFC, PX, BDII, LB

• All nodes are dual-stack

A distributed IPv6 Testbed

Page 7: SA2  IPv6 related activities overall status and on going activities

Enabling Grids for E-sciencE

EGEE-III INFSO-RI-222667 7

A distributed IPv6 Testbed

7

VOMS

.236 :d

LB

WMS

CE WN1

WN2

BDIISE

LFC

PX

.233

.226 .227

.228

.232

.231

.234

LB serverVOMS Server

UREC site BD-II

Workload management server

LFC File Catalog

LCG Computing Element

Worker Node (Torque/PBS)

DPM Storage Element

MyProxy server

.229

.235

2001:660:3302:7006::1

Gateway IPv6

:a

:8

:3:4

:5

UI

User Interface

.230 :7

:9

:b

:6

:c

UI2

VOMS2 .59

LB

WMS

DPM1

LFC

.50

.27

.22

.51

LB server

SA2 top level BD-II

RGMA-BDII

.24

GARR site BD-II

User Interface

Workload management server

LFC File Catalog

Worker Node (Torque/PBS)

CE WN1

WN2CREAM.23

.56

LCG Computing Element

CREAM Computing Element

Storage Element

BDII

.30

.29

.21

DEV.34

Grid Job monitoring DB

.29.11

Gateway2001:760::159:242/64

IPv4/IPv6 Internet:Renater/GEANT/GARR

GARR/ROME UREC/PARIS

Page 8: SA2  IPv6 related activities overall status and on going activities

Enabling Grids for E-sciencE

EGEE-III INFSO-RI-222667 8

• Analysis of the gLite source code– Using the IPv6 metric (IPv6 code checker) in ETICS– Around 110 bugs on non-compliant function calls and data structures

in the code reported

• This analysis effectively incited developers to work on IPv6, and is a good metric regarding the work needed on this subject.

IPv6 bug reporting

Page 9: SA2  IPv6 related activities overall status and on going activities

Enabling Grids for E-sciencE

EGEE-III INFSO-RI-222667 9

• Analysis of all gLite external dependencies to assess their IPv6 compliance

– Most of them are IPv6 compliant– MySQL is the most relevant package which is not IPv6 compliant

– 6 of the 10 non-compliant packages are MySQL-subpackages– However if the server and the client run on the same dual-stack

node, there is no problem.

gLite external dependences

Page 10: SA2  IPv6 related activities overall status and on going activities

Enabling Grids for E-sciencE

EGEE-III INFSO-RI-222667

Other Reports

• IPv6 Programming methods:– Guide to IPv6 compliant programming in C/C++, Java, Python and Perl: Provides a sample TCP client and server for each programming language Explains advantages/drawbacks/limitations of each language regarding IPv6

• IPv6 Testing methods:– Report explaining how to test if a TCP server is IPv6 compliant

• IPv6 Test reports:– Selected IPv6 compliance studies for specific packages: gSOAP Axis and Axis2 Boost:asio gridFTP PythonZSI PerlSOAPLite – Assessment of the IPv6 compliance of gLite components: DPM & LFC

1010

Page 11: SA2  IPv6 related activities overall status and on going activities

Enabling Grids for E-sciencE

EGEE-III INFSO-RI-222667

IPv6 CARE

11

• Developed by SA2• Behavior:

– It monitors the execution of programsand detects networking function calls

The diagnosis generated helps to assess IPv6 compliance

• Very generic: you can use it for any program, even if you don’t have the source code

• Available on sourceforge: http://sourceforge.net/projects/ipv6-care

Page 12: SA2  IPv6 related activities overall status and on going activities

Enabling Grids for E-sciencE

EGEE-III INFSO-RI-222667

IPv6 CARE: Usage example

• Usage example: we want to test the “telnet” program– We run the program as usual except that we prefix the command

by “ipv6_care check”:

– The standard behavior of ‘telnet’ is not affected (it works as it should, see its output in black).

– The diagnosis (network function calls log file, non-IPv6 compliant calls detected, etc.) can be reviewed in the mentioned directory.

12

$ ipv6_care check -v telnet localhost 9876IPV6 CARE detected: inet_addr() with [ cp=localhost ]IPV6 CARE detected: gethostbyname() with [ name=localhost ]IPV6 CARE detected: inet_ntoa() with [ in=127.0.0.1 ]Trying 127.0.0.1...IPV6 CARE detected: socket() with [ domain=AF_INET type=SOCK_STREAM protocol=ip ]IPV6 CARE detected: connect() with [ socket=3 address.ip=127.0.0.1 address.port=9876 ]telnet: Unable to connect to remote host: Connection refused------------------------------------------------------------------------------IPv6 diagnosis for 'telnet localhost 9876' was generated in: /tmp/ipv6_diagnosis/telnet/by_pid/pid_6541------------------------------------------------------------------------------$

Page 13: SA2  IPv6 related activities overall status and on going activities

Enabling Grids for E-sciencE

EGEE-III INFSO-RI-222667

IPv6 CARE mechanism

Program <name>-------------------------Main()… {(…)gethostbyname}…

Program <name>-------------------------Main()} …gethostbyname(…)…{ libc Standard

Shared Library----------------------gethostbyname()…{}…

libc Standard Shared Library

----------------------gethostbyname()}…{…

13

libc Standard Shared Library

----------------------gethostbyname()…{}…

libc Standard Shared Library

----------------------gethostbyname()}…{…

Preloaded libipv6_care.so library-----------------------------------------------gethostbyname(…){

Diagnose problem in/tmp/ipv6_diagnosis/<name>/…()Call RTLD_NEXT gethostbyname}...other_non_ipv6_compliant><functions

Preloaded libipv6_care.so library-----------------------------------------------gethostbyname(…)}Diagnose problem in /tmp/ipv6_diagnosis/<name>/…Call RTLD_NEXT gethostbyname(){...<other_non_ipv6_compliantfunctions>

LD_PRELOAD=/path/to/libipv6_care.so

Page 14: SA2  IPv6 related activities overall status and on going activities

Enabling Grids for E-sciencE

EGEE-III INFSO-RI-222667

Dissemination• EGEE 08 conference, Istanbul

– IPv6 session targeted at gLite developers and testers

• JRA1 / SA3 All-hands meeting, Prague– “IPv6 Testing” session

IPv6 basics needed by developers & testers IPv6 methods & tools for testing

– “IPv6 Programming” session Tutorial C/C++, Perl, Python, Java High-level programming topic

• EGEE UF / OGF, Catania– IPv6 session

Main work done / to be done about IPv6 in gLite and other middlewares Point of view of the European Commission and of RIPE about IPv6

– A demo booth An automatic demo script running on the testbed, showing the current IPv6

features of gLite (see next slide) A poster “gLite IPv6 compliance” A poster “IPv6 compliance testing: dedicated tools” An explanatory video

Page 15: SA2  IPv6 related activities overall status and on going activities

Enabling Grids for E-sciencE

EGEE-III INFSO-RI-222667

Dissemination: the demo script

• Automatic script sending commands in ssh sessions, running in the testbed environment

• Content of the script: most noticeable current IPv6 features of gLite– Show that gLite is working properly in a dual-stack environment

(i.e. when IPv6 is enabled on nodes) by submitting jobs and checking that they are run correctly

– Show current IPv6 compliant services Show that the prototype version of the BDII (Information System) is able to

use IPv6 Show that DPM & LFC (Storage Element) can be used over IPv6

Page 16: SA2  IPv6 related activities overall status and on going activities

Enabling Grids for E-sciencE

EGEE-III INFSO-RI-222667

Current status of the IPv6 compliance of

gLiteHow far are we from having gLite fully IPv6

compliant ?

16

Page 17: SA2  IPv6 related activities overall status and on going activities

Enabling Grids for E-sciencE

EGEE-III INFSO-RI-222667

Current stand on gLite and IPv6

Full IPv6 compliance – for the production version

Full IPv6 compliance – for a prototype version

IPv6 compliance to be tested/verified by SA2 – gLite part of the deployment module claimed to be IPv6 compliant

IPv6 porting currently on-going

IPv6 porting plan exist

No porting plan yet (we are not aware of)

IPv6 compliance

LFC DPM globus-url-copy/gridFTP

BDII(perl)

CREAM

VObox

lcgutils VOMS

PX MON dCache Torque C/S MPIutils

Condorutils AMGA

gfal

FTS

BDII(python) WMproxy/Job submission blah

WMS-server

Page 18: SA2  IPv6 related activities overall status and on going activities

Enabling Grids for E-sciencE

EGEE-III INFSO-RI-222667

JRA1 workplan for IPv6 porting

BLAH

WMS / WMproxy

Job Management

GFAL

LCG util

FTS

VOMS Client and APIs

Apr 09

VOMS Server

RGMA

Jun 09 Apr 10Aug 09 Oct 09 Dic 09 Feb 10Feb 09

Page 19: SA2  IPv6 related activities overall status and on going activities

Enabling Grids for E-sciencE

EGEE-III INFSO-RI-222667

The IPv6 Metric

• Based on the results of the static code checker Detection of non-IPv6 compliant patterns in the source code This method is not fully accurate, but gives a good overview

• Here is the evolution obtained on the gLite repository of ETICS:

Page 20: SA2  IPv6 related activities overall status and on going activities

Enabling Grids for E-sciencE

EGEE-III INFSO-RI-222667

Next stepsWhat will keep us busy in the next months ?

20

Page 21: SA2  IPv6 related activities overall status and on going activities

Enabling Grids for E-sciencE

EGEE-III INFSO-RI-222667

Future work / Outlook

• To be considered– One goal was to provide results soon in order for JRA1 and SA3 to benefit from

them Consequently the most relevant initial objectives are already completed The time (man power) initially planned for the IPv6 sub-task has been already mostly

used

• Main foreseen tasks– Test IPV6 compliance of ported nodes

– Add an FTS node in the distributed testbed

– Collaboration with SA3 for the integration of IPv6 in the validation process

– Collaboration with the team responsible for the deployment tools, in order to have IPv6 enabled on nodes at installation time

– Improvement of the static code checker

– New overall analysis of the gLite source code and update of IPv6 non compliance bugs

– Writing of the milestone document

Page 22: SA2  IPv6 related activities overall status and on going activities

Enabling Grids for E-sciencE

EGEE-III INFSO-RI-222667

Future work / Outlook

• Optional tasks:– Automation of the execution on IPv6 CARE within the ETICS test system

– Automation of the IPv6 functional testing by means of the ETICS build system

– Organization of tutorials on IPv6 network programming and IPv6 in general for JRA1 and SA3, if needed

– Support to JRA1 for specific studies on the IPv6 compliance of packages and tools, if needed

– Organization of a final demo on IPv6

Page 23: SA2  IPv6 related activities overall status and on going activities

Enabling Grids for E-sciencE

EGEE-III INFSO-RI-222667 2323

Thank You.

https://twiki.cern.ch/twiki/bin/view/EGEE/IPv6FollowUp(or google “SA2 IPv6 follow up”)