SeattleTestbed / nodemanager

Remote control server for SeattleTestbed nodes
MIT License
0 stars 10 forks source link

ut_nm_validate_connection_limit.r2py and ut_nm_validate_connection_timeout.r2py use localport not allowed #107

Closed yyzhuang closed 7 years ago

yyzhuang commented 9 years ago

When running test ut_nm_validate_connection_limit.r2py and ut_nm_validate_connection_timeout.r2py, both got the same error:

"ut_nm_validate_connection_limit.r2py", line 45, in "coordinationaffix.r2py", line 190, in openconnection "namingandresolveraffix.r2py", line 160, in openconnection "/home/yanyan/nodemanager/RUNNABLE/namespace.py", line 1207, in wrapped_function "/home/yanyan/nodemanager/RUNNABLE/emulcomm.py", line 1287, in openconnection

User traceback: "dylink.r2py", line 546, in "dylink.r2py", line 407, in dylink_dispatch "dylink.r2py", line 520, in evaluate "ut_nm_validate_connection_limit.r2py", line 45, in "coordinationaffix.r2py", line 190, in openconnection "namingandresolveraffix.r2py", line 160, in openconnection

Exception (with class 'exception_hierarchy.ResourceForbiddenError'): Provided localport is not allowed! Port: 12345

