dhcpoptionsnetworklist parameter in "deployVirtualMachine" doesn't work with VR as provider
- Langage dominant
- Java
- Étoiles
- 3.1k
- Forks
- 1.4k
- Merge moyen
- 6 j 19 h
- PR mergées (30 j)
- 32
Description
### problem
dhcpoptionsnetworklist parameter in "deployVirtualMachine" doesn't work with VR as provider
As a user/operator I want to boot my vm from a PXE server via dhcpoptionsnetworklist
### versions
ACS 4.20.x
### The steps to reproduce the bug
1. Launch a isolated or a shared network
2. Create a pxe server vm which acts like a TFTP server
For example, you can create a pxe template/iso from the following pxe
https://netboot.xyz/
https://github.com/ventoy/PXE/releases
https://canonical.com/maas
3. Register pxe iso
https://boot.ipxe.org/ipxe.iso
4. Launch vm via API with the ISO with dhcpoptionsnetworklist, by pointing the IP of the pxe server in the same network
```
deploy virtualmachine zoneid=193a5741-05c9-4fe3-84d3-29a869ba1528 serviceofferingid=551f20c3-83d5-4e4a-bc50-d1c10974da57 networkids=dd6fe1cb-3ffa-4c1f-8472-8b438b4a7f6c
dhcpoptionsnetworklist[0].networkid=dd6fe1cb-3ffa-4c1f-8472-8b438b4a7f6c dhcpoptionsnetworklist[0].dhcp:66=10.1.1.27 dhcpoptionsnetworklist[0].dhcp:67=pxelinux.0
```
5. Check the db and the details are stored
```
mysql> select * from nic_extra_dhcp_options;
+----+--------------------------------------+--------+------+------------+
| id | uuid | nic_id | code | value |
+----+--------------------------------------+--------+------+------------+
| 1 | 83af66c0-01f3-4033-a9ac-89c819cfe485 | 31 | 66 | 10.1.1.27 |
| 2 | 0c0ef9f5-3f28-45ed-8ed1-e2e3cb28cc49 | 31 | 67 | pxelinux.0 |
```
5. During the vm boot time the request still goes to the virtual router instead of the pxe server
HTTP://10.1.1.1/pxelinux.0 and fails to run
Workaround
Log in to the VR and add the following content
Comment the following lines in //etc/dnsmasq.conf
#enable-tftp
#tftp-root=/opt/tftpboot
#dhcp-boot=pxelinux.0
---
Add the following lines
dhcp-option=66,10.1.1.27
dhcp-option=67,pxelinux.0
dhcp-boot=pxelinux.0,,10.1.1.27
Restart the dnsmasq service
service dnsmasq restart
### What to do about it?
Currently dhcpoptionsnetworklist parameter may probably work with only NuageVsp plugin and not with VR
It would be great if we can support this for VR so that end user can boot from a pxe server
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par suivre le traitement par l’API deployVirtualMachine de dhcpoptionsnetworklist et la manière dont les entrées parviennent à nic_extra_dhcp_options pour un réseau adossé à un VR. Comparez ce cheminement avec le comportement de VR dnsmasq.conf et vérifiez que les requêtes PXE utilisent les options DHCP fournies et atteignent le serveur configuré au lieu du routeur virtuel.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- infrastructure, networking
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 38/100