Bug 1509640 - The network-environment.yaml validator hangs with IPv6 addresses
Summary: The network-environment.yaml validator hangs with IPv6 addresses
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tripleo-validations
Version: 12.0 (Pike)
Hardware: Unspecified
OS: Unspecified
Target Milestone: beta
: 13.0 (Queens)
Assignee: Florian Fuchs
QA Contact: nlevinki
Depends On:
Blocks: 1301549 1513624
TreeView+ depends on / blocked
Reported: 2017-11-05 11:45 UTC by Udi
Modified: 2018-06-27 13:39 UTC (History)
6 users (show)

Fixed In Version: openstack-tripleo-validations-8.3.1-0.20180304031640.d5546cd.el7ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2018-06-27 13:39:00 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Priority Status Summary Last Updated
OpenStack gerrit 529593 None master: MERGED tripleo-validations: Improve netenv validation and add IPv6 tests (Icbd2e6483c991835d62429d06b5745742186b5c5) 2018-03-21 13:31:32 UTC
Red Hat Product Errata RHEA-2018:2086 None None None 2018-06-27 13:39:48 UTC

Description Udi 2017-11-05 11:45:33 UTC
Description of problem:
I uploaded a network-environment.yaml file with IPv6 addresses to the plan:

  InternalApiNetCidr: 'fd00:fd00:fd00:2000::/64'
  InternalApiAllocationPools: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}]
  InternalApiNetworkVlanID: 200

  StorageNetCidr: 'fd00:fd00:fd00:3000::/64'
  StorageAllocationPools: [{'start': 'fd00:fd00:fd00:3000::10', 'end': 'fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe'}]
  StorageNetworkVlanID: 300

  StorageMgmtNetCidr: 'fd00:fd00:fd00:4000::/64'
  StorageMgmtAllocationPools: [{'start': 'fd00:fd00:fd00:4000::10', 'end': 'fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe'}]
  StorageMgmtNetworkVlanID: 301

  ExternalNetCidr: '2001:db8:ca2:4::/64'
  ExternalAllocationPools: [{'start': '2001:db8:ca2:4::0100', 'end': '2001:db8:ca2:4:ffff:ffff:ffff:ff00'}]
  ExternalInterfaceDefaultRoute: 2001:db8:ca2:4::1
  ExternalNetworkVlanID: 10

  TenantAllocationPools: [{'start': '', 'end': ''}]

  ControlPlaneSubnetCidr: "25"
  # ControlPlaneDefaultRoute:

  # EC2MetadataIp:
  DnsServers: ["",""]
  NtpServer: ["clock.redhat.com","clock.redhat.com"]

When I ran the validator, it hanged.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. Edit your network-environment.yaml file with the above changes.
2. Upload the file to the plan:
openstack object create overcloud environments/network-environment.yaml
3. Run the validator:
ansible-playbook -i /usr/bin/tripleo-ansible-inventory /usr/share/openstack-tripleo-validations/validations/network-environment.yaml

Actual results:
It hangs forever

Comment 3 Florian Fuchs 2018-01-08 13:46:19 UTC
The reason why the validation hangs is that it test *all* IPs in a range defined in *AllocationPools against the corresponding *NetCidr subnet. If the range is as large as in the example the validation runs for a *very* long time.

The fix attached to the report uses the IPRange python object to check the validity of the range instead of testing every IP separately.

Comment 6 Udi 2018-04-18 07:17:06 UTC
Verified: openstack-tripleo-validations-8.4.0-1.el7ost.noarch

A new problem was found, where if the network-environment.yaml file is missing, the GUI doesn't show the failure and the spinner spins forever: https://bugzilla.redhat.com/show_bug.cgi?id=1568706

Comment 8 errata-xmlrpc 2018-06-27 13:39:00 UTC
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.


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