Update dnsmasq.conf dynamically on changes in admin networks

Bug #1495593 reported by Aleksandr Didenko
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Released
High
Aleksey Kasatkin

Bug Description

In order to successfully PXE/boot nodes from new racks (nodegroups) we need to automatically update cobbler's dnsmasq.conf on changes in admin network configuration of any nodegroup in any Fuel env. Such changes should survive cobbler container restarts and rebuilds.

Changed in fuel:
status: Confirmed → In Progress
Revision history for this message
Aleksandr Didenko (adidenko) wrote :

library part of the fix: https://review.openstack.org/222764

summary: - Update dnsmasq.conf dynamicly on changes in admin networks
+ Update dnsmasq.conf dynamically on changes in admin networks
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-astute (master)

Fix proposed to branch: master
Review: https://review.openstack.org/227021

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-main (master)

Fix proposed to branch: master
Review: https://review.openstack.org/227031

Revision history for this message
Aleksandr Didenko (adidenko) wrote :
tags: added: feature-nodegroup
Dmitry Pyzhov (dpyzhov)
no longer affects: fuel/8.0.x
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-web (master)

Fix proposed to branch: master
Review: https://review.openstack.org/234335

Changed in fuel:
assignee: Aleksandr Didenko (adidenko) → Aleksey Kasatkin (alekseyk-ru)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Fix proposed to branch: master
Review: https://review.openstack.org/235264

Changed in fuel:
assignee: Aleksey Kasatkin (alekseyk-ru) → Aleksandr Didenko (adidenko)
Changed in fuel:
assignee: Aleksandr Didenko (adidenko) → Aleksey Kasatkin (alekseyk-ru)
Changed in fuel:
assignee: Aleksey Kasatkin (alekseyk-ru) → Aleksandr Didenko (adidenko)
Changed in fuel:
assignee: Aleksandr Didenko (adidenko) → Aleksey Kasatkin (alekseyk-ru)
Changed in fuel:
assignee: Aleksey Kasatkin (alekseyk-ru) → Aleksandr Didenko (adidenko)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-astute (master)

Reviewed: https://review.openstack.org/227021
Committed: https://git.openstack.org/cgit/openstack/fuel-astute/commit/?id=8c5c4dd8dd8cc0d512ea32f20fc63efd425737cd
Submitter: Jenkins
Branch: master

commit 8c5c4dd8dd8cc0d512ea32f20fc63efd425737cd
Author: Nikita Koshikov <email address hidden>
Date: Tue Oct 20 15:54:26 2015 +0300

    New nailgun hook to sync cobbler

    We need this hook to update cobbler config and reload dnsmasq from
    nailgun.

    Co-Authored-By: Aleksandr Didenko <email address hidden>

    Partial-bug: #1495593
    Change-Id: Ie2f2d0b81d4134fbf2913558da1d4bea37e3ecbb

Changed in fuel:
assignee: Aleksandr Didenko (adidenko) → Aleksey Kasatkin (alekseyk-ru)
Dmitry Pyzhov (dpyzhov)
tags: added: area-library
Changed in fuel:
assignee: Aleksey Kasatkin (alekseyk-ru) → Aleksandr Didenko (adidenko)
Changed in fuel:
assignee: Aleksandr Didenko (adidenko) → Aleksey Kasatkin (alekseyk-ru)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to fuel-qa (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/239873

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Related fix proposed to branch: master
Review: https://review.openstack.org/240169

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-main (master)

Reviewed: https://review.openstack.org/227031
Committed: https://git.openstack.org/cgit/openstack/fuel-main/commit/?id=698acf125a1beb8d6b3b4439daa806f92ee6bab9
Submitter: Jenkins
Branch: master

commit 698acf125a1beb8d6b3b4439daa806f92ee6bab9
Author: Nikita Koshikov <email address hidden>
Date: Wed Sep 23 17:05:26 2015 -0500

    Dynamic dnsmasq for fuelweb_admin networks

    Install 'daemonize' package in mcollective container for puppet
    mcollective agent. Also configure Hiera inside mcollective container.

    We need this for puppet task which is being executed in 'mcollective'
    container and which updates dnsmasq dhcp ip ranges when we change
    fuelweb_admin networks in any nodegroup.

    Co-Authored-By: Aleksandr Didenko <email address hidden>

    Blueprint: dynamic-dnsmasq
    Partial-bug: #1495593

    Change-Id: I3309b32e3ede4be2f6758ff756b4ed15e3b20d66

Changed in fuel:
assignee: Aleksey Kasatkin (alekseyk-ru) → Aleksandr Didenko (adidenko)
Changed in fuel:
assignee: Aleksandr Didenko (adidenko) → Aleksey Kasatkin (alekseyk-ru)
Changed in fuel:
assignee: Aleksey Kasatkin (alekseyk-ru) → Aleksandr Didenko (adidenko)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-library (master)

Reviewed: https://review.openstack.org/222764
Committed: https://git.openstack.org/cgit/openstack/fuel-library/commit/?id=4343f1ab8be55ae85758c20d3904d1f29700b619
Submitter: Jenkins
Branch: master

commit 4343f1ab8be55ae85758c20d3904d1f29700b619
Author: Nikita Koshikov <email address hidden>
Date: Tue Sep 22 17:11:05 2015 -0500

    Dynamic dnsmasq config for admin network ranges

    In order to successfully PXE/boot nodes from new racks we need to update
    cobbler's dnsmasq configuration on changes in admin networks of any
    nodegroup in any Fuel environment. Such changes should survive cobbler
    container restarts and rebuilds.

    In order to do so we need to execute the following on every change in
    admin netwoks configuration of any nodegroup we have in Fuel:
    - dump list of admin networks into /etc/hiera/networks.yaml file
      in mcollective container
    - run 'puppet apply nailgin/examples/dhcp-ranges.pp' inside mcollective
      container to update config files in shared /etc/dnsmasq.d/ dir
    - run 'cobbler sync' inside cobbler container to reload dnsmasq

    Co-Authored-By: Aleksandr Didenko <email address hidden>

    Blueprint: dynamic-dnsmasq
    Partial-bug: #1495593
    Change-Id: I9d7428c9fc21c705a1aee7fbca8003829a81e1d0

Changed in fuel:
assignee: Aleksandr Didenko (adidenko) → Aleksey Kasatkin (alekseyk-ru)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-web (master)

Reviewed: https://review.openstack.org/234335
Committed: https://git.openstack.org/cgit/openstack/fuel-web/commit/?id=4978a95bb7f3e0c8e096c0dce0fc0c664301513b
Submitter: Jenkins
Branch: master

commit 4978a95bb7f3e0c8e096c0dce0fc0c664301513b
Author: =Nikita Koshikov <email address hidden>
Date: Tue Sep 15 14:14:04 2015 -0500

    Update dnsmasq to setup dhcp when Admin networks are changed

    When parameters of any Admin network are changed or Admin network is
    deleted new UpdateDnsmasq task is called to setup dnsmasq with new
    configuration for dhcp.

    Co-Authored-By: Aleksei Kasatkin <email address hidden>

    Partial-Bug: #1495593

    Change-Id: I532f21508c78bd142fbd0aa1754bcb7b617b121b

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to fuel-qa (master)

Reviewed: https://review.openstack.org/239873
Committed: https://git.openstack.org/cgit/openstack/fuel-qa/commit/?id=56247644780110d42ad8f2008498d507e80689e6
Submitter: Jenkins
Branch: master

commit 56247644780110d42ad8f2008498d507e80689e6
Author: Artem Panchenko <email address hidden>
Date: Wed Oct 28 10:44:05 2015 +0200

    Don't configure Cobbler while using nodegroups

    Since automatic Cobbler (DHCP) configuration is
    implemented for nodegroups we don't need to do
    that in tests anymore.

    Change-Id: I53798807489b7db421af446ce37e203ea04e1e48
    Implements: blueprint align-nodegroups-tests
    Related-bug: #1495593

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Reviewed: https://review.openstack.org/240169
Committed: https://git.openstack.org/cgit/openstack/fuel-qa/commit/?id=672ce759ed0da4b9fa24febc2d4983da2254d9ef
Submitter: Jenkins
Branch: master

commit 672ce759ed0da4b9fa24febc2d4983da2254d9ef
Author: Artem Panchenko <email address hidden>
Date: Thu Oct 29 11:05:20 2015 +0200

    Boot slaves after creation of custom nodegroup

    Since DHCP server for additional admin/pxe networks
    is configured after nodegroup creation, we can't
    bootstrap slaves until we created cluster and setup
    its networks.
    Also align 'hacks' for multiple cluster networks
    tests with dynamic dnsmasq feature.

    Change-Id: I46b203d65a2fe2f0bb41288aaf8fb738d2bda495
    Implements: blueprint align-nodegroups-tests
    Related-bug: #1495593

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-web (master)

Reviewed: https://review.openstack.org/235264
Committed: https://git.openstack.org/cgit/openstack/fuel-web/commit/?id=477f52f2e5f2d7fcc26e19ec6f380d284ce87c2c
Submitter: Jenkins
Branch: master

commit 477f52f2e5f2d7fcc26e19ec6f380d284ce87c2c
Author: =Nikita Koshikov <email address hidden>
Date: Fri Sep 18 18:09:07 2015 -0500

    Set node to ERROR status if IP doesn't match Admin networks

    When a node group or cluster is deleted there can be some nodes in bootstrap
    which have IPs corresponding to those deleted node groups. They cannot be provisioned
    as dnsmasq configuration does not contain info about those networks anymore.
    Such nodes should be marked so that user can understand they are not usable.
    The best thing user can do in this situation is to reboot the nodes.

    Co-Authored-By: Aleksei Kasatkin <email address hidden>

    Partial-Bug: #1495593

    Change-Id: I402225fac73d254826479139cbf91ed03f037f95

Changed in fuel:
status: In Progress → Fix Committed
tags: added: on-verification
Changed in fuel:
status: Fix Committed → Fix Released
tags: removed: on-verification
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.