Presentation is loading. Please wait.

Presentation is loading. Please wait.

National Center for Supercomputing ApplicationsNational Computational Science GGF8 PGM-RP Workshop June 26, 2003 Seattle, Washington GPT Patrick Duda Grid.

Similar presentations


Presentation on theme: "National Center for Supercomputing ApplicationsNational Computational Science GGF8 PGM-RP Workshop June 26, 2003 Seattle, Washington GPT Patrick Duda Grid."— Presentation transcript:

1 National Center for Supercomputing ApplicationsNational Computational Science GGF8 PGM-RP Workshop June 26, 2003 Seattle, Washington GPT Patrick Duda Grid and Security Technologies National Center for Supercomputing Applications pduda@ncsa.uiuc.edu

2 National Center for Supercomputing ApplicationsNational Computational Science GPT 3.X •Grid Packaging Tool –What is GPT –Why GPT –Improved Features –New Features –What the Future Holds "I don't see much sense in that," said Rabbit. "No," said Pooh humbly, "there isn't. But there was going to be when I began it. It's just that something happened to it along the way." (A.A. Milne)

3 National Center for Supercomputing ApplicationsNational Computational Science GPT •Grid Packaging Tool  What is GPT –Why GPT –Improved Features –New Features –What the Future Holds

4 National Center for Supercomputing ApplicationsNational Computational Science What Is GPT •A Tool For Deploying Grid Components –A (relatively) easy way to package software –A means to building and installing collections of software packages –A set of standard version negotiation methods for managing updates to packages and bundles –A project funded by NMI –An open source effort

5 National Center for Supercomputing ApplicationsNational Computational Science GPT •Grid Packaging Tool –What is GPT  Why GPT –Improved Features –New Features –What the Future Holds

6 National Center for Supercomputing ApplicationsNational Computational Science Why GPT •The Benefits Of Using GPT –Provides a consistent deployment mechanism across multiple systems/OSs/platforms –Both a developer tool and a deployment tool –Provides a reproducible software stack –Provides a site specific configuration capability

7 National Center for Supercomputing ApplicationsNational Computational Science Why GPT •GPT vs. RPM –Relocatable binary packages –Originally RPM did not support –Current RPM supports but breaks often –GPT supports through “–location” flag –Multiple build cycles –RPM assumes single build cycle –Access to packaging data –RPM data is proprietary –GPT data is XML based –RPM is very good on Linux –GPT works on many platforms

8 National Center for Supercomputing ApplicationsNational Computational Science Why GPT •GPT vs. RPM –Small footprint –RPM has numerous libraries( zlib, bzip2, 1 or 2 versions of the the berkeley database, and gettext ) –GPT needs Perl 5.005 and zlib –GPT works better with Globus

9 National Center for Supercomputing ApplicationsNational Computational Science GPT •Grid Packaging Tool –What is GPT –Why GPT  Improved Features –New Features –What the Future Holds

10 National Center for Supercomputing ApplicationsNational Computational Science Improved Features •GPT 3.x A Brave New World –Better Bundling –Better dependency checking –Better Updating-ability

11 National Center for Supercomputing ApplicationsNational Computational Science Improved Features •Better Bundling –Bundle data XML based –Increases the amount of data about a bundle –Makes bundle data more accessible –Data is persistent –Install, Update, Delete –Simpler releases –Simpler Updates –Simpler system maintenance

12 National Center for Supercomputing ApplicationsNational Computational Science Improved Features gpt-bundle [options] packages Options: -bn=NAME Name of the bundle -bv=MAJOR.MINOR Version of the bundle -bs=STABILITY Stability of the bundle contents -bl=VERSION Version Label of the bundle -template Outputs empty Bundle Def XML file. -bundledef=FILE Outputs XML file with command line values. -exclude=PACKAGE Don't include PACKAGE in bundle -xml=FILE XML bundle description file [packages] List of packages to be bundled

13 National Center for Supercomputing ApplicationsNational Computational Science Improved Features Simple Description of the Bundle 2.0

