SlideShare une entreprise Scribd logo
1  sur  32
Extending SCMSWeb 3 rd  PRAGMA Institute Hand-on Resources II Sugree Phatanapherom [email_address]
SCMSWeb in Short ,[object Object],[object Object],[object Object]
SCMSWeb in Long
Usage statistics
Probe
Bandwidth
GeoMap
Catalog
Behind graphs, charts and tables ,[object Object],[object Object]
Configurable ,[object Object],[object Object],[object Object]
General Configuration ,[object Object],[object Object]
Probe Configuration ,[object Object],[object Object],[object Object]
probe.conf [html] xmlpath = /usr/share/scmsweb/incoming/cluster/pragma.xml textpath = /usr/share/scmsweb/grid/PRAGMA/pragma.txt htmlpath = /usr/share/scmsweb/grid/PRAGMA/pragma.html [probe] name = PRAGMA smtp = localhost #email = cindy.pragma@gmail.com timestamp_path = /var/tmp/scmsweb timeout = 40 probe0 = DNS probe1 = Authentication probe2 = Mds probe3 = JobRun probe4 = GridFTPTo probe5 = GridFTPFrom probe6 = WSGRAM probe7 = Iperf probe8 = SWCat [globus] basedn = mds-vo-name=npaci,o=sdsc mdshost = rocks-67.sdsc.edu [Gfarm] command = /usr/share/scmsweb/gfarm/probe_gfhost %(target)s [WSGRAM] command = /usr/share/scmsweb/wsgram/probe_wsgram %(target)s [time] rerun_false = 1 SWCat = 720 Iperf = 720 Mds = 720 GridFTPTo = 360 GridFTPFrom = 360 JobRun = 120 WSGRAM = 120
target.conf #[USM-CS] [aurora] target = aurora.usmgrid.myren.net.my iperf_args = -p 15001 email = zhengc@sdsc.edu,keat@webmail.cs.usm.my,khuen@cs.usm.my,hychan@cs.usm.my #[IOIT-HCM] [VENUS] target = venus.ioit-hcm.ac.vn iperf_args = -p 15001 email = zhengc@sdsc.edu,han@vast-hcm.ac.vn #[MIMOS] [MIMOS-Nucleus] target = nucleus.mygridusbio.net.my iperf_args = -p 5001 email =  [email_address] ,jyluke@mimos.my #[SDSC_compute] [Rocks-52] target = rocks-52.sdsc.edu iperf_args = -p 15001 email = zhengc@sdsc.edu SWCat_target = rocks-52.sdsc.edu/jobmanager-fork #[BU] [popCluster] target = pop.cs.binghamton.edu GridFTPTo_probe = off GridFTPFrom_probe = off iperf_args = -p 15001 email = zhengc@sdsc.edu,john@jskro.org,kchiu@cs.binghamton.edu
Catalog Configuration ,[object Object],[object Object]
swcatalog.conf [autodock4] url=http://autodock.scripps.edu/ [namd] url=http://www.ks.uiuc.edu/Research/namd/ [amber] url=http://amber.scripps.edu/ [ninf-g] url=http://ninf.apgrid.org/ [intel_c_compiler] url=http://www.intel.com/cd/software/products/asmo-na/eng/219768.htm [intel_fortran_compiler] url=http://www.intel.com/cd/software/products/asmo-na/eng/219768.htm [apbs] url=http://apbs.sourceforge.net/
0-init.sh #!/bin/sh for file in /etc/profile.d/*.sh; do [ -f "$file" ] && . "$file" done
amber.sh #!/bin/sh amber_version() { # bad guess? VERSION=`echo "$1" | grep -q 9` if [ X"$VERSION" = X ]; then VERSION="9" else VERSION="unknown" fi echo -n "$VERSION" } SANDER_PATH=`which sander 2> /dev/null` if [ X"$AMBERHOME" != X ]; then # how can we decide version of amber? VERSION=`amber_version "$AMBERHOME"/exe` echo "amber:$VERSION:$AMBERHOME/exe" elif [ X"$SANDER_PATH" != X ]; then VERSION=`amber_version "$SANDER_PATH"` echo "amber:$VERSION:$SANDER_PATH" fi
ninf-g.sh #!/bin/sh NG_VERSION=`ng_version 2> /dev/null` if [ X"$NG_VERSION" != X ]; then VERSION=`echo $NG_VERSION | sed "s/.*:[[:space:]]*.*//g"` NG_PATH=`which ng_version` NG_PATH=`dirname "$NG_PATH"` echo "ninf-g:$VERSION:$NG_PATH" fi
GeoMap Configuration ,[object Object]
Configuration [Site:Universiti Sains Malaysia] parent = Grid:PRAGMA UniqueID = USM_MY Latitude = 5.356667 Longitude = 100.300833 Location = Malaysia Description = USM MY SecurityContact = mailto: noreply@noreply.com SysAdminContact = mailto: noreply@noreply.com UserSupportContact = mailto: noreply@noreply.com [Site:MIMOS] parent = Grid:PRAGMA Latitude = 5.356667 Longitude = 100.300833 Location = Malaysia Description = MIMOS MY SecurityContact = mailto: noreply@noreply.com SysAdminContact = mailto: noreply@noreply.com UserSupportContact = mailto: noreply@noreply.com [Grid:PRAGMA] Name = PRAGMA Description = PRAGMA [Site:TNGC_TH] parent = Grid:PRAGMA Location = Bangkok, Thailand Latitude = 13.84544 Longitude = 100.567802 Description = sunyata.thaigrid.or.th SecurityContact = mailto: noreply@noreply.com SysAdminContact = mailto: noreply@noreply.com UserSupportContact = mailto: noreply@noreply.com
Extensible ,[object Object],[object Object],[object Object],http://goc.pragma-grid.net/cgi-bin/scmsweb/xml_display.cgi?grid=on http://goc.pragma-grid.net/cgi-bin/scmsweb/glue.cgi?format=xml http://goc.pragma-grid.net/cgi-bin/scmsweb/glue.cgi?format=kml
Basic Usage curl http://goc.pragma-grid.net/cgi-bin/scmsweb/xml_display.cgi?grid=on curl http://goc.pragma-grid.net/cgi-bin/scmsweb/glue.cgi?format=xml curl http://goc.pragma-grid.net/cgi-bin/scmsweb/glue.cgi?format=kml
For developers ,[object Object]
Try it and feel it! ,[object Object],[object Object],[object Object]
conf.py scmsweb_xml = 'http://goc.pragma-grid.net/cgi-bin/scmsweb/xml_display.cgi?grid=on' map_xml = 'http://goc.pragma-grid.net/cgi-bin/scmsweb/glue.cgi?format=xml' map_kml = 'http://goc.pragma-grid.net/cgi-bin/scmsweb/glue.cgi?format=kml' nano conf.py cat conf.py python conf.py
fetch.py #!/usr/bin/python import conf from urllib import urlopen fi = urlopen(conf.scmsweb_xml) fo = open('scmsweb.xml', 'w') fo.write(fi.read()) fo.close() fi = urlopen(conf.map_xml) fo = open('map.xml', 'w') fo.write(fi.read()) fo.close() fi = urlopen(conf.map_kml) fo = open('map.kml', 'w') fo.write(fi.read()) fo.close() nano fetch.py python fetch.py ls -l
parse.py #!/usr/bin/python from xml.dom import minidom fi = open('scmsweb.xml') doc = minidom.parse(fi) print doc nano parse.py python parse.py
traverse.py #!/usr/bin/python from xml.dom import minidom fi = open('scmsweb.xml') doc = minidom.parse(fi) root = doc.documentElement for node in root.childNodes: if node.nodeType == doc.ELEMENT_NODE: print node.tagName, node.attributes.items()
x.py #!/usr/bin/python from xml.dom import minidom from xml import xpath fi = open('scmsweb.xml') doc = minidom.parse(fi) root = doc.documentElement nodes = xpath.Evaluate('cluster', root) for node in nodes: if node.nodeType == doc.ELEMENT_NODE: print node.tagName, node.attributes.items()
l.py #!/usr/bin/python from xml.dom import minidom from lxml import etree as ET fi = open('scmsweb.xml') root = ET.parse(fi) nodes = root.xpath('cluster') for node in nodes: print node.tag, node.attrib
Congratulation! You are python programmer now

