History log of /external/autotest/site_utils/rpm_control_system/frontend_server.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e315a96ed51ecb42a5774551998dc8ca232bfe67 20-Sep-2017 Prathmesh Prabhu <pprabhu@chromium.org> autotest: rpmserver_frontend should listen on external interface

CL:669946 sneaked in a change so that rpmserver won't always attempt to
listen on a fixed hostname. That change won't stick though, because the
server is now only listening on loopback device. Change it to listen on
the publicly known name of the server.

BUG=chromium:762233
TEST=Run rpm_client against a newly provisioned rpmserver remotely.

Change-Id: I55e31b7a3b488709f6d40453bda2f2d4306daad4
Reviewed-on: https://chromium-review.googlesource.com/675674
Commit-Ready: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Xixuan Wu <xixuan@chromium.org>
/external/autotest/site_utils/rpm_control_system/frontend_server.py
90b0c95e507309598a2943f30437349139eee4b7 16-Sep-2017 Prathmesh Prabhu <pprabhu@chromium.org> rpmserver: Accept logging directory as argument in scripts.

We currently hard code the absolute path of the log file generated by
these scripts in rpm_config.ini
This is not maintainable in the lab, because there is no sane way to
override rpm_config.ini on the servers.

Instead, accept the logging directory via commandline.

BUG=chromium:762233
TEST=(1) unittests
(2) Run rpmserver daemons via upstart.

Change-Id: I5485ae1a25536783b8f5a84d205f0b74bd5de4bc
Reviewed-on: https://chromium-review.googlesource.com/669946
Commit-Ready: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
/external/autotest/site_utils/rpm_control_system/frontend_server.py
f63c978c194915762185212193bcaaa0806506d3 14-Aug-2014 Fang Deng <fdeng@chromium.org> [autotest] rpm frontend server retrieves rpm/outlet/hydra from afe

This is the 2nd CL to make rpm infra read rpm/outlet/hydra info from
afe.

The major change of this cl is to add a new method
_get_powerunit_info(...)
For chromeos duts, it first looks up in its local lru cache for
rpm/outlet/hydra information for the dut. If not found in
local cache, retrieve the information from afe.

For servos, it loads the poe/outlet/hydra info from a local file.

The method returns an instance of PowerUnitInfo instance, which
will be passed to rpm_dispatcher.

CQ-DEPEND=CL:212349
BUG=chromium:392548
TEST=unittest.
Integration test with other cls in this series, set up
rpm server locally and change host states.

Change-Id: I63326f8b58083ebf807105d94c919bf5fd5f7cea
Reviewed-on: https://chromium-review.googlesource.com/212346
Reviewed-by: Simran Basi <sbasi@chromium.org>
Reviewed-by: Dan Shi <dshi@chromium.org>
Tested-by: Fang Deng <fdeng@chromium.org>
Commit-Queue: Fang Deng <fdeng@chromium.org>
/external/autotest/site_utils/rpm_control_system/frontend_server.py
b7610b5bfd05fd73d1e08d326092f8ad599bafd7 06-May-2014 Dan Shi <dshi@chromium.org> [autotest] Change "import utils" to use autotest_lib path

utils in rpm_control_system conflicts with autotest_lib.utils. To avoid any
confusion, replace "import utils" in rpm code with standard "common" way:

import common
from autotest_lib.site_utils.rpm_control_system import utils

BUG=None
TEST=unit test, load cl in destiny2 and start frontend and dispatcher.

Change-Id: I2e0bc01c1e9d763f818e1d2db1c7a5dd1d7834dd
Reviewed-on: https://chromium-review.googlesource.com/198413
Commit-Queue: Dan Shi <dshi@chromium.org>
Tested-by: Dan Shi <dshi@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>
/external/autotest/site_utils/rpm_control_system/frontend_server.py
4e3d118043065839c512a43108893d6adaac9124 26-Jun-2013 Simran Basi <sbasi@chromium.org> RPM Infrastructure: Be able to disable emails.

Currently if something is wrong with the RPM infrastructure we can
get plagued with large amounts of emails in a short period of time.

Being able to disable the emails will be useful for when problems
occur or when debugging the live infrastructure can cause emails.

Users can now disable or enable the emails from their own checkout:
./rpm_client --disable_emails=12
./rpm_client --enable_emails

Part of this change includes making rpm_client an executable script,
which also makes it easier for users to call the RPM infrastructure
to make outlet state changes.

./rpm_client --machine='chromeos1-rack5-host1' --state='OFF'

BUG=chromium:238411
TEST=local setup on my machine. Ensured that email disabling and
enabling works as expected.

Change-Id: Id138fc419a865969fcacef83631ed1d383026129
Reviewed-on: https://gerrit.chromium.org/gerrit/59991
Reviewed-by: Alex Miller <milleral@chromium.org>
Commit-Queue: Simran Basi <sbasi@chromium.org>
Tested-by: Simran Basi <sbasi@chromium.org>
/external/autotest/site_utils/rpm_control_system/frontend_server.py
5e4e46d80fa532887f4517c63d29590071468535 19-Jun-2013 Fang Deng <fdeng@chromium.org> [autotest] Fix default path for servo-switch mapping file.

This is to fix the path of the servo-switch mapping file in
utils.py, frontend_server.py and rpm_dispatcher.py.
They now use full path to open the file.

BUG=chromium:251878
TEST=run frontend_server and rpm_dispatcher locally; and run unittests
in rpm_control_system directory.

Change-Id: I19d6fb1c3c2c4e0f27336e10fc815039a6eb969b
Reviewed-on: https://gerrit.chromium.org/gerrit/59298
Reviewed-by: Simran Basi <sbasi@chromium.org>
Commit-Queue: Fang Deng <fdeng@chromium.org>
Tested-by: Fang Deng <fdeng@chromium.org>
/external/autotest/site_utils/rpm_control_system/frontend_server.py
71c4b1f8a48a8a6607e823a90c0e6db8a70e6b7a 20-May-2013 Fang Deng <fdeng@chromium.org> [autotest] Add POE support to RPM server

Add POE support to RPM server. This allows us to hard reset
beaglebones utilizing the RPM server.

The core implementation resides in POEController in rpm_controller.py
To find out to which switch a servo is connected to,
we store the mapping information(servo->switch) in a csv-formatted file.
The file name is specified in rpm_config.ini.

rpm_dispatcher is modified to route poe requests to POEController instances.
Once rpm_dispatcher is initialized, it loads the mapping file to a dictionary
and uses it to determine the switch hostname and interface for a servo.

Simple integration tests are added in rpm_controller.py
Unit tests are added in rpm_controller_unittest.py
utils_unittest.py is added to test util functions in utils.py

servo-interface-mapping.csv should be updated if configuration
in switches changes.

BUG=chromium:232614
TEST=ran rpm_controller_unittest.py, rpm_dispacher_unittest.py,
frontend_server_unittest.py, utils_unittest.py, integration tests
in rpm_controller.py, test_client.py, and ran frontend_server.py,
rpm_dispatcher, rpm_client locally.

Change-Id: I294e34ad7efc6d9cc7543e1c57694466086d1791
Reviewed-on: https://gerrit.chromium.org/gerrit/55838
Reviewed-by: Simran Basi <sbasi@chromium.org>
Commit-Queue: Fang Deng <fdeng@chromium.org>
Tested-by: Fang Deng <fdeng@chromium.org>
/external/autotest/site_utils/rpm_control_system/frontend_server.py
d122264bdbe3bd27fba52ed491ce9a08e02673d7 25-Sep-2012 Simran Basi <sbasi@google.com> Autotest: RPM Infrastructure: Standardize DUT hostnames

The RPM Infrastructure code expects no DNS zone inside the DUT hostname
however when we run tests the DUT hostname is passed with the zone and
can cause an exception, particularly on web powered RPM's.

Therefore I now strip out this information when the request is queued.

BUG=None
TEST=local setup with live RPM.

Change-Id: I1c714ed7ebc8b6389a4ce895fbc3b6dedc8bf087
Reviewed-on: https://gerrit.chromium.org/gerrit/33937
Commit-Ready: Simran Basi <sbasi@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>
Tested-by: Simran Basi <sbasi@chromium.org>
/external/autotest/site_utils/rpm_control_system/frontend_server.py
201d6bed32236821de5df805376cc78b87d38d7a 21-Sep-2012 Scott Zawalski <scottz@google.com> A few misc fixes to the rpm server.

* Add #!/usr/bin/python and +x to scripts that should be executable
* Modify rpm_config.ini to set frontend_addr to 0.0.0.0
* Update dns_zone to be cros.corp.google.com
* Automatically create the logging dir if it doesn't exist
* Print usage if any arguments are specified on the cmdline.

TEST=unittests and local runs
BUG=chromium-os:34662,chromium-os:32525,chromium-os:32698
STATUS=Fixed

Change-Id: I88fa52c5e76e6dd589c6d91deb4af373c9262dc1
Reviewed-on: https://gerrit.chromium.org/gerrit/33792
Commit-Ready: Scott Zawalski <scottz@chromium.org>
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Tested-by: Scott Zawalski <scottz@chromium.org>
/external/autotest/site_utils/rpm_control_system/frontend_server.py
7498d20028f81b2c3c6f9ce0535b84ce220d2ae2 11-Jul-2012 Simran Basi <sbasi@google.com> Autotest: Design and implement RPM Server Infrastructure.

Created the RPM Frontend and Dispatch Servers. The Frontend is
responsible for accepting RPM requests from clients and fielding them
out to dispatchers. The dispatchers are responsible for managing
RPMController instances which will communicate with the RPM devices.

MultiThreadedXMLRPCServer is a simple class that allows us to have
multithreaded xmlrpcserver instances and accept multiple requests.

BUG=chromium-os:30955
TEST=Simple Integration Test in 'test_client.py'. Along with simple
unittests for frontend_server.

Change-Id: I337a019b4496b0fa4e01dbb1625c19b1b45693fd
Reviewed-on: https://gerrit.chromium.org/gerrit/27084
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Commit-Ready: Simran Basi <sbasi@google.com>
Tested-by: Simran Basi <sbasi@google.com>
/external/autotest/site_utils/rpm_control_system/frontend_server.py