apache / apache/cloudstack

dhcpoptionsnetworklist parameter in "deployVirtualMachine" doesn't work with VR as provider

Aperta
#11,578 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
archive component:networking component:virtual-router type:improvement
Lingua principale
Java
Stelle
3.1k
Fork
1.4k
Merge medio
6g 19h
PR unite (30g)
32

Descrizione

### 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

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia tracciando la gestione da parte dell’API deployVirtualMachine di dhcpoptionsnetworklist e il modo in cui le voci arrivano a nic_extra_dhcp_options per una rete basata su VR. Confronta questo percorso con il comportamento di VR dnsmasq.conf e verifica che le richieste PXE utilizzino le opzioni DHCP fornite e raggiungano il server configurato invece del router virtuale.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
infrastructure, networking
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
38/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.