Ido Barkan has uploaded a new change for review.
Change subject: factor out parts of setupNetworks for better readability ......................................................................
factor out parts of setupNetworks for better readability
Change-Id: Icb26c288b8f466e5f1009d889dacf3e17d45891c Signed-off-by: ibarkan ibarkan@redhat.com --- M vdsm/network/api.py 1 file changed, 53 insertions(+), 37 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/91/35691/1
diff --git a/vdsm/network/api.py b/vdsm/network/api.py index 6843789..1fa4445 100755 --- a/vdsm/network/api.py +++ b/vdsm/network/api.py @@ -600,6 +600,55 @@ topNetDev.remove()
+def _add_missing_networks(configurator, networks_to_add, bondings, force, + logger, _netinfo=None): + # We need to use the newest host info + if _netinfo is None: + _netinfo = netinfo.NetInfo() + else: + _netinfo.updateDevices() + + for network, attrs in networks_to_add.iteritems(): + d = dict(attrs) + if 'bonding' in d: + d.update(_buildBondOptions(d['bonding'], bondings, _netinfo)) + else: + d['nics'] = [d.pop('nic')] if 'nic' in d else [] + d['force'] = force + + logger.debug("Adding network %r", network) + try: + addNetwork(network, configurator=configurator, + implicitBonding=True, _netinfo=_netinfo, **d) + except ConfigNetworkError as cne: + if cne.errCode == ne.ERR_FAILED_IFUP: + logger.debug("Adding network %r failed. Running " + "orphan-devices cleanup", network) + _emergencyNetworkCleanup(network, attrs, + configurator) + raise + + _netinfo.updateDevices() # Things like a bond mtu can change + + +def _check_connectivity(connectivity_check_networks, networks, bondings, + options, logger): + if utils.tobool(options.get('connectivityCheck', True)): + logger.debug('Checking connectivity...') + if not clientSeen(int(options.get('connectivityTimeout', + CONNECTIVITY_TIMEOUT_DEFAULT))): + logger.info('Connectivity check failed, rolling back') + for network in connectivity_check_networks: + # If the new added network was created on top of + # existing bond, we need to keep the bond on rollback + # flow, else we will break the new created bond. + delNetwork(network, force=True, + implicitBonding=networks[network]. + get('bonding') in bondings) + raise ConfigNetworkError(ne.ERR_LOST_CONNECTION, + 'connectivity check failed') + + def setupNetworks(networks, bondings, **options): """Add/Edit/Remove configuration for networks and bondings.
@@ -701,44 +750,11 @@
_handleBondings(bondings, configurator)
- # We need to use the newest host info - _netinfo.updateDevices() - for network, attrs in networks_to_add.iteritems(): - d = dict(attrs) - if 'bonding' in d: - d.update(_buildBondOptions(d['bonding'], bondings, _netinfo)) - else: - d['nics'] = [d.pop('nic')] if 'nic' in d else [] - d['force'] = force + _add_missing_networks(configurator, networks_to_add, bondings, force, + logger, _netinfo)
- logger.debug("Adding network %r", network) - try: - addNetwork(network, configurator=configurator, - implicitBonding=True, _netinfo=_netinfo, **d) - except ConfigNetworkError as cne: - if cne.errCode == ne.ERR_FAILED_IFUP: - logger.debug("Adding network %r failed. Running " - "orphan-devices cleanup", network) - _emergencyNetworkCleanup(network, attrs, - configurator) - raise - - _netinfo.updateDevices() # Things like a bond mtu can change - - if utils.tobool(options.get('connectivityCheck', True)): - logger.debug('Checking connectivity...') - if not clientSeen(int(options.get('connectivityTimeout', - CONNECTIVITY_TIMEOUT_DEFAULT))): - logger.info('Connectivity check failed, rolling back') - for network in connectivity_check_networks: - # If the new added network was created on top of - # existing bond, we need to keep the bond on rollback - # flow, else we will break the new created bond. - delNetwork(network, force=True, - implicitBonding=networks[network]. - get('bonding') in bondings) - raise ConfigNetworkError(ne.ERR_LOST_CONNECTION, - 'connectivity check failed') + _check_connectivity(connectivity_check_networks, networks, bondings, + options, logger)
hooks.after_network_setup(_buildSetupHookDict(networks, bondings, options))
oVirt Jenkins CI Server has posted comments on this change.
Change subject: factor out parts of setupNetworks for better readability ......................................................................
Patch Set 1:
Build Failed
http://jenkins.ovirt.org/job/vdsm_master_network_functional_tests_gerrit/231... : There was an infra issue, please contact infra@ovirt.org
http://jenkins.ovirt.org/job/vdsm_master_pep8_gerrit/13742/ : SUCCESS
http://jenkins.ovirt.org/job/vdsm_master_unit_tests_gerrit_el/12953/ : FAILURE
http://jenkins.ovirt.org/job/vdsm_master_unit-tests_created/13905/ : FAILURE
Ido Barkan has posted comments on this change.
Change subject: factor out parts of setupNetworks for better readability ......................................................................
Patch Set 1: Verified+1
oVirt Jenkins CI Server has posted comments on this change.
Change subject: factor out parts of setupNetworks for better readability ......................................................................
Patch Set 2: Code-Review-1 Verified-1
Build Failed
http://jenkins.ovirt.org/job/vdsm_master_pep8_gerrit/13824/ : UNSTABLE
http://jenkins.ovirt.org/job/vdsm_master_unit_tests_gerrit_el/13035/ : FAILURE
http://jenkins.ovirt.org/job/vdsm_master_unit-tests_created/13987/ : FAILURE
http://jenkins.ovirt.org/job/vdsm_master_network_functional_tests_gerrit/234... : There was an infra issue, please contact infra@ovirt.org
oVirt Jenkins CI Server has posted comments on this change.
Change subject: factor out parts of setupNetworks for better readability ......................................................................
Patch Set 3:
Build Failed
http://jenkins.ovirt.org/job/vdsm_master_pep8_gerrit/13828/ : SUCCESS
http://jenkins.ovirt.org/job/vdsm_master_unit_tests_gerrit_el/13039/ : FAILURE
http://jenkins.ovirt.org/job/vdsm_master_unit-tests_created/13991/ : FAILURE
http://jenkins.ovirt.org/job/vdsm_master_network_functional_tests_gerrit/234... : There was an infra issue, please contact infra@ovirt.org
Ido Barkan has posted comments on this change.
Change subject: factor out parts of setupNetworks for better readability ......................................................................
Patch Set 3: Verified+1
Dan Kenigsberg has posted comments on this change.
Change subject: factor out parts of setupNetworks for better readability ......................................................................
Patch Set 3: Code-Review+2
Dan Kenigsberg has submitted this change and it was merged.
Change subject: factor out parts of setupNetworks for better readability ......................................................................
factor out parts of setupNetworks for better readability
Change-Id: Icb26c288b8f466e5f1009d889dacf3e17d45891c Signed-off-by: ibarkan ibarkan@redhat.com Reviewed-on: http://gerrit.ovirt.org/35691 Reviewed-by: Dan Kenigsberg danken@redhat.com --- M vdsm/network/api.py 1 file changed, 56 insertions(+), 40 deletions(-)
Approvals: Ido Barkan: Verified Dan Kenigsberg: Looks good to me, approved
oVirt Jenkins CI Server has posted comments on this change.
Change subject: factor out parts of setupNetworks for better readability ......................................................................
Patch Set 4:
Build Failed
http://jenkins.ovirt.org/job/vdsm_master-libfapi_create-rpms-el6-x86_64_merg... : SUCCESS
http://jenkins.ovirt.org/job/vdsm_master_create-rpms-fc21-x86_64_merged/260/ : FAILURE
http://jenkins.ovirt.org/job/vdsm_master-libfapi_create-rpms-fc20-x86_64_mer... : SUCCESS
http://jenkins.ovirt.org/job/vdsm_master_create-rpms_merged_test_debug/477/ : SUCCESS
http://jenkins.ovirt.org/job/vdsm_master-libfapi_create-rpms-el7-x86_64_merg... : SUCCESS
http://jenkins.ovirt.org/job/vdsm_master_create-rpms-fc20-x86_64_merged/275/ : SUCCESS
http://jenkins.ovirt.org/job/vdsm_master_unit-tests_merged/4269/ : FAILURE
http://jenkins.ovirt.org/job/vdsm_master_create-rpms-el6-x86_64_merged/282/ : SUCCESS
http://jenkins.ovirt.org/job/vdsm_master_create-rpms-el7-x86_64_merged/284/ : FAILURE
http://jenkins.ovirt.org/job/vdsm_master-libfapi_create-rpms-fc21-x86_64_mer... : SUCCESS
http://jenkins.ovirt.org/job/vdsm_master_verify-error-codes_merged/6107/ : SUCCESS
vdsm-patches@lists.fedorahosted.org