Bug 52704

Summary: Изменение конфигурационных путей для dnsmasq@<zone>
Product: Branch p11 Reporter: GordeevM <max.gordeef>
Component: dnsmasqAssignee: Mikhail Efremov <sem>
Status: UNCONFIRMED --- QA Contact: qa-p11 <qa-p11>
Severity: blocker    
Priority: P5 CC: amakeenk, max.gordeef, zerg
Version: unspecified   
Hardware: x86_64   
OS: Linux   

Description GordeevM 2025-01-15 07:10:08 MSK
Замените пожалуйста путь с
/etc/sysconfig/dnsmasq.<instance>

на 

 /etc/sysconfig/dnsmasq.d/<instance>
Comment 1 Sergey V Turchin 2025-01-15 09:48:34 MSK
(Ответ для GordeevM на комментарий #0)
>  /etc/sysconfig/dnsmasq.d/<instance>
Так неправильно.
/etc/sysconfig/dnsmasq.<instance>.d/
Comment 2 GordeevM 2025-01-15 10:11:10 MSK
это связанная проблема:

https://bugzilla.altlinux.org/show_bug.cgi?id=52595#c11

https://pve.proxmox.com/pve-docs/chapter-pvesdn.html#_plugins

Configuration
The plugin will create a new systemd service for each zone that dnsmasq gets deployed to. The name for the service is dnsmasq@<zone>. The lifecycle of this service is managed by the DHCP plugin.

The plugin automatically generates the following configuration files in the folder /etc/dnsmasq.d/<zone>:


вот .. было логично все же заменить на путь 

/etc/sysconfig/dnsmasq.d/<instance>

раз так охота запихнуть конфиги в /etc/sysconfig/ .. и плагин тогда генерации для SDM обойдется меньшими фиксами (временно можно будет засимлинкать)
Comment 3 GordeevM 2025-01-16 11:25:30 MSK
Не смотря на крайне странное решение по
использованию /etc/sysconfig/dnsmasq.<instance>.d/

оно работает.. но колличество файлов конфигурации стремиться к разрастанию

и все же я настаиваю на варианте:
/etc/sysconfig/dnsmasq.d/<instance>
Comment 4 Sergey V Turchin 2025-01-16 11:55:53 MSK
(Ответ для GordeevM на комментарий #3)
> Не смотря на крайне странное решение по
> использованию /etc/sysconfig/dnsmasq.<instance>.d/
> оно работает..
Да ладно! Я лишь сказал, как должно быть по аналогии с любыми *.d/ . :-)
Comment 5 Sergey V Turchin 2025-01-16 11:56:24 MSK
(Ответ для GordeevM на комментарий #3)
> /etc/sysconfig/dnsmasq.d/<instance>
Это криво. Баг.
Comment 6 GordeevM 2025-01-16 13:04:34 MSK
В смысле криво? .. почему не группировать настройки dnsmasq в одном месте, а не плодить туеву гору каталогов?

Где вообще описаны мотиви такого размещения файлов конфигурации?
Comment 7 Sergey V Turchin 2025-01-16 13:25:10 MSK
(Ответ для GordeevM на комментарий #6)
> В смысле криво?
Противоречит логике
/один.конфиг.файл
+
/один.конфиг.файл.d/
.

Т.е. если делать
/etc/sysconfig/dnsmasq.d/
, то там должны быть _только_ куски файла /etc/sysconfig/dnsmasq, а значит содержимое dnsmasq.<instance> туда пихать нельзя.
Comment 8 Sergey V Turchin 2025-01-16 13:26:37 MSK
(Ответ для GordeevM на комментарий #6)
> Где вообще описаны мотиви такого размещения файлов конфигурации?
Не мотивы, а логика. Я догадался абсолютно не зная, а вы подтвердили, что "оно работает".
Comment 9 GordeevM 2025-01-16 14:38:56 MSK
(Ответ для Sergey V Turchin на комментарий #7)
> (Ответ для GordeevM на комментарий #6)
> > В смысле криво?
> Противоречит логике
> /один.конфиг.файл
> +
> /один.конфиг.файл.d/
> .
> Т.е. если делать
> /etc/sysconfig/dnsmasq.d/
> , то там должны быть _только_ куски файла /etc/sysconfig/dnsmasq, а значит
> содержимое dnsmasq.<instance> туда пихать нельзя.

а вот тут ты не прав, там МНОЖЕСТВО КАТАЛОГОВ под разные экземпляры демонов которые запускаются под разные SDN.

Откуда вообще такое стремление сплющить конфигурацию?

А где пояснено по каким принципам сделаны вот эти конфиги? (это файлы)
/etc/dnsmasq.conf
/etc/sysconfig/dnsmasq

а чего тогда распотрошили конфигурацию этого демона..? и она не учитывают наличие конфигов каждого экзепляра
Comment 10 GordeevM 2025-01-16 14:50:44 MSK
(Ответ для Sergey V Turchin на комментарий #8)
> (Ответ для GordeevM на комментарий #6)
> > Где вообще описаны мотиви такого размещения файлов конфигурации?
> Не мотивы, а логика. Я догадался абсолютно не зная, а вы подтвердили, что
> "оно работает".

... эм.. а чтобы НЕ ДОГАДЫВАТЬСЯ?

где описаны мотивы по которым принимаются такие решения? .. вот чтобы ЯВНО?
Comment 11 Sergey V Turchin 2025-01-16 14:56:05 MSK
(Ответ для GordeevM на комментарий #9)
> > Т.е. если делать
> > /etc/sysconfig/dnsmasq.d/
> > , то там должны быть _только_ куски файла /etc/sysconfig/dnsmasq, а значит
> > содержимое dnsmasq.<instance> туда пихать нельзя.
> 
> а вот тут ты не прав, там МНОЖЕСТВО КАТАЛОГОВ под разные экземпляры демонов
> которые запускаются под разные SDN.
Я тогда лучше выйду из диалога, чтоб не углубляться в изучение.

> А где пояснено по каким принципам сделаны вот эти конфиги? (это файлы)
> /etc/dnsmasq.conf
> /etc/sysconfig/dnsmasq
Могут быть по абсолютно разным. Наиболее точно -- в исходниках кода, который их читает.
/etc/sysconfig/dnsmasq -- обычный shell, который всасывается любым скриптом на BASH через точку.
Comment 12 Sergey V Turchin 2025-01-16 14:58:08 MSK
(Ответ для GordeevM на комментарий #10)
> > > Где вообще описаны мотиви такого размещения файлов конфигурации?
> > Не мотивы, а логика. Я догадался абсолютно не зная, а вы подтвердили, что
> > "оно работает".
> ... эм.. а чтобы НЕ ДОГАДЫВАТЬСЯ?
Именно! Я не гадал, а понял.
 
> где описаны мотивы по которым принимаются такие решения? .. вот чтобы ЯВНО?
Мотив разделить конфиг на куски, чтобы была возможность файлы из пакета/ов оставить нетронутыми.
Comment 13 Mikhail Efremov 2025-01-16 18:01:08 MSK
Меня просили добавить dnsmasq@.service "как в Debian". В Debian используется файл /etc/default/dnsamsq и, соответственно, /etc/default/dnsamsq.<instance> для запуска экземпляров сервиса с помощью dnsmasq@.service. У нас для этих же целей используется /etc/sysconfig/dnsmasq (там другие переменные, но не суть), я и сделал по аналогии.
В этих конфигах задается переменные, используемые скриптом запуска.
Использовать каталог для них в /etc/sysconfig я пока не вижу особого смысла.
Сколько экземпляров сервиса может быть запущено с помощью dnsmasq@.service в большинстве случаев? Если речь идет о десятках, то в этом может быть смысл, пожалуй.
При чем тут /etc/dnsmasq.conf я вообще не понимаю, это конфиг самого dnsmasq. Для дополнительных кусочков конфига используется /etc/dnsmasq.conf.d/.
В каком состоянии сейчас плагин pve в части работы с dnsmasq я не в курсе, если его мантейнера что-то не устраивает в текущей схеме, то это обсуждаемо,
Comment 14 GordeevM 2025-01-17 00:15:02 MSK
(Ответ для Mikhail Efremov на комментарий #13)
> Сколько экземпляров сервиса может быть запущено с помощью dnsmasq@.service в
> большинстве случаев? Если речь идет о десятках, то в этом может быть смысл,
> пожалуй.

Да, более десятка при промышленной эксплуатации, это дает возможность удобной изоляции на базе Proxmox SDN