Thread: curl-loader needs a big WARNING message
Status: Alpha
Brought to you by:
coroberti
From: Edward L. <ed...@je...> - 2008-11-26 18:47:19
|
I recently tried to use curl-loader to test a production server. I didn't realize (until looking at the source) that curl-loader made kernel calls to modify the network configuration of the server it runs on (i.e. adding static IP addresses to server and changing the routing table). I assumed that the INTERFACE, IP_ADDR_MIN and IP_ADDR_MAX worked with definitions that already existed, vs actually making them. Creating these definitions is potentially VERY DANGEROUS, especially if the program is run on a production system. Most folks will want to run tools like cur-loader on systems that are on the same segment as the server they're testing. For me, this meant running it on another production server since we work with a hosting provider. The resulting curl-loader changes to the IP configuration of the machine it ran on caused 1 week of general mayhem. Suggestions: 1) Add a BIG warning about IP network configuration by curl-loader 2) Create a -changeNetworkIfNeeded option. Without this option, curl-loader will attempt to satisfy INTERFACE, IP_ADDR_MIN and IP_ADDR_MAX without reconfiguring the network of the host it runs on. If the host can't satisfy what's requested, curl-loader errors out, telling the user to use the changeNetworkIfNeeded option to make the test work. |
From: Robert I. <cor...@gm...> - 2008-11-26 18:53:11
|
Hi Edward, On Wed, Nov 26, 2008 at 8:24 PM, Edward Lott <ed...@je...> wrote: > I recently tried to use curl-loader to test a production server. I > didn't realize (until looking at the source) that curl-loader made kernel > calls to modify the network configuration of the server it runs on (i.e. > adding static IP addresses to server and changing the routing table). > It is a testing tool, isn't it? The place for testing tools are at testing machines in the lab. > > > I assumed that the INTERFACE, IP_ADDR_MIN and IP_ADDR_MAX worked with > definitions that already existed, vs actually making them. Creating these > definitions is potentially VERY DANGEROUS, especially if the program is run > on a production system. Most folks will want to run tools like cur-loader > on systems that are on the same segment as the server they're testing. For > me, this meant running it on another production server since we work with a > hosting provider. The resulting curl-loader changes to the IP configuration > of the machine it ran on caused 1 week of general mayhem. > > > > Suggestions: > > > > 1) Add a BIG warning about IP network configuration by curl-loader > I am in disagreement with you. > 2) Create a –changeNetworkIfNeeded option. Without this option, > curl-loader will attempt to satisfy INTERFACE, IP_ADDR_MIN and IP_ADDR_MAX > without reconfiguring the network of the host it runs on. If the host can't > satisfy what's requested, curl-loader errors out, telling the user to use > the changeNetworkIfNeeded option to make the test work. > There are options for doing that, please read the FAQs. Truly, Robert Iakobashvili, Ph.D. ...................................................................... www.ghotit.com Assistive technology that understands you ...................................................................... |
From: Robert I. <cor...@gm...> - 2008-11-26 21:54:11
|
Hi, On Wed, Nov 26, 2008 at 8:24 PM, Edward Lott <ed...@je...> wrote: > > I recently tried to use curl-loader to test a production server. I didn't realize (until looking at the source) that curl-loader made kernel calls to modify the network configuration of the server it runs on (i.e. adding static IP addresses to server and changing the routing table). The extract from the README file in curl-loader-<version> directory: ================================================================ IP-addresses from IP_ADDR_MIN up to IP_ADDR_MAX are the interval to be used for loading clients. The interval of the addresses should be large enough to supply a dedicated IP for each client. Another mode that can be used is "single IP address" for all clients. When IP_ADDR_MIN and IP_ADDR_MAX have the same valid IP-address, it will be used for all clients. If the IP-addresses specified by the tags do not exist, curl-loader adds them as the secondary IPs to the loading network interface. Remember, that you should ensure smooth routing from the addresses used to server and from server back to the client addresses. Another route to ensure, when is appropriate, is to/from DNS server for resolving. Firewalling (netfilter/iptables) settings are also among those to check. ============================================================= Still, you might wish to improve the documentation, and send your patches for README file, FAQs. man-pages, web-site, etc as the unified diff to the list. Note, that we do not have any doc writers, therefore, such assistance would be very much appreciated. -- Truly, Robert Iakobashvili, Ph.D. ...................................................................... www.ghotit.com Assistive technology that understands you ...................................................................... |