Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Premesse

Abbreviazioni

Problema

Soluzione

Introduzione

In questo documento viene descritto come monitorare e risolvere i problemi relativi all'assegnazione degli indirizzi IP da OpenStack Platform Director (OSPD) per aprire i nodi di elaborazione dello stack in Ultra-M.

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza dei seguenti argomenti:

- StarOs

- Architettura di base Ultra-M

Componenti usati

Le informazioni fornite in questo documento si basano sulla versione Ultra 5.1.x.

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Premesse

Per la soluzione Ultra-M in uso, vengono utilizzati i server Cisco UCS-C.

In una configurazione Ultra-M, durante il processo di installazione undercloud, OSPD assegna l'indirizzo IP all'interfaccia di provisioning del nodo di calcolo.

Questa interfaccia viene utilizzata per Pre-Boot Execution Environment (durante la fase di introspezione).

Abbreviazioni

Le abbreviazioni sono utilizzate in questo articolo

VNF

Funzione di rete virtuale

OSPD

Openstack Platform Director

DHCP

Protocollo Dynamic Host Configuration

CIMC

Cisco Integrated Management Controller

IPMI

Interfaccia di gestione intelligente delle piattaforme

PXE

Ambiente di esecuzione pre-avvio

UCS

Unified Computing System di Cisco

Problema

Nella soluzione Ultra-M di Cisco, durante il processo di installazione sotto-cloud, OSPD assegna l'indirizzo IP all'interfaccia di provisioning del nodo di calcolo.  Questa interfaccia viene utilizzata per l'avvio PXE (durante la fase di introspezione). Se l'interfaccia non è raggiungibile o l'indirizzo IP non è assegnato correttamente, l'introspezione ha esito negativo e l'installazione globale nel cloud ha esito negativo.

Soluzione

Se l'UCS si blocca durante l'avvio in attesa dell'offerta DHCP dal server DHCP, attenersi alla seguente procedura per la risoluzione dei problemi.

Passaggio 1. Identificare la porta Catalyst a cui è connesso l'UCS e verificare che la porta sia attiva e in esecuzione (show int gig x/x/x -> verificare che sia attiva).

Verificare anche quanto segue:

1. visualizzare la tabella degli indirizzi mac dinamica e assicurarsi di trovare l'indirizzo mac del server in cui si sono verificati i problemi (in caso contrario, aggiornare la tabella arp)

2. Verificare che l'interfaccia/mac sia sulla VLAN corretta e che l'interfaccia sia corretta.

3. Infine, verificare che l'interfaccia sia configurata con la funzione portfast.

Passaggio 2. Durante l'esecuzione dell'introspezione, verificare che la voce arp sugli switch sia corretta e che il numero dei pacchetti aumenti.

show int gig x/x/x | grep packet -> verify that the input/output packet increase (that means UCS is sending and receiving packets).

Passaggio 3. Se l'output del passaggio 2 è corretto, controllare la configurazione sull'OSPD. Il pool è configurato nel file undercloud.conf per la versione 5.1.

dhcp_start = 192.x.y.101

dhcp_end = 192.x.y.150

a partire dalla versione 6.0, la configurazione del dhcp fa parte del file di configurazione vim-orch.

provisioning-network dhcp-ip-range start 192.x.y.101

provisioning-network dhcp-ip-range end 192.x.y.150

provisioning-network inspection-ip-range start 192.x.y.201

provisioning-network inspection-ip-range end 192.x.y.250

Passaggio 4. Ora è possibile controllare ulteriormente in /var/log/messages se ci sono errori.

Ad esempio, se è così, è possibile visualizzare qualcosa di simile al seguente:

"Dec 20 13:33:51 dnucs001-ospd dnsmasq-dhcp[5632]: DHCPDISCOVER(tap96912f54-41) 38:0e:4d:9c:ba:36 no address available"

Ciò significa che OSPD non è riuscito ad allocare l'IP all'UCS (e il processo di introspezione non sarebbe stato completato).

Si noti che OSPD prevede che il primo messaggio sia DHCPDISCOVER. Se nelle tracce si rileva che viene ricevuto solo BOOTP, OSPD non procederà ulteriormente nell'allocazione dell'indirizzo. Ciò si verifica se tra i server UCS e l'OSPD è presente un router (struttura UltraM non standard) e non è configurato alcun indirizzo di supporto IP OSPD-IP sulle interfacce rivolte ai server UCS.