14 National Center for Supercomputing ApplicationsNational Computational Science Important Tags Element or AttributeDescriptiongpt-bundle Command Line Switch GPTBundleData NameName of the bundle-bn="NAME" ContactInfo ContactEmailEmail address for questions about the bundle None ContactInfo ContactNameName of the bundle ownerNone BundleDocs BundleDocsDescExplanation on how to get documentation on the bundle None BundleDocs BundleDocsURLURL to online bundle documentationNone BundleStability ReleaseStability of the software released with this bundle. Usually one of "Experimental", "Alpha", "Beta", or "Production" -bs="STABILITY" BundleVersion Age, Major, and Minor GPT internal version number of the bundle. Age is not currently used -bv="MAJOR.MINOR" VersionLabelThe user friendly version number of the bundle. Can be any CDATA string. -bl="LABEL"

15 National Center for Supercomputing ApplicationsNational Computational Science Preferred Way gpt-bundle -bn=newfoo -bv=1.0 -bl=2.0 -installdir=GLOBUS_LOCATION –template globus_ssl_utils-gcc32_pgm globus_common-gcc32_pgm File: BundleTemplateXML_FILE.xml EMPTY NEED A VERSION NEED A DESCRIPTION 2.0 EMPTY

16 National Center for Supercomputing ApplicationsNational Computational Science Other Preferred Way gpt-bundle -installdir=GLOBUS_LOCATION -bn=newfee -bv=3.0 -bl=4.0 -bs=production -bundledef=tst2 globus_ssl_utils-gcc32_pgm globus_common-gcc32_pgm File: tst2.gpt-bundle.xml Test Description 4.0 EMPTY

17 National Center for Supercomputing ApplicationsNational Computational Science Controlling Dependencies gpt-bundle switchBundle Definition File Element Description -nodepsPackageFlags NoDepsDo not include any dependent packages. -nosetupsPackageFlags NoSetupsDo not include any dependent setup packages. -exclude=PACKAGE NAMEExcludedPackagesDo not include package that matches PACKAGE NAME.

18 National Center for Supercomputing ApplicationsNational Computational Science Improved Features •Better Dependency Checking –Set algorithm for managing bundle and package updates –Package Level Checks –Bundle Level Checks

19 National Center for Supercomputing ApplicationsNational Computational Science Improved Features •Installs –What should happen bash$ gpt-install -verbose newfoo-2.2.3-i686-pc-linux-gnu-bin.tar.gz globus_ssl_utils_setup-noflavor-pgm successfully removed. globus_ssl_utils-gcc32-rtl successfully removed. globus_ssl_utils-gcc32-pgm successfully removed. globus_openssl-gcc32-rtl successfully removed. globus_openssl-gcc32-pgm successfully removed. globus_core_setup-noflavor-pgm successfully removed. globus_common_setup-noflavor-pgm successfully removed. globus_common-gcc32-rtl successfully removed. globus_common-gcc32-pgm successfully removed. Bundle newfoo removed. globus_trusted_ca_42864e48_setup-noflavor-pgm successfully installed. globus_proxy_utils-gcc32-pgm successfully installed. globus_openssl_module-gcc32-rtl successfully installed. globus_openssl-gcc32-rtl successfully installed. globus_openssl-gcc32-pgm successfully installed. globus_gsi_sysconfig-gcc32-rtl successfully installed. globus_gsi_proxy_ssl-gcc32-rtl successfully installed. globus_gsi_proxy_core-gcc32-rtl successfully installed. globus_gsi_openssl_error-gcc32-rtl successfully installed. globus_gsi_credential-gcc32-rtl successfully installed. globus_gsi_cert_utils-gcc32-rtl successfully installed. globus_gsi_cert_utils-gcc32-pgm successfully installed. globus_gsi_callback-gcc32-rtl successfully installed. globus_common_setup-noflavor-pgm successfully installed. globus_common-gcc32-rtl successfully installed. globus_common-gcc32-pgm successfully installed. Bundle newfoo successfully installed.

20 National Center for Supercomputing ApplicationsNational Computational Science Improved Features •Install Problems –What’s more likely to happen This example shows conflicts because of mismatched package versions: bash$ gpt-install newfee-2.0-i686-pc-linux-gnu-bin.tar.gz Error: The following package conflicts were found: globus_openssl-gcc32-rtl ver: 0.1 in bundle newfee conflicts with globus_openssl-gcc32-rtl ver: 0.10 in bundle newfoo globus_openssl-gcc32-pgm ver: 0.1 in bundle newfee conflicts with globus_openssl-gcc32-pgm ver: 0.10 in bundle newfoo globus_common_setup-noflavor-pgm ver: 2.0 in bundle newfee conflicts with globus_common_setup- noflavor-pgm ver: 2.1 in bundle newfoo globus_common-gcc32-rtl ver: 2.0 in bundle newfee conflicts with globus_common-gcc32-rtl ver: 3.5 in bundle newfoo globus_common-gcc32-pgm ver: 2.0 in bundle newfee conflicts with globus_common-gcc32-pgm ver: 3.5 in bundle newfoo

