*** menesis has joined #schooltool | 05:30 | |
*** menesis has left #schooltool | 05:32 | |
*** khildin has joined #schooltool | 13:14 | |
*** menesis has joined #schooltool | 13:27 | |
*** menesis has quit IRC | 13:56 | |
*** khildin has quit IRC | 14:00 | |
*** menesis has joined #schooltool | 14:01 | |
*** khildin has joined #schooltool | 14:13 | |
*** menesis has quit IRC | 17:26 | |
*** menesis has joined #schooltool | 18:17 | |
*** replaceafill has joined #schooltool | 21:25 | |
*** th1a has joined #schooltool | 21:40 | |
replaceafill | th1a, could you push your changes to the ark book branch? | 21:44 |
---|---|---|
th1a | Yeah. | 21:44 |
th1a | I'm setting up a 14.04 virtualbox. | 21:45 |
replaceafill | i'm setting 3 :D | 21:47 |
th1a | Setting the default runlevel is infuriating. | 21:51 |
replaceafill | default runlevel? | 21:51 |
th1a | I just want my vm to start in runlevel 2, since I can only download 64bit server. | 21:51 |
replaceafill | ah | 21:52 |
replaceafill | i use the desktop one and turn X off | 21:52 |
th1a | What method do you use? | 21:52 |
replaceafill | edit /etc/default/grub.cfg | 21:53 |
replaceafill | change a line to "text" | 21:53 |
th1a | That file doesn't exist. | 21:56 |
th1a | Off to an awesome start here. | 21:56 |
replaceafill | oh sorry | 21:58 |
th1a | Ah, I see it now. | 21:58 |
replaceafill | it's just /etc/default/grub | 21:58 |
replaceafill | and i change: GRUB_CMDLINE_LINUX_DEFAULT to just "text" | 21:58 |
replaceafill | you need to run "sudo update-grub" and reboot if you do this | 21:59 |
th1a | My VM is so slow it is super painful to do anything. | 22:00 |
replaceafill | :( | 22:00 |
th1a | I should probably close about 25 browser tabs now. | 22:01 |
th1a | It should be fine with no graphics. | 22:01 |
th1a | I hope. | 22:01 |
replaceafill | yeah it's way better | 22:01 |
replaceafill | i also enable the openssh-server | 22:01 |
replaceafill | in the guests | 22:01 |
th1a | You'll have to walk me through this a bit probably. | 22:02 |
replaceafill | ok | 22:02 |
th1a | Just a sec, I need to use the bathroom before we get into this. | 22:02 |
replaceafill | kk | 22:02 |
th1a | This is where a seven year old laptop suffers... | 22:06 |
replaceafill | :D | 22:07 |
th1a | AAAARRRRRRRRRGGGGGGHHHHHHH. | 22:07 |
th1a | This is where no official current Ubuntu docs showing up on the top for Google hurts. | 22:07 |
th1a | OK, got that sorted at least. | 22:14 |
th1a | Now going to the potty... | 22:14 |
replaceafill | :) | 22:14 |
replaceafill | i'll reboot my router, brb | 22:15 |
*** replaceafill has quit IRC | 22:15 | |
*** replaceafill has joined #schooltool | 22:16 | |
th1a | OK, pushed revisions. | 22:21 |
replaceafill | kk, pulling | 22:21 |
th1a | Updating VirtualBox instance. | 22:21 |
replaceafill | first change should be the line to install ST | 22:21 |
replaceafill | should be: | 22:21 |
replaceafill | $ sudo apt-get install schooltool python-zc.zrs | 22:21 |
th1a | OK... what? | 22:22 |
th1a | What are we doing now, replaceafill? | 22:22 |
th1a | These are changes I'm typing into the current page? | 22:22 |
replaceafill | we're going to update the docs to include the zrs configuration, right? | 22:23 |
th1a | Yes. | 22:23 |
th1a | OK so we're starting with updating these docs for the client. | 22:23 |
th1a | Yes? | 22:24 |
replaceafill | the client? | 22:24 |
th1a | The school. | 22:24 |
th1a | Sorry. | 22:24 |
replaceafill | ok, let's get wording straight: | 22:24 |
th1a | That's an essential part of this process. | 22:24 |
replaceafill | local = an instance (like the regular ones) | 22:24 |
replaceafill | primary = a school with zrs configuration | 22:25 |
th1a | No. | 22:25 |
replaceafill | secondary = the ark server with zrs configuration | 22:25 |
th1a | No. | 22:25 |
th1a | I don't want to use primary and secondary. | 22:25 |
th1a | From the user's point of view, there's the school server and the central server. | 22:25 |
replaceafill | ok | 22:27 |
th1a | I think this section should be something like "Setting up data replication to central server" | 22:29 |
th1a | And it all should be a separate section, because you have to know what the IP addresses are, etc. | 22:29 |
replaceafill | sounds good | 22:30 |
replaceafill | do you want me to adjust the package templates as we speak? | 22:30 |
replaceafill | btw | 22:30 |
replaceafill | you should save a snapshot of your vm after you install ST | 22:30 |
replaceafill | sorry | 22:30 |
th1a | OK. | 22:30 |
replaceafill | i meant | 22:30 |
replaceafill | before installing ST | 22:30 |
th1a | np | 22:30 |
th1a | If the template approach still seems easiest, sure. | 22:31 |
th1a | We're not going to explain the overall concept in this page, at this moment. | 22:31 |
th1a | btw | 22:31 |
replaceafill | ah ok | 22:31 |
replaceafill | just how to edit the config | 22:32 |
replaceafill | to enable the sync'ing | 22:32 |
th1a | It seems like it should be sufficient to start with OK, these are the IP addresses you need to know. | 22:32 |
th1a | I'm kind of assuming, btw, that we're going to hear that schools don't have static IP addresses. | 22:32 |
th1a | So, uh... you'll need to think about that some. | 22:33 |
th1a | I'm assuming we'll be able to work around it. | 22:33 |
th1a | But at this point, both ends expect to know the other's IP, right? | 22:33 |
replaceafill | is something like dyndns ok? | 22:33 |
replaceafill | yes | 22:33 |
th1a | Anything that freaking works is ok. | 22:33 |
replaceafill | :D | 22:34 |
replaceafill | that's the spirit! | 22:34 |
th1a | I'm not sure if tunneling can get around it. | 22:34 |
replaceafill | so, for this afternoon we'll assume static known ips? | 22:34 |
th1a | Yeah. | 22:34 |
replaceafill | kk | 22:34 |
th1a | So what's our "numbers you need to figure out first" list? | 22:35 |
replaceafill | schools don't need to know anything about anyone i think | 22:36 |
replaceafill | i mean | 22:36 |
replaceafill | external addresses | 22:36 |
replaceafill | just their server ip | 22:36 |
th1a | Oh.. | 22:36 |
th1a | OK, the central server is doing the pinging? | 22:36 |
replaceafill | yes | 22:37 |
th1a | OK. | 22:37 |
replaceafill | basically, the school just needs to make their 7081,7082 ports reachable from the outside | 22:37 |
replaceafill | 7081 for zeo, 7082 for zrs | 22:37 |
th1a | Assuming it is just a plain default install, there's no firewall, but their router might be a firewall. | 22:39 |
th1a | Yes? | 22:39 |
replaceafill | yes | 22:39 |
replaceafill | just like mine | 22:39 |
replaceafill | i need to forward ports there | 22:39 |
replaceafill | "any request on 7081,7082 goes to this local ip" | 22:39 |
replaceafill | in my head is like one of those phrases in books "this is out of the scope of this book" :) | 22:40 |
th1a | I wrote "Assuming there is a router between the school and the internet, you will have to | 22:41 |
th1a | open ports 7081 and 7082 for the database replication. You may want to just | 22:41 |
th1a | forward those ports to the SchoolTool server." | 22:41 |
replaceafill | excellent | 22:41 |
th1a | Sunesh is the only audience for this at this point. | 22:41 |
replaceafill | i really like how you write the book th1a | 22:41 |
replaceafill | yeah | 22:42 |
replaceafill | i hope we get feedback from him :) | 22:42 |
th1a | Thanks replaceafill. | 22:42 |
th1a | Oh, in this case we will, I'm sure. | 22:42 |
replaceafill | btw | 22:43 |
replaceafill | local access from the intranet to the school server requires the same configuration already explained in the book | 22:43 |
replaceafill | on how to make schooltool accessible | 22:43 |
th1a | Yes. | 22:43 |
th1a | I have no idea why I made that a separate page. | 22:44 |
th1a | I should change that. | 22:44 |
replaceafill | after installing? | 22:44 |
th1a | It is just sequenced in a way that lets you skip it, which you'd almost never want to do, right? | 22:45 |
replaceafill | right | 22:45 |
th1a | Anyhow, moving on. | 22:45 |
replaceafill | you focused on the "system admin" part probably | 22:45 |
replaceafill | ok | 22:45 |
replaceafill | so, this is where the templates were supposed to help | 22:46 |
th1a | Hm? | 22:47 |
th1a | The next step? | 22:47 |
replaceafill | check the /etc/schooltool/standard | 22:47 |
replaceafill | yes | 22:47 |
th1a | Check? | 22:48 |
replaceafill | schools are supposed to: | 22:49 |
replaceafill | $ sudo cp /etc/schooltool/standard/schooltool_zrs_primary.conf /etc/schooltool/standard/schooltool.conf | 22:49 |
replaceafill | $ sudo cp /etc/schooltool/standard/zeo_zrs_primary.conf /etc/schooltool/standard/zeo.conf | 22:50 |
replaceafill | (if we keep this approach and names) | 22:50 |
th1a | Well, we can just tell sunesh which files need to be edited. | 22:51 |
th1a | We don't need to expect he's going to copy/paste commands. | 22:51 |
replaceafill | ok | 22:51 |
replaceafill | then they need to edit schooltool.conf | 22:52 |
th1a | OK, so the schools will just be editing standard. | 22:52 |
replaceafill | yes | 22:52 |
replaceafill | in your instance vm, go to the /etc/schooltool/standard | 22:53 |
replaceafill | and run: | 22:53 |
replaceafill | diff --ignore-all-space schooltool_zrs_primary.conf schooltool.conf | 22:53 |
replaceafill | you'll see the one line they need to change | 22:53 |
replaceafill | but in this case (for security reasons is not) | 22:55 |
replaceafill | the line should be: server 0.0.0.0:7081 | 22:55 |
replaceafill | so the ark central server can connect | 22:55 |
th1a | OK... so do you want to add inline comments? | 22:56 |
replaceafill | sure | 22:57 |
replaceafill | we'll need to update the package ofc | 22:57 |
th1a | Yes. | 22:57 |
replaceafill | for schooltool.conf the inline comment is really simple | 22:58 |
replaceafill | for zeo.conf, not so much | 22:58 |
replaceafill | you can see the diff: | 22:58 |
replaceafill | diff --ignore-all-space zeo_zrs_primary.conf zeo.conf | 22:58 |
th1a | You can comment out a whole section and say "Put the info in here and uncomment the whole thing." | 23:00 |
replaceafill | sure | 23:00 |
replaceafill | it's like pasting the zeo_zrs_primary.conf file INTO zeo.conf | 23:01 |
replaceafill | and commenting it out | 23:01 |
th1a | I'm not registering at all what is difficult about this. | 23:06 |
replaceafill | http://pastebin.com/swwJuQAn | 23:07 |
replaceafill | GOOD EXPLANATION HERE should include: "remove anything above" | 23:07 |
th1a | Can you use hashed comments? | 23:08 |
th1a | Is it not really XML? | 23:08 |
replaceafill | sure | 23:08 |
replaceafill | it's just the way the default one uses | 23:08 |
th1a | OK, that makes it even easier. | 23:08 |
replaceafill | let me test it first | 23:08 |
replaceafill | i'm not sure about the xml-iness | 23:09 |
replaceafill | from zconfig doc: | 23:10 |
replaceafill | "Comments can be added on lines by themselves. A comment has a ‘#’ as the first non-space character and extends to the end of the line:" | 23:10 |
th1a | OK, cool. | 23:11 |
replaceafill | yeah, xml comments produce errors | 23:12 |
th1a | So... what goes where? | 23:12 |
th1a | Uncomment this and SCHOOL_IP_ADDRESS goes where? | 23:12 |
replaceafill | they don't need to change anything again | 23:13 |
replaceafill | the server access its own interface | 23:13 |
replaceafill | address 127.0.0.1:7081 | 23:13 |
replaceafill | it's basically "remove lines above and uncomment the following block" | 23:14 |
th1a | Remove which lines? | 23:14 |
replaceafill | did you see: http://pastebin.com/swwJuQAn | 23:14 |
replaceafill | anything above line 16 | 23:15 |
th1a | Yes, ok. | 23:15 |
replaceafill | and that would be it for the school | 23:17 |
th1a | Which file is that then? | 23:18 |
replaceafill | /etc/schooltool/standard/zeo.conf | 23:18 |
th1a | So... | 23:23 |
replaceafill | what should be the comment in zeo.conf? | 23:24 |
th1a | To enable replication to the central server via ZRS, delete the lines above this one and uncomment out the section below. | 23:25 |
replaceafill | kk | 23:25 |
th1a | I guess just "uncomment" not "uncomment out" | 23:26 |
replaceafill | ok | 23:26 |
replaceafill | the central server now? | 23:28 |
th1a | If that's all there is to the school server. | 23:29 |
replaceafill | yes | 23:29 |
th1a | Oh... uh... so... what's the security on this? | 23:29 |
th1a | none? | 23:29 |
replaceafill | security? | 23:29 |
th1a | Oh jesus. | 23:30 |
th1a | I mean, anyone trying to connect on this port? | 23:30 |
th1a | With zrs running? | 23:30 |
replaceafill | at this point anyone can connect to the zeo server | 23:31 |
th1a | OK... | 23:31 |
replaceafill | but that's a zeo configuration, not zrs | 23:31 |
th1a | Oh. | 23:31 |
th1a | So... | 23:31 |
th1a | ? | 23:31 |
th1a | Presumably we need to configure that? | 23:32 |
replaceafill | you can set authentication on zeo if you want | 23:32 |
th1a | I'd say we need to. | 23:32 |
replaceafill | ok | 23:32 |
th1a | Have you looked into that? | 23:33 |
replaceafill | yes, a little | 23:33 |
replaceafill | it's really basic iirc | 23:33 |
replaceafill | just a file with username:hashed_password | 23:33 |
replaceafill | i need to check again | 23:33 |
replaceafill | authentication-protocol, authentication-database | 23:33 |
th1a | Simple would be good at this point. | 23:34 |
replaceafill | what i don't remember is how you generate the password | 23:34 |
th1a | I suspect all this will need to be done by something like the school opening up an ssh tunnel to the central server, which I think would get around the IP address, security and compression issues all at once. | 23:34 |
th1a | Well, we could do the basic server side now. | 23:35 |
th1a | I had a moment of panic over the non-existent security. | 23:36 |
replaceafill | :D | 23:36 |
replaceafill | so, you suspect we'll get rid of zrs? | 23:36 |
replaceafill | ah never mind | 23:37 |
replaceafill | got it | 23:37 |
th1a | Just tunnel it. | 23:37 |
replaceafill | i should try that | 23:37 |
replaceafill | yeah | 23:37 |
th1a | OK, so... | 23:41 |
replaceafill | the central server will need a ST instance per school | 23:42 |
replaceafill | how to set that is already described in the book | 23:43 |
th1a | Remind me if those actually run all the time. | 23:44 |
replaceafill | i mean, how to set multiple one | 23:44 |
replaceafill | ones* | 23:44 |
replaceafill | yes | 23:44 |
th1a | Is that necessary to get the data or to view it? | 23:45 |
replaceafill | well, the central server only needs the zeo connection to the school for the repliccation part | 23:46 |
th1a | I know we discussed this before. | 23:46 |
replaceafill | and supervisor provides a way to start services indivudally | 23:46 |
replaceafill | individually( | 23:46 |
replaceafill | but at this point is the full instance running | 23:47 |
th1a | OK, but when we have 30 they don't all have to be running? | 23:47 |
replaceafill | assumming you don't know when the school is going to connect | 23:47 |
replaceafill | they should be running | 23:48 |
th1a | guh... | 23:48 |
th1a | Don't you only need the zeo connection? | 23:48 |
replaceafill | yes | 23:48 |
th1a | So... why do you need all the schooltools running all the time? | 23:48 |
th1a | What are they doing? | 23:48 |
*** khildin has quit IRC | 23:48 | |
th1a | They can't connect to the secondary dbs anyhow. | 23:49 |
th1a | We're probably talking about different things. | 23:49 |
th1a | The zeos need to run but the schooltools don't until you want to view the data directly? | 23:49 |
replaceafill | yes | 23:50 |
replaceafill | but currently, we don't have a way to just start the zeos | 23:50 |
th1a | Ah, but that is not difficult? | 23:50 |
replaceafill | the current /etc/init.d/schooltool script starts all | 23:50 |
th1a | That's not a long term problem. | 23:50 |
th1a | ? | 23:50 |
replaceafill | it's possible | 23:50 |
replaceafill | but we'll need more configuration options | 23:51 |
replaceafill | if you currently do: sudo service schooltool stop | 23:51 |
th1a | replaceafill: This is one of those times I'm just double checking that we didn't completely mis-design this. | 23:51 |
th1a | More configuration options shouldn't be a big problem then. | 23:52 |
replaceafill | th1a, if the 300 instances start sucking their resources, we can add a script to do the proper thing | 23:52 |
replaceafill | again, it's possible, we just haven't done it | 23:52 |
th1a | I'd think 10 would suck, and they have more than that. | 23:52 |
th1a | Right. | 23:52 |
th1a | Cool, moving on. | 23:52 |
replaceafill | also | 23:53 |
replaceafill | one thing to worth mentioning | 23:53 |
replaceafill | that zeo link could use a cron job | 23:53 |
replaceafill | or supervisor somehow | 23:53 |
replaceafill | in case the link breaks | 23:53 |
replaceafill | anyway, moving on | 23:54 |
replaceafill | imho, the only misdesign is school port not reachable | 23:54 |
replaceafill | the rest can be optimized ofc | 23:55 |
th1a | OK. | 23:55 |
th1a | So, you set up the multiple servers, probably name them after the schools. | 23:55 |
th1a | Then what? | 23:55 |
replaceafill | ok, for each instance | 23:56 |
replaceafill | you'll need to change schooltool.conf and zeo.conf | 23:56 |
replaceafill | but you'll need a way for the dashboard to switch between modes | 23:56 |
replaceafill | when viewing the data | 23:56 |
replaceafill | currently that way is having two schooltool.conf files (one for local browsing and one for zrs sycn'ing) | 23:57 |
replaceafill | and two zeo.conf files (same) | 23:57 |
th1a | OK, so...? | 23:59 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!