[Starlingx-discuss] IPv6 issue when apply OpenStack on IPv6 simplex.

Liu, ZhipengS zhipengs.liu at intel.com
Mon Mar 23 13:49:37 UTC 2020


Hi Joseph,

I have updated my 2 patches, both tested on ipv4 and ipv6 setup.
https://review.opendev.org/#/c/714034/
https://review.opendev.org/#/c/714038/
But still failed when deploy keystone, glance, cinder later.
Common failure causes are found that need to bind host to :: instead of 0.0.0.0.
Otherwise, it will only bind port to ipv4 address, which causes db connect failure or pod probe failure.

After below changes, it can run until deploying cinder.
1)Change mariadb   value.yaml
conf:  bind adress  from  0.0.0.0 to ::
2) Change keystone   value.yaml
  wsgi_keystone: |
    {{- $portInt := tuple "identity" "internal" "api" $ | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
     Listen 0.0.0.0:{{ $portInt }}   change to Listen :::{{ $portInt }}
3) Change glance value.yaml
    Conf.Default:
    add bind_host = "::"

I have to check these services deploy one by one.

Thanks!
Zhipeng

From: Liu, ZhipengS
Sent: 2020年3月19日 22:00
To: 'Richard, Joseph' <Joseph.Richard at windriver.com>
Cc: starlingx-discuss at lists.starlingx.io
Subject: RE: [Starlingx-discuss] IPv6 issue when apply OpenStack on IPv6 simplex.

Thanks Joseph!
I guess it can go further.
But keystone-db failed, which is the same as I met in my another ipv4 setup.
I will build an EB based on a latest green daily build.
The patch will come soon for your review.

Thanks!
Zhipeng
From: Richard, Joseph <Joseph.Richard at windriver.com<mailto:Joseph.Richard at windriver.com>>
Sent: 2020年3月19日 21:20
To: Liu, ZhipengS <zhipengs.liu at intel.com<mailto:zhipengs.liu at intel.com>>
Cc: starlingx-discuss at lists.starlingx.io<mailto:starlingx-discuss at lists.starlingx.io>
Subject: Re: [Starlingx-discuss] IPv6 issue when apply OpenStack on IPv6 simplex.

Great!
We definitely did support this before openstack-helm and openstack-helm-infra were upversioned around December.

You should be able to control this in the rabbitmq helm plugin, so you can modify the behaviour based on ip version.
https://github.com/starlingx/config/blob/master/sysinv/sysinv/sysinv/sysinv/helm/rabbitmq.py

Once you get passed this point, does everything else come up as well?  Does the app successfully apply?

________________________________
From: Liu, ZhipengS <zhipengs.liu at intel.com<mailto:zhipengs.liu at intel.com>>
Sent: Thursday, March 19, 2020 5:21 AM
To: Richard, Joseph <Joseph.Richard at windriver.com<mailto:Joseph.Richard at windriver.com>>
Cc: starlingx-discuss at lists.starlingx.io<mailto:starlingx-discuss at lists.starlingx.io> <starlingx-discuss at lists.starlingx.io<mailto:starlingx-discuss at lists.starlingx.io>>
Subject: RE: [Starlingx-discuss] IPv6 issue when apply OpenStack on IPv6 simplex.


Hi Joseph,



I fixed this issue now!!

After check port status by sudo ip -all netns exec lsof -I, it shows that Rabbitmq only bind 15672 to ipv4.

I add below changes and pass the rabbitmq deployment.

conf:

      rabbitmq:

        management.listener.port: 15672

       management.listener.ip: "::"



Next step: I have to think how to submit this patch to support both ipv4 and ipv6



BTW, are you sure we passed this test before using OpenStack- train version?

If not change helm chart, how can we pass it?



Thanks!

Zhipeng

From: Liu, ZhipengS
Sent: 2020年3月19日 10:07
To: Richard, Joseph <Joseph.Richard at windriver.com<mailto:Joseph.Richard at windriver.com>>; starlingx-discuss at lists.starlingx.io<mailto:starlingx-discuss at lists.starlingx.io>
Subject: RE: [Starlingx-discuss] IPv6 issue when apply OpenStack on IPv6 simplex.



Hi Joseph,



Below is my patch to make rabbitmq pod start in ipv6 setup.(This is not a formal patch)



>From 99fc5aff8d70645c3130552789ea51d82cd287b2 Mon Sep 17 00:00:00 2001

From: Zhipeng Liu <zhipengs.liu at intel.com<mailto:zhipengs.liu at intel.com>>

Date: Thu, 19 Mar 2020 18:53:07 +0800

Subject: [PATCH] Fix rabbtimq pod not starting issue in IPv6 setup



Signed-off-by: Zhipeng Liu <zhipengs.liu at intel.com<mailto:zhipengs.liu at intel.com>>

---

rabbitmq/templates/configmap-etc.yaml    | 8 +++++++-

rabbitmq/templates/job-cluster-wait.yaml | 2 ++

rabbitmq/templates/statefulset.yaml      | 8 ++++++++

3 files changed, 17 insertions(+), 1 deletion(-)



diff --git a/rabbitmq/templates/configmap-etc.yaml b/rabbitmq/templates/configmap-etc.yaml

index 87f25f5..18e2145 100644

--- a/rabbitmq/templates/configmap-etc.yaml

+++ b/rabbitmq/templates/configmap-etc.yaml

@@ -21,7 +21,8 @@ limitations under the License.

{{- $_ := print "kubernetes.default.svc." $envAll.Values.endpoints.cluster_domain_suffix | set $envAll.Values.conf.rabbitmq.cluster_formation.k8s "host" -}}

{{- end -}}



-{{- $_ := print "0.0.0.0:" ( tuple "oslo_messaging" "internal" "amqp" . | include "helm-toolkit.endpoints.endpoint_port_lookup") | set $envAll.Values.conf.rabbitmq.listeners.tcp "1" -}}

+{{- $_ := print ":::" ( tuple "oslo_messaging" "internal" "amqp" . | include "helm-toolkit.endpoints.endpoint_port_lookup") | set $envAll.Values.conf.rabbitmq.listeners.tcp "1" -}}

+



 ---

apiVersion: v1

@@ -33,4 +34,9 @@ data:

{{ tuple "etc/_enabled_plugins.tpl" . | include  "helm-toolkit.utils.template" | indent 4 }}

   rabbitmq.conf: |

{{ include "rabbitmq.utils.to_rabbit_config" $envAll.Values.conf.rabbitmq | indent 4 }}

+  rabbitmq-env.conf: |

+    SERVER_ADDITIONAL_ERL_ARGS="+A 128 -kernel inetrc '/etc/rabbitmq/erl_inetrc' -proto_dist inet6_tcp"

+    CTL_ERL_ARGS="-proto_dist inet6_tcp"

+  erl_inetrc: |

+    {inet6, true}.

{{ end }}

diff --git a/rabbitmq/templates/job-cluster-wait.yaml b/rabbitmq/templates/job-cluster-wait.yaml

index bf8e710..24a30a3 100644

--- a/rabbitmq/templates/job-cluster-wait.yaml

+++ b/rabbitmq/templates/job-cluster-wait.yaml

@@ -66,6 +66,8 @@ spec:

           env:

             - name: RABBITMQ_ADMIN_CONNECTION

               value: {{ tuple "oslo_messaging" "internal" "user" "http" $envAll | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup" | quote }}

+            - name: RABBITMQ_CTL_ERL_ARGS

+              value: "-proto_dist inet6_tcp"

             - name: RABBIT_REPLICA_COUNT

               value: {{ $envAll.Values.pod.replicas.server | quote }}

           command:

diff --git a/rabbitmq/templates/statefulset.yaml b/rabbitmq/templates/statefulset.yaml

index 41dc198..64fc1cf 100644

--- a/rabbitmq/templates/statefulset.yaml

+++ b/rabbitmq/templates/statefulset.yaml

@@ -228,6 +228,14 @@ spec:

               mountPath: /etc/rabbitmq/rabbitmq.conf

               subPath: rabbitmq.conf

               readOnly: true

+            - name: rabbitmq-etc

+              mountPath: /etc/rabbitmq/rabbitmq-env.conf

+              subPath: rabbitmq-env.conf

+              readOnly: true

+            - name: rabbitmq-etc

+              mountPath: /etc/rabbitmq/erl_inetrc

+              subPath: erl_inetrc

+              readOnly: true

       volumes:

         - name: pod-tmp

           emptyDir: {}

--

2.7.4


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.starlingx.io/pipermail/starlingx-discuss/attachments/20200323/577ff3a0/attachment-0001.html>


More information about the Starlingx-discuss mailing list