VR reports a load balancer change as applied when haproxy.cfg cannot be replaced
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 78/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- python
- Ambito
- backend, networking
Direzione di ricerca
Inizia con CsLoadBalancer.process() in systemvm/debian/opt/cloud/bin/cs/CsLoadBalancer.py e segui come viene gestito il risultato di CsHelper.copy() dopo aver convalidato haproxy.cfg.new con haproxy -c. Verifica come un’installazione non riuscita viene segnalata all’esecuzione della configurazione, quindi confrontala con il percorso esistente per gli errori di convalida. Il lavoro è completato quando un errore di installazione fa fallire l’applicazione, così che il server di gestione possa eseguire il rollback.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
problem
When a virtual router can't replace /etc/haproxy/haproxy.cfg, it still reports a load balancer config change as applied.
CsLoadBalancer.process() (systemvm/debian/opt/cloud/bin/cs/CsLoadBalancer.py) writes the new config to haproxy.cfg.new, checks it with haproxy -c, and then installs it with CsHelper.copy(). CsHelper.copy() catches the IOError, logs Could not copy /etc/haproxy/haproxy.cfg.new to /etc/haproxy/haproxy.cfg, and returns. The router then reloads HAProxy, which reads the old file, and the config run ends successfully.
The management server therefore gets a successful answer, records the change as applied, and doesn't roll it back, while the router keeps serving the old configuration. A config that fails haproxy -c already makes the apply fail, so only this path is silent.
versions
4.22 (the code is the same on main).
The steps to reproduce the bug
- Create a load balancer rule on an isolated network or VPC served by a virtual router.
- On the router, make the config file unwritable, for example
chattr +i /etc/haproxy/haproxy.cfg. - Change the rule, for example
updateLoadBalancerRule algorithm=leastconn, or add a rule. - The API call succeeds and
listLoadBalancerRulesshows the new values. The router's/var/log/cloud.loghasCould not copy /etc/haproxy/haproxy.cfg.new to /etc/haproxy/haproxy.cfg, and/etc/haproxy/haproxy.cfgstill has the old config.
What to do about it?
Fail the apply when the new config can't be installed, the same way as when it fails haproxy -c, so that the management server sees the failure and rolls back.
- Lingua principale
- Java
- Stelle
- 3.1k
- Fork
- 1.4k
- Merge medio
- 6g 20h
- PR unite (30g)
- 17
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/cloudstack
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
apache/cloudstack#14645 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
apache/cloudstack#14631 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
apache/cloudstack#14625 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Remote access VPN users are disconnected on every LB, ACL, port forward or firewall change (xl2tpd restarted on every iptables pass)Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
apache/cloudstack#14545 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[Hardening] F-21: Base64-Encoded User Data Containing Plain Text Passwords in DB.Forse già presa @DaanHoogland l’ha presa 4 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
apache/cloudstack#14530 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di apache/cloudstack
Issue simili
-
type: dependency-upgrade
Difficoltà 2/5 1-3 ore Idoneità per principianti 61/100
spring-projects/spring-graphql#1556 ·
-
hermes-queue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 91/100
chrisalunlloyd2-sudo/mindpalace#373 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
bug priority: lowest
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
SkriptLang/Skript#8953 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
quality-assurance
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
Paul-Austin-Oswego-CSC480-HCI521/gift-app#228 ·
I maintainer di solito rispondono entro 1 giorno