C3750#show run inter vlan x

Building configuration...

Current configuration : 140 bytes

!

interface Vlan3

description CIMC/IPMI & OC External/VirtIO subnets

ip address 192.x.y.254 255.255.0.0

ip helper-address 192.x.y.1 <<<<<<<<<<< ADD THIS ONE POINTING AT OSPD's IP ADDRESS IN PROV/DHCP VLAN/SUBNET

end

Passaggio 5. Verificare ulteriormente che il processo dhcp sia completamente operativo e in esecuzione e che gli IP siano effettivamente disponibili.

(prestare attenzione al bug relativo all'RH: 1301659)

[stack@bru-ospd-ultram-1 ~]$ systemctl list-units | grep dns  openstack-ironic-inspector-dnsmasq.service                                                                              loaded active running   PXE boot dnsmasq service for Ironic Inspector

E in dettaglio - per vedere gli indirizzi IP effettivi assegnati agli indirizzi MAC specifici:

[stack@bru-ospd-ultram-1 ~]$ sudo systemctl status openstack-ironic-inspector-dnsmasq.service

● openstack-ironic-inspector-dnsmasq.service - PXE boot dnsmasq service for Ironic Inspector

Loaded: loaded (/usr/lib/systemd/system/openstack-ironic-inspector-dnsmasq.service; enabled; vendor preset: disabled)

Active: active (running) since Thu 2017-12-14 13:43:08 CET; 6 days ago

Process: 17511 ExecStart=/sbin/dnsmasq --conf-file=/etc/ironic-inspector/dnsmasq.conf (code=exited, status=0/SUCCESS)

Main PID: 17513 (dnsmasq)

CGroup: /system.slice/openstack-ironic-inspector-dnsmasq.service

└─17513 /sbin/dnsmasq --conf-file=/etc/ironic-inspector/dnsmasq.conf

Dec 14 15:31:53 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPREQUEST(br-ctlplane) 192.x.y.207 38:0e:4d:9c:97:c2

Dec 14 15:31:53 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPACK(br-ctlplane) 192.x.y.207 38:0e:4d:9c:97:c2

Dec 14 15:32:02 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPREQUEST(br-ctlplane) 192.x.y.206 38:0e:4d:9c:a4:46

Dec 14 15:32:02 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPACK(br-ctlplane) 192.x.y.206 38:0e:4d:9c:a4:46

Dec 14 15:32:17 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPREQUEST(br-ctlplane) 192.x.y.209 38:0e:4d:9c:9c:42

Dec 14 15:32:17 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPACK(br-ctlplane) 192.x.y.209 38:0e:4d:9c:9c:42

Dec 14 15:32:34 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPREQUEST(br-ctlplane) 192.x.y.208 38:0e:4d:9c:a3:6e

Dec 14 15:32:34 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPACK(br-ctlplane) 192.x.y.208 38:0e:4d:9c:a3:6e

Dec 14 15:32:39 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPREQUEST(br-ctlplane) 192.x.y.207 38:0e:4d:9c:97:c2

Dec 14 15:32:39 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPACK(br-ctlplane) 192.x.y.207 38:0e:4d:9c:97:c2

Lo stesso output in un formato diverso può essere visualizzato anche con sudo journalctl -u openstack-ironic-inspector-dnsmasq.

(come da documentazione RH: Risoluzione dei problemi del director )

[stack@bru-ospd-ultram-1 ~]$ sudo journalctl -u openstack-ironic-inspector-dnsmasq

-- Logs begin at Mon 2017-12-04 10:26:05 CET, end at Thu 2017-12-21 10:30:36 CET. --

Dec 12 18:02:19 bru-ospd-ultram-1.cisco.com systemd[1]: Starting PXE boot dnsmasq service for Ironic Inspector...

Dec 12 18:02:19 bru-ospd-ultram-1.cisco.com dnsmasq[1105]: dnsmasq: unknown interface br-ctlplane

Dec 12 18:02:19 bru-ospd-ultram-1.cisco.com systemd[1]: openstack-ironic-inspector-dnsmasq.service: control process exited, code=

Dec 12 18:02:19 bru-ospd-ultram-1.cisco.com systemd[1]: Failed to start PXE boot dnsmasq service for Ironic Inspector.

Dec 12 18:02:19 bru-ospd-ultram-1.cisco.com systemd[1]: Unit openstack-ironic-inspector-dnsmasq.service entered failed state.

Dec 12 18:02:19 bru-ospd-ultram-1.cisco.com systemd[1]: openstack-ironic-inspector-dnsmasq.service failed.

-- Reboot --

Dec 13 17:56:31 bru-ospd-ultram-1.cisco.com systemd[1]: Starting PXE boot dnsmasq service for Ironic Inspector...

Dec 13 17:56:31 bru-ospd-ultram-1.cisco.com dnsmasq[1108]: dnsmasq: unknown interface br-ctlplane

Dec 13 17:56:31 bru-ospd-ultram-1.cisco.com systemd[1]: openstack-ironic-inspector-dnsmasq.service: control process exited, code=

Dec 13 17:56:31 bru-ospd-ultram-1.cisco.com systemd[1]: Failed to start PXE boot dnsmasq service for Ironic Inspector.

Dec 13 17:56:31 bru-ospd-ultram-1.cisco.com systemd[1]: Unit openstack-ironic-inspector-dnsmasq.service entered failed state.

Dec 13 17:56:31 bru-ospd-ultram-1.cisco.com systemd[1]: openstack-ironic-inspector-dnsmasq.service failed.

Dec 14 13:43:08 bru-ospd-ultram-1.cisco.com systemd[1]: Starting PXE boot dnsmasq service for Ironic Inspector...

Dec 14 13:43:08 bru-ospd-ultram-1.cisco.com dnsmasq[17513]: started, version 2.66 DNS disabled

Dec 14 13:43:08 bru-ospd-ultram-1.cisco.com dnsmasq[17513]: compile time options: IPv6 GNU-getopt DBus no-i18n IDN DHCP DHCPv6 no

Dec 14 13:43:08 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCP, IP range 192.x.y.201 -- 192.x.y.250, lease time 2m

Dec 14 13:43:08 bru-ospd-ultram-1.cisco.com systemd[1]: Started PXE boot dnsmasq service for Ironic Inspector.

Dec 14 15:26:56 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPDISCOVER(br-ctlplane) 84:3d:c6:99:2e:de

Dec 14 15:26:56 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPOFFER(br-ctlplane) 192.x.y.201 84:3d:c6:99:2e:de

Dec 14 15:26:59 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPDISCOVER(br-ctlplane) 84:3d:c6:98:d3:78

Dec 14 15:26:59 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPOFFER(br-ctlplane) 192.x.y.202 84:3d:c6:98:d3:78

Dec 14 15:26:59 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPREQUEST(br-ctlplane) 192.x.y.201 84:3d:c6:99:2e:de

Dec 14 15:26:59 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPACK(br-ctlplane) 192.x.y.201 84:3d:c6:99:2e:de

Dec 14 15:27:02 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPDISCOVER(br-ctlplane) 84:3d:c6:10:25:92

Dec 14 15:27:02 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPOFFER(br-ctlplane) 192.x.y.203 84:3d:c6:10:25:92

Dec 14 15:27:02 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPREQUEST(br-ctlplane) 192.x.y.202 84:3d:c6:98:d3:78

Dec 14 15:27:02 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPACK(br-ctlplane) 192.x.y.202 84:3d:c6:98:d3:78

Dec 14 15:27:02 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPREQUEST(br-ctlplane) 192.x.y.203 84:3d:c6:10:25:92

Dec 14 15:27:02 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPACK(br-ctlplane) 192.x.y.203 84:3d:c6:10:25:92

Dec 14 15:27:06 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPDISCOVER(br-ctlplane) 84:3d:c6:98:cd:24

Dec 14 15:27:06 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPOFFER(br-ctlplane) 192.x.y.204 84:3d:c6:98:cd:24

Dec 14 15:27:09 bru-ospd-ultram-1.cisco.com dnsmasq-dhcp[17513]: DHCPDISCOVER(br-ctlplane) 84:3d:c6:98:d0:f0

[stack@bru-ospd-ultram-1 ~]$