Contenu connexe

Similaire à Hand-on Resources II: Extending SCMSWeb

2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbedDaniel Bimschas
 
GE Predix 新手入门 赵锴 物联网_IoT
GE Predix 新手入门 赵锴 物联网_IoTGE Predix 新手入门 赵锴 物联网_IoT
GE Predix 新手入门 赵锴 物联网_IoTKai Zhao
 
Profiling and optimizing go programs
Profiling and optimizing go programsProfiling and optimizing go programs
Profiling and optimizing go programsBadoo Development
 
Im-A-Hacker-Get-Me-Out-Of-Here-Breaking-Network-Segregation-Using-Esoteric-Co...
Im-A-Hacker-Get-Me-Out-Of-Here-Breaking-Network-Segregation-Using-Esoteric-Co...Im-A-Hacker-Get-Me-Out-Of-Here-Breaking-Network-Segregation-Using-Esoteric-Co...
Im-A-Hacker-Get-Me-Out-Of-Here-Breaking-Network-Segregation-Using-Esoteric-Co...YuChianWu
 
Managing and Monitoring Application Performance
Managing and Monitoring Application PerformanceManaging and Monitoring Application Performance
Managing and Monitoring Application PerformanceSebastian Marek
 
Mitaka_IntroStarlink.pdf
Mitaka_IntroStarlink.pdfMitaka_IntroStarlink.pdf
Mitaka_IntroStarlink.pdfrobinsroy28
 
Pyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web appsPyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web appsDylan Jay
 
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開60分鐘完送百萬edm,背後雲端ci/cd實戰大公開
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開KAI CHU CHUNG
 
Sling IDE Tooling @ adaptTo 2013
Sling IDE Tooling @ adaptTo 2013Sling IDE Tooling @ adaptTo 2013
Sling IDE Tooling @ adaptTo 2013Robert Munteanu
 
Instrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con GitlabInstrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con GitlabSoftware Guru
 
Ganglia Monitoring Tool
Ganglia Monitoring ToolGanglia Monitoring Tool
Ganglia Monitoring Toolsudhirpg
 
IBCAST 2021: Observations and lessons learned from the APNIC Community Honeyn...
IBCAST 2021: Observations and lessons learned from the APNIC Community Honeyn...IBCAST 2021: Observations and lessons learned from the APNIC Community Honeyn...
IBCAST 2021: Observations and lessons learned from the APNIC Community Honeyn...APNIC
 
Noah Zoschke at Waza 2013: Heroku Secrets
Noah Zoschke at Waza 2013: Heroku SecretsNoah Zoschke at Waza 2013: Heroku Secrets
Noah Zoschke at Waza 2013: Heroku SecretsHeroku
 
Pyramid Deployment and Maintenance
Pyramid Deployment and MaintenancePyramid Deployment and Maintenance
Pyramid Deployment and MaintenanceJazkarta, Inc.
 
Velocity EU 2012 - Third party scripts and you
Velocity EU 2012 - Third party scripts and youVelocity EU 2012 - Third party scripts and you
Velocity EU 2012 - Third party scripts and youPatrick Meenan
 
How to improve ELK log pipeline performance
How to improve ELK log pipeline performanceHow to improve ELK log pipeline performance
How to improve ELK log pipeline performanceSteven Shim
 
Ratpack - Classy and Compact Groovy Web Apps
Ratpack - Classy and Compact Groovy Web AppsRatpack - Classy and Compact Groovy Web Apps
Ratpack - Classy and Compact Groovy Web AppsJames Williams
 
Kubernetes walkthrough
Kubernetes walkthroughKubernetes walkthrough
Kubernetes walkthroughSangwon Lee
 
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...Aman Kohli
 

Similaire à Hand-on Resources II: Extending SCMSWeb (20)

2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
 
GE Predix 新手入门 赵锴 物联网_IoT
GE Predix 新手入门 赵锴 物联网_IoTGE Predix 新手入门 赵锴 物联网_IoT
GE Predix 新手入门 赵锴 物联网_IoT
 
Profiling and optimizing go programs
Profiling and optimizing go programsProfiling and optimizing go programs
Profiling and optimizing go programs
 
Im-A-Hacker-Get-Me-Out-Of-Here-Breaking-Network-Segregation-Using-Esoteric-Co...
Im-A-Hacker-Get-Me-Out-Of-Here-Breaking-Network-Segregation-Using-Esoteric-Co...Im-A-Hacker-Get-Me-Out-Of-Here-Breaking-Network-Segregation-Using-Esoteric-Co...
Im-A-Hacker-Get-Me-Out-Of-Here-Breaking-Network-Segregation-Using-Esoteric-Co...
 
Managing and Monitoring Application Performance
Managing and Monitoring Application PerformanceManaging and Monitoring Application Performance
Managing and Monitoring Application Performance
 
Mitaka_IntroStarlink.pdf
Mitaka_IntroStarlink.pdfMitaka_IntroStarlink.pdf
Mitaka_IntroStarlink.pdf
 
Pyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web appsPyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web apps
 
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開60分鐘完送百萬edm,背後雲端ci/cd實戰大公開
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開
 
Sling IDE Tooling @ adaptTo 2013
Sling IDE Tooling @ adaptTo 2013Sling IDE Tooling @ adaptTo 2013
Sling IDE Tooling @ adaptTo 2013
 
Instrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con GitlabInstrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con Gitlab
 
Ganglia Monitoring Tool
Ganglia Monitoring ToolGanglia Monitoring Tool
Ganglia Monitoring Tool
 
IBCAST 2021: Observations and lessons learned from the APNIC Community Honeyn...
IBCAST 2021: Observations and lessons learned from the APNIC Community Honeyn...IBCAST 2021: Observations and lessons learned from the APNIC Community Honeyn...
IBCAST 2021: Observations and lessons learned from the APNIC Community Honeyn...
 
Stackato Presentation Techzone 2013
Stackato Presentation Techzone 2013Stackato Presentation Techzone 2013
Stackato Presentation Techzone 2013
 
Noah Zoschke at Waza 2013: Heroku Secrets
Noah Zoschke at Waza 2013: Heroku SecretsNoah Zoschke at Waza 2013: Heroku Secrets
Noah Zoschke at Waza 2013: Heroku Secrets
 
Pyramid Deployment and Maintenance
Pyramid Deployment and MaintenancePyramid Deployment and Maintenance
Pyramid Deployment and Maintenance
 
Velocity EU 2012 - Third party scripts and you
Velocity EU 2012 - Third party scripts and youVelocity EU 2012 - Third party scripts and you
Velocity EU 2012 - Third party scripts and you
 
How to improve ELK log pipeline performance
How to improve ELK log pipeline performanceHow to improve ELK log pipeline performance
How to improve ELK log pipeline performance
 
Ratpack - Classy and Compact Groovy Web Apps
Ratpack - Classy and Compact Groovy Web AppsRatpack - Classy and Compact Groovy Web Apps
Ratpack - Classy and Compact Groovy Web Apps
 
Kubernetes walkthrough
Kubernetes walkthroughKubernetes walkthrough
Kubernetes walkthrough
 
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
 

Plus de Sugree Phatanapherom

Plus de Sugree Phatanapherom (16)

Twitter, Facebook and etc: Quick Startup Guide for Marketing
Twitter, Facebook and etc: Quick Startup Guide for MarketingTwitter, Facebook and etc: Quick Startup Guide for Marketing
Twitter, Facebook and etc: Quick Startup Guide for Marketing
 
@sugree and Twitter
@sugree and Twitter@sugree and Twitter
@sugree and Twitter
 
Behind the madness
Behind the madnessBehind the madness
Behind the madness
 
drupal.in.th
drupal.in.thdrupal.in.th
drupal.in.th
 
Twitter API and Startup Ideas
Twitter API and Startup IdeasTwitter API and Startup Ideas
Twitter API and Startup Ideas
 
Readme Read Sugree
Readme Read SugreeReadme Read Sugree
Readme Read Sugree
 
SCMSWeb and Condor-G Demonstration
SCMSWeb and Condor-G DemonstrationSCMSWeb and Condor-G Demonstration
SCMSWeb and Condor-G Demonstration
 
Drupal: blog and beyond
Drupal: blog and beyondDrupal: blog and beyond
Drupal: blog and beyond
 
The Spirit of Open Source
The Spirit of Open SourceThe Spirit of Open Source
The Spirit of Open Source
 
mbpurple - the replacement twitter im
mbpurple - the replacement twitter immbpurple - the replacement twitter im
mbpurple - the replacement twitter im
 
jibjib - ultimate twitter client for your phone
jibjib - ultimate twitter client for your phonejibjib - ultimate twitter client for your phone
jibjib - ultimate twitter client for your phone
 
Next Web Application - Brainstorm
Next Web Application - BrainstormNext Web Application - Brainstorm
Next Web Application - Brainstorm
 
Automatic Self-Tuning Architecture for Batch Scheduler on Large Scale Computi...
Automatic Self-Tuning Architecture for Batch Scheduler on Large Scale Computi...Automatic Self-Tuning Architecture for Batch Scheduler on Large Scale Computi...
Automatic Self-Tuning Architecture for Batch Scheduler on Large Scale Computi...
 
Optimizing Drupal for Mobile Devices
Optimizing Drupal for Mobile DevicesOptimizing Drupal for Mobile Devices
Optimizing Drupal for Mobile Devices
 
Call for Students: Google Summer of Code 2008
Call for Students: Google Summer of Code 2008Call for Students: Google Summer of Code 2008
Call for Students: Google Summer of Code 2008
 
Twitter Rules
Twitter RulesTwitter Rules
Twitter Rules
 

Dernier

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 

Dernier (20)

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 

Hand-on Resources II: Extending SCMSWeb

  • 1. Extending SCMSWeb 3 rd PRAGMA Institute Hand-on Resources II Sugree Phatanapherom [email_address]
  • 2.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. probe.conf [html] xmlpath = /usr/share/scmsweb/incoming/cluster/pragma.xml textpath = /usr/share/scmsweb/grid/PRAGMA/pragma.txt htmlpath = /usr/share/scmsweb/grid/PRAGMA/pragma.html [probe] name = PRAGMA smtp = localhost #email = cindy.pragma@gmail.com timestamp_path = /var/tmp/scmsweb timeout = 40 probe0 = DNS probe1 = Authentication probe2 = Mds probe3 = JobRun probe4 = GridFTPTo probe5 = GridFTPFrom probe6 = WSGRAM probe7 = Iperf probe8 = SWCat [globus] basedn = mds-vo-name=npaci,o=sdsc mdshost = rocks-67.sdsc.edu [Gfarm] command = /usr/share/scmsweb/gfarm/probe_gfhost %(target)s [WSGRAM] command = /usr/share/scmsweb/wsgram/probe_wsgram %(target)s [time] rerun_false = 1 SWCat = 720 Iperf = 720 Mds = 720 GridFTPTo = 360 GridFTPFrom = 360 JobRun = 120 WSGRAM = 120
  • 14. target.conf #[USM-CS] [aurora] target = aurora.usmgrid.myren.net.my iperf_args = -p 15001 email = zhengc@sdsc.edu,keat@webmail.cs.usm.my,khuen@cs.usm.my,hychan@cs.usm.my #[IOIT-HCM] [VENUS] target = venus.ioit-hcm.ac.vn iperf_args = -p 15001 email = zhengc@sdsc.edu,han@vast-hcm.ac.vn #[MIMOS] [MIMOS-Nucleus] target = nucleus.mygridusbio.net.my iperf_args = -p 5001 email = [email_address] ,jyluke@mimos.my #[SDSC_compute] [Rocks-52] target = rocks-52.sdsc.edu iperf_args = -p 15001 email = zhengc@sdsc.edu SWCat_target = rocks-52.sdsc.edu/jobmanager-fork #[BU] [popCluster] target = pop.cs.binghamton.edu GridFTPTo_probe = off GridFTPFrom_probe = off iperf_args = -p 15001 email = zhengc@sdsc.edu,john@jskro.org,kchiu@cs.binghamton.edu
  • 15.
  • 16. swcatalog.conf [autodock4] url=http://autodock.scripps.edu/ [namd] url=http://www.ks.uiuc.edu/Research/namd/ [amber] url=http://amber.scripps.edu/ [ninf-g] url=http://ninf.apgrid.org/ [intel_c_compiler] url=http://www.intel.com/cd/software/products/asmo-na/eng/219768.htm [intel_fortran_compiler] url=http://www.intel.com/cd/software/products/asmo-na/eng/219768.htm [apbs] url=http://apbs.sourceforge.net/
  • 17. 0-init.sh #!/bin/sh for file in /etc/profile.d/*.sh; do [ -f "$file" ] && . "$file" done
  • 18. amber.sh #!/bin/sh amber_version() { # bad guess? VERSION=`echo "$1" | grep -q 9` if [ X"$VERSION" = X ]; then VERSION="9" else VERSION="unknown" fi echo -n "$VERSION" } SANDER_PATH=`which sander 2> /dev/null` if [ X"$AMBERHOME" != X ]; then # how can we decide version of amber? VERSION=`amber_version "$AMBERHOME"/exe` echo "amber:$VERSION:$AMBERHOME/exe" elif [ X"$SANDER_PATH" != X ]; then VERSION=`amber_version "$SANDER_PATH"` echo "amber:$VERSION:$SANDER_PATH" fi
  • 19. ninf-g.sh #!/bin/sh NG_VERSION=`ng_version 2> /dev/null` if [ X"$NG_VERSION" != X ]; then VERSION=`echo $NG_VERSION | sed "s/.*:[[:space:]]*.*//g"` NG_PATH=`which ng_version` NG_PATH=`dirname "$NG_PATH"` echo "ninf-g:$VERSION:$NG_PATH" fi
  • 20.
  • 21. Configuration [Site:Universiti Sains Malaysia] parent = Grid:PRAGMA UniqueID = USM_MY Latitude = 5.356667 Longitude = 100.300833 Location = Malaysia Description = USM MY SecurityContact = mailto: noreply@noreply.com SysAdminContact = mailto: noreply@noreply.com UserSupportContact = mailto: noreply@noreply.com [Site:MIMOS] parent = Grid:PRAGMA Latitude = 5.356667 Longitude = 100.300833 Location = Malaysia Description = MIMOS MY SecurityContact = mailto: noreply@noreply.com SysAdminContact = mailto: noreply@noreply.com UserSupportContact = mailto: noreply@noreply.com [Grid:PRAGMA] Name = PRAGMA Description = PRAGMA [Site:TNGC_TH] parent = Grid:PRAGMA Location = Bangkok, Thailand Latitude = 13.84544 Longitude = 100.567802 Description = sunyata.thaigrid.or.th SecurityContact = mailto: noreply@noreply.com SysAdminContact = mailto: noreply@noreply.com UserSupportContact = mailto: noreply@noreply.com
  • 22.
  • 23. Basic Usage curl http://goc.pragma-grid.net/cgi-bin/scmsweb/xml_display.cgi?grid=on curl http://goc.pragma-grid.net/cgi-bin/scmsweb/glue.cgi?format=xml curl http://goc.pragma-grid.net/cgi-bin/scmsweb/glue.cgi?format=kml
  • 24.
  • 25.
  • 26. conf.py scmsweb_xml = 'http://goc.pragma-grid.net/cgi-bin/scmsweb/xml_display.cgi?grid=on' map_xml = 'http://goc.pragma-grid.net/cgi-bin/scmsweb/glue.cgi?format=xml' map_kml = 'http://goc.pragma-grid.net/cgi-bin/scmsweb/glue.cgi?format=kml' nano conf.py cat conf.py python conf.py
  • 27. fetch.py #!/usr/bin/python import conf from urllib import urlopen fi = urlopen(conf.scmsweb_xml) fo = open('scmsweb.xml', 'w') fo.write(fi.read()) fo.close() fi = urlopen(conf.map_xml) fo = open('map.xml', 'w') fo.write(fi.read()) fo.close() fi = urlopen(conf.map_kml) fo = open('map.kml', 'w') fo.write(fi.read()) fo.close() nano fetch.py python fetch.py ls -l
  • 28. parse.py #!/usr/bin/python from xml.dom import minidom fi = open('scmsweb.xml') doc = minidom.parse(fi) print doc nano parse.py python parse.py
  • 29. traverse.py #!/usr/bin/python from xml.dom import minidom fi = open('scmsweb.xml') doc = minidom.parse(fi) root = doc.documentElement for node in root.childNodes: if node.nodeType == doc.ELEMENT_NODE: print node.tagName, node.attributes.items()
  • 30. x.py #!/usr/bin/python from xml.dom import minidom from xml import xpath fi = open('scmsweb.xml') doc = minidom.parse(fi) root = doc.documentElement nodes = xpath.Evaluate('cluster', root) for node in nodes: if node.nodeType == doc.ELEMENT_NODE: print node.tagName, node.attributes.items()
  • 31. l.py #!/usr/bin/python from xml.dom import minidom from lxml import etree as ET fi = open('scmsweb.xml') root = ET.parse(fi) nodes = root.xpath('cluster') for node in nodes: print node.tag, node.attrib
  • 32. Congratulation! You are python programmer now