21 National Center for Supercomputing ApplicationsNational Computational Science Improved Features •More Install Problems This example shows conflicts because of mismatched package flavors: bash$ gpt-install newfee_static-2.2.3-i686-pc-linux-gnu-bin.tar.gz Error: The following package conflicts were found: globus_proxy_utils-gcc32-pgm_static ver: 0.5 in bundle newfee_static conflicts with globus_proxy_utils- gcc32-pgm ver: 0.5 in bundle newfoo globus_openssl-gcc32-pgm_static ver: 0.10 in bundle newfee_static conflicts with globus_openssl- gcc32-pgm ver: 0.10 in bundle newfoo globus_gsi_cert_utils-gcc32-pgm_static ver: 0.4 in bundle newfee_static conflicts with globus_gsi_cert_utils-gcc32-pgm ver: 0.4 in bundle newfoo globus_common-gcc32-pgm_static ver: 3.5 in bundle newfee_static conflicts with globus_common- gcc32-pgm ver: 3.5 in bundle newfoo

22 National Center for Supercomputing ApplicationsNational Computational Science Improved Features •Install Nirvana –Making all your install problems go away A -force flag can be used to install bundles which cause conflicts: bash$ gpt-install -force newfee_static-2.2.3-i686-pc-linux-gnu-bin.tar.gz Bundle newfee_static successfully installed.

23 National Center for Supercomputing ApplicationsNational Computational Science Improved Features •How Do I know It Really Worked –gpt-verify gpt-verify [ -bundle -help -version -man ] -bundleVerify installed bundles only. -helpPrint a brief help message and exits. -manPrints the manual page and exits. -versionPrints the version of GPT and exits.

24 National Center for Supercomputing ApplicationsNational Computational Science gpt-verify bash$ gpt-verify 1 st ) Reports if there are packages missing from an installed bundle or if there are package version mis-matches. Verifying Bundles... Bundle: newfoo 2 nd ) Reports if there are any missing or version mis-matches with packages that are required by other packages. Verifying run-time dependencies... 3 rd ) Reports if any setup packages which contain configuration files and scripts for other packages are missing. Verifying setup dependencies... Verifying setup packages... The following setup packages still need to be configured via gpt-postinstall: globus_trusted_ca_42864e48_setup-noflavor-pgm ERROR: The collection of packages in /home/mbletzin/install/globus is not coherent! The error comes from the fact that the /home/mbletzin/install/globus/setup/globus/setup-gsi script mentioned in the gpt- postinstall output had not been run.

25 National Center for Supercomputing ApplicationsNational Computational Science Improved Features •Better Updating-ability –GPT Does Better Checking –Package Updates –Bundle Updates

26 National Center for Supercomputing ApplicationsNational Computational Science Package Updates Update system with Packages. gpt-install -location= newfoo-2.0-i686-pc-linux-gnu-bin.tar.gz gpt-install -location= globus_common-3.5-i686-pc-linux-gnu-gcc32-pgm.tar.gz globus_common-3.5-i686-pc- linux-gnu-gcc32-rtl.tar.gz gpt-verify shows version mis-matches for the bundle newfoo. It also shows dependency problems indicating that this was not a well designed update. bash$ gpt-verify Verifying Bundles... Bundle: newfoo Package globus_common-gcc32-rtl ver: 2.0 is a mis-match with the following installed packages globus_common-gcc32-rtl ver: 3.5 Package globus_common-gcc32-pgm ver: 2.0 is a mis-match with the following installed packages globus_common-gcc32-pgm ver: 3.5 Verifying run-time dependencies... ERROR: The following packages are missing Package Runtime-globus_common-ANY-pgm version 3.5 is incompatible with globus_common_setup-noflavor-pgm

