Closed tanhueco closed 4 years ago
Hi @Tanhueco,
Thank you for your report. In the upcoming release, we plan to switch from GRUB to BSD loader on the USB key. This will involve also an UEFI boot from the USB.
I'll let you know when the testing build becomes available. Will you be able to test it in several weeks?
Jan
Hi Jan,
That sounds great. I have no problem testing it in the next several weeks. Please let me know when it is ready for testing.
Hi @tanhueco
I have a testing image with the new loader for you. You can download it from here.
Please let me know if this resoved your problem. This work is related to #450 .
The new USB image has also new SmartOS platform included. It is not fully tested yet so be careful with deploying this one in production (until the release comes out).
Thank you for your help.
Cheers.
Jan
Hi Jan,
I was able to boot this version to the danubecloud root. It did not take me to the network setup process but, instead, went to the maintenance prompt directly despite the absence of a pool. As such, there is no access to the internet and no management console. I hope this is what you aimed for this version. I included screenshots for reference.
Rgds.
Hi @tanhueco
This looks like a recovery mode. Did you enable Recovery
boot option in the loader menu?
The image should take you to the install screen, I've just re-tested it to be sure.
Jan
Hi Jan,
You are right. I must have left it at recovery when cleaning the pools. The install completed where it presented the cloud URL's, username, and password for Danube and Zabbix. So it is working well.
I just ran into problems with accessing the subnet due to the way Hetzner has their network setup so I was not able to login to the admin panel yet. The advance installation process was used to add the external subnet. This does not have anything to do with Danube Cloud. I should be able to resolve this matter in due time. It is looking very good as it is now.
Rgds. Reinon
We have experience with Hetzner deployments. You have to keep MAC address on the external interface (advanced instalation option) and then you can run this script /opt/custom/bin/create-router-from-gz.sh
. It will nat-route traffic from your admin network to the internet.
You just need to add IP address of default gw of admin nework to the node (so you will have two IPs on the node's admin interface).
And in /etc/ipf/ipnat.conf you can define nat lines to forward port 443 to the mgmt01 VM.
I can't get mine right. The main ip is, 5.5.5.227 (gw: 5.5.5.225, nm: 255.255.255.224) for example.
The subnet ips are 8.8.8.112/29 (gw: 5.5.5.5.227, nm: 255.255.255.248):
{
"config_console": "vga",
"skip_instructions": true,
"simple_headers": true,
"accept_eula": false,
"advanced_install": true,
"datacenter_name": "My datacenter",
"etherstubs": "adminstub0", <<<automatically generated
"admin_ip": "5.5.5.227",
"admin_netmask": "255.255.255.224",
"admin_gateway": "5.5.5.225",
"admin_vlan_id": "",
"add_nictags": true,
"external_add_nictag": true,
"external_add_ip": true,
"external_ip": "8.8.8.113",
"external_netmask": "8.8.8.248",
"external_preserve_mac": false, <<<it fails everytime if true
"internal_add_nictag": false,
"storage_add_nictag": false,
"headnode_default_gateway": "5.5.5.227", <<<this is more like external ip gateway)
"dns_resolver1": "<default>",
"dns_resolver2": "<default>",
"dns_search": "<default>",
"ntp_host": "<default>",
"skip_ntp_check": false,
"install_to_hdd": false,
"disk_layout": "<default>",
"root_password": "Passw0rd",
"hostname": "<default>",
"remote_node": false,
"mgmt_admin_ip": "8.8.8.114",
"cfgdb_admin_ip": "8.8.8.115",
"esdc_install_password": "nbusr123",
"admin_email": "root@example.com",
"skip_final_confirm": true
}
May I know at what point were you able to run the /opt/custom/bin/create-router-from-gz.sh script? Shouldn't it be run before the Danube Cloud install script so the gateways for the admin and zabbix VM's are correctly addressed?
Hi @tanhueco
A few points:
"etherstubs": "adminstub0", <<<automatically generated
If this is autogenerated, then there's probably a problem. It should give you choice between your physical NIC and the etherstub. No choice suggests that your real NIC was not found by SmartOS itself.
"external_preserve_mac": false, <<<it fails everytime if true
How does it fail? Where? Might be connected to the first problem (it it cannot find external NIC, there's no MAC to preserve). I've tested it now and it works as intended, no error shown.
"headnode_default_gateway": "5.5.5.227",
Yes, this should be your external GW (when installer asks you for a GW, enter external one first. Then it asks for admin_gateway
). Entering only admin GW makes sense only when you already have some network infrastructure that can route traffic for you from admin network to the internet.
"mgmt_admin_ip": "8.8.8.114",
"cfgdb_admin_ip": "8.8.8.115",
should be all on the admin network, not on the external.
Are you testing an unattended install? If there are errors, pls try normal, interactive install because then you can hit Ctrl+C
any time and get a shell - to see what's happening.
Useful commands:
diskinfo
dladm show-phys -m
ipadm show-addr
netstat -rn
grep usbkey /etc/mnttab
Jan
And you run the /opt/custom/bin/create-router-from-gz.sh
script only after the installation.
I cannot access the root after a successful install. Could there be keys left behind that were supposedly removed in this version?
Yes, this is problem with this test platform - the root password is not changed properly. It will be fixed in the release. Currently you can change the password using the recovery boot. Jan
Closing this issue. UEFI install works. The rest of the issues are not related to the subject.
Thank you Reinon for your help with testing. I'll let you know when the new and tested release is out so you can use the Danube Cloud fluently. Jan
I've just realized that you can also install Hetzner server using PXE ISO image. More info here http://pxe.danubecloud.org/pxe/
This way you don't have to wait for the new release and you can start now.
Hi @tanhueco.
The new version of Danube Cloud is out. With new bootloader.
Download new installers from here https://github.com/erigones/esdc-ce/wiki/Download#42
Or use esdc-platform-upgrade
command to upgrade existing installations.
Cheers.
Jan
I created a gist of Danube Cloud v4.2 for installs at Hetzner:
https://gist.github.com/tanhueco/ffab0cdb5289792ef7fe07905f16853e
Hi @tanhueco
thank you. It is really cool and valuable to have such howto.
Let me write some comments on that from my experience:
adminstub0
) use their new vswitch function to separate admin network - just select admin network and VLAN 4000 or simillar when setting admin_ip
and then set web interface address from that admin IP range. You can then route them using NAT (see next point). And using this approach, you are not restricted to one node install because admin network can be seen by other physical servers in the same vswitch.create-router-from-gz.sh
, you can even save public IPs completely and use /etc/ipf/ipnat.conf
to use node's IP address to forward ports to appropriate mgmt VMs - see example config for this. If you are using USB boot, the /etc directory is not persistent. To persist firewall configuration, write the files to /opt/custom/etc/ipf.d/
and run /opt/custom/etc/rc-pre-network.d/020-ipsec-restore.sh refresh
. To use global zone as a router for admin VMs, you set admin_gateway
to node's admin_ip
and headnode_default_gateway
to Hetzner's external IP subnet gateway. But don't forget to set "external_preserve_mac": true,
(this option is specifically for Hetzner, OVH and simmilar installs because it allows you to use external node interface within the MAC restricted environment. Plain SmartOS does not have this functionality).dd
to write ESDC USB image to second disk (possibly with answers.json), reboot. This way the installer boots from the second disk (because the first one is unbootable) and you can select "install_to_hdd": true
which installs DC on the first disk. After next reboot, you can add the second disk to zones zpool as a mirror using zpool attach zones ...
.vmadm
because DC is not aware of them. You can do any kind of update_nics
stuff from the DC GUI/API (create network, add IP addresses, add vnic, update VM config, reboot VM).cfgdb_admin_ip
in answers.json
is only for next compute nodes to know where to find management cfgdb VM to pull config from. The entry is ignored during first compute node install.If you have any questions, feel free to ask. And you can safely publish also this info I've written if you want.
Cheers.
Jan
Hi Jan,
Very good information. Lots to digest. Interesting information on vSwitch. I am starting to learn now what DC is capable of and it is quite powerful. Unfortunately, for network setup, Hetzner limits the amount of time on their KVM since it is manually attached to the server every time a request is made.
As I go through DC, I will add my experience and create more how to's. In the meantime, I will add the information above to the gist. If I am stuck at a certain setup, I will seek your help.
Where is the best time to contact you without adding more to this thread since discussions from here is no longer related to the subject?
Rgds, Reinon
The best way to talk is to reach us on Gitter chat. Jan
USB installed failed on all latest, hn, and cn images while successfully installing SmartOS images on the same hardware. Upon boot from USB, the screen stops right before the setup after Grub and displays "Error 28: Selected item cannot fit into memory".
Some Linux users have success disabling memory hole at 15M-16M but those are from older hardware. Some also had success after updating GRUB. Since the install is remote (hetzner.com), GRUB update is almost impossible.
The following is what I have done to date:
The hardware consist of:
First Compute Node
First Compute Node Rescue (root/root)