seattletestbed / resource Goto Github PK
View Code? Open in Web Editor NEWResource benchmarks for the SeattleTestbed installer
License: MIT License
Resource benchmarks for the SeattleTestbed installer
License: MIT License
The benchmark script called by the Seattle installer expects a vesselinfo
file (usually created by the custom installer builder for the user or the clearinghouse) so that it knows how to partition resources into vessels. The code there intends to inform the user if the file is malformed, but breaks if the file is missing at all. In the latter case, the installer log will contain the following:
New installation, beginning benchmark.
Traceback (most recent call last):
File "seattleinstaller.py", line 1755, in perform_system_benchmarking
File "/home/john/hello/trunk/custominstallerbuilder/html/static/installers/base/seattle/seattle_repy/benchmark_resources.py", line 543, in main
IOError: [Errno 2] No such file or directory: 'vesselinfo'
New installation, beginning benchmark.
Traceback (most recent call last):
File "seattleinstaller.py", line 1755, in perform_system_benchmarking
File "/home/john/hello/trunk/custominstallerbuilder/html/static/installers/base/seattle/seattle_repy/benchmark_resources.py", line 543, in main
IOError: [Errno 2] No such file or directory: 'vesselinfo'
To give a better indication of what went wrong, the except clause should catch IOError
and treat that separately from the other exceptions the code reading in the vesselinfo file can raise when the file is malformed.
It might be a good idea to add probable causes for this error (à la "Trying to install a baseinstaller"?).
Thanks to @aot221 for reporting this issue!
The bandwidth code right now is specific to client or server, and only allows a client to check upload speed. We want to have one set of code, written in repy, that would allow one to check both upload and download speed.
@vladimir-v-diaz notes that Mac_BSD_resources.py
contains lots of out-commented code.
Let's clean things up!
Mac_BSD_resources.py
uses sysctl hw.physmem
to find the size of RAM. Unfortunately, the info is off by a factor of 4 on a MacBook Pro 8,2 running Mac OS X 10.6.8 on which I'm testing this. (At least we are underestimating the size, so this only hurts the Seattle install, but not the resource donor.)
sysctl hw.memsize
gives the correct memory size, 8 GB here.
See also https://discussions.apple.com/thread/1753088?start=0&tstart=0
We should test what the different hw.
keys return on a couple of machines, and then decide on a fix.
The Mac/BSD resource measurement script expects a sysctl
key named kern.ipc.maxsockets
to find the maximum number of sockets that a Seattle install should use. On OS X 10.10, this key does not always exist, and the mechanics of when it exists or is missing are unknown currently.
The error is seen during install,
$ ./install.sh
System benchmark starting...
sysctl: unknown oid 'kern.ipc.maxsockets'
Benchmark failed for insockets resource: unable to find max number of sockets
Benchmark failed for outsockets resource: unable to find max number of sockets
The above benchmarking error(s) occurred.
If you choose to continue anyways then default values will be used for failed benchmarks.
Failed.
This install cannot succeed either because required installation info is corrupted or resources are insufficient.
Please email the Seattle project for additional support, and attach the installer_benchmark.log and vesselinfo files, found in the seattle_repy directory, in order to help us diagnose the issue.
David A. Herrera from Universidad Antonio Nariño in Colombia helped developing and testing a patch, which essentially goes and preinitializes the number to 512
(the number found on my OS 10.6.8 box).
Before sending a PR, I would appreciate any Mac users to chime in and report the value found on their machines (if it exists!) by sending the output of
uname -v
sysctl kern.ipc.maxsockets
Darwin version | OS X version (crossref) | maxsockets | by |
---|---|---|---|
Darwin Kernel Version 14.5.0: Wed Jul 29 02:26:53 PDT 2015; root:xnu-2782.40.9~1/RELEASE_X86_64 | 10.10.5 | N/A | @fmetzger, @StephenKing |
Darwin Kernel Version 14.0.0: Sat Sep 27 03:58:47 PDT 2014; root:xnu-2782.1.97~11/RELEASE_X86_64 | 10.10 | N/A | @XuefengHuang |
Darwin Kernel Version 13.4.0: Wed Mar 18 16:20:14 PDT 2015; root:xnu-2422.115.14~1/RELEASE_X86_64 | 10.9 | 512 | @lukpueh, @michaelkux |
Darwin Kernel Version 12.6.0: Wed Mar 18 16:23:48 PDT 2015; root:xnu-2050.48.19~1/RELEASE_X86_64 | 10.8.5 | 512 | @pooledge |
Darwin Kernel Version 10.8.0: Tue Jun 7 16:32:41 PDT 2011; root:xnu-1504.15.3~1/RELEASE_X86_64 | 10.6.8 | 512 | @aaaaalbert |
Thanks everyone for contributing!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.