Commit Graph

261 Commits

Author SHA1 Message Date
Khue Doan
03ef74fe05 Use generic Ansible wait for connection 2021-08-31 02:10:26 +07:00
Khue Doan
bb94e89409 Add PXE server data dirs 2021-08-31 00:35:35 +07:00
Khue Doan
25de291c71 Split init config to a separate role 2021-08-30 23:47:16 +07:00
Khue Doan
32b86b6c68 Restructure pxe server role files and templates 2021-08-30 23:44:25 +07:00
Khue Doan
f26676becf Temporarily disable metal0 machine
Using this as my PC
2021-08-28 05:29:41 +00:00
Khue Doan
0954f69ab3 Increase wait time out 2021-08-21 12:50:58 +00:00
Khue Doan
ad9eaaca7f Generate ISO file name automatically 2021-08-21 10:59:51 +00:00
Khue Doan
b672b7a46b Rename infra layer to cluster 2021-08-20 19:31:04 +07:00
Khue Doan
303e837230 Upgrade to latest CoreOS testing and remove ostree bug workaround
https://github.com/coreos/fedora-coreos-tracker/issues/746#issuecomment-895311722
2021-08-15 10:56:28 +00:00
Khue Doan
4fb52951ea
Move back to latest stable CoreOS release 2021-07-25 12:30:15 +07:00
Khue Doan
499dd397be
Use volume for PXE config files 2021-07-23 13:50:33 +07:00
Khue Doan
daeeebae56
Upgrade to latest CoreOS testing stream
https://github.com/coreos/fedora-coreos-config/pull/1114
2021-07-23 12:55:19 +07:00
Khue Doan
67428587b2
Revert "Use 7z instead of xorriso to extract the ISO file"
This reverts commit cb5acb199a.
2021-06-26 22:55:55 +07:00
Khue Doan
377da14a6e
Revert "Assume yes in 7z extract command"
This reverts commit 6069ff1e53.
2021-06-26 22:55:34 +07:00
Khue Doan
6069ff1e53
Assume yes in 7z extract command 2021-06-26 21:21:59 +07:00
Khue Doan
cb5acb199a
Use 7z instead of xorriso to extract the ISO file 2021-06-26 21:18:12 +07:00
Khue Doan
fee0d7dbbb
Fix flannel support on Fedora CoreOS
https://github.com/poseidon/typhoon/pull/795
2021-06-20 18:13:20 +07:00
Khue Doan
a2734f6793 Workaround ostree remount bug
https://github.com/coreos/fedora-coreos-tracker/issues/870
https://github.com/coreos/fedora-coreos-tracker/issues/746#issuecomment-779015192
2021-06-20 11:49:54 +07:00
Khue Doan
b916233da5 Reduce CoreOS log verbosity 2021-06-20 05:09:18 +07:00
Khue Doan
be9e27c775 Upgrade CoreOS version 2021-06-17 01:05:00 +07:00
Khue Doan
cf74317393 Use CoreOS testing stream for cgroups v2
https://github.com/coreos/fedora-coreos-tracker/issues/292
https://github.com/coreos/fedora-coreos-config/pull/1033
2021-06-15 19:56:38 +07:00
Khue Doan
d3a890cf13 Use variable for netmask 2021-06-14 17:09:55 +07:00
Khue Doan
e89847e83c Restructure PXE boot for separation of concerns 2021-06-14 14:04:29 +07:00
Khue Doan
73f6ce771b Fix indent 2021-06-14 13:29:49 +07:00
Khue Doan
84213c2a09 Revert "Always wipe disk and filesystems"
This reverts commit 0091ab9f6f.
2021-06-14 13:28:10 +07:00
Khue Doan
73deb46aa6 Change bare metal machines order 2021-06-14 01:31:34 +07:00
Khue Doan
0091ab9f6f Always wipe disk and filesystems 2021-06-14 01:31:02 +07:00
Khue Doan
31de83b3ff Use raw command for shutdown task 2021-06-14 00:09:28 +07:00
Khue Doan
42746ffdf2 Remove search regex for etcd check 2021-06-13 22:34:55 +07:00
Khue Doan
358ed82d28 Move tfstate to ignition config 2021-06-13 21:56:23 +07:00
Khue Doan
69c6f665f7 Check port instead of Ansible connection because CoreOS doesn't have Python 2021-06-13 20:26:24 +07:00
Khue Doan
154fa56575 Enable Open-iSCSI daemon service 2021-06-13 17:48:00 +07:00
Khue Doan
428bdf8d52 Use absolute symlink for timezone 2021-06-13 14:46:00 +07:00
Khue Doan
86a6312e60 Set static IP address 2021-06-13 14:23:51 +07:00
Khue Doan
65cf85da20 Change default user to root 2021-06-13 14:23:30 +07:00
Khue Doan
2216214d47 Change Butane template file name 2021-06-13 13:32:18 +07:00
Khue Doan
852f45d5ac Use colon instead of hyphen for MAC address to fit GRUB's net_default_mac 2021-06-13 13:27:01 +07:00
Khue Doan
c276ac9df7 Use MAC address to get ignition config 2021-06-13 13:25:32 +07:00
Khue Doan
ef7e613aee Use variable for timezone 2021-06-13 13:19:24 +07:00
Khue Doan
812de88d03 Remove Butane from PXE server docker compose
Already have a task to render Ignition configs
2021-06-13 13:12:40 +07:00
Khue Doan
ad75900e9c Render Ignition JSON from Butane YAML 2021-06-13 13:08:55 +07:00
Khue Doan
f1dc32c009 Use template for Butane configs 2021-06-13 13:03:36 +07:00
Khue Doan
0157d25093 Change PXE server task and handler name 2021-06-13 11:49:09 +07:00
Khue Doan
a30adaec2a Set timezone 2021-06-13 11:33:53 +07:00
Khue Doan
bf518e969f Set hostname in ignition config 2021-06-13 11:28:37 +07:00
Khue Doan
99b02bbab6 Remove Docker role, CoreOS has Docker preinstalled 2021-06-13 11:07:56 +07:00
Khue Doan
754c0ac109 Use the same grubx64.efi path as the image 2021-06-13 03:27:15 +07:00
Khue Doan
6fae2f5413 Extract grubx64.efi from boot partition image 2021-06-13 03:17:15 +07:00
Khue Doan
d616abe807 Replace kickstart files with ignition 2021-06-13 02:39:47 +07:00
Khue Doan
77d87f0c33 Replace kickstart with ignition 2021-06-13 02:02:22 +07:00
Khue Doan
fe40b8b6df Make menu entry easier to read 2021-06-13 01:55:18 +07:00
Khue Doan
9a3461e05c Remove unnecessary first boot flag 2021-06-13 01:39:38 +07:00
Khue Doan
ac30775a1e Remove centralized CPU issue mitigation control config 2021-06-13 01:30:01 +07:00
Khue Doan
ac04f89a45 Disable cgroup v1 2021-06-13 01:29:24 +07:00
Khue Doan
301a247612 Reduce GRUB timeout 2021-06-13 01:22:07 +07:00
Khue Doan
7b5a238257 Update boot entry for CoreOS and ignition 2021-06-13 01:20:04 +07:00
Khue Doan
6dd12557e5 Switch to CoreOS image 2021-06-13 00:46:06 +07:00
Khue Doan
fb54a09ff1 Move ISO files to files/images instead of build/images 2021-06-12 18:07:24 +07:00
Khue Doan
3cc673d274 Improve kickstart config 2021-06-11 14:04:18 +07:00
Khue Doan
03deb76eb9 Add linters for metal and infra 2021-06-10 19:28:34 +07:00
Khue Doan
b0dfe1995a Cleaner README 2021-06-10 07:14:10 +07:00
Khue Doan
e051149311 Cleaner Ansible inventory 2021-06-09 19:23:28 +07:00
Khue Doan
8111fbe6ad Generate Terraform backend config automatically 2021-06-09 12:23:27 +07:00
Khue Doan
9b458435e0 Fix can't create tfstate container 2021-06-08 20:37:39 +07:00
Khue Doan
60f1ba4e41 Fix syntax 2021-06-08 19:24:21 +07:00
Khue Doan
9c43094d49 Change host fix extension 2021-06-08 19:09:47 +07:00
Khue Doan
c3ff4e59c6 Fix wrong task name 2021-06-08 19:00:56 +07:00
Khue Doan
01d52ecd09 Convert Ansible inventory from INI to YAML 2021-06-08 18:32:19 +07:00
Khue Doan
9338f01b05 Run tfstate role on first host 2021-06-08 18:29:09 +07:00
Khue Doan
b1c6620322 Revert "Remove etcd role"
This reverts commit 5e0036defd.
2021-06-08 18:06:15 +07:00
Khue Doan
409ed33353 Add handler to stop PXE server after completed 2021-06-06 13:49:54 +07:00
Khue Doan
9379e45b18 Start iSCSI service 2021-05-23 02:56:42 +07:00
Khue Doan
668580e8b1 Add todo for small root size 2021-05-23 02:08:13 +07:00
Khue Doan
2c6c2149cb Remove LXD 2021-05-21 02:54:48 +07:00
Khue Doan
c20166a69d Make sure the machines are shut down 2021-05-19 22:27:48 +07:00
Khue Doan
613a72ea65 Set subuid/subgid before starting LXD 2021-05-17 01:46:09 +07:00
Khue Doan
d577dfbaab Fix container failed to start
Error: Failed to run: /usr/bin/lxd forkstart tfstate /var/lib/lxd/containers /var/log/lxd/tfstate/lxc.conf
2021-05-17 01:16:07 +07:00
Khue Doan
fd6ab62a12 Add root device for tfstate container
Because default profile was removed
2021-05-17 01:09:38 +07:00
Khue Doan
8287fe696f Install LXD via dnf instead of snap
I hate snap
2021-05-16 23:59:42 +07:00
Khue Doan
ef79644dfa Swith to Fedora for bare metal nodes 2021-05-16 22:57:20 +07:00
Khue Doan
52828a363e Fix cluster member join on LXD 4.14
https://discuss.linuxcontainers.org/t/lxd-4-14-has-been-released/11008
2021-05-16 17:34:22 +07:00
Khue Doan
17745bbc20 Fix syntax 2021-05-16 16:05:05 +07:00
Khue Doan
56dd371fa8 Extract instead of mounting the OS ISO file
Avoid using privileged container or root permission on local machine
2021-05-16 15:10:23 +07:00
Khue Doan
aabb7b340c Specify Ansible SSH key without SSH agent
For the tools container
2021-05-16 13:26:32 +07:00
Khue Doan
54f4eb570d Use Ansible from package manager instead of pip 2021-05-16 13:14:15 +07:00
Khue Doan
53bd439431 Ensure idempotency for bare metal provisioning 2021-05-16 13:12:41 +07:00
Khue Doan
e6e5c177d6 Standardize TODOs 2021-05-01 22:51:55 +07:00
Khue Doan
c8331959bd Use var for macvlan parent 2021-05-01 16:17:19 +07:00
Khue Doan
74015da237 Increase LXD storage size 2021-04-26 01:21:22 +07:00
Khue Doan
f84fc1ae4e Set default username 2021-04-26 01:21:01 +07:00
Khue Doan
96a9c8edb3 Configure etcd using env file 2021-04-25 00:55:04 +07:00
Khue Doan
c16d1a5a22 Use native lxd connection instead of lxd exec 2021-04-25 00:30:52 +07:00
Khue Doan
36e7d5e9ef Add ugly fix for ansible LXD connection 2021-04-24 19:07:41 +07:00
Khue Doan
a69acb8134 Terraform state etcd in LXD instead of Docker 2021-04-24 18:02:19 +07:00
Khue Doan
0bbb87169f Remove minio tfstate 2021-04-24 14:35:50 +07:00
Khue Doan
4898d18202 Fix wrong tfvars path after restructure 2021-04-24 14:22:36 +07:00
Khue Doan
ad8204cb3d Update todo 2021-04-21 23:37:59 +07:00
Khue Doan
613fb33959 Generate LXD tfvars instead of environment variable 2021-04-21 23:29:18 +07:00
Khue Doan
8d6c1b6889 Add checksum to metal ISO installer file
Avoid redownload the ISO and check the ISO integrity
2021-04-21 21:30:23 +07:00
Khue Doan
400288a786 Update title for each layer 2021-04-20 01:55:09 +07:00
Khue Doan
5772849767 Add more TODO 2021-04-19 22:39:51 +07:00
Khue Doan
49846a36c4 Add missing lib for Ansible 2021-04-18 22:20:12 +07:00
Khue Doan
9d30d0e328 Export metal secrets to an env file 2021-03-21 18:24:48 +07:00
Khue Doan
d80e6442f4 Change main playbook file name 2021-03-03 21:51:19 +07:00
Khue Doan
a65772a574 Temporarily disable firewall 2021-03-03 03:11:29 +07:00
Khue Doan
620e2eab2a Fix LXD fan network 2021-03-03 02:51:55 +07:00
Khue Doan
3d6c0f44d0 Use var for LXD password 2021-03-03 02:11:50 +07:00
Khue Doan
b68d65f2ed Remove legacy reset script 2021-03-03 02:00:46 +07:00
Khue Doan
b085a453e7 Clean up 2021-03-03 01:56:33 +07:00
Khue Doan
acb3dd03af Optimize PXE config templating 2021-03-03 01:25:56 +07:00
Khue Doan
e6341de6e7 Rework role structure 2021-03-03 00:04:09 +07:00
Khue Doan
472003d94b Rework playbook 2021-03-03 00:00:59 +07:00
Khue Doan
54d47535c9 Install snap on CentOS instead 2021-03-02 23:48:12 +07:00
Khue Doan
d6bb107b7c Revert "Remove role to install snap"
This reverts commit fb64d06ab336f5487acdac9ed04e520975cd76e5.
2021-03-01 01:16:24 +07:00
Khue Doan
5ce78a6cbd Remove tools role 2021-03-01 01:14:06 +07:00
Khue Doan
5ef7086cac Ask for username and password when provision metal nodes 2021-03-01 00:55:41 +07:00
Khue Doan
f2f7599a02 Disable host key checking 2021-03-01 00:44:11 +07:00
Khue Doan
64f5a5684e Fix pxe server 2021-02-28 23:56:11 +07:00
Khue Doan
cdf6e4041e Fix wrong role name 2021-02-28 20:59:26 +07:00
Khue Doan
87934e8893 Add env secret template 2021-02-22 00:27:33 +07:00
Khue Doan
468aad25db Add minio for tfstate 2021-02-22 00:25:06 +07:00
Khue Doan
6b60373ac4 Add role to generate LXD client config 2021-02-21 22:28:06 +07:00
Khue Doan
5bd503dbce Remove role to install snap
Because we switched to Ubuntu and Ubuntu has snap installed by default
2021-02-21 21:03:32 +07:00
Khue Doan
b7b5ce1fd3 Force LXD fan network underlay subnet instead of auto 2021-02-21 21:01:35 +07:00
Khue Doan
5e0036defd Remove etcd role 2021-02-21 18:19:11 +07:00
Khue Doan
2cd7cf20e3 Remove all ansible role tags 2021-02-21 18:18:57 +07:00
Khue Doan
783306ac98 Add role to install admin tools 2021-02-21 18:18:10 +07:00
Khue Doan
e30db11617 Fix LXD init idempotency
Reference: 0990628edb
2021-02-21 14:17:49 +07:00
Khue Doan
28c87707cd Join member LXD nodes to the cluster 2021-02-21 14:10:17 +07:00
Khue Doan
b57b41c236 Only run leader preseed on the first node 2021-02-21 11:27:12 +07:00
Khue Doan
1b54cc22db Remove etcd role from playbook 2021-02-21 10:57:20 +07:00
Khue Doan
80b26e878b Add role to install snap 2021-02-21 10:46:31 +07:00
Khue Doan
a84928ec60 Remove hard coded IP 2021-02-20 11:22:54 +07:00
Khue Doan
bdc266cbee Cleaner lxd init preseed task 2021-02-16 18:03:58 +07:00
Khue Doan
bac214e4dd Add LXD role 2021-02-15 14:33:34 +07:00
Khue Doan
a4821862c5 Always start etcd tfstate container 2021-02-13 13:28:07 +07:00
Khue Doan
c73b4b1228 Fix etcd tfstate volume 2021-02-12 22:34:02 +07:00
Khue Doan
6b6f65893f Working etcd backend for terraform 2021-02-12 21:24:13 +07:00
Khue Doan
59e5624c02 Create etcd container for terraform state 2021-02-12 21:09:21 +07:00
Khue Doan
316ce29ccb Fix pxe docker compose 2021-02-12 20:39:22 +07:00
Khue Doan
c216624398 Fix ugly ansible error output 2021-02-12 20:20:39 +07:00
Khue Doan
75e075d2f6 Mount ISO 2021-02-12 20:12:42 +07:00
Khue Doan
4d8b0daf3e Add layer 0 bare metal docs 2021-02-12 16:12:21 +07:00
Khue Doan
27ea47c11a Ansible native PXE config instead of glue scripts in docker 2021-02-12 15:41:50 +07:00
Khue Doan
48e8274b53 Remove all 2021-02-12 14:27:43 +07:00
Khue Doan
a44ea21ab3 Revert "New pxe server structure"
This reverts commit 8d1a92a7d25083f0465bab02c55e52e543039a3a.
2021-02-12 14:27:18 +07:00
Khue Doan
008299f438 Revert "Add dir for tftpboot and kickstart configs"
This reverts commit e89a9a81a4089443040d8ffa80fb7b22bd65ae79.
2021-02-12 14:27:09 +07:00
Khue Doan
a7e73ad125 Add dir for tftpboot and kickstart configs 2021-02-12 14:18:03 +07:00
Khue Doan
2aba394fdb Fix wrong local connection variable 2021-02-12 12:39:09 +07:00
Khue Doan
c2744838ab New pxe server structure
No submodule and string replace script, j2 templates only
2021-02-12 12:37:29 +07:00