Pyros applications
Version 22 (Paul Carensac, 05/19/2016 03:28 pm)
1 | 1 | Paul Carensac | h1. Pyros applications |
---|---|---|---|
2 | 1 | Paul Carensac | |
3 | 2 | Paul Carensac | List and details of all the pyros applications. |
4 | 2 | Paul Carensac | |
5 | 17 | Paul Carensac | {{>toc}} |
6 | 17 | Paul Carensac | |
7 | 2 | Paul Carensac | --- |
8 | 2 | Paul Carensac | |
9 | 2 | Paul Carensac | h2. %{margin-left:0px; font-weight:bold; font-size:25px; display:block; color:red;}pyrosapp% |
10 | 2 | Paul Carensac | |
11 | 3 | Paul Carensac | h3. Purpose |
12 | 2 | Paul Carensac | |
13 | 2 | Paul Carensac | * Contains all the database Models |
14 | 2 | Paul Carensac | * Basic tests in tests.py |
15 | 2 | Paul Carensac | * Backoffice configuration in admin.py |
16 | 2 | Paul Carensac | |
17 | 3 | Paul Carensac | h3. Notes |
18 | 2 | Paul Carensac | |
19 | 2 | Paul Carensac | * Will be progressively deleted while models being displaced |
20 | 2 | Paul Carensac | |
21 | 2 | Paul Carensac | --- |
22 | 2 | Paul Carensac | |
23 | 2 | Paul Carensac | h2. %{margin-left:0px; font-weight:bold; font-size:25px; display:block; color:red;}dashboard% |
24 | 2 | Paul Carensac | |
25 | 3 | Paul Carensac | h3. Purpose |
26 | 2 | Paul Carensac | |
27 | 2 | Paul Carensac | * Interface for all external users |
28 | 2 | Paul Carensac | * Leads to displays and actions for all the pyros modules (users, requests, system execution, ...) |
29 | 2 | Paul Carensac | |
30 | 4 | Paul Carensac | h3. Evolution |
31 | 4 | Paul Carensac | |
32 | 4 | Paul Carensac | * Creating application |
33 | 4 | Paul Carensac | |
34 | 4 | Paul Carensac | * manage.py startapp dashboard |
35 | 5 | Paul Carensac | * added 'dashboard' in settings.py -> INSTALLED_APPS |
36 | 5 | Paul Carensac | * created a urls.py file in dashboard module |
37 | 5 | Paul Carensac | * added _url(r'^dashboard/', include('dashboard.urls'))_ in pyros/urls.py -> urlpatterns |
38 | 5 | Paul Carensac | * created templates/ and templates/dashboard/ folders in dashboard module |
39 | 5 | Paul Carensac | |
40 | 5 | Paul Carensac | * Main page |
41 | 5 | Paul Carensac | |
42 | 5 | Paul Carensac | * added 'home' view in views.py |
43 | 5 | Paul Carensac | * linked 'home' view to 8000/dashboard URL |
44 | 5 | Paul Carensac | * created a template for the homepage in templates/dashboard/ (with bootstrap) |
45 | 5 | Paul Carensac | * created views, views linking (urls.py) and templates for the dashboard modules |
46 | 5 | Paul Carensac | * redirected mainpage buttons to Admin interface (temporary) |
47 | 4 | Paul Carensac | |
48 | 22 | Paul Carensac | * System page (logs) |
49 | 22 | Paul Carensac | |
50 | 22 | Paul Carensac | * Retrieve logs from the db |
51 | 22 | Paul Carensac | * Print logs and automatically update via an ajax request |
52 | 22 | Paul Carensac | |
53 | 3 | Paul Carensac | h3. Notes |
54 | 2 | Paul Carensac | |
55 | 2 | Paul Carensac | * The buttons lead to the Admin interface for the moment |
56 | 7 | Paul Carensac | * Added bootstrap3 module (see Installation) |
57 | 7 | Paul Carensac | * Added Django Template Editor (see Eclipse configuration) |
58 | 2 | Paul Carensac | |
59 | 3 | Paul Carensac | h3. TODO |
60 | 2 | Paul Carensac | |
61 | 2 | Paul Carensac | * Create the backoffice views as the modules are integrated in pyros |
62 | 2 | Paul Carensac | * Think about a system of permissions |
63 | 2 | Paul Carensac | |
64 | 2 | Paul Carensac | --- |
65 | 8 | Paul Carensac | |
66 | 8 | Paul Carensac | h2. %{margin-left:0px; font-weight:bold; font-size:25px; display:block; color:red;}scheduler% |
67 | 8 | Paul Carensac | |
68 | 8 | Paul Carensac | h3. Purpose |
69 | 8 | Paul Carensac | |
70 | 8 | Paul Carensac | * Creates the planning with the OBSERVABLE sequences |
71 | 8 | Paul Carensac | * Give acces to a web page to see the current planning |
72 | 8 | Paul Carensac | |
73 | 8 | Paul Carensac | h3. Evolution |
74 | 8 | Paul Carensac | |
75 | 8 | Paul Carensac | * Creating application |
76 | 8 | Paul Carensac | |
77 | 8 | Paul Carensac | * manage.py startapp scheduler |
78 | 8 | Paul Carensac | * added 'scheduler' in settings.py -> INSTALLED_APPS |
79 | 8 | Paul Carensac | * created a urls.py file in scheduler module |
80 | 8 | Paul Carensac | * added _url(r'^scheduler/', include('scheduler.urls'))_ in pyros/urls.py -> urlpatterns |
81 | 8 | Paul Carensac | * created templates/ and templates/scheduler/ folders in scheduler module |
82 | 8 | Paul Carensac | |
83 | 9 | Paul Carensac | * Model modifications |
84 | 1 | Paul Carensac | |
85 | 9 | Paul Carensac | * Schedule |
86 | 9 | Paul Carensac | |
87 | 9 | Paul Carensac | * Remove day_start |
88 | 9 | Paul Carensac | * Remove day_stop |
89 | 9 | Paul Carensac | * Add plan_start |
90 | 13 | Paul Carensac | * Add plan_end |
91 | 9 | Paul Carensac | * Enum system for the status |
92 | 9 | Paul Carensac | * ScheduleHistory |
93 | 9 | Paul Carensac | |
94 | 9 | Paul Carensac | * Remove day_start |
95 | 9 | Paul Carensac | * Remove day_stop |
96 | 9 | Paul Carensac | * Add plan_start |
97 | 13 | Paul Carensac | * Add plan_end |
98 | 9 | Paul Carensac | * Sequence |
99 | 9 | Paul Carensac | |
100 | 9 | Paul Carensac | * Remove exec_start |
101 | 9 | Paul Carensac | * Remove exec_stop |
102 | 9 | Paul Carensac | * Add tsp |
103 | 9 | Paul Carensac | * Add tep |
104 | 9 | Paul Carensac | * Add jd1 |
105 | 9 | Paul Carensac | * Add jd2 |
106 | 9 | Paul Carensac | * Add deltaTL |
107 | 9 | Paul Carensac | * Add deltaTR |
108 | 9 | Paul Carensac | * Add t_prefered |
109 | 9 | Paul Carensac | * Changed duration from Float to DecimalField (more precise) |
110 | 15 | Paul Carensac | * Add overhead |
111 | 15 | Paul Carensac | |
112 | 10 | Paul Carensac | * manage.py makemigrations sheduler ; manage.py migrate |
113 | 10 | Paul Carensac | |
114 | 10 | Paul Carensac | * Creation of Scheduler and Interval classes in models.py |
115 | 10 | Paul Carensac | |
116 | 10 | Paul Carensac | * Implementation of the Interval class |
117 | 10 | Paul Carensac | |
118 | 12 | Paul Carensac | * Implementation of the Scheduler's 'make_schedule' function (and children). This is the only entry point for now. This function creates the planning (organizes the observable sequences). |
119 | 9 | Paul Carensac | |
120 | 14 | Paul Carensac | * Creation of the web interface |
121 | 14 | Paul Carensac | |
122 | 14 | Paul Carensac | * Added current_schedule.html in template/scheduler folder |
123 | 14 | Paul Carensac | * Created view and url linking to this template (with current planning retrieving) |
124 | 14 | Paul Carensac | |
125 | 14 | Paul Carensac | * Creation of the simulator |
126 | 14 | Paul Carensac | |
127 | 14 | Paul Carensac | * Created a second entry point in the Scheduler class (with a few minor adaptations to handle SIMULATION mode) |
128 | 14 | Paul Carensac | * Created a simulator module in the scheduler |
129 | 14 | Paul Carensac | |
130 | 14 | Paul Carensac | * Added the MyHTMLParser class (easy implementation of HTMLParser) |
131 | 14 | Paul Carensac | * Adder Simulator class. It parses a file given in parametr to retrieve sequences and create a schedule |
132 | 14 | Paul Carensac | * Created a second view linked to schedule/simulation to show simulation results |
133 | 14 | Paul Carensac | |
134 | 8 | Paul Carensac | h3. Notes |
135 | 8 | Paul Carensac | |
136 | 1 | Paul Carensac | * Priorities and quotas are default-calculated (for the moment) |
137 | 1 | Paul Carensac | * What is the 'flag' attribute in the Schedule model ? |
138 | 9 | Paul Carensac | |
139 | 1 | Paul Carensac | h3. TODO |
140 | 9 | Paul Carensac | |
141 | 13 | Paul Carensac | * Determine plan_start & plan_end |
142 | 9 | Paul Carensac | * Priority and quota computing |
143 | 9 | Paul Carensac | * Re-scheduling |
144 | 9 | Paul Carensac | * Blank space filling |
145 | 9 | Paul Carensac | * History ? |
146 | 18 | Paul Carensac | |
147 | 18 | Paul Carensac | --- |
148 | 18 | Paul Carensac | |
149 | 18 | Paul Carensac | h2. %{margin-left:0px; font-weight:bold; font-size:25px; display:block; color:red;}alert_manager% |
150 | 18 | Paul Carensac | |
151 | 18 | Paul Carensac | h3. Purpose |
152 | 18 | Paul Carensac | |
153 | 18 | Paul Carensac | * Listen to VOEvent network |
154 | 18 | Paul Carensac | * Sort interesting events |
155 | 18 | Paul Carensac | * Create requests according to these events |
156 | 18 | Paul Carensac | * Manage the requests created via the alerts |
157 | 18 | Paul Carensac | |
158 | 18 | Paul Carensac | h3. Evolution |
159 | 18 | Paul Carensac | |
160 | 18 | Paul Carensac | * Creating application |
161 | 18 | Paul Carensac | |
162 | 18 | Paul Carensac | * See scheduler documentation above |
163 | 18 | Paul Carensac | |
164 | 18 | Paul Carensac | * Implementation of the agent system |
165 | 18 | Paul Carensac | |
166 | 18 | Paul Carensac | * Created agent.py whith a "class AlertManagerAgent(Agent):" inside |
167 | 18 | Paul Carensac | * Overriding agent's 'work' and 'shutdown' method |
168 | 18 | Paul Carensac | * Added message(s) to agent.actions_by_message dictionnary, with the functions associated to these messages |
169 | 18 | Paul Carensac | * Added the Agent's launch system in apps.py |
170 | 18 | Paul Carensac | |
171 | 18 | Paul Carensac | * Implementation of the VOEventListener Thread |
172 | 18 | Paul Carensac | |
173 | 18 | Paul Carensac | * Created a "class VOEventListener(Thread):" in agent.py |
174 | 18 | Paul Carensac | * Overriding the run method |
175 | 18 | Paul Carensac | |
176 | 18 | Paul Carensac | h3. Notes |
177 | 18 | Paul Carensac | |
178 | 18 | Paul Carensac | * No functionnality is implemented |
179 | 18 | Paul Carensac | |
180 | 18 | Paul Carensac | h3. TODO |
181 | 18 | Paul Carensac | |
182 | 18 | Paul Carensac | |
183 | 18 | Paul Carensac | --- |
184 | 18 | Paul Carensac | |
185 | 20 | Paul Carensac | h2. %{margin-left:0px; font-weight:bold; font-size:25px; display:block; color:red;}analyzer% |
186 | 18 | Paul Carensac | |
187 | 18 | Paul Carensac | h3. Purpose |
188 | 18 | Paul Carensac | |
189 | 18 | Paul Carensac | * Analyze the images taken by the observation manager |
190 | 18 | Paul Carensac | |
191 | 18 | Paul Carensac | h3. Evolution |
192 | 18 | Paul Carensac | |
193 | 18 | Paul Carensac | * Creating application |
194 | 18 | Paul Carensac | |
195 | 18 | Paul Carensac | * See scheduler documentation above |
196 | 18 | Paul Carensac | |
197 | 18 | Paul Carensac | * Implementation of the agent system |
198 | 18 | Paul Carensac | |
199 | 18 | Paul Carensac | * See alert_manager above |
200 | 18 | Paul Carensac | * 'shutdown' method is not implemented here because the Agent's default one is enough |
201 | 18 | Paul Carensac | |
202 | 18 | Paul Carensac | h3. Notes |
203 | 18 | Paul Carensac | |
204 | 18 | Paul Carensac | h3. TODO |
205 | 18 | Paul Carensac | |
206 | 18 | Paul Carensac | --- |
207 | 18 | Paul Carensac | |
208 | 19 | Paul Carensac | h2. %{margin-left:0px; font-weight:bold; font-size:25px; display:block; color:red;}majordome% |
209 | 18 | Paul Carensac | |
210 | 18 | Paul Carensac | h3. Purpose |
211 | 18 | Paul Carensac | |
212 | 18 | Paul Carensac | h3. Evolution |
213 | 18 | Paul Carensac | |
214 | 18 | Paul Carensac | * Creating application |
215 | 18 | Paul Carensac | |
216 | 18 | Paul Carensac | * See scheduler documentation above |
217 | 18 | Paul Carensac | |
218 | 21 | Paul Carensac | * Implementation of the agent system |
219 | 1 | Paul Carensac | |
220 | 21 | Paul Carensac | * See alert_manager above |
221 | 21 | Paul Carensac | |
222 | 21 | Paul Carensac | * Implementation of the MajordomeExecutor Thread |
223 | 21 | Paul Carensac | |
224 | 21 | Paul Carensac | * Created a "class MajordomeExecutor(Thread):" in agent.py |
225 | 21 | Paul Carensac | * Overriding the run method |
226 | 21 | Paul Carensac | |
227 | 21 | Paul Carensac | |
228 | 18 | Paul Carensac | h3. Notes |
229 | 18 | Paul Carensac | |
230 | 18 | Paul Carensac | h3. TODO |
231 | 18 | Paul Carensac | |
232 | 18 | Paul Carensac | --- |
233 | 18 | Paul Carensac | |
234 | 19 | Paul Carensac | h2. %{margin-left:0px; font-weight:bold; font-size:25px; display:block; color:red;}monitoring% |
235 | 18 | Paul Carensac | |
236 | 18 | Paul Carensac | h3. Purpose |
237 | 18 | Paul Carensac | |
238 | 18 | Paul Carensac | h3. Evolution |
239 | 18 | Paul Carensac | |
240 | 18 | Paul Carensac | * Creating application |
241 | 1 | Paul Carensac | |
242 | 18 | Paul Carensac | * See scheduler documentation above |
243 | 1 | Paul Carensac | |
244 | 21 | Paul Carensac | * Implementation of the agent system |
245 | 1 | Paul Carensac | |
246 | 21 | Paul Carensac | * See alert_manager above |
247 | 21 | Paul Carensac | * 'shutdown' method is not implemented here because the Agent's default one is enough |
248 | 21 | Paul Carensac | |
249 | 18 | Paul Carensac | |
250 | 18 | Paul Carensac | h3. Notes |
251 | 18 | Paul Carensac | |
252 | 18 | Paul Carensac | h3. TODO |
253 | 18 | Paul Carensac | |
254 | 18 | Paul Carensac | --- |
255 | 19 | Paul Carensac | |
256 | 18 | Paul Carensac | h2. %{margin-left:0px; font-weight:bold; font-size:25px; display:block; color:red;}observation_manager% |
257 | 18 | Paul Carensac | |
258 | 18 | Paul Carensac | h3. Purpose |
259 | 18 | Paul Carensac | |
260 | 18 | Paul Carensac | h3. Evolution |
261 | 18 | Paul Carensac | |
262 | 1 | Paul Carensac | * Creating application |
263 | 18 | Paul Carensac | |
264 | 1 | Paul Carensac | * See scheduler documentation above |
265 | 1 | Paul Carensac | |
266 | 21 | Paul Carensac | * Implementation of the agent system |
267 | 1 | Paul Carensac | |
268 | 21 | Paul Carensac | * See alert_manager above |
269 | 21 | Paul Carensac | |
270 | 21 | Paul Carensac | * Implementation of the ObservationExecutor Thread |
271 | 21 | Paul Carensac | |
272 | 21 | Paul Carensac | * Created a "class ObservationExecutor(Thread):" in agent.py |
273 | 21 | Paul Carensac | * Overriding the run method |
274 | 21 | Paul Carensac | |
275 | 18 | Paul Carensac | |
276 | 18 | Paul Carensac | h3. Notes |
277 | 18 | Paul Carensac | |
278 | 18 | Paul Carensac | h3. TODO |
279 | 18 | Paul Carensac | |
280 | 19 | Paul Carensac | --- |
281 | 18 | Paul Carensac | |
282 | 18 | Paul Carensac | h2. %{margin-left:0px; font-weight:bold; font-size:25px; display:block; color:red;}request_builder% |
283 | 18 | Paul Carensac | |
284 | 18 | Paul Carensac | h3. Purpose |
285 | 18 | Paul Carensac | |
286 | 18 | Paul Carensac | h3. Evolution |
287 | 18 | Paul Carensac | |
288 | 18 | Paul Carensac | * Creating application |
289 | 18 | Paul Carensac | |
290 | 18 | Paul Carensac | * See scheduler documentation above |
291 | 18 | Paul Carensac | |
292 | 18 | Paul Carensac | |
293 | 18 | Paul Carensac | h3. Notes |
294 | 18 | Paul Carensac | |
295 | 18 | Paul Carensac | h3. TODO |
296 | 18 | Paul Carensac | |
297 | 19 | Paul Carensac | --- |
298 | 18 | Paul Carensac | |
299 | 18 | Paul Carensac | h2. %{margin-left:0px; font-weight:bold; font-size:25px; display:block; color:red;}routine_manager% |
300 | 18 | Paul Carensac | |
301 | 18 | Paul Carensac | h3. Purpose |
302 | 18 | Paul Carensac | |
303 | 18 | Paul Carensac | h3. Evolution |
304 | 18 | Paul Carensac | |
305 | 18 | Paul Carensac | * Creating application |
306 | 18 | Paul Carensac | |
307 | 18 | Paul Carensac | * See scheduler documentation above |
308 | 18 | Paul Carensac | |
309 | 18 | Paul Carensac | |
310 | 18 | Paul Carensac | h3. Notes |
311 | 18 | Paul Carensac | |
312 | 18 | Paul Carensac | h3. TODO |
313 | 18 | Paul Carensac | |
314 | 19 | Paul Carensac | --- |
315 | 18 | Paul Carensac | |
316 | 18 | Paul Carensac | h2. %{margin-left:0px; font-weight:bold; font-size:25px; display:block; color:red;}user_manager% |
317 | 18 | Paul Carensac | |
318 | 18 | Paul Carensac | h3. Purpose |
319 | 18 | Paul Carensac | |
320 | 18 | Paul Carensac | h3. Evolution |
321 | 18 | Paul Carensac | |
322 | 18 | Paul Carensac | * Creating application |
323 | 18 | Paul Carensac | |
324 | 18 | Paul Carensac | * See scheduler documentation above |
325 | 18 | Paul Carensac | |
326 | 18 | Paul Carensac | |
327 | 18 | Paul Carensac | h3. Notes |
328 | 18 | Paul Carensac | |
329 | 18 | Paul Carensac | h3. TODO |
330 | 18 | Paul Carensac | |
331 | 18 | Paul Carensac | --- |
332 | 18 | Paul Carensac | |
333 | 20 | Paul Carensac | h2. %{margin-left:0px; font-weight:bold; font-size:25px; display:block; color:red;}common% |
334 | 18 | Paul Carensac | |
335 | 18 | Paul Carensac | h3. Purpose |
336 | 18 | Paul Carensac | |
337 | 18 | Paul Carensac | * Regroups common data and functions shared by applications |
338 | 18 | Paul Carensac | |
339 | 18 | Paul Carensac | h3. Content |
340 | 18 | Paul Carensac | |
341 | 18 | Paul Carensac | * Agent system in agent.py |
342 | 18 | Paul Carensac | |
343 | 18 | Paul Carensac | * Class to be overrode by every agent |
344 | 18 | Paul Carensac | * Defines the agent names and status |
345 | 18 | Paul Carensac | |
346 | 18 | Paul Carensac | * Agents configuration in pyros_agent_config.ini |
347 | 18 | Paul Carensac | |
348 | 18 | Paul Carensac | * Defines the agents name, receiving port and ip |
349 | 18 | Paul Carensac | |
350 | 18 | Paul Carensac | * Sender system in sender.py |
351 | 18 | Paul Carensac | |
352 | 18 | Paul Carensac | * static send_to function, to send messages to the agents |
353 | 18 | Paul Carensac | |
354 | 18 | Paul Carensac | * Common tests in test.py |
355 | 18 | Paul Carensac | |
356 | 18 | Paul Carensac | * Class AgentTests to test agents' functionnalities |
357 | 18 | Paul Carensac | |
358 | 18 | Paul Carensac | h3. Notes |
359 | 18 | Paul Carensac | |
360 | 18 | Paul Carensac | h3. TODO |