seattletestbed / attic Goto Github PK
View Code? Open in Web Editor NEWARCHIVAL: Full mirror of SeattleTestbed's SVN in early 2014. We use GitHub since!
License: MIT License
ARCHIVAL: Full mirror of SeattleTestbed's SVN in early 2014. We use GitHub since!
License: MIT License
If you use \r\n to indicate a new line instead of \n, repy fails on non-Windows operating systems. This should either happen consistently or not at all.
Make the count in drop down be correct when adding resources
A division by zero occurs somewhere in the repy resource stack after a few seconds. This makes repy on Wince Inoperable, and needs to be fixed.
Create an svn hook to run unit tests on each commit.
'Aww' not 'aww' throughout: ps aww | grep nmmain.py | grep -v grep
In the Used Resources tab of the GENI site, when you click get, it seems to work on getting the resources, then it updates the UI once it has gotten them. The flow should update the UI to show the user that they did indeed request resources and make it so they cannot click the get button again, then do the actual getting, then update the UI again to show what it got. Without this first UI change, the user is likely to get impatient and click the button multiple times if the request takes more than a second or so to fulfil.
When writing the allpairsping program we encountered issues with serving the webpage to Firefox. It was resolved by placing the entire webpage in a single call to send. It is important to understand if this is a bug.
Add expiration script so that vessels are returned to the unused pool.
Redirect to the correct protocol (http) for the customized_installer page when they choose https.
Jake says:
I'd like to get people in the hacklab using Seattle and perhaps we can contribute more than a single node to your project. Perhaps you can also tell me how I can limit the program, say to 250Kb/sec and say 50% cpu time with some limit on memory?
Justin's comments:
This is partially v0.2 but we should start to think about this.
Windows CE has no console/pipes so there is no stdout and stderr. This means that the run_tests.py currently will not support WinCE. There needs to be a flag for both run_tests.py and repy.py to write to a file instead of stdout/stderr so that the unit tests will run.
The post-commit hook should include as much explanation as possible about the revision that failed the post-commit unit tests.
Need a way to wipe a vessel. It should do "stop" and then clear the vessel's log and file system.
The demokit should contain the user's keys (or at least it should be possible to download one that does). It's a bit of a pain in the butt to download 3 separate things.
This task should not be started until ticket 29 is resolved
Currently we check the current directory, which doesn't work for CE. We need to switch this to use an absolute path.
Requests with invalid sequence id's are being executed. A request with sequence id 'n' should only be executed if n=1 or if request 'n-1' has been executed. Request with negative sequence id's should also not be executed.
The client should verify the sequence id is greater than 0 before sendig the request. For sequence id's greater than 0, validation should be done on the server side.
The following tests demonstrate this behavior:
nmtestchangeadvertise_invalidsequenceid.mix
nmtestchangeadvertise_invalidsequenceidnegative.mix
None
Something similar to run_tests.py but with the ability to run a selective test, or subset of tests. Now, if you only fail a few unit tests, it is necessary to re-run all of them. This is especially annoying when working with slow systems. (E.g. Windows under virtualization or mobile devices).
Lots of bug-fixes in this django release -- this is also a good point to perfect the art of upgrading django before things are not allowed to break.. ever.
In almost all cases, Repy raises "Exception" on error. Ideally, different types of exceptions would have different exceptions (to simplify the programmer's error handling. These exceptions will also need to be placed in the user's namespace so they can catch them.
Redirect to the correct protocol (http) for the customized_installer page when they choose https.
On Linux / Mac runonce doesn't work if the files in /tmp are owned by a different user. This is presumably because other users don't have write access
Sometimes it seems that error messages have the wrong function name listed by Seattle traceback. For example, an openconn(...) that fails may list "connect" as the function that was called instead of openconn(...)
The count is incorrect after the first add/remove of resource. But if adding more than a single resource it decrements/increments correctly.
From: Jacob Appelbaum [email protected]
Date: Fri, Dec 5, 2008 at 3:54 PM
Subject: improvements
To: Justin Cappos [email protected]
I'd like to be able to specifically
bind all connections to a given interface or to at least a specific ip
in this list:
seattle@m1:~/seattle_repy$ /sbin/ifconfig
eth0 Link encap:Ethernet HWaddr 00:16:3E:1B:B2:E0
inet addr:209.237.247.66 Bcast:209.237.247.255
Mask:255.255.255.0
inet6 addr: 2001:4978:157:0:216:3eff:fe1b:b2e0/64 Scope:Global
inet6 addr: fe80::216:3eff:fe1b:b2e0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:157948423 errors:0 dropped:0 overruns:0 frame:0
TX packets:127499127 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1109394676 (1.0 GiB) TX bytes:1632506546 (1.5 GiB)
eth0:1 Link encap:Ethernet HWaddr 00:16:3E:1B:B2:E0
inet addr:209.237.247.67 Bcast:209.237.247.255
Mask:255.255.255.255
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
eth0:2 Link encap:Ethernet HWaddr 00:16:3E:1B:B2:E0
inet addr:209.237.247.68 Bcast:209.237.247.255
Mask:255.255.255.255
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Currently, 209.237.247.66 is selected. I assume that this is because
it's the ip for the only up interface that isn't lo.
Get Seattle up and going on Windows Mobile. We have a user base ready to adopt this.
The error messages for most API calls is confusing when given bad input. For example, passing recvmess(getmyip(), '63122', 'hello') says that resource can't be obtained. This is despite the fact that the user may have messport 63122 assigned.
The error should really say "port with value '63122' is not an integer" or similar. This is likely a systemic problem and is related to bland exception naming.
From Jake Appelbaum:
I'd installed python 2.6.1 on noisebridge.net. I've started install.sh
as a user named 'seattle' on my system. Sadly, it appears that 2.6.1
isn't supported. So I've also installed python 2.5.2 as well.
My comments:
We will need to fix this issue since more and more linux / mac users will have python != 2.5.*.
Need to fix the installer bugs reported by Jake
Need an easy way for an external user to determine the names of files in their vessel
Make the registration page for Seattle GENI tell you it created the
account when redirecting.
The node manager should readvertise in opendht, etc. soon after a user changes the keys on vessels on the node. Waiting ~ 5 mins is not a good solution and the current work arounds (doing it on the website, etc.) are not good long term fixes.
NodeManager probably makes calls that don't exist/work on CE which need to be addressed and updated.
Maintain generated keys in a process (not database). Communicate with this process over a socket to request new keys.
I can get lots of resources by clicking add quickly. Check that there is no race condition in django in adding resources.
The file repy_constants.py needs to have the correct values for the seattle installation. This is probably best done at install time.
Crontab for pollvessels, expiration, etc.
There are lots of different file open modes. We shouldn't allow anything that isn't portable and might consider denying some other modes on principle (like universal new lines).
Need a good way to log information on the nodes and read that information. This will be used in both the software updater and node manager.
Create an svn hook to run unit tests on each commit.
Windows CE has no console/pipes so there is no stdout and stderr. This means that the run_tests.py currently will not support WinCE. There needs to be a flag for both run_tests.py and repy.py to write to a file instead of stdout/stderr so that the unit tests will run.
Carter,
Can you make uninstall.sh executable by default, like install.sh?
-rw-r--r-- 1 seattle seattle 31 2008-10-20 23:49 uninstall.sh
-rwxr-xr-x 1 seattle seattle 34 2008-10-20 23:49 install.sh
thanks,
ivan.
Try deleting the cached version of your installer from the website and
then retrieve it again so that it's recreated by the back end scripts.
See if you still have the issue.
Thanks,
Justin
Someone needs to sort this out...
WARNING: cannot verify seattle.cs.washington.edu's certificate, issued
by `/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com,
Inc./OU=http://certificates.godaddy.com/repository/CN=Go Daddy Secure
Certification Authority/serialNumber=07969287':
Unable to locally verify the issuer's authority.
Task is to get Seattle running on Windows Mobile Devices.
This has a couple of parts:
Emulab doesn't like the fact that our URL for the installer is https://seattle.cs.washington.edu/geni/download/justincappos/linux but the resulting file should be seattle_repy.tgz
One way to fix this is to allow the URL to end in seattle_repy.tgz I'm also open to other suggestions (please discuss them with me).
Change our current zip file / tarball packaging to have a modular component that does the packaging / repackaging. The reason is that we use this in many places (installers, etc.) and it would be nice to have it broken out in a logical way.
Need to change the key used by the software updater
None
We need to make sure that if seattlestopper.py has been run, seattle will not be restarted until it is manually started (with seattlestarter.py) or until the user has restarted their computer. Do this by having seattlestopper grab the locks for seattle and the softwareupdater, then sleep forever, checking every once in a while to make sure it still has the locks. seattlestarter, then, should forcibly remove the locks and start the node manager and the software updater.
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.