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

DNM Check binding dnsmasq listen-address to 0.0.0.0 #2454

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

danpawlik
Copy link
Contributor

There is an issue, that the DNS requests are redirected to the cloud provider to resolve domain: api-int.crc.testing. Normally it is right that it want to resolve, but the dnsmasq should take the query and reply, however this is not the case.
Let's set the dnsmasq listen-address to be accessible to all addresses on that host.

Copy link
Contributor

openshift-ci bot commented Oct 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

Copy link
Contributor

openshift-ci bot commented Oct 14, 2024

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign rlandy for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found 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

@arxcruz
Copy link
Contributor

arxcruz commented Oct 14, 2024

/ok-to-test

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://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/feb9d6a98c7245719a35903b68cb9285

✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 49m 44s
podified-multinode-edpm-deployment-crc RETRY_LIMIT in 11m 47s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 22m 09s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 7m 04s
✔️ cifmw-pod-pre-commit SUCCESS in 7m 15s
✔️ build-push-container-cifmw-client SUCCESS in 36m 37s
✔️ cifmw-molecule-ci_network SUCCESS in 4m 21s
✔️ cifmw-molecule-dnsmasq SUCCESS in 4m 34s
cifmw-molecule-libvirt_manager FAILURE in 15m 10s
cifmw-molecule-reproducer FAILURE in 11m 53s

@danpawlik danpawlik force-pushed the improve-dns-config branch 2 times, most recently from a4ec153 to 9a66deb Compare October 15, 2024 07:47
There is an issue, that the DNS requests are redirected to the cloud
provider to resolve domain: api-int.crc.testing. Normally it is right
that it want to resolve, but the dnsmasq should take the query and
reply, however this is not the case.
Let's set the dnsmasq listen-address to be accessible to all addresses
on that host.
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://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/f79008ea1cc64676997c6a96481acbc4

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 22m 41s
podified-multinode-edpm-deployment-crc FAILURE in 1h 41m 05s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 24m 29s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 7m 49s
✔️ cifmw-pod-pre-commit SUCCESS in 7m 19s
✔️ build-push-container-cifmw-client SUCCESS in 37m 54s
✔️ cifmw-molecule-ci_network SUCCESS in 4m 21s
✔️ cifmw-molecule-libvirt_manager SUCCESS in 30m 39s
✔️ cifmw-molecule-reproducer SUCCESS in 14m 00s

@danpawlik
Copy link
Contributor Author

recheck

@@ -197,7 +197,8 @@
cifmw_dnsmasq_network_name: "{{ item.name }}"
cifmw_dnsmasq_network_state: present
cifmw_dnsmasq_network_definition: "{{ item }}"
cifmw_dnsmasq_network_listen_addresses: "{{ _dns_address[item.name] }}"
cifmw_dnsmasq_network_listen_addresses:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please drop this file from this PR

@@ -1,5 +1,5 @@
# This file is generated by ci-framework tool
listen-address={{ config.listen_addresses | join(',') }}
listen-address=0.0.0.0
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please drop this file from this PR

@@ -60,8 +60,7 @@
vars:
data:
listen_addresses:
- "127.0.0.1"
- "{{ ansible_default_ipv4.address }}"
- "0.0.0.0"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please drop this file from this PR

- name: Configure dnsmasq listen-address to listen on both br-ex and ci-private-network
when:
- not _dnsmasq.stat.exists
become: true
ansible.builtin.lineinfile:
path: "{{ _dnsmasq_config }}"
insertafter: '^listen-address='
line: "listen-address={{ _crc_default_net_ip | ansible.utils.ipaddr('address') }}"
insertbefore: '^expand-hosts'
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason it needs to be before expand-hosts? if not, please just add it to EOF like line 95

Suggested change
insertbefore: '^expand-hosts'
insertafter: "EOF"

validate: "{{ _validate }}"

- name: Print current config
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove this after your testing.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

of course ;)

@lewisdenny lewisdenny self-assigned this Oct 15, 2024
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://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/ae5b7ea489f14dd9ad2ac4f792c5c7d8

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 08m 11s
podified-multinode-edpm-deployment-crc FAILURE in 1h 43m 55s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 33m 29s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 20s
✔️ cifmw-pod-pre-commit SUCCESS in 7m 09s
build-push-container-cifmw-client FAILURE in 15m 55s
✔️ cifmw-molecule-ci_network SUCCESS in 4m 03s
✔️ cifmw-molecule-libvirt_manager SUCCESS in 30m 11s
✔️ cifmw-molecule-reproducer SUCCESS in 13m 34s

@lewisdenny
Copy link
Collaborator

recheck
infra issues: Error: initializing source docker://quay.io/podified-antelope-centos9/openstack-iscsid:current-podified: pinging container registry quay.io: Get \\\"https://quay.io/v2/\\\": dial tcp: lookup quay.io:

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://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/2cdaca7fde544665ab344402da7ccd83

✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 58m 11s
podified-multinode-edpm-deployment-crc FAILURE in 1h 45m 58s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 29m 15s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 7m 44s
✔️ cifmw-pod-pre-commit SUCCESS in 7m 35s
build-push-container-cifmw-client FAILURE in 7m 28s
✔️ cifmw-molecule-ci_network SUCCESS in 4m 49s
✔️ cifmw-molecule-libvirt_manager SUCCESS in 40m 22s
✔️ cifmw-molecule-reproducer SUCCESS in 16m 58s

@danpawlik
Copy link
Contributor Author

Probably that change will require additional task that was proposed https://review.rdoproject.org/r/c/config/+/55035/4/roles/prepare-crc-extracted/tasks/dnsmasq-nm.yaml#80

which contains:

        - name: Set the bind interfaces
          become: true
          ansible.builtin.lineinfile:
            path: /etc/dnsmasq.d/crc-dnsmasq.conf
            line: "interface={{ item }}"
          loop: "{{ ansible_facts['interfaces'] }}"
          when: "{{ item.startswith('enp') }} or {{ item.startswith('eth') }}"

It is just a PoC.

Copy link

github-actions bot commented Nov 1, 2024

This PR is stale because it has been for over 15 days with no activity.
Remove stale label or comment or this will be closed in 7 days.

@github-actions github-actions bot added the Stale label Nov 1, 2024
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.

3 participants