27 National Center for Supercomputing ApplicationsNational Computational Science Bundle Updates Checks are made for conflicts between bundles and packages. bash$ gpt-install newfoo-2.2.3-i686-pc-linux-gnu-bin.tar.gz ERROR: The following package conflicts were found: globus_openssl-gcc32-rtl ver: 0.10 in bundle newfoo conflicts with globus_openssl-gcc32-rtl ver: 0.1 in bundle newfee globus_openssl-gcc32-pgm ver: 0.10 in bundle newfoo conflicts with globus_openssl-gcc32-pgm ver: 0.1 in bundle newfee globus_common_setup-noflavor-pgm ver: 2.1 in bundle newfoo conflicts with globus_common_setup-noflavor-pgm ver: 2.0 in bundle newfee globus_common-gcc32-rtl ver: 3.5 in bundle newfoo conflicts with globus_common-gcc32-rtl ver: 2.0 in bundle newfee globus_common-gcc32-pgm ver: 3.5 in bundle newfoo conflicts with globus_common-gcc32-pgm ver: 2.0 in bundle newfee

28 National Center for Supercomputing ApplicationsNational Computational Science Improved Install •Installs That Do Nothing –gpt-install -noaction bash$ gpt-install -noaction newfoo-2.2.3-i686-pc-linux-gnu-bin.tar.gz The following bundles would be removed newfoo ver: 2.0 The following bundles would be installed newfoo ver: 2.2.3 The following packages would be removed globus_ssl_utils_setup-noflavor-pgm ver: 2.0 globus_ssl_utils-gcc32-rtl ver: 2.1 globus_ssl_utils-gcc32-pgm ver: 2.1 globus_openssl-gcc32-rtl ver: 0.1 globus_openssl-gcc32-pgm ver: 0.1 globus_core_setup-noflavor-pgm ver: 2.0 globus_common_setup-noflavor-pgm ver: 2.0 globus_common-gcc32-rtl ver: 2.0 globus_common-gcc32-pgm ver: 2.0 The following packages would be installed globus_trusted_ca_42864e48_setup-noflavor-pgm ver: 0.5 globus_proxy_utils-gcc32-pgm ver: 0.5 globus_openssl_module-gcc32-rtl ver: 0.2 globus_openssl-gcc32-rtl ver: 0.10 globus_openssl-gcc32-pgm ver: 0.10 globus_gsi_sysconfig-gcc32-rtl ver: 0.3 globus_gsi_proxy_ssl-gcc32-rtl ver: 0.1 globus_gsi_proxy_core-gcc32-rtl ver: 0.3 globus_gsi_openssl_error-gcc32-rtl ver: 0.2 globus_gsi_credential-gcc32-rtl ver: 0.5 globus_gsi_cert_utils-gcc32-rtl ver: 0.4 globus_gsi_cert_utils-gcc32-pgm ver: 0.4 globus_gsi_callback-gcc32-rtl ver: 0.3 globus_common_setup-noflavor-pgm ver: 2.1 globus_common-gcc32-rtl ver: 3.5 globus_common-gcc32-pgm ver: 3.5

29 National Center for Supercomputing ApplicationsNational Computational Science gpt-query gpt-query [-name=Name -flavor=Flavor -pkgtype=Type --help -file=name -man -deps=run|sdk] [pkgname-flavor-pkgtype+] -name=NAMEReturns all of the packages matching NAME. -flavor=FLAVORReturns all of the packages matching FLAVOR. -pkgtype=TYPEReturns all of the packages matching TYPE. -file=FILEReturns the package owning the FILE. FILE needs to be either an absolute path or referenced to $GLOBUS_LOCATION. -deps=run|sdkReturns the runtime or build dependencies of a package. -helpPrint a brief help message and exits. -manPrints the manual page and exits. -versionPrints the version of GPT and exits. -what-bundlesPrints a list of the installed bundles. -verify-bundle=BUNDLETakes a bundle defintion and checks to see if it matches the installation. -bundle-packages=BUNDLEList the packages that belong to the desired bundle. -bundle BUNDLE 1 [BUNDLE 2]If two bundles are given, the bundles will be compared to one another for equality. If only one bundle is given, the bundle will be checked against the installation. This command works on tar bundles.

30 National Center for Supercomputing ApplicationsNational Computational Science What Have We Got gpt-query -location=/home/pduda/tmp2/inst -verify-bundle=fee-2 10 packages were found in /home/pduda/tmp2/inst that matched your query: packages found that matched your query globus_common-gcc32-pgm pkg version: 2.0.0 globus_common-gcc32-rtl pkg version: 2.0.0 globus_common_setup-noflavor-pgm pkg version: 2.0.0 globus_core_setup-noflavor-pgm pkg version: 2.0.0 globus_gridftp_server-gcc32-pgm pkg version: 1.0.0 software version: 1.0 globus_openssl-gcc32-pgm pkg version: 0.1.1 globus_openssl-gcc32-rtl pkg version: 0.1.1 globus_ssl_utils-gcc32-pgm pkg version: 2.1.0 globus_ssl_utils-gcc32-rtl pkg version: 2.1.0 globus_ssl_utils_setup-noflavor-pgm pkg version: 2.0.0

