Extremely slow fuel installation if external ip is not provided for kickstart

Bug #1564350 reported by Vladimir Khlyunev
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Committed
High
Sergey Kulanov

Bug Description

In case of clear installation without fuel-qa scripts: for every batch of packages in [0] fuel tries to resolve "mirror.fuel-infra.org" hostname which is unavailable (because external ip is not configured via fuelmenu at this moment) [1]
This leads to extremely slow deployment.

Steps to reproduce:
1. Just boot the iso on clear mashine, do not pass anything via ks.

Expected result: we should ask for external ip before deployment or use only local repository

Actual result: for each iteration fuel tries to resolve the host name three times

ISO: fuel-community-9.0-3980-2016-03-31_06-07-00.iso and 9.0-121 (snapshot/shotgun2 report is not available because it still deploys...)

[0] https://github.com/openstack/fuel-main/blob/master/iso/bootstrap_admin_node.sh#L232
[1] http://puu.sh/o0zfp/4c9e59a964.png

tags: added: area-library tech-debt
Changed in fuel:
assignee: nobody → Fuel Library Team (fuel-library)
status: New → Confirmed
Revision history for this message
Maksim Malchuk (mmalchuk) wrote :

Access to the internet and external repos is required to install the Fuel since 8.0 version

Changed in fuel:
status: Confirmed → Invalid
Revision history for this message
Maksim Malchuk (mmalchuk) wrote :

From the official documentation:

Fuel Master Node network requirements

To deploy the Fuel Slave nodes on which you will run your Controller, Compute, Storage or other nodes, the Fuel Master node must have access to the Internet.

https://docs.mirantis.com/openstack/fuel/fuel-8.0/fuel-install-guide.html#sysreqs-network-reqs

Revision history for this message
Vladimir Khlyunev (vkhlyunev) wrote :

But this dns issue happens BEFORE fuelmenu allow user to configure external IP address so there is no ability to configure access to external network

Changed in fuel:
status: Invalid → New
Revision history for this message
Maksim Malchuk (mmalchuk) wrote :

This is because here:
https://github.com/openstack/fuel-main/blob/master/iso/bootstrap_admin_node.sh#L234
bootstrap_admin_node.sh trying to install the packages and yum wants to connect to the external repo

This is not a bug because to install Fuel master note this is one of the REQUIREMENTS !

Changed in fuel:
status: New → Invalid
Revision history for this message
Ilya Kharin (akscram) wrote :

Maksim, please take a look how it is implemented [1]. What I see there it is a wrong using of `yum install` that will be runned for each package in that list.

[1] https://github.com/openstack/fuel-main/blob/master/iso/bootstrap_admin_node.sh#L234

Revision history for this message
Ilya Kharin (akscram) wrote :

The reason of this approach is not clear to me even though there is an explanation there [1]:

> When you install multiple packages, it is better to use xargs. Otherwise yum succeeds even if not all packages from the list are installed.

[1] https://review.openstack.org/#/c/280729/6/iso/bootstrap_admin_node.sh@203

Revision history for this message
Ilya Kharin (akscram) wrote :

Maksim, you are right, yum is trying but it's trying to do this 35*5 times.

Revision history for this message
Ilya Kharin (akscram) wrote :

Ok, I got it, they are trying to solve the problem when some packages will not be found and let it fail.

Revision history for this message
Vladimir Khlyunev (vkhlyunev) wrote :

Please point me to "required internet access for installation of fuel master" at https://docs.fuel-infra.org/openstack/fuel/fuel-8.0/fuel-install-guide.html#sysreq-intro . At https://docs.fuel-infra.org/openstack/fuel/fuel-8.0/fuel-install-guide.html#install-fuel I can see that "in case of inaccessible internet create local mirror and use it" - but at the moment of appearing the timeouts there is no possible to configure mirrors. Also before https://review.openstack.org/#/c/287076/ in case of installation from ISO we were disabling mos-mirrors for avoiding this situation.

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/301072

Changed in fuel:
assignee: Fuel Library Team (fuel-library) → Sergey Kulanov (skulanov)
status: Invalid → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-main (master)

Reviewed: https://review.openstack.org/301072
Committed: https://git.openstack.org/cgit/openstack/fuel-main/commit/?id=65eac310127b619b85599d710b4c18f79ec6a869
Submitter: Jenkins
Branch: master

commit 65eac310127b619b85599d710b4c18f79ec6a869
Author: Sergey Kulanov <email address hidden>
Date: Mon Apr 4 14:45:31 2016 +0300

    Fix installation packages order

    We need to align package order installation during
    master node deployment:
     * Online repos should be disabled ASAP during ISO
       installation
     * Security and Updates repos should be enabled
       after network configuration is done

    Change-Id: I194aedf894dd2fb36da5ee209e07709f2bb0a6cc
    Closes-bug: #1564350

Changed in fuel:
status: In Progress → Fix Committed
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.