-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migrate deployment for opam.ocaml.org from EC2 to Scaleway #19
Comments
opam-4.ocaml.org and opam-5.ocaml.org are both provisioned now @mtelvers, with IPv4 and IPv6 records and in two different availability zones (the Scaleway Amsterdam and Polish datacenters, both of which run with renewable energy). Your ssh keys are installed, so machines ready for provisioning. Note that /dev/sdb needs to be created as a data volume. |
The two machines are now configured and respond via https://opam-4.ocaml.org and https://opam-5.ocaml.org. They also respond to the round-robin DNS entry https://opam.ocamllabs.io and https://staging.opam.ocamllabs.io. The new deployment are currently running in parallel at https://deploy.ci.ocaml.org/?repo=ocaml-opam/opam2web& I have documented the setup in some detail at http://infra.ocaml.org/opam-ocaml-org. These are the DNS entries I have in the
|
Outstanding writeup on the infra blog, thanks @mtelvers! |
Looking at the Dockerfile build: @mtelvers: I think that there might be too much caching there. For example, the ocaml/opam git clone is cached and therefore won't deterministically rebuild if there a push to that repo. The current deployment simply builds without caching to ensure all archives are fetched, and that would work here for now as well. @kit-ty-kate @dra27 @rjbou: might you be able to test the opam-4.ocaml.org and see if it is suitable to switchover from the existing opam.ocaml.org archive? |
@avsm lgtm. It's works just fine for me. |
Yup, looks very good to me, too, thank you! Agree that we could temporarily turn off caching in Docker. As it happens, there's some work @rjbou was starting to do for the documentation part of the site, and that will be a perfect opportunity to plumb in the git sha of the ocaml/opam in the same way as platform-blog and opam-repository are at the moment. |
I'd misremembered: it's I think this is ready for the certificate transfer? |
The new servers do not appear to respond to requests with TLSv1.3, I've tested this with:
I think that the Another small suggestion I would have for these boxes would be for them to use BBR as their TCP congestion algorithm:
By default,
BBR can be set in
And then set with:
The |
Thanks for both of these suggestions. Both are now implemented on the new servers. |
Just spotted in the new |
HTTP2 is now enabled. |
@mtelvers All looks good to me as well. We need to coordinate a certificate switch before doing the DNS swap, so they can listen on opam.ocaml.org as well. Remind me: which github repo is the nginx and other configurations checked into? |
@avsm the configuration is in tarides/infrastructure/ci.ocaml.org. We need to merge the live certificates for opam.ocaml.org into the Docker volume |
Is it possible to do this DNS switch with the current infrastructure setup? @avsm The discussion from #27 has been linked back here and looks to be developing into a larger piece of work than simply switching DNS between machines. Eventually opam2web and opam.ocaml.org will be merged into the main ocaml.org site, so we don't need a forever solution. Just something more maintainable than the current opam.ocaml.org setup. |
@mtelvers I've copied the current LE certs over to opam-4 in
|
@avsm Thank you for the certificate file. I have created the requisite entries for @kit-ty-kate @dra27 Please can you do a final check? You can target a specific instance by adding one of the following lines to your
|
Works fine for me. |
LGTM too, thanks! |
@avsm I have additionally copied the certificate for staging.opam.ocaml.org from
|
Staging DNS records moved over! |
I've posted a notice of the move to discuss. |
@mtelvers I didn't see an answer to this:
...in case it matters before we do the switch. |
@avsm Sorry, yes, I did these pending updates and will add these machines to the list of machines I update each month. I had thought further that we could use OCurrent to monitor a Git repo containing an Ansible script. OCurrent could run it periodically, and when we committed a change to the list of hosts. |
Thanks, an Ansible ocurrent runner sounds good -- I've always found it strange that it's normal practise to run Ansible from our laptops, with all the massive key exposure that implies! (but this also seems to be common practise in the Ansible community) |
Live DNS records for |
Thanks, @avsm! There are some users who have ended up embedding the link to opam-3 (e.g. /~https://github.com/coq-community/docker-base/blob/master/base/bare/Dockerfile#L42). Before opam-3 is decommissioned, is it worth either CNAME-ing opam-3.ocaml.org to opam.ocaml.org (is that worth doing in general for a decommissioned server name here?) or putting a date on the shutdown of opam-3.ocaml.org? |
opam-3.ocaml.org was introduced as a temporary measure in 930e5b1 (coq-community#17), but that server will decommissioned quite soon (ocaml/infrastructure#19) so this will avoid build breakage for Coq.
Well spotted! The CNAME won't work due to the certificates not matching, and I'd really not have a lot of non-canonical names for the main archive that we have to maintain forever. I've opened a proposed fix for Coq in coq-community/docker-base#23 |
Going through the old list of tasks here. There is one item we talked about, moving the https://hub.docker.com/r/ocurrent/opam.ocaml.org images into official ocaml ops account. If we did this a few other services on the ocaml.org deployer could move too. |
Tim, opened up a new issue for that; just to have a hope of eventually closing this one ;-) |
opam-3.ocaml.org was introduced as a temporary measure in 930e5b1 (#17), but that server will decommissioned quite soon (ocaml/infrastructure#19) so this will avoid build breakage for Coq.
The Coq PR is now merged, so I'll decommission opam-3 next week after powering it down for a few days. |
The opam-2 and opam-3 EC2 VMs are now shut down. |
I have merged the PR to remove opam-3 from ocurrent deployer. |
All done here now, EC2 for OCaml is decommissioned. |
opam-2.ocaml.org and opam-3.ocaml.org are presently running on Amazon EC2 VMs which need to be decommissioned. opam-2 is also deploying manually an older version of the Docker deployment on /~https://github.com/ocaml-opam/opam2web.
Please could we have two Scaleway VMs, which will then be plumbed into https://deploy.ci.ocaml.org/?repo=ocaml-opam/opam2web and used to replace VMs behind opam-2 and opam-3.
At present:
The text was updated successfully, but these errors were encountered: