Site migration

Update: The migration of LtU to new servers is complete.

If you notice any issues with the site, please post in this thread (if you can), or email me at antonvs8 at (gmail domain).

Original announcement appears below:

This evening (Sunday, US Eastern time), Lambda the Ultimate will be migrated to new servers.

The site will be offline for around 30 minutes, while this migration and some database maintenance is in progress.

The new platform is a shiny new Kubernetes cluster, which will enable some long-overdue improvements to the site in 2018.

An update will be posted in this thread once the migration is complete.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Migration complete

The site migration is complete.

Testing is currently in progress, so I recommending waiting to post anything until the next update message posted in this thread.

Testing complete

Everything seems fine now.

If you notice any issues with the site, please post in this thread (if you can), or email me at antonvs8 at (gmail domain).

Enable HTTPS

Thanks Anton for all your work keeping LtU up.

Would you be able to enable HTTPS ? Feels weird logging without HTTPS.

Yes, HTTPS coming soon

Should be within the next couple of months.

Thanks, Anton! Site seems to

Thanks, Anton! Site seems to work fine on my end.

Error when submitting new forum topic

I encounter the following error trying to submit a new forum topic. Seems to me a serious issue.

user error: Incorrect integer value: '' for column 'moderate' at row 1
query: INSERT INTO node (title, body, format, uid, type, teaser, status, moderate, promote, sticky, comment, created, changed, nid) VALUES('..', '...', '1', '11249', 'forum', '...', '1', '', '', '', '2', '1517975223', '1517975223', '5495') in /home/ltu/www/includes/database.mysql.inc on line 66.

warning: Cannot modify header information - headers already sent by (output started at /home/ltu/www/includes/common.inc:384) in /home/ltu/www/includes/common.inc on line 192.

Looking into it

Thanks, I'm looking into it. I'll post an udpate here.

May be resolved

I believe this may be resolved now. A difference in database configuration settings was causing a problem.

However, in attempting to replicate the error, I saw a slightly different error message. I was able to resolve the error I saw, but I can't be certain that the original issue is resolved.

Please try posting again and let me know if it doesn't work. I'll be doing more thorough testing later today.

Thanks again for the report!

Yes, the problem is resolved.

Yes, the problem is resolved.

Cluster?

Just how much traffic is the site getting to warrant a cluster (unless it means two nanoservers)?

The LtU Gigacluster

The site is now hosted on a cluster, but the cluster is not just for LtU.

LtU itself is currently running on a single node in the cluster, although it's possible for the MySQL database to end up on a different node than the application. That's the case for several other systems in the cluster, although not currently for LtU.

The move has more to do with simplifying management and improving reliability, than the resources needed for LtU in particular.

LtU was previously hosted on a standalone machine, which also hosted several other systems. At times when load was high - e.g. when LtU is being crawled by aggressive bots - the LtU MySQL container would sometimes get shut down, either because it was no longer responding to new requests quickly enough and appeared to be dead, or because it exceeded its resource budget. These events would often require manual intervention to correct issues due to unclean shutdown.

The host machine was also running an older OS version, had accumulated a lot of cruft in the last few years, was not originally automatically provisioned, and needed to be replaced.

The new platform improves the situation in several ways. For example, it's now much easier to migrate services across nodes if rebalancing of resource usage is needed. The Kubernetes cluster manager is capable of migrating containers across nodes on its own.

It also means that management of the host machines is now more or less fully automated. If one is feeling lazy and wants to upgrade a host machine, one could in theory just delete the node and let Kubernetes handle provisioning a new one and redeploying the containers. There are slightly more disciplined ways to do it, but they also don't require much effort.

As for traffic, LtU is very popular with bots! New bots appear all the time, which often don't respect a site's constraints (e.g. robots.txt). These bots often run from clusters themselves, so their traffic comes in from many IP addresses, and they end up executing what amount to DDoS attacks without necessarily intending to. There's currently no DDoS mitigation layer running that could block such activity.