|04:17||* alkisg doesn't know when section_list appears... broken ltsp.conf?|
|04:27||kjackal has joined IRC (email@example.com)|
meo: if you have that "section_list: not found" please ping me, I'd like to get to the bottom of this
Ah got it, when ltsp.conf doesn't exist... fixing...
|05:01||statler has joined IRC (statler!~Georg@p54897245.dip0.t-ipconnect.de)|
I do not know about 'nbd', but I do know about these similar topics: 'disable-nbd-proxy', 'nbd-proxy', 'nbd-compression', 'quick-nbd-tests', 'nbd-client', 'nbd-server-bug', 'nbd-trusty-bug', 'nbd-client-breaks-nm', 'nbd-bug', 'nbd-checkupdate'
nbd-checkupdate: To avoid bug https://github.com/NetworkBlockDevice/nbd/issues/59, put this in lts.conf: INIT_COMMAND_RM_NBD_CHECKUPDATE="rm -rf /usr/share/ldm/rc.d/I01-nbd-checkupdate"
|07:01||ricotz has joined IRC (ricotz!~ricotz@ubuntu/member/ricotz)|
|07:21||kjackal has left IRC (firstname.lastname@example.org, Remote host closed the connection)|
alkisg: do you know of any successful production use cases?
|07:24||matusiak has joined IRC (email@example.com)|
|07:29||woernie has joined IRC (firstname.lastname@example.org)|
meo: for ltsp, see http://www.ltsp.org/stories/; e.g. we have 1000+ schools using it in greece;
|07:53||woernie has left IRC (email@example.com, Remote host closed the connection)|
for ltsp19, I only put it to 6 schools so far; the rest will get the new ltsp next september with ubuntu 20.04
6 is not a joke number
(eh, actually around 50 more will get it till xmas)
i'm going to test it in the call centers
I assume you get paid for this?
Mhmm, something like that; my primary job is to take care of ~50 schools in my prefecture; my secondary to take care of those 1000+ greek schools that have linux
So, I take better care of them if they only have 1 installation to maintain per school :)
|08:03||kjackal has joined IRC (firstname.lastname@example.org)|
makes great sense :D
I should probably write an ansible provisioner for ltsp
Where would that help? The main idea of ltsp is to automate everything with `ltsp command` or ltsp.conf...
well the real benefit is replayable setup and integration with stuff I already do with ansible
say tomorrow the business wants to bring up a new call center
I don't know ansible, if you could give me a specific example it'd help me understand
so what I'd do (in an idealized case) is write a bit of ansible configuration for a new LTSP server
when I run the provisioner, ansible will create the VM, install an OS image on it, deploy my keys and baseline OS settings, then install and configure ltsp on it
backups profile will be configured on it and the bareos server i have
Ansible can create a VM and install an OS? Without the sysadmin having to take care of all debconf preseeding?
yeah, I usually dont bother with create vm/install OS part because it happens so infrequently i just clone a proxmox template or a hyperv prototype vm
ansible is basically a bunch of python scripts that read config files that say "on this machine do x and y"
Yeah I get that part but I've never managed to find a real use for it, where a simple (or ltsp) script wouldn't fit me better...
well, the real reason people use it is time saving and repeatability
for example i have dozens of webhosting machines in external data centers
i'm not going to manually write hundreds of apache vhost configurations
Maybe it's because I'm using scripts and deb packages and repositories to update everything... dunno
E.g. in that case I just run a postinst script and send a .deb update
with ltsp you'd have less advantage but I already have an ansible infrastructure in place
So it happens automatically when teachers update their systems, they don't have to run anything manually...
|08:13||statler has left IRC (statler!~Georg@p54897245.dip0.t-ipconnect.de, Remote host closed the connection)|
Maybe I could use the ansible libraries for text file editing, they'd probably be a lot better than sed... but I don't think I want to learn ansible just for that little part
Anyway, thanks for the info :)
in fact ansible + debian packages will work great
you have your own repos and a blank machine
ansible will configure the repos on the machine, install your packages, add your keys, set whatever security policies etc
E.g. the instructions to install a school are: "install ubuntu; then run this wget command, which adds our repository and installs our master sch-scripts package, which takes care of everything"; i.e. just one wget command...
oh so you're not the SA for these boxes
in my case I am
What is "SA"?
Each school has an IT teacher with no Linux knowledge
And I'm the "overseer sysadmin" or something
So I have to make sure that the instructions are so simple that any teacher can follow them
yeah makes sense
can you tell me a bit about the bash structure you came up with? is this something that's been done before?
There were many design decisions. Some I've seen before, some not
E.g. git, busybox etc all have a main program, and subcommands/applets
So I though the new ltsp would be better to follow that, instead of polluting the /bin namespace
I.e. ltsp image instead of ltsp-update-image
So I had to write a master script that sources the applets, not many scripts that source a library
I haven't seen that in other shell tools, but I've seen in in .c programs
The other part, about halting execution in any command that fails, and reporting the command... I haven't seen it in shell either; only in python exceptions etc
But after 10 years of shell programming in the old ltsp, I really needed something more efficient, and that new architecture does fit the bill
oh makes perfect sense, shell scripts arent easy to navigate
some parts of your code are essentially a framework
|08:27||shored has left IRC (email@example.com, Read error: Connection reset by peer)|
|08:27||shored has joined IRC (firstname.lastname@example.org)|
I'd really love it if posix could define some shell extensions, to be slowly followed by all shells...
E.g. `set -e` isn't well defined; they could define a new flag that does just that, halts execution and reports the command that failed
It would make debugging everything so much easier
this only tells me I need to brush up on my shell skills
I'm using ansible to automatically create the vm, install os using debootstrap configure stuff like ldap, backups, nfs home, admin tools, user packages, ltsp ppa, install ltsp, epoptes, run ltsp scripts...
uumas, how much easier was it than just writing a shell script?
How much do the ansible libraries actually help in all these?
And how frequently do those libraries fail? E.g. is there a library for "add something to pam", and would it easily fail if my pam config was non-standard?
It's more being able to just run the ansible playbook from any host in the network rather than having to use a shell script on the vm host, then run another one on the vm itself
Mostly just having all ansible stuff in a git repo which makes tracking changes easy
...like just `chroot rootfs script`, only both via chroot and ssh?
Eh, my scripts are already in git repos ;)
|08:32||* alkisg needs to browse through some ansible tutorials at some point though...|
I can share the ansible roles I'm using if you'd like. They're definitely not the best though as I'm still learning ansible myself.
Sure, send me a small example if you wish, ty
Something about the ltsp-related things you mentioned
Sure, might take a few hours to get to a pc
there are in fact public ansible roles for ltsp5
|09:02||* alkisg tried to read the first google result for this, https://github.com/the-maldridge/ubuntu_ltsp, but ... it's just a different way to run apt install and ltsp-build-client :)|
Instead of just writing a small script, he wrote 4 files with declarative syntax...
|09:20||statler has joined IRC (statler!~Georg@gwrz3.lohn24.de)|
alkisg: which really helps if you want to deploy 30 machines at the same time
alkisg: Especially in your situation I'd think it's helpful to just be able to run a single command to for example update all the schools instantly
right click from epoptes => run command
No need to port forward so many schools for ssh
(school servers are epoptes clients)
|10:55||shored has left IRC (email@example.com, Read error: Connection reset by peer)|
|10:55||shored has joined IRC (firstname.lastname@example.org)|
|11:47||Faith has joined IRC (Faith!~Paty_@2001:12d0:2080::231:49)|
|11:47||Faith has joined IRC (Faith!~Paty_@unaffiliated/faith)|
|12:21||section1 has joined IRC (email@example.com)|
|13:38||gp has joined IRC (firstname.lastname@example.org)|
|13:40||kjackal has left IRC (email@example.com, Remote host closed the connection)|
|13:43||kjackal has joined IRC (kjackal!~quassel@2a02:587:3107:2e00:e987:af3f:69ef:3a49)|
So trying to figure out what went wrong yesterday to break my ltsp ipxe command. Here is my installation procedure. Anybody mind looking and seeing if anything jumps out to you as wrong? https://pastebin.com/drcCz8jS
gp: didn't fully catch up on what you had already covered, but... IIRC, you had issues w/ wget... does the machine have internet access?
mwalters: It does. The files were downloaded successfully (only judging by filesize), but after each file the command would exit with an error
But it wasn't clear to me what the problem was
The last time, the command said all files downloaded and gave a success response. But when I try to boot using this ltsp server I don't get past trying to download the pxe bootloader file on the client
You were getting that "section_list" error?
lol, scrolled up in buffer
I will find the pastes if it would help?
alkisg: said "fixing..." some point last evening (EDT)
I have them, I'm just parsing through my irc buffer ;)
Oh I didn't get that
yeah, it was shortly after you left
...a long time after you left... ;)
not sure what changed or what you need to do to get the fix. I'm sure someone will chime in if you stick around long enough
I'm still rocking ltsp5 for the forseeable future
mwalters: Sure thing. Thanks
gp, paste the errors, not your methodology
gp, run `sudo ltsp -o ipxe` and paste the output
Btw, pastebin.com is a really lame service, for pastes, use *any* other one :)
E.g. paste.debian.net is ok
The section_list warning wasn't harmful; I removed it today, but it doesn't matter
It just meant that you had no ltsp.conf at that time
gp: are you here? Should I wait for feedback? Planning to go afk in a bit..
alkisg: the section_list warning was my problem. I do not have any better information yet. Going to do a rebuild soon and try again
gp: the section_list warning did not have any side effects ever
It couldn't cause any issues at all
alkisg: Hrm. ok. for some reason the script was fatally exiting. I had to run it many times to download the files
From what I saw from yesterday's pastes, your wget had issues and couldn't download
Which means internet connectivity issues
alkisg: that is what it said, but the files were existing on disk. the ls from the paste confirmed it
alkisg: my paste showed ping connectivity to 22.214.171.124 as well
When the files exist on disk, `ltsp ipxe` doesn't retry to download them
You might have had dns issues; I don't know what they were
But it was just wget failing
alkisg: i will try to reproduce from clean slate
alkisg: should ic reate the lts.conf in advance to prevent the section_list warning?
gp: no, I fixed it, it won't display anymore
This warning is not important at all, ignore it completely
|14:43||matusiak has left IRC (firstname.lastname@example.org, Quit: Leaving)|
|14:57||ltsp_user86 has joined IRC (email@example.com)|
|15:05||lucascastro has joined IRC (firstname.lastname@example.org)|
alkisg: Heh, what's wrong with pastebin
I suspect a lot of employers may block it... it's often used for data leaks and other "less than work friendly" things
mwalters: I'd assume that wouldn't make it "lame" :D
it's where all the cool kids hangout... we're not cool enough to hang out with them
|15:48||* mwalters pushes up glasses|
|16:00||ltsp_user86 has left IRC (email@example.com, Remote host closed the connection)|
|16:29||gp has left IRC (firstname.lastname@example.org, Ping timeout: 245 seconds)|
|16:30||lucascastro has left IRC (email@example.com, Ping timeout: 268 seconds)|
Heeey I'm Greek don't expect me to know what all these English words mean :P
|17:09||kjackal has left IRC (kjackal!~quassel@2a02:587:3107:2e00:e987:af3f:69ef:3a49, Ping timeout: 252 seconds)|
alkisg: So what is wrong with pastebin?
"It's all Greek to me"
Common us-en colloquialism
Ah, should probably use ad blockers less to notice that, heh
|18:05||mze has joined IRC (mze!~mze@2001:16b8:5527:f900:907e:15a4:15f8:c429)|
|18:12||mze has left IRC (mze!~mze@2001:16b8:5527:f900:907e:15a4:15f8:c429, Quit: Leaving)|
|18:20||humbolt has joined IRC (firstname.lastname@example.org)|
|18:25||statler has left IRC (statler!~Georg@gwrz3.lohn24.de, Remote host closed the connection)|
|18:36||section1 has left IRC (email@example.com, Quit: Leaving)|
Anybody online currently?
ask: Don't ask to ask a question, simply ask it, and if someone knows the answer, they'll respond. Please hang around for at least a full hour after asking a question, as not everybody constantly monitors the channel.
|18:47||humbolt has left IRC (firstname.lastname@example.org, Remote host closed the connection)|
|19:15||kjackal has joined IRC (kjackal!~quassel@2a02:587:3107:2e00:e987:af3f:69ef:3a49)|
|19:15||vagrantc has joined IRC (vagrantc!~vagrant@unaffiliated/vagrantc)|
|19:56||gp has joined IRC (email@example.com)|
|20:06||gp has joined IRC (firstname.lastname@example.org)|
@alkisg: I had the same trouble this time but was able to get a working boot by deleting the failed files until success. http://paste.debian.net/1103008/
perhaps the ipxe script should delete the file it failed on. Unless this is just a coincidence
Oddly, I use github all day long without connection errors. I am not sure why downloading the binaries is so unreliable on this system
|20:38||Faith has left IRC (Faith!~Paty_@unaffiliated/faith, Quit: Leaving)|
gp: try wget https://github.com/ltsp/binaries/releases/latest/download/memtest.0, what's the output?
True, if half-downloaded files appear to be a frequent error with some users, it's worth it to delete or resume partial downloads
sure thing. one sec
Btw, to redownload the binaries, it's ltsp ipxe -b
ltsp -o ipxe is to regenerate ltsp.ipxe
also! newer uefi client boots along with legacy and i get a nice shiny ubuntu mate screen! so cool
At some point I also had ipv6 uefi going, but it wasn't mature enough to put it in the default installation :)
haha thats awesome =)
Here is the output: http://paste.debian.net/1103012/
So you have a dns issues, you can't ping github-production-release-asset-2e65be.s3.amazonaws.com
Try: ping github-production-release-asset-2e65be.s3.amazonaws.com
That is my problem. Odd
Now try setting your dns to 126.96.36.199
Wonder how ltsp ipxe ended up downloading the files after a few attempts. Must be an intermittent problem here
If it solves the issues, your dns server is misbehaving
alkisg: appreciate the help narrowing that down
|21:14||gp has left IRC (email@example.com, Ping timeout: 245 seconds)|
|21:43||ricotz has left IRC (ricotz!~ricotz@ubuntu/member/ricotz, Quit: Leaving)|
|21:57||kjackal has left IRC (kjackal!~quassel@2a02:587:3107:2e00:e987:af3f:69ef:3a49, Ping timeout: 246 seconds)|
|21:58||kjackal has joined IRC (firstname.lastname@example.org)|
alkisg: Sent you a direct message with a link to my ansible collection
One good thing about ansible when compared to shell scipts which I don't think got mentioned before is that it doesn't do anything if nothing needs to be done, ie. I can run the playbook again and again and nothing happens unless I change something.