[Heat] Cluster hangs in "Waiting" state when it is deployed using Heat

Bug #1293962 reported by Sergey Kolekonov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Sahara
Fix Released
High
Alexander Ignatov

Bug Description

This bug is connected with Nova and Heat.
When a cluster is deployed with the Heat engine, Heat uses Neutron client to allocate and assign floating ip addresses to instances. Nova sometimes doesn't add these addresses to its database. When Sahara tries to get an instance's fixed ip address from Nova it doesn't show it because there's no record with addresses for the desired instance in the Nova's database. Sahara will eternally poll Nova.

Tags: engine.heat
description: updated
Changed in sahara:
importance: Undecided → High
assignee: nobody → Alexander Ignatov (aignatov)
status: New → Confirmed
milestone: none → icehouse-rc1
tags: added: engine.heat
summary: - Cluster hangs in "Waiting" state when it is deployed with the Heat
- engine
+ Cluster hangs in "Waiting" state when it is deployed using Heat
summary: - Cluster hangs in "Waiting" state when it is deployed using Heat
+ [Heat] Cluster hangs in "Waiting" state when it is deployed using Heat
Changed in sahara:
status: Confirmed → Fix Committed
status: Fix Committed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to sahara (master)

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

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

Reviewed: https://review.openstack.org/82919
Committed: https://git.openstack.org/cgit/openstack/sahara/commit/?id=1b040dd22726b4210acada0193dad075b6b41c0e
Submitter: Jenkins
Branch: master

commit 1b040dd22726b4210acada0193dad075b6b41c0e
Author: Alexander Ignatov <email address hidden>
Date: Wed Mar 26 00:47:40 2014 +0400

    Add fixed and floating IPs discovery via neutron

    * Heat uses neutronclient and in some cases provisioned instances
      don't have allocated floating IP or/and fixed IP in the
      nova_client.servers.get(instance.id) or 'nova show <instance.id>'
      invocations. But Neutron may contain these properties intialized
      in FLoatingIP resources. So the algorithm is as follows:
      * We try to get IPs from nova.servers.get()
       * If succeded go to the next provisioning step
       * If some IP is empty trying to get it via Neutron
         * Search port by instance ID
         * Search FloatingIP resource by port ID
         * Get fixed or/and floating ips addresses from FloatingIP resource

    * Filtering search of port and FloatingIP resources improves performance
      because we don't need to check all ports and FloatingIPs in the
      Sahara's code and we rely on Neutron here

    Change-Id: I2ec377d268bfb426df4c18ac38c8d8e9a52542e0
    Closes-bug: #1293962

Changed in sahara:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in sahara:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in sahara:
milestone: icehouse-rc1 → 2014.1
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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