Item::SimpOptionsDNSServers does not account for existing DNS servers properly
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 1/5
- Tiempo estimado
- Menos de una hora
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- ruby
- Área
- cli, networking
Línea de trabajo
Comienza con lib/simp/cli/config/items/data/simp_options_dns_servers.rb alrededor de la línea 33 e inspecciona cómo la salida de nmcli se convierte en el valor predeterminado del servidor DNS. Verifica que los servidores delimitados por pipes se analicen por separado, que los valores duplicados o vacíos se gestionen y que el valor predeterminado resultante pase la validación; ejecuta la suite de pruebas existente relevante si está disponible.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
One of my test systems I attempted to bootstrap with SIMP 6.6 ran into an issue with the DNS when going through the simp config questionnaire. When it came time to choose the DNS options I ran into some oddities:
cli::network::set_up_nic = true
=== cli::network::dhcp ===
Whether to use DHCP to retrieve your network settings ("dhcp") or to
use static network settings ("static").
----> Recommended value: "static"
cli::network::dhcp: |static| dhcp
cli::network::dhcp = "dhcp"
>> Applying: Configure a network interface... Succeeded
=== cli::network::hostname ===
The Fully Qualified Domain Name (FQDN) of the system.
This *MUST* contain a domain. Simple hostnames are not allowed.
----> OS value: "puppet.localhost.local"
----> Recommended value: "puppet.localhost.local"
cli::network::hostname: |puppet.localhost.local|
cli::network::hostname = "puppet.localhost.local"
>> Applying: Set hostname... Succeeded
Internal error: Default, noninteractive value for simp_options::dns::servers is invalid: '["1.1.1.1 | 1.0.0.1"]'.
/usr/share/simp/ruby/gems/simp-cli-7.0.0/lib/simp/cli/config/items/item.rb:267:in `determine_value_from_default'
/usr/share/simp/ruby/gems/simp-cli-7.0.0/lib/simp/cli/config/items/item.rb:235:in `determine_value'
/usr/share/simp/ruby/gems/simp-cli-7.0.0/lib/simp/cli/config/questionnaire.rb:98:in `process_item'
/usr/share/simp/ruby/gems/simp-cli-7.0.0/lib/simp/cli/config/questionnaire.rb:38:in `process_pass1'
/usr/share/simp/ruby/gems/simp-cli-7.0.0/lib/simp/cli/config/questionnaire.rb:49:in `process_pass1'
/usr/share/simp/ruby/gems/simp-cli-7.0.0/lib/simp/cli/config/questionnaire.rb:49:in `process_pass1'
/usr/share/simp/ruby/gems/simp-cli-7.0.0/lib/simp/cli/config/questionnaire.rb:49:in `process_pass1'
/usr/share/simp/ruby/gems/simp-cli-7.0.0/lib/simp/cli/config/questionnaire.rb:49:in `process_pass1'
/usr/share/simp/ruby/gems/simp-cli-7.0.0/lib/simp/cli/config/questionnaire.rb:49:in `process_pass1'
/usr/share/simp/ruby/gems/simp-cli-7.0.0/lib/simp/cli/config/questionnaire.rb:49:in `process_pass1'
Upon looking into this I found the bug is right here: https://github.com/simp/rubygem-simp-cli/blob/master/lib/simp/cli/config/items/data/simp_options_dns_servers.rb#L33
Turns out that nmcli will return multiple DNS servers with a pipe delimiter. But, good news, this is an easy fix, and we can even simplify the block. We can change line 33 like so:
nameservers = result[:stdout].strip.split("\n").map { |ips| ips.split(/\s*\|\s*/) }.flatten.uniq
One bonus to this approach is that flattening the array will also remove empty values so we don't need the delete_if on the following lines.
- Lenguaje dominante
- Ruby
- Estrellas
- 2
- Forks
- 12
- Merge medio
- 2 d 21 h
- PR fusionados (30 d)
- 4
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de simp/rubygem-simp-cli
-
Dependency Dashboard Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 25/100
simp/rubygem-simp-cli#200 ·
-
Relax LDAP DN validation Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
simp/rubygem-simp-cli#194 ·
-
community needs-attention
Dificultad 2/5 1-3 horas Aptitud para principiantes 48/100
simp/rubygem-simp-cli#188 · 1 comentario ·
Todos los issues de simp/rubygem-simp-cli
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
ai-generated
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
hanami/hanami-cli#449 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
hanami/hanami-router#310 ·