31 National Center for Supercomputing ApplicationsNational Computational Science What Have We Got gpt-query -location=/home/pduda/tmp2/inst -bundle-packages=fee-2 Packages in Bundle fee-2: globus_common-gcc32_rtl globus_core_setup-noflavor_pgm globus_gridftp_server-gcc32_pgm globus_openssl-gcc32_pgm globus_openssl-gcc32_rtl globus_ssl_utils_setup-noflavor_pgm globus_common-gcc32_pgm globus_ssl_utils-gcc32_rtl globus_common_setup-noflavor_pgm globus_ssl_utils-gcc32_pgm

32 National Center for Supercomputing ApplicationsNational Computational Science What Have We Got gpt-query -location=/home/pduda/tmp2/inst -what-bundles System Bundles fee-2.0 ver: NONE

33 National Center for Supercomputing ApplicationsNational Computational Science What Have We Got gpt-query -location=/home/pduda/tmp2/inst -bundle fee-2.0-i686-pc-linux-gnu-bin.tar.gz fee-2.2.3-i686-pc-linux-gnu-bin.tar.gz fee-2.2.3- is missing: globus_core_setup-noflavor-pgm-2.0.0 globus_ssl_utils_setup-noflavor-pgm-2.0.0 globus_ssl_utils-gcc32-rtl-2.1.0 globus_ssl_utils-gcc32-pgm-2.1.0 Bundle package defferences: fee-2.2.3 -: globus_common-gcc32-2.0.0 fee-2.2.3 -: globus_common-gcc32-3.5.0 fee-2.2.3 -: globus_gridftp_server-gcc32-1.0.0 fee-2.2.3 -: globus_gridftp_server-gcc32-1.5.0 fee-2.2.3 -: globus_openssl-gcc32-0.1.1 fee-2.2.3 -: globus_openssl-gcc32-0.10.0 fee-2.2.3 -: globus_openssl-gcc32-0.1.1 fee-2.2.3 -: globus_openssl-gcc32-0.10.0 fee-2.2.3 -: globus_common-gcc32-2.0.0 fee-2.2.3 -: globus_common-gcc32-3.5.0 fee-2.2.3 -: globus_common_setup-noflavor-2.0.0 fee-2.2.3 -: globus_common_setup-noflavor-2.1.0

34 National Center for Supercomputing ApplicationsNational Computational Science GPT •Grid Packaging Tool –What is GPT –Why GPT –Improved Features  New Features –What the Future Holds

35 National Center for Supercomputing ApplicationsNational Computational Science New Features •GPT MDS Information Provider –MDS provides a standard mechanism for reporting information about a grid –GPT-IP supplies data on installed packages and bundles –Package Name, Type, Version, and Flavor –Bundle Name, Version, and member Packages –Open to extension

36 National Center for Supercomputing ApplicationsNational Computational Science New Features •Improved, Better, Enhanced, Useful, Semi- understandable Documentation –Comprehensive examples –Insights into the inter-workings –Step-by-step walk throughs •Where Can All This Be Found? –http://www.gridpackagingtools.org –http://www.gridpackagingtools.org/book.html

37 National Center for Supercomputing ApplicationsNational Computational Science GPT •Grid Packaging Tool –What is GPT –Why GPT –Improved Features –New Features  What the Future Holds

38 National Center for Supercomputing ApplicationsNational Computational Science What The Future Holds •GPT Repository Tool –Think apt-get –Ties to GridConfig •Generalized Query Tool •Grid Wide Package Information –Information about multiple installed packages •Improved MDS Information •Simpler Interface

39 National Center for Supercomputing ApplicationsNational Computational Science What The Future Holds •Support For Globus 3.x –Java builds –Packaging of Databases(postgres, mysql,…) –Web Servers(apache,…) –And more…


Download ppt "National Center for Supercomputing ApplicationsNational Computational Science GGF8 PGM-RP Workshop June 26, 2003 Seattle, Washington GPT Patrick Duda Grid."

Similar presentations


Ads by Google