Tony Mack | 71592a5 | 2013-03-28 20:17:47 -0400 | [diff] [blame] | 1 | #!/usr/bin/env python |
| 2 | import os |
| 3 | import sys |
Tony Mack | 745bf6e | 2013-04-17 11:06:35 -0400 | [diff] [blame] | 4 | import threading |
Tony Mack | 71592a5 | 2013-03-28 20:17:47 -0400 | [diff] [blame] | 5 | |
| 6 | from plstackapi.planetstack.config import Config |
Tony Mack | 704c1b0 | 2013-04-17 10:45:45 -0400 | [diff] [blame] | 7 | from plstackapi.openstack.sliveragent import SliverAgent |
Tony Mack | cd6bf66 | 2013-04-30 18:20:27 -0400 | [diff] [blame^] | 8 | from plstackapi.openstack.siteagent import SiteAgent |
Tony Mack | 71592a5 | 2013-03-28 20:17:47 -0400 | [diff] [blame] | 9 | |
| 10 | if __name__ == '__main__': |
| 11 | |
Tony Mack | cd6bf66 | 2013-04-30 18:20:27 -0400 | [diff] [blame^] | 12 | # bootstrap envirnment |
Tony Mack | 71592a5 | 2013-03-28 20:17:47 -0400 | [diff] [blame] | 13 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "plstackapi.planetstack.settings") |
| 14 | from django.core.management import ManagementUtility |
| 15 | config = Config() |
Tony Mack | e02d720 | 2013-03-29 11:23:56 -0400 | [diff] [blame] | 16 | url = "%s:%s" % (config.api_host, config.api_port) |
Tony Mack | 71592a5 | 2013-03-28 20:17:47 -0400 | [diff] [blame] | 17 | args = [__file__, 'runserver', url] |
Tony Mack | cd6bf66 | 2013-04-30 18:20:27 -0400 | [diff] [blame^] | 18 | |
| 19 | # run site agent once on startup |
| 20 | SiteAgent().run() |
| 21 | |
| 22 | # start the sliver agent thread |
Tony Mack | 704c1b0 | 2013-04-17 10:45:45 -0400 | [diff] [blame] | 23 | sliver_agent = SliverAgent() |
Tony Mack | 745bf6e | 2013-04-17 11:06:35 -0400 | [diff] [blame] | 24 | sliver_agent_thread = threading.Thread(target=sliver_agent.run) |
| 25 | sliver_agent_thread.start() |
Tony Mack | cd6bf66 | 2013-04-30 18:20:27 -0400 | [diff] [blame^] | 26 | |
| 27 | # start the server |
| 28 | server = ManagementUtility(args) |
Tony Mack | 745bf6e | 2013-04-17 11:06:35 -0400 | [diff] [blame] | 29 | server.execute() |