[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.