Bug 1468700 - Azure refresh fails with private_ip_address property not found
Azure refresh fails with private_ip_address property not found
Status: CLOSED ERRATA
Product: Red Hat CloudForms Management Engine
Classification: Red Hat
Component: Providers (Show other bugs)
5.8.0
Unspecified Unspecified
unspecified Severity high
: GA
: 5.8.2
Assigned To: Daniel Berger
Leo Khomenko
azure:ems_refresh
: ZStream
Depends On: 1467403 1494143
Blocks:
  Show dependency treegraph
 
Reported: 2017-07-07 12:49 EDT by Satoe Imaishi
Modified: 2017-09-21 10:24 EDT (History)
11 users (show)

See Also:
Fixed In Version: 5.8.1.2
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1467403
Environment:
Last Closed: 2017-08-02 13:33:18 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: CFME Core


Attachments (Terms of Use)

  None (edit)
Comment 2 CFME Bot 2017-07-07 12:53:07 EDT
New commit detected on ManageIQ/manageiq-providers-azure/fine:
https://github.com/ManageIQ/manageiq-providers-azure/commit/352f7052bddc3c66651ad772e478e8eb0175e811

commit 352f7052bddc3c66651ad772e478e8eb0175e811
Author:     Bronagh Sorota <bsorota@redhat.com>
AuthorDate: Tue Jun 27 09:38:26 2017 -0400
Commit:     Satoe Imaishi <simaishi@redhat.com>
CommitDate: Fri Jul 7 12:49:33 2017 -0400

    Merge pull request #85 from djberg96/private_ip
    
    Handle possibility of network_port not having private_ip_address
    (cherry picked from commit cb44c138c3496d5cc7326dc4df923c10969e170e)
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1468700

 app/models/manageiq/providers/azure/network_manager/refresh_parser.rb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Comment 5 Bronagh Sorota 2017-07-25 09:50:11 EDT
Hi Jeff,
Can you answer Leo's question?
Thanks
Bronagh
Comment 6 Jeff Teehan 2017-07-25 11:34:14 EDT
You automatically get a 10.x.x.x ip address (or however you define your sub) when you create a VM whether you ask for it or not.  You have to connect somehow.  Is the bug that it's not showing up in the IP list.

Just picking a VM at random, it is showing the private IP address - 

Azure

PUBLIC IP ADDRESS/DNS NAME LABEL
13.68.100.168/<none>
PRIVATE IP ADDRESS
10.3.0.4

CFME

Name	cu-24x7
IP Addresses	10.3.0.4, 13.68.100.168

Looks fine to me.
Comment 8 Jeff Teehan 2017-07-25 12:10:19 EDT
It is possible to add an IPV6 to a load balancer for internal communication.  I'll have to take a look.  I'm still not aware of how to assign an IPV6 to a VM directly but that doesn't mean something hasn't changed recently.
Comment 9 Jeff Teehan 2017-07-25 19:56:25 EDT
Took a half a day but I think I figured it out.  The only way to get an IPV6 attached to a VM is to spin up an entire Load Balancer.  I'll paste the code under a separate pastebin or equivelent.

[----] E, [2017-07-25T17:05:11.235152 #21461:79b134] ERROR -- : MIQ(MiqQueue#deliver) Message id: [31243], Error: [undefined method `subnet' for #<Azure::Armrest::Network::NetworkInterface::Properties::IpConfiguration::Properties:0x0000000a025be8>]
[----] E, [2017-07-25T17:05:11.235323 #21461:79b134] ERROR -- : [EmsRefresh::Refreshers::EmsRefresherMixin::PartialRefreshError]: undefined method `subnet' for #<Azure::Armrest::Network::NetworkInterface::Properties::IpConfiguration::Properties:0x0000000a025be8>  Method:[rescue in deliver]
Comment 10 Bronagh Sorota 2017-07-27 14:00:01 EDT
Leo,
Are you in a position to test this now that Jeff has provided steps to reproduce this?
Thanks
Bronagh
Comment 11 Jeff Teehan 2017-07-27 15:44:53 EDT
Here's a script to create what you need, but it's already been run.  Just add the standard azure provider and check the evm.log until the error goes away.

You'll see the whole shebang in a resource group called LBIP4IP6.  Just turn the two VMs on and refresh cfme after they are running.

https://mojo.redhat.com/docs/DOC-1145084
Comment 12 Leo Khomenko 2017-08-01 03:59:51 EDT
Bronagh, it's reproducible
As Jeff wrote - now we have:
E, [2017-08-01T03:47:36.722872 #32376:98713c] ERROR -- : MIQ(ManageIQ::Providers::Azure::NetworkManager::Refresher#refresh) EMS: [azure Network Manager], id: [2] Refresh failed
[----] E, [2017-08-01T03:47:36.728311 #32376:98713c] ERROR -- : [NoMethodError]: undefined method `subnet' for #<Azure::Armrest::Network::NetworkInterface::Properties::IpConfiguration::Properties:0x000000124bf480>  Method:[rescue in block in refresh]
[----] E, [2017-08-01T03:47:36.728455 #32376:98713c] ERROR -- : /opt/rh/cfme-gemset/bundler/gems/manageiq-providers-azure-ae2e0e06ee85/app/models/manageiq/providers/azure/network_manager/refresh_parser.rb:394:in `parse_cloud_subnet_network_port'

It is based on IPV6 IP Configuration without Private IP address assigned to VM/Nic
Comment 15 errata-xmlrpc 2017-08-02 13:33:18 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2017:1758

Note You need to log in before you can comment on or make changes to this bug.