[autotest] Add actions to take when add/remove role from server
This CL adds actions needed to make adding/removing role from server effective.
For example, when server database is enabled and a new drone is added, scheduler
needs to be restarted.
BUG=chromium:424778
CQ-DEPEND=CL:232003
TEST=unittest, setup local server database, manually test follow cases
(CL 232525 is needed for drone test)
add scheduler: Confirm scheduler service is started in the server.
remove scheduler: Confirm scheduler service is stopped in the server.
add drone: Confirm scheduler service is restarted.
remove drone: Confirm scheduler service is restarted
Change-Id: I14d6bb15d68a9b94fa3ab5b0bcc202469b253c89
Reviewed-on: https://chromium-review.googlesource.com/233181
Tested-by: Dan Shi <dshi@chromium.org>
Trybot-Ready: Dan Shi <dshi@chromium.org>
Reviewed-by: Fang Deng <fdeng@chromium.org>
Commit-Queue: Dan Shi <dshi@chromium.org>
diff --git a/frontend/server/models.py b/frontend/server/models.py
index b473b9d..876a78e 100644
--- a/frontend/server/models.py
+++ b/frontend/server/models.py
@@ -59,6 +59,14 @@
'note': self.note}
+ def get_role_names(self):
+ """Get a list of role names of the server.
+
+ @return: A list of role names of the server.
+ """
+ return [r.role for r in self.roles.all()]
+
+
class ServerRole(dbmodels.Model, model_logic.ModelExtensions):
"""Role associated with hosts."""
# Valid roles for a server.