Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[networking_mapper] Switch to best effort strategy #1692

Merged
merged 1 commit into from
May 29, 2024

Conversation

pablintino
Copy link
Collaborator

@pablintino pablintino commented May 14, 2024

With the introduction of IPv6 the mapper now needs to perform partial maps with hosts in the inventory that are not yet reachable, so it needs to be able to perform the mapping without a full set of ansible facts.

The strategy that the PR follows is the next one:

  • Despite the type of mapping, full or partial, do a best effort approach without failing if a fact is missing.
  • In partial maps, allow the mapper to take the interfaces-info
  • Avoid refreshing networking facts for those hosts that has not ansible_host fact present, assuming those are not reachable.

As a pull request owner and reviewers, I checked that:

  • Appropriate testing is done and actually running
  • Appropriate documentation exists and/or is up-to-date:
    • README in the role
    • Content of the docs/source is reflecting the changes

Copy link
Contributor

openshift-ci bot commented May 14, 2024

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@pablintino pablintino force-pushed the networking_mapper/best-effort branch from 20f1638 to f6664d1 Compare May 14, 2024 13:02
Copy link

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://review.rdoproject.org/zuul/buildset/8eca50a395784809ab79b46527d2081c

✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 34m 19s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 14m 03s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 15m 06s
✔️ noop SUCCESS in 0s
cifmw-pod-ansible-test FAILURE in 6m 25s
✔️ cifmw-pod-pre-commit SUCCESS in 7m 34s
cifmw-molecule-networking_mapper FAILURE in 5m 19s

@cjeanner cjeanner added the ipv6 label May 16, 2024
@pablintino pablintino force-pushed the networking_mapper/best-effort branch 6 times, most recently from 5755af3 to 3ca980f Compare May 21, 2024 16:02
Copy link

Merge Failed.

This change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset.
Warning:
Error merging github.com/openstack-k8s-operators/ci-framework for 1692,3ca980f02a0ff88c07b415398a46717cf02e3a1b

Copy link

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://review.rdoproject.org/zuul/buildset/4b903599a102434a9615a63e3abbeb10

✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 38m 09s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 19m 46s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 19m 52s
✔️ noop SUCCESS in 0s
cifmw-pod-ansible-test FAILURE in 5m 38s
cifmw-pod-pre-commit FAILURE in 7m 49s
cifmw-molecule-ci_nmstate FAILURE in 15m 25s
✔️ cifmw-molecule-networking_mapper SUCCESS in 6m 35s

@pablintino pablintino force-pushed the networking_mapper/best-effort branch 4 times, most recently from cf81e07 to 6aef8ed Compare May 22, 2024 11:51
Copy link

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://review.rdoproject.org/zuul/buildset/20806dc74a7748bc8fb181dfa0cdaab8

✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 50m 16s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 20m 46s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 30m 33s
✔️ noop SUCCESS in 0s
cifmw-pod-ansible-test FAILURE in 7m 36s
cifmw-pod-pre-commit FAILURE in 9m 53s
cifmw-molecule-ci_nmstate FAILURE in 12m 09s
✔️ cifmw-molecule-networking_mapper SUCCESS in 7m 09s

@pablintino pablintino force-pushed the networking_mapper/best-effort branch from 6aef8ed to b8776f7 Compare May 22, 2024 14:00
Copy link

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://review.rdoproject.org/zuul/buildset/f837d5c6d3ad4a0ba3657633a3423161

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 06m 24s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 19m 30s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 21m 47s
✔️ noop SUCCESS in 0s
cifmw-pod-ansible-test FAILURE in 6m 58s
cifmw-pod-pre-commit FAILURE in 10m 26s
cifmw-molecule-ci_nmstate FAILURE in 12m 28s
✔️ cifmw-molecule-networking_mapper SUCCESS in 6m 50s

@pablintino pablintino force-pushed the networking_mapper/best-effort branch 3 times, most recently from 07f0fcf to 1093909 Compare May 22, 2024 16:46
Copy link

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://review.rdoproject.org/zuul/buildset/3a92013e3e5c489e8470fbfe6dc045e5

openstack-k8s-operators-content-provider FAILURE in 18m 35s
⚠️ podified-multinode-edpm-deployment-crc SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
⚠️ cifmw-crc-podified-edpm-baremetal SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 9m 10s
cifmw-pod-pre-commit FAILURE in 7m 50s
cifmw-molecule-ci_nmstate FAILURE in 12m 49s
✔️ cifmw-molecule-networking_mapper SUCCESS in 5m 26s

@pablintino pablintino force-pushed the networking_mapper/best-effort branch 2 times, most recently from 3cbbe10 to 6694bd2 Compare May 22, 2024 19:00
@pablintino pablintino force-pushed the networking_mapper/best-effort branch 5 times, most recently from 25c25b5 to 13451ac Compare May 27, 2024 11:54
@pablintino pablintino marked this pull request as ready for review May 27, 2024 11:54
@cjeanner
Copy link
Contributor

I could test this PR in #1767 successfully - could get all the needed data to fix VM IPs beforehand!

@cjeanner
Copy link
Contributor

/approve

