EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE www.eu-egee.org EGEE and gLite are registered trademarks IPv6 code checker tool Salvatore Monforte.

Slides:



Advertisements
Similar presentations
Week 2 DUE This Week: Safety Form and Model Release DUE Next Week: Project Timelines and Website Notebooks Lab Access SharePoint Usage Subversion Software.
Advertisements

IPv4 to IPv6 Migration strategies. What is IPv4  Second revision in development of internet protocol  First version to be widely implied.  Connection.
LANMAR for IPv6 Jason Chen Teresa Breyer Yeng-Zhong Lee.
CS 311 – Lecture 19 Outline Internet Sockets – gethostname utility – struct hostent – inet_addr – Machine byte to Network byte order translation and vice.
Unix Network Programming Part 2: Elementary Sockets Jani Peusaari.
UNIX By Darcy Tatlock. 1. Successful Log Into Unix To actively manipulate your website you need to be logged in. Without being logged in you cannot enter.
Advanced File Processing
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks gLite Release Process Maria Alandes Pradillo.
TCP/IP Protocol Stack IP Device Drivers TCPUDP Application Sockets (Gate to network) TCP: –Establish connection –Maintain connection during the communication.
Enabling Grids for E-sciencE EGEE-II INFSO-RI BG induction to GRID Computing and EGEE project – Sofia, 2006 Practical: Porting applications.
Server Sockets: A server socket listens on a given port Many different clients may be connecting to that port Ideally, you would like a separate file descriptor.
INFSO-RI Enabling Grids for E-sciencE Logging and Bookkeeping and Job Provenance Services Ludek Matyska (CESNET) on behalf of the.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks What GGUS can do for you JRA1 All hands.
FP6−2004−Infrastructures−6-SSA IPv6 and Grid Middleware: the EUChinaGRID experience Gabriella Paolini – GARR Valentino.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks gLite IPv6 compliance project tests Further.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks IPv6 and gLite: a roadmap proposal Xavier.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks General relationships with EGEE JRA1 SA3.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Voms & Voms-admin report Vincenzo Ciaschini.
FP6−2004−Infrastructures−6-SSA IPv6 in the EGEE Related Projects: the EUChinaGRID experience Gabriella Paolini – GARR.
Enabling Grids for E-sciencE EGEE-II INFSO-RI Introduction to Grid Computing, EGEE and Bulgarian Grid Initiatives Plovdiv, 2006.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Middleware Deployment and Support in EGEE.
Enabling Grids for E-sciencE EGEE-III INFSO-RI Using DIANE for astrophysics applications Ladislav Hluchy, Viet Tran Institute of Informatics Slovak.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Etienne Dublé - CNRS/UREC
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks NA3 Resources Robin McConnell.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Security Token Service Valéry Tschopp - SWITCH.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks AMGA PHP API Claudio Cherubino INFN - Catania.
INFSO-RI Enabling Grids for E-sciencE SA1 and gLite: Test, Certification and Pre-production Nick Thackray SA1, CERN.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Multi-level monitoring - an overview James.
INFSO-RI Enabling Grids for E-sciencE SCDB C. Loomis / Michel Jouvin (LAL-Orsay) Quattor Tutorial LCG T2 Workshop June 16, 2006.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks gLite Build Programme and Multi-Platform.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Stephen Childs Trinity College Dublin &
Chapter Five Advanced File Processing. 2 Lesson A Selecting, Manipulating, and Formatting Information.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks IPv6 test methodology Mathieu Goutelle (CNRS.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Status report on Application porting at SZTAKI.
Overview of the Automated Build & Deployment Process Johnita Beasley Tuesday, April 29, 2008.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks The EGEE User Support Infrastructure Torsten.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks PASSTORE: safe certs & password management.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Using GStat 2.0 for Information Validation.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Progress on first user scenarios Stephen.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
EGEE-II INFSO-RI Enabling Grids for E-sciencE NA2 Materials Owen Appleton EGEE and gLite are registered trademarks.
Enabling Grids for E-sciencE Software installation and setup Viet Tran Institute of Informatics Slovakia.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks WMPROXY usage Álvaro Fernández IFIC (CSIC)
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks New Authorization Service Christoph Witzig,
INFSO-RI Enabling Grids for E-sciencE EGEE is a project funded by the European Union under contract IST Job sandboxes.
EGEE-II INFSO-RI Enabling Grids for E-sciencE YAIM Overview MiMOS Grid tutorial HungChe, ASGC OPS Team.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks SA3 partner collaboration tasks & process.
INFSO-RI Enabling Grids for E-sciencE Using of GANGA interface for Athena applications A. Zalite / PNPI.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks The LCG interface Stefano BAGNASCO INFN Torino.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks GSI with OpenSSL Vincenzo Ciaschini EGEE-3.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Developing YAIM modules for Sun Grid Engine.
EGEE is a project funded by the European Union under contract IST Enabling bioinformatics applications to.
EGEE-II INFSO-RI Enabling Grids for E-sciencE Practical using WMProxy advanced job submission.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Patch Preparation SA3 All Hands Meeting.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks gLite – UNICORE interoperability Daniel Mallmann.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks MSA3.4.1 “The process document” Oliver Keeble.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Study on Authorization Christoph Witzig,
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks NA3 Resources Robin McConnell.
INFSO-RI Enabling Grids for E-sciencE File Transfer Software and Service SC3 Gavin McCance – JRA1 Data Management Cluster Service.
Client-server communication Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarksEGEE-III INFSO-RI MPI on the grid:
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks CREAM: current status and next steps EGEE-JRA1.
Enabling Grids for E-sciencE Claudio Cherubino INFN DGAS (Distributed Grid Accounting System)
Enabling Grids for E-sciencE EGEE-II INFSO-RI ROC managers meeting at EGEE 2007 conference, Budapest, October 1, 2007 Admin Matters Vera Hanser.
What is Bash Shell Scripting?
Chapter 3 Socket API © Bobby Hoggard, Department of Computer Science, East Carolina University These slides may not be used or duplicated without permission.
A Scalable Peer-to-peer Lookup Service for Internet Applications
Presentation transcript:

EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks IPv6 code checker tool Salvatore Monforte (INFN CT) EGEE 6, September 2006, Geneva

Enabling Grids for E-sciencE EGEE-II INFSO-RI EGEE’6 conference, September 2006, Geneva 2 Outline IPv6 reccomendations for developing “IPv6 ready” applications gLite WMS code “porting” impact glite IPv6 code checking tool

Enabling Grids for E-sciencE EGEE-II INFSO-RI EGEE’6 conference, September 2006, Geneva 3 Moving to IPv6 Changing the network address data structure has a major impact on all aspects of IP inter-networking –developer point of view  as first stage of transition we can start following few simple recommendations in order to move to “IPv6-ready” application while still running them on IPv4-based network osuch “IPv6 ready” applications can function both in IPv4 and IPv6 environments omigration to a pure IPv6 network without any modification to the application

Enabling Grids for E-sciencE EGEE-II INFSO-RI EGEE’6 conference, September 2006, Geneva 4 Moving to IPv6 Impact of the UnixWare IPv6 implementation involves the following issues: –IPv6 data structures and functions  new data structures required to hold the larger IPv6 address in6_addr, sockaddr_in6  new and modified network API functions IN6_IS_ADDR_V4MAPPED, gethostbyname2, getaddrinfo, getnameinfo, etc etc –Address and protocol families  new address and protocol family constants AF_INET6, PF_INET6 –Intercommunication between applications  within a mixture of IPv4 and IPv6 applications running on the same host passing open sockets is more complicated IPV6_ADDRFORM

Enabling Grids for E-sciencE EGEE-II INFSO-RI EGEE’6 conference, September 2006, Geneva 5 Migration path to IPv6 One of the main objectives when implementing IPv6 in UnixWare was to provide a migration path to IPv6 while still enabling IPv4 applications to work –this had the direct consequence of reducing the amount of effort required to “port” and existing IPv4 application to an “IPv6 ready” one The following recommendations highlights the key aspects of porting IPv4 applications to IPv6 –Make sure you are using the correct data structures –Check for use of INADDR_ANY and INADDR_LOOPBACK for source and loop-back address selection –Modify any occurrence of IPv4 address and protocol family constants –Substitute the newer IPv6 functions for older IPv4 ones where necessary –Consider the use of new, more flexible functions which work in both IPv4 and IPv6 environments

Enabling Grids for E-sciencE EGEE-II INFSO-RI EGEE’6 conference, September 2006, Geneva 6 Data structures IPv4 applications use the sockaddr_in and in_addr structures to pass network address information between certain networking related functions IPv6 uses a larger address space and therefore uses different data structures –in6_addr  is used to store the 128−bit network address –sockaddr_in6  is used to store the remaining details, previously stored by sockaddr_in, that is, length of the data structure, address family, flowinfo, port number and an in6_addr data structure. Replace any occurrence of –sockaddr_in and in_addr with the sockaddr_in6 and in6_addr structures

Enabling Grids for E-sciencE EGEE-II INFSO-RI EGEE’6 conference, September 2006, Geneva 7 INADDR_ANY and INADDR_LOOPBACK Any occurrence of INADDR_ANY or INADDR_LOOPBACK must be modified to use the newer global variables –in6addr_any or –in6addr_loopback for assignments If you need to initialize an in6_addr structure use –either the IN6ADDR_ANY_INIT –or IN6ADDR_LOOPBACK_INIT macros

Enabling Grids for E-sciencE EGEE-II INFSO-RI EGEE’6 conference, September 2006, Geneva 8 Address and protocol family constants AF_INET6 –IPv6 address family PF_INET6 –IPv6 protocol family Replace in your application all occurrences of – AF_INET with AF_INET6 and – PF_INET with PF_INET6

Enabling Grids for E-sciencE EGEE-II INFSO-RI EGEE’6 conference, September 2006, Geneva 9 Substituting old IPv4 functions with newer IPv6 versions Three IPv4 functions have been succeeded by new functions: –gethostbyname should be replaced with gethostbyname2  retrieves the network host entry referenced by a host name and its address family, which will be AF_INET6. –inet_addr should be replaced with inet_pton  interprets a character string representing an address and returns a value suitable for use as an internet address for both IPv4 and IPv6 address notations. –inet_ntoa should be replaced with inet_ntop  interprets an internet address and converts it to a character string for both IPv4 and IPv6 addresses. You must use inet_pton and inet_ntop in your IPv6 application because the functions they replace (inet_addr and inet_ntoa) are not IPv6 aware.

Enabling Grids for E-sciencE EGEE-II INFSO-RI EGEE’6 conference, September 2006, Geneva 10 IPv6 and gLite WMS gLite WMS is not a “simple” monolithic application –is a mixture of  “proprietary” services (i.e. developed within EGEE)  third-party services –running together and interacting each other  fulfill user requests  supply end user with functionalities for authenticating, submitting jobs, inquiring job status etc, etc

Enabling Grids for E-sciencE EGEE-II INFSO-RI EGEE’6 conference, September 2006, Geneva 11 IPv6 and gLite WMS To better understand what is the “size” of the problem –consider the set of components needed to perform a complete build of the glite-workload- manager service –Taking into account the recommendations for the IPv4 to IPv6 porting  highlighting the possible point of failure for each component involved in the build, check the occurrence of “suspicious” IPv4 data- structure and functions…

Enabling Grids for E-sciencE EGEE-II INFSO-RI EGEE’6 conference, September 2006, Geneva 12 IPv6 and gLite WMS

Enabling Grids for E-sciencE EGEE-II INFSO-RI EGEE’6 conference, September 2006, Geneva 13 IPv6 and gLite WMS making gLite WM an “IPv6 ready” system is not an immediate task –identified dependencies within EGEE components can be easily “fixed” by modifying the relevant code  easier when the code is developed within JRA1 –for third-party components the problem is a little bit tricky  since sources are not available IPv4 dependencies cannot be explicitly identified glite_branch_3_1_0/org.glite.wms.ism > nm../../repository/globus/2.4.3-VDT /rhel30_gcc32/lib/libldap_gcc32pthr.so.2 | grep gethostbyname U 00019d7b T ldap_pvt_gethostbyname_a

Enabling Grids for E-sciencE EGEE-II INFSO-RI EGEE’6 conference, September 2006, Geneva 14 The code checker tool In order to perform an unattended IPv6 compliance check a dedicated code checker tools has been developed –search “suspicious” IPv4 code patterns and function calls inside the source code  C/C++,Java,Python,Perl –It is just a simple bash script which should be executed in the main folder of the code to check  Considering the WMS build system directory structure at the same level of org.glite

Enabling Grids for E-sciencE EGEE-II INFSO-RI EGEE’6 conference, September 2006, Geneva 15 The code checker tool Usage of the checker is straightforward: –Copy the script in the main folder of the glite wms build system  same level of org.glite –Prepare a file containing the list of component to check IPv6 compliance for  To perform the check on org.glite.security components find -type d -maxdepth 1 -name “org.glite.security*" | awk -F/ '{print$2}' > components –Issue the command  $./ipv6check.sh components

Enabling Grids for E-sciencE EGEE-II INFSO-RI EGEE’6 conference, September 2006, Geneva 16 The code checker tool org.glite.security.voms INADDR_ [FAILED] addr_in [FAILED] F_INET$ [PASSED] gethostbyname [FAILED] inet_addr [PASSED] inet_ntoa [PASSED] Inet4Address [PASSED] inet_aton [PASSED] gethostbyname_ex [PASSED] INADDR_BROADCAST [PASSED] [FAILED] [PASSED] [PASSED]

Enabling Grids for E-sciencE EGEE-II INFSO-RI EGEE’6 conference, September 2006, Geneva 17 The code checker tool Details on how to integrate the IPv6 checking in the current glite build system should be discussed –define a new ant target for the current build system  “IPv6check” to be execute as next to “compile” target since several code is autogenerated during the build it is available at compile completion time –Include this check also in ETICS® ?