The ports are replaced by testportfiller.py (see #104 and #105), so they are hard-coded: socketobj = openconnection(ip,1224,ip,12345,timeout)

junk1 = openconnection(ip,1224, ip, 12345, timeout) junk2 = openconnection(ip,1224, ip, 12346, timeout) junk3 = openconnection(ip,1224, ip, 12347, timeout) junk4 = openconnection(ip,1224, ip, 12348, timeout) junk5 = openconnection(ip,1224, ip, 12349, timeout)

testportfiller.py is called by build_component.py to replace ports: https://github.com/SeattleTestbed/common/blob/master/build_component.py#L358 Therefore, build_component.py should select ports that are locally available, similar to sockettimeout.r2py: https://github.com/SeattleTestbed/seattlelib_v2/blob/master/sockettimeout.r2py#L284-L293 Instead of hard coding default ports.

JustinCappos commented 9 years ago

This is odd. It seems that the restrictions file that is used (restrictions.test) has those ports available. Do you see that in the RUNNABLE directory on your system?

What happens if you run it by hand?

On Sun, Jan 11, 2015 at 4:26 PM, Yanyan Zhuang notifications@github.com wrote:

When running test ut_nm_validate_connection_limit.r2py and ut_nm_validate_connection_timeout.r2py, both got the same error:

"ut_nm_validate_connection_limit.r2py", line 45, in "coordinationaffix.r2py", line 190, in openconnection "namingandresolveraffix.r2py", line 160, in openconnection "/home/yanyan/nodemanager/RUNNABLE/namespace.py", line 1207, in wrapped_function "/home/yanyan/nodemanager/RUNNABLE/emulcomm.py", line 1287, in openconnection

User traceback: "dylink.r2py", line 546, in "dylink.r2py", line 407, in dylink_dispatch "dylink.r2py", line 520, in evaluate "ut_nm_validate_connection_limit.r2py", line 45, in "coordinationaffix.r2py", line 190, in openconnection "namingandresolveraffix.r2py", line 160, in openconnection

Exception (with class 'exception_hierarchy.ResourceForbiddenError'): Provided localport is not allowed! Port: 12345

The ports are replaced by testportfiller.py (see #104 https://github.com/SeattleTestbed/nodemanager/issues/104 and #105 https://github.com/SeattleTestbed/nodemanager/issues/105), so they are hard-coded: socketobj = openconnection(ip,1224,ip,12345,timeout)

junk1 = openconnection(ip,1224, ip, 12345, timeout) junk2 = openconnection(ip,1224, ip, 12346, timeout) junk3 = openconnection(ip,1224, ip, 12347, timeout) junk4 = openconnection(ip,1224, ip, 12348, timeout) junk5 = openconnection(ip,1224, ip, 12349, timeout)

testportfiller.py is called by build_component.py to replace ports: https://github.com/SeattleTestbed/common/blob/master/build_component.py#L358 Therefore, build_component.py should select ports that are locally available, similar sockettimeout.r2py: https://github.com/SeattleTestbed/seattlelib_v2/blob/master/sockettimeout.r2py#L284-L293 Instead of hard coding default ports.

— Reply to this email directly or view it on GitHub https://github.com/SeattleTestbed/nodemanager/issues/107.

yyzhuang commented 9 years ago

The ports are not in my restrictions file.

$ pwd /home/yanyan/nodemanager/RUNNABLE

$ cat restrictions.test resource cpu 1 resource memory 150000000 resource diskused 1000000000 resource events 1000 resource filewrite 10000000 resource fileread 10000000 resource filesopened 250 resource insockets 500 resource outsockets 500 resource netsend 300000000 resource netrecv 300000000 resource loopsend 10000000 resource looprecv 10000000 resource lograte 300000 resource random 100000 resource messport 34612 resource connport 34612 resource messport 63100 resource connport 63100 resource messport 63101 resource connport 63101 resource messport 63102 resource connport 63102 resource messport 63103 resource connport 63103 resource messport 63104 resource connport 63104 resource messport 63105 resource connport 63105 resource messport 63106 resource connport 63106 resource messport 63107 resource connport 63107 resource messport 63108 resource connport 63108 resource messport 63109 resource connport 63109 resource messport 63110 resource connport 63110 resource messport 63111 resource connport 63111 resource messport 63112 resource connport 63112 resource messport 63113 resource connport 63113 resource messport 63114 resource connport 63114 resource messport 63115 resource connport 63115 resource messport 63116 resource connport 63116 resource messport 63117 resource connport 63117 resource messport 63118 resource connport 63118 resource messport 63119 resource connport 63119 resource messport 63120 resource connport 63120 resource messport 63121 resource connport 63121 resource messport 63122 resource connport 63122 resource messport 63123 resource connport 63123 resource messport 63124 resource connport 63124 resource messport 63125 resource connport 63125 resource messport 63126 resource connport 63126 resource messport 63127 resource connport 63127 resource messport 63128 resource connport 63128 resource messport 63129 resource connport 63129 resource messport 63130 resource connport 63130 resource messport 63131 resource connport 63131 resource messport 63132 resource connport 63132 resource messport 63133 resource connport 63133 resource messport 63134 resource connport 63134 resource messport 63135 resource connport 63135 resource messport 63136 resource connport 63136 resource messport 63137 resource connport 63137 resource messport 63138 resource connport 63138 resource messport 63139 resource connport 63139 resource messport 63140 resource connport 63140 resource messport 63141 resource connport 63141 resource messport 63142 resource connport 63142 resource messport 63143 resource connport 63143 resource messport 63144 resource connport 63144 resource messport 63145 resource connport 63145 resource messport 63146 resource connport 63146 resource messport 63147 resource connport 63147 resource messport 63148 resource connport 63148 resource messport 63149 resource connport 63149 resource messport 63150 resource connport 63150 resource messport 63151 resource connport 63151 resource messport 63152 resource connport 63152 resource messport 63153 resource connport 63153 resource messport 63154 resource connport 63154 resource messport 63155 resource connport 63155 resource messport 63156 resource connport 63156 resource messport 63157 resource connport 63157 resource messport 63158 resource connport 63158 resource messport 63159 resource connport 63159 resource messport 63160 resource connport 63160 resource messport 63161 resource connport 63161 resource messport 63162 resource connport 63162 resource messport 63163 resource connport 63163 resource messport 63164 resource connport 63164 resource messport 63165 resource connport 63165 resource messport 63166 resource connport 63166 resource messport 63167 resource connport 63167 resource messport 63168 resource connport 63168 resource messport 63169 resource connport 63169 resource messport 63170 resource connport 63170 resource messport 63171 resource connport 63171 resource messport 63172 resource connport 63172 resource messport 63173 resource connport 63173 resource messport 63174 resource connport 63174 resource messport 63175 resource connport 63175 resource messport 63176 resource connport 63176 resource messport 63177 resource connport 63177 resource messport 63178 resource connport 63178 resource messport 63179 resource connport 63179 resource messport 63180 resource connport 63180 resource messport 63181 resource connport 63181 resource messport 63182 resource connport 63182 resource messport 63183 resource connport 63183 resource messport 63184 resource connport 63184 resource messport 63185 resource connport 63185 resource messport 63186 resource connport 63186 resource messport 63187 resource connport 63187 resource messport 63188 resource connport 63188 resource messport 63189 resource connport 63189 resource messport 63190 resource connport 63190 resource messport 63191 resource connport 63191 resource messport 63192 resource connport 63192 resource messport 63193 resource connport 63193 resource messport 63194 resource connport 63194 resource messport 63195 resource connport 63195 resource messport 63196 resource connport 63196 resource messport 63197 resource connport 63197 resource messport 63198 resource connport 63198 resource messport 63199 resource connport 63199

JustinCappos commented 9 years ago

Do you have two such files in your checked out code? The one in the common repo has the 12345 port number allowed.

On Sun, Jan 11, 2015 at 4:46 PM, Yanyan Zhuang notifications@github.com wrote:

The ports are not in my restrictions file.

$ pwd /home/yanyan/nodemanager/RUNNABLE

$ cat restrictions.test resource cpu 1 resource memory 150000000 resource diskused 1000000000 resource events 1000 resource filewrite 10000000 resource fileread 10000000 resource filesopened 250 resource insockets 500 resource outsockets 500 resource netsend 300000000 resource netrecv 300000000 resource loopsend 10000000 resource looprecv 10000000 resource lograte 300000 resource random 100000 resource messport 34612 resource connport 34612 resource messport 63100 resource connport 63100 resource messport 63101 resource connport 63101 resource messport 63102 resource connport 63102 resource messport 63103 resource connport 63103 resource messport 63104 resource connport 63104 resource messport 63105 resource connport 63105 resource messport 63106 resource connport 63106 resource messport 63107 resource connport 63107 resource messport 63108 resource connport 63108 resource messport 63109 resource connport 63109 resource messport 63110 resource connport 63110 resource messport 63111 resource connport 63111 resource messport 63112 resource connport 63112 resource messport 63113 resource connport 63113 resource messport 63114 resource connport 63114 resource messport 63115 resource connport 63115 resource messport 63116 resource connport 63116 resource messport 63117 resource connport 63117 resource messport 63118 resource connport 63118 resource messport 63119 resource connport 63119 resource messport 63120 resource connport 63120 resource messport 63121 resource connport 63121 resource messport 63122 resource connport 63122 resource messport 63123 resource connport 63123 resource messport 63124 resource connport 63124 resource messport 63125 resource connport 63125 resource messport 63126 resource connport 63126 resource messport 63127 resource connport 63127 resource messport 63128 resource connport 63128 resource messport 63129 resource connport 63129 resource messport 63130 resource connport 63130 resource messport 63131 resource connport 63131 resource messport 63132 resource connport 63132 resource messport 63133 resource connport 63133 resource messport 63134 resource connport 63134 resource messport 63135 resource connport 63135 resource messport 63136 resource connport 63136 resource messport 63137 resource connport 63137 resource messport 63138 resource connport 63138 resource messport 63139 resource connport 63139 resource messport 63140 resource connport 63140 resource messport 63141 resource connport 63141 resource messport 63142 resource connport 63142 resource messport 63143 resource connport 63143 resource messport 63144 resource connport 63144 resource messport 63145 resource connport 63145 resource messport 63146 resource connport 63146 resource messport 63147 resource connport 63147 resource messport 63148 resource connport 63148 resource messport 63149 resource connport 63149 resource messport 63150 resource connport 63150 resource messport 63151 resource connport 63151 resource messport 63152 resource connport 63152 resource messport 63153 resource connport 63153 resource messport 63154 resource connport 63154 resource messport 63155 resource connport 63155 resource messport 63156 resource connport 63156 resource messport 63157 resource connport 63157 resource messport 63158 resource connport 63158 resource messport 63159 resource connport 63159 resource messport 63160 resource connport 63160 resource messport 63161 resource connport 63161 resource messport 63162 resource connport 63162 resource messport 63163 resource connport 63163 resource messport 63164 resource connport 63164 resource messport 63165 resource connport 63165 resource messport 63166 resource connport 63166 resource messport 63167 resource connport 63167 resource messport 63168 resource connport 63168 resource messport 63169 resource connport 63169 resource messport 63170 resource connport 63170 resource messport 63171 resource connport 63171 resource messport 63172 resource connport 63172 resource messport 63173 resource connport 63173 resource messport 63174 resource connport 63174 resource messport 63175 resource connport 63175 resource messport 63176 resource connport 63176 resource messport 63177 resource connport 63177 resource messport 63178 resource connport 63178 resource messport 63179 resource connport 63179 resource messport 63180 resource connport 63180 resource messport 63181 resource connport 63181 resource messport 63182 resource connport 63182 resource messport 63183 resource connport 63183 resource messport 63184 resource connport 63184 resource messport 63185 resource connport 63185 resource messport 63186 resource connport 63186 resource messport 63187 resource connport 63187 resource messport 63188 resource connport 63188 resource messport 63189 resource connport 63189 resource messport 63190 resource connport 63190 resource messport 63191 resource connport 63191 resource messport 63192 resource connport 63192 resource messport 63193 resource connport 63193 resource messport 63194 resource connport 63194 resource messport 63195 resource connport 63195 resource messport 63196 resource connport 63196 resource messport 63197 resource connport 63197 resource messport 63198 resource connport 63198 resource messport 63199 resource connport 63199

— Reply to this email directly or view it on GitHub https://github.com/SeattleTestbed/nodemanager/issues/107#issuecomment-69513112 .

yyzhuang commented 9 years ago

Ah yes.

$ pwd /home/yanyan/nodemanager/DEPENDENCIES/common $ cat restrictions.test resource cpu .50 resource memory 20000000 # 20 Million bytes resource diskused 100000000 # 100 MB resource events 10 resource filewrite 10000000 resource fileread 10000000 resource filesopened 20 resource insockets 10 resource outsockets 10 resource netsend 10000 resource netrecv 10000 resource loopsend 1000000 resource looprecv 1000000 resource lograte 3000000 resource random 100000 resource messport 34612 # use for getting an NTP update resource connport 12345 # Use for first source port for openconnection. resource connport 12346 # Use for second source port for openconnection.

There are two ports, 12345 and 12346. But build_component.py has 5 ports hard coded: https://github.com/SeattleTestbed/common/blob/master/build_component.py#L358

yyzhuang commented 9 years ago

So the fix should be: first remove restrictions.test in /nodemanager/tests, and update restrictions.test in DEPENDENCIES/common with 5 ports.

aaaaalbert commented 7 years ago

This is long fixed, see ee31982eafd1f31bb1c6e8e24903a9a853b0abfc. Sorry for not closing the issue earlier.