(since I could successfully test it - I'll let @pablintino toggle the hold and related things + ask reviews from others)

Copy link
Contributor

openshift-ci bot commented May 27, 2024

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: cjeanner

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Copy link

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://review.rdoproject.org/zuul/buildset/a20621886fa7400cb63f2c6730041e95

✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 43m 31s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 18m 27s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 18m 14s
✔️ noop SUCCESS in 0s
cifmw-pod-ansible-test FAILURE in 6m 26s
✔️ cifmw-pod-pre-commit SUCCESS in 7m 50s
✔️ cifmw-pod-zuul-files SUCCESS in 4m 49s
✔️ cifmw-molecule-ci_nmstate SUCCESS in 14m 37s
✔️ cifmw-molecule-networking_mapper SUCCESS in 5m 21s

@pablintino pablintino force-pushed the networking_mapper/best-effort branch from 13451ac to 7dd0986 Compare May 27, 2024 14:35
Copy link

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://review.rdoproject.org/zuul/buildset/f87ae5f8bccf45fbaecd7046bb422700

openstack-k8s-operators-content-provider FAILURE in 9m 48s
⚠️ podified-multinode-edpm-deployment-crc SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
⚠️ cifmw-crc-podified-edpm-baremetal SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 32s
✔️ cifmw-pod-pre-commit SUCCESS in 7m 05s
✔️ cifmw-pod-zuul-files SUCCESS in 5m 17s
✔️ cifmw-molecule-ci_nmstate SUCCESS in 13m 32s
✔️ cifmw-molecule-networking_mapper SUCCESS in 5m 28s

@pablintino
Copy link
Collaborator Author

recheck

@pablintino pablintino force-pushed the networking_mapper/best-effort branch from 7dd0986 to 987b989 Compare May 28, 2024 08:16
@pablintino pablintino force-pushed the networking_mapper/best-effort branch from 987b989 to b86a098 Compare May 28, 2024 12:45
With the introduction of IPv6 the mapper now needs to perform
partial maps with hosts in the inventory that are not yet
reachable, so it needs to be able to perform the mapping without
a full set of ansible facts.

The strategy that the PR follows is the next one:
- Despite the type of mapping, full or partial, do a best effort
approach without failing if a fact is missing.
- In partial maps, allow the mapper to take the interfaces-info
- Avoid refreshing networking facts for those hosts that has
not ansible_host fact present, assuming those are not reachable.
@pablintino pablintino force-pushed the networking_mapper/best-effort branch from b86a098 to a003bad Compare May 28, 2024 13:11
@psathyan
Copy link
Contributor

Unit tested with uni01alpha job

TASK [Clean ansible fact cache path={{ ansible_user_dir }}/ansible_facts_cache, state=absent] ************************************************************************************************************************************************
Wednesday 29 May 2024  03:07:01 -0400 (0:00:00.360)       0:56:54.161 ********* 
changed: [localhost]

PLAY RECAP ***********************************************************************************************************************************************************************************************************************************
compute-0                  : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
compute-1                  : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
localhost                  : ok=321  changed=73   unreachable=0    failed=0    skipped=119  rescued=1    ignored=0   

Wednesday 29 May 2024  03:07:02 -0400 (0:00:00.466)       0:56:54.627 ********* 
=============================================================================== 
kustomize_deploy : Run Wait Conditions for examples/dt/uni01alpha ------------------------------------------------------------------------------------------------------------------------------------------------------------------ 1598.94s
kustomize_deploy : Run Wait Conditions for examples/dt/uni01alpha/networker --------------------------------------------------------------------------------------------------------------------------------------------------------- 776.41s
os_must_gather : Run openstack-must-gather command ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 506.78s
artifacts : Ensure we have proper rights on the gathered content -------------------------------------------------------------------------------------------------------------------------------------------------------------------- 172.74s
openshift_setup : Wait for openshift-marketplace pods to be running ------------------------------------------------------------------------------------------------------------------------------------------------------------------ 71.56s
ci_setup : Install needed packages --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 26.85s
run_hook : Run 01 Create cinder multi-attach volume type ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 17.24s
artifacts : Generate logs on edpm vm {{ item.split('/')[0] }} ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 14.58s
env_op_images : Get images from the CSV ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 9.88s
ci_local_storage : Fetch hostnames for all hosts -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 9.47s
ci_local_storage : Perform action in the PV directory --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 7.37s
ci_local_storage : Perform action in the PV directory --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 7.34s
ci_local_storage : Perform action in the PV directory --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 7.19s
Fetch network facts ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 5.98s
kustomize_deploy : Apply generated content for examples/dt/uni01alpha/networker ------------------------------------------------------------------------------------------------------------------------------------------------------- 5.74s
Run nova host discover process -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 5.32s
os_net_setup : Process subnet pool list elements -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 5.30s
repo_setup : Make sure git-core package is installed ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 5.11s
os_net_setup : Process network list elements ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 3.79s
os_net_setup : Process subnet list elements ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 3.50s

@openshift-ci openshift-ci bot added the lgtm label May 29, 2024
@openshift-merge-bot openshift-merge-bot bot merged commit 1f02507 into main May 29, 2024
6 checks passed
@openshift-merge-bot openshift-merge-bot bot deleted the networking_mapper/best-effort branch May 29, 2024 09:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants