Closed HusenHuang closed 2 months ago
apiVersion: raven.openyurt.io/v1beta1
kind: Gateway
metadata:
name: gw-office
spec:
proxyConfig:
Replicas: 1
tunnelConfig:
Replicas: 1
endpoints:
- nodeName: izwz9a9kgjp1kko83o03c3z
underNAT: true
port: 10262
type: proxy
- nodeName: izwz9a9kgjp1kko83o03c3z
underNAT: true
port: 4500
underNAT: true
type: tunnel
---
apiVersion: raven.openyurt.io/v1beta1
kind: Gateway
metadata:
name: gw-cloud
spec:
exposeType: PublicIP
proxyConfig:
Replicas: 1
proxyHTTPPort: 10255,9445
proxyHTTPSPort: 10250,9100
tunnelConfig:
Replicas: 1
endpoints:
- nodeName: master
underNAT: false
port: 10262
type: proxy
publicIP: 8.138.xxx.xxx
- nodeName: master
underNAT: false
port: 4500
type: tunnel
publicIP: 8.138.xxx.xxx
root@master:/data/crds# kubectl logs raven-agent-ds-sv796 W0219 01:46:51.396870 1 client_config.go:617] Neither --kubeconfig nor --master was specified. Using the inClusterConfig. This might not work. I0219 01:46:51.415709 1 start.go:61] Start raven agent I0219 01:46:51.415868 1 engine.go:69] RavenEngine: engine successfully start I0219 01:46:51.516330 1 engine.go:107] "RavenEngine: adding gateway gw-cloud" I0219 01:46:51.516357 1 engine.go:95] RavenEngine: enqueue gateway gw-cloud to tunnel queue I0219 01:46:51.516374 1 engine.go:100] RavenEngine: enqueue gateway gw-cloud to proxy queue I0219 01:46:51.516386 1 engine.go:107] "RavenEngine: adding gateway gw-office" I0219 01:46:51.516397 1 engine.go:95] RavenEngine: enqueue gateway gw-office to tunnel queue I0219 01:46:51.516410 1 engine.go:100] RavenEngine: enqueue gateway gw-office to proxy queue I0219 01:46:51.516503 1 tunnel.go:55] RavenEngine: update raven l3 tunnel config for gateway gw-cloud I0219 01:46:51.517559 1 tunnel.go:80] RavenEngine: route driver vxlan initialized I0219 01:46:51.518397 1 libreswan.go:363] starting pluto Initializing NSS database
I0219 01:46:52.519405 1 libreswan.go:385] start pluto successfully
I0219 01:46:52.519439 1 tunnel.go:89] RavenEngine: VPN driver libreswan initialized
I0219 01:46:52.519540 1 tunnelagent.go:199] "no active endpoint , waiting for sync" gateway="gw-office"
I0219 01:46:52.519551 1 tunnelagent.go:199] "no active endpoint , waiting for sync" gateway="gw-cloud"
I0219 01:46:52.519559 1 tunnelagent.go:199] "no active endpoint , waiting for sync" gateway="gw-office"
I0219 01:46:52.519566 1 tunnelagent.go:199] "no active endpoint , waiting for sync" gateway="gw-cloud"
I0219 01:46:52.519601 1 tunnelagent.go:113] "applying network" localEndpoint=
The environment information is as follows
k8s version: 1.23.17 openyurt version: 1.4.0 raven version: 0.4.0
raven logs at the edge
root@iZwz9a9kgjp1kko83o03c3Z:/var/log/pods/default_raven-agent-ds-bdphj_536e609f-6f2e-45af-901b-5867c75c83cb/raven-agent# cat 0.log {"log":"W0219 01:46:51.260615 1 client_config.go:617] Neither --kubeconfig nor --master was specified. Using the inClusterConfig. This might not work.\n","stream":"stderr","time":"2024-02-19T01:46:51.2608274Z"} {"log":"I0219 01:46:51.339645 1 start.go:61] Start raven agent\n","stream":"stderr","time":"2024-02-19T01:46:51.33975278Z"} {"log":"I0219 01:46:51.339903 1 engine.go:69] RavenEngine: engine successfully start\n","stream":"stderr","time":"2024-02-19T01:46:51.339966975Z"} {"log":"I0219 01:46:51.441090 1 engine.go:107] \"RavenEngine: adding gateway gw-office\"\n","stream":"stderr","time":"2024-02-19T01:46:51.441228108Z"} {"log":"I0219 01:46:51.441132 1 engine.go:95] RavenEngine: enqueue gateway gw-office to tunnel queue\n","stream":"stderr","time":"2024-02-19T01:46:51.441257703Z"} {"log":"I0219 01:46:51.441306 1 engine.go:100] RavenEngine: enqueue gateway gw-office to proxy queue\n","stream":"stderr","time":"2024-02-19T01:46:51.441378642Z"} {"log":"I0219 01:46:51.441332 1 engine.go:107] \"RavenEngine: adding gateway gw-cloud\"\n","stream":"stderr","time":"2024-02-19T01:46:51.441446884Z"} {"log":"I0219 01:46:51.441359 1 engine.go:95] RavenEngine: enqueue gateway gw-cloud to tunnel queue\n","stream":"stderr","time":"2024-02-19T01:46:51.441456387Z"} {"log":"I0219 01:46:51.441369 1 engine.go:100] RavenEngine: enqueue gateway gw-cloud to proxy queue\n","stream":"stderr","time":"2024-02-19T01:46:51.441460045Z"} {"log":"I0219 01:46:51.441485 1 tunnel.go:55] RavenEngine: update raven l3 tunnel config for gateway gw-office\n","stream":"stderr","time":"2024-02-19T01:46:51.441536411Z"} {"log":"I0219 01:46:51.443161 1 tunnel.go:80] RavenEngine: route driver vxlan initialized\n","stream":"stderr","time":"2024-02-19T01:46:51.443285164Z"} {"log":"I0219 01:46:51.444253 1 libreswan.go:363] starting pluto\n","stream":"stderr","time":"2024-02-19T01:46:51.444886528Z"} {"log":"Initializing NSS database\n","stream":"stdout","time":"2024-02-19T01:46:51.703711009Z"} {"log":"\n","stream":"stdout","time":"2024-02-19T01:46:51.703807398Z"} {"log":"I0219 01:46:52.445094 1 libreswan.go:385] start pluto successfully\n","stream":"stderr","time":"2024-02-19T01:46:52.445557675Z"} {"log":"I0219 01:46:52.445134 1 tunnel.go:89] RavenEngine: VPN driver libreswan initialized\n","stream":"stderr","time":"2024-02-19T01:46:52.44558151Z"} {"log":"I0219 01:46:52.445238 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-office\"\n","stream":"stderr","time":"2024-02-19T01:46:52.445585295Z"} {"log":"I0219 01:46:52.445252 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-cloud\"\n","stream":"stderr","time":"2024-02-19T01:46:52.44558827Z"} {"log":"I0219 01:46:52.445257 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-office\"\n","stream":"stderr","time":"2024-02-19T01:46:52.445591108Z"} {"log":"I0219 01:46:52.445262 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-cloud\"\n","stream":"stderr","time":"2024-02-19T01:46:52.445593765Z"} {"log":"I0219 01:46:52.445291 1 tunnelagent.go:113] \"applying network\" localEndpoint=\u003cnil\u003e remoteEndpoint=map[]\n","stream":"stderr","time":"2024-02-19T01:46:52.445596259Z"} {"log":"I0219 01:46:52.445302 1 libreswan.go:102] Tunnel: no local gateway or remote gateway is found, cleaning vpn connections\n","stream":"stderr","time":"2024-02-19T01:46:52.445599154Z"} {"log":"I0219 01:46:52.452606 1 vxlan.go:77] Tunnel: no local gateway or remote gateway is found, cleaning up route setting\n","stream":"stderr","time":"2024-02-19T01:46:52.452713345Z"} {"log":"I0219 01:46:52.475895 1 tunnel.go:55] RavenEngine: update raven l3 tunnel config for gateway gw-cloud\n","stream":"stderr","time":"2024-02-19T01:46:52.476022824Z"} {"log":"I0219 01:46:52.476021 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-office\"\n","stream":"stderr","time":"2024-02-19T01:46:52.476130407Z"} {"log":"I0219 01:46:52.476030 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-cloud\"\n","stream":"stderr","time":"2024-02-19T01:46:52.476158478Z"} {"log":"I0219 01:46:52.476035 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-office\"\n","stream":"stderr","time":"2024-02-19T01:46:52.476162008Z"} {"log":"I0219 01:46:52.476040 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-cloud\"\n","stream":"stderr","time":"2024-02-19T01:46:52.476164776Z"} {"log":"I0219 01:46:52.476050 1 tunnelagent.go:109] network not changed, skip to process\n","stream":"stderr","time":"2024-02-19T01:46:52.476167751Z"} {"log":"I0219 02:09:17.640186 1 engine.go:134] \"RavenEngine: deleting gateway, gw-office\"\n","stream":"stderr","time":"2024-02-19T02:09:17.640364402Z"} {"log":"I0219 02:09:17.640267 1 engine.go:95] RavenEngine: enqueue gateway gw-office to tunnel queue\n","stream":"stderr","time":"2024-02-19T02:09:17.640398143Z"} {"log":"I0219 02:09:17.640294 1 engine.go:100] RavenEngine: enqueue gateway gw-office to proxy queue\n","stream":"stderr","time":"2024-02-19T02:09:17.640403273Z"} {"log":"I0219 02:09:17.640327 1 tunnel.go:55] RavenEngine: update raven l3 tunnel config for gateway gw-office\n","stream":"stderr","time":"2024-02-19T02:09:17.640442379Z"} {"log":"I0219 02:09:17.640480 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-cloud\"\n","stream":"stderr","time":"2024-02-19T02:09:17.640516439Z"} {"log":"I0219 02:09:17.640522 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-cloud\"\n","stream":"stderr","time":"2024-02-19T02:09:17.640563035Z"} {"log":"I0219 02:09:17.640747 1 tunnelagent.go:109] network not changed, skip to process\n","stream":"stderr","time":"2024-02-19T02:09:17.640863671Z"} {"log":"I0219 02:09:17.644378 1 engine.go:134] \"RavenEngine: deleting gateway, gw-cloud\"\n","stream":"stderr","time":"2024-02-19T02:09:17.644490468Z"} {"log":"I0219 02:09:17.644405 1 engine.go:95] RavenEngine: enqueue gateway gw-cloud to tunnel queue\n","stream":"stderr","time":"2024-02-19T02:09:17.644505274Z"} {"log":"I0219 02:09:17.644424 1 engine.go:100] RavenEngine: enqueue gateway gw-cloud to proxy queue\n","stream":"stderr","time":"2024-02-19T02:09:17.644508494Z"} {"log":"I0219 02:09:17.644459 1 tunnel.go:55] RavenEngine: update raven l3 tunnel config for gateway gw-cloud\n","stream":"stderr","time":"2024-02-19T02:09:17.644643713Z"} {"log":"I0219 02:09:17.644495 1 tunnelagent.go:109] network not changed, skip to process\n","stream":"stderr","time":"2024-02-19T02:09:17.644650701Z"} {"log":"I0219 02:09:38.241343 1 engine.go:107] \"RavenEngine: adding gateway gw-office\"\n","stream":"stderr","time":"2024-02-19T02:09:38.241504717Z"} {"log":"I0219 02:09:38.241377 1 engine.go:95] RavenEngine: enqueue gateway gw-office to tunnel queue\n","stream":"stderr","time":"2024-02-19T02:09:38.241551093Z"} {"log":"I0219 02:09:38.241391 1 engine.go:100] RavenEngine: enqueue gateway gw-office to proxy queue\n","stream":"stderr","time":"2024-02-19T02:09:38.241555217Z"} {"log":"I0219 02:09:38.241426 1 tunnel.go:55] RavenEngine: update raven l3 tunnel config for gateway gw-office\n","stream":"stderr","time":"2024-02-19T02:09:38.241558071Z"} {"log":"I0219 02:09:38.241460 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-office\"\n","stream":"stderr","time":"2024-02-19T02:09:38.241666201Z"} {"log":"I0219 02:09:38.241470 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-office\"\n","stream":"stderr","time":"2024-02-19T02:09:38.241685659Z"} {"log":"I0219 02:09:38.241480 1 tunnelagent.go:109] network not changed, skip to process\n","stream":"stderr","time":"2024-02-19T02:09:38.241690292Z"} {"log":"I0219 02:09:38.248270 1 engine.go:121] \"RavenEngine: updating gateway, gw-office\"\n","stream":"stderr","time":"2024-02-19T02:09:38.248501094Z"} {"log":"I0219 02:09:38.248311 1 engine.go:95] RavenEngine: enqueue gateway gw-office to tunnel queue\n","stream":"stderr","time":"2024-02-19T02:09:38.248536408Z"} {"log":"I0219 02:09:38.248329 1 engine.go:100] RavenEngine: enqueue gateway gw-office to proxy queue\n","stream":"stderr","time":"2024-02-19T02:09:38.24854154Z"} {"log":"I0219 02:09:38.248357 1 tunnel.go:55] RavenEngine: update raven l3 tunnel config for gateway gw-office\n","stream":"stderr","time":"2024-02-19T02:09:38.248544457Z"} {"log":"I0219 02:09:38.248413 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-office\"\n","stream":"stderr","time":"2024-02-19T02:09:38.248547013Z"} {"log":"I0219 02:09:38.248424 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-office\"\n","stream":"stderr","time":"2024-02-19T02:09:38.248549676Z"} {"log":"I0219 02:09:38.248436 1 tunnelagent.go:109] network not changed, skip to process\n","stream":"stderr","time":"2024-02-19T02:09:38.248552411Z"} {"log":"I0219 02:23:03.995149 1 engine.go:134] \"RavenEngine: deleting gateway, gw-office\"\n","stream":"stderr","time":"2024-02-19T02:23:03.995395739Z"} {"log":"I0219 02:23:03.995185 1 engine.go:95] RavenEngine: enqueue gateway gw-office to tunnel queue\n","stream":"stderr","time":"2024-02-19T02:23:03.995429711Z"} {"log":"I0219 02:23:03.995200 1 engine.go:100] RavenEngine: enqueue gateway gw-office to proxy queue\n","stream":"stderr","time":"2024-02-19T02:23:03.995433874Z"} {"log":"I0219 02:23:03.995234 1 tunnel.go:55] RavenEngine: update raven l3 tunnel config for gateway gw-office\n","stream":"stderr","time":"2024-02-19T02:23:03.995437087Z"} {"log":"I0219 02:23:03.995297 1 tunnelagent.go:109] network not changed, skip to process\n","stream":"stderr","time":"2024-02-19T02:23:03.995439986Z"} {"log":"I0219 02:23:09.159083 1 engine.go:107] \"RavenEngine: adding gateway gw-office\"\n","stream":"stderr","time":"2024-02-19T02:23:09.159340252Z"} {"log":"I0219 02:23:09.159106 1 engine.go:95] RavenEngine: enqueue gateway gw-office to tunnel queue\n","stream":"stderr","time":"2024-02-19T02:23:09.159401516Z"} {"log":"I0219 02:23:09.159117 1 engine.go:100] RavenEngine: enqueue gateway gw-office to proxy queue\n","stream":"stderr","time":"2024-02-19T02:23:09.159406219Z"} {"log":"I0219 02:23:09.159162 1 tunnel.go:55] RavenEngine: update raven l3 tunnel config for gateway gw-office\n","stream":"stderr","time":"2024-02-19T02:23:09.159409312Z"} {"log":"I0219 02:23:09.159192 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-office\"\n","stream":"stderr","time":"2024-02-19T02:23:09.15941235Z"} {"log":"I0219 02:23:09.159203 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-office\"\n","stream":"stderr","time":"2024-02-19T02:23:09.159415601Z"} {"log":"I0219 02:23:09.159213 1 tunnelagent.go:109] network not changed, skip to process\n","stream":"stderr","time":"2024-02-19T02:23:09.159418367Z"} {"log":"I0219 02:23:09.179669 1 engine.go:121] \"RavenEngine: updating gateway, gw-office\"\n","stream":"stderr","time":"2024-02-19T02:23:09.179882662Z"} {"log":"I0219 02:23:09.179828 1 engine.go:95] RavenEngine: enqueue gateway gw-office to tunnel queue\n","stream":"stderr","time":"2024-02-19T02:23:09.179902165Z"} {"log":"I0219 02:23:09.179869 1 engine.go:100] RavenEngine: enqueue gateway gw-office to proxy queue\n","stream":"stderr","time":"2024-02-19T02:23:09.179988159Z"} {"log":"I0219 02:23:09.180050 1 tunnel.go:55] RavenEngine: update raven l3 tunnel config for gateway gw-office\n","stream":"stderr","time":"2024-02-19T02:23:09.180143427Z"} {"log":"I0219 02:23:09.180105 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-office\"\n","stream":"stderr","time":"2024-02-19T02:23:09.180282235Z"} {"log":"I0219 02:23:09.180223 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-cloud\"\n","stream":"stderr","time":"2024-02-19T02:23:09.180288917Z"} {"log":"I0219 02:23:09.180242 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-office\"\n","stream":"stderr","time":"2024-02-19T02:23:09.180441261Z"} {"log":"I0219 02:23:09.180307 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-cloud\"\n","stream":"stderr","time":"2024-02-19T02:23:09.180448627Z"} {"log":"I0219 02:23:09.180329 1 tunnelagent.go:109] network not changed, skip to process\n","stream":"stderr","time":"2024-02-19T02:23:09.180451695Z"} {"log":"I0219 02:23:09.180447 1 engine.go:107] \"RavenEngine: adding gateway gw-cloud\"\n","stream":"stderr","time":"2024-02-19T02:23:09.181150734Z"} {"log":"I0219 02:23:09.180477 1 engine.go:95] RavenEngine: enqueue gateway gw-cloud to tunnel queue\n","stream":"stderr","time":"2024-02-19T02:23:09.181159589Z"} {"log":"I0219 02:23:09.180553 1 engine.go:100] RavenEngine: enqueue gateway gw-cloud to proxy queue\n","stream":"stderr","time":"2024-02-19T02:23:09.181162418Z"} {"log":"I0219 02:23:09.180621 1 tunnel.go:55] RavenEngine: update raven l3 tunnel config for gateway gw-cloud\n","stream":"stderr","time":"2024-02-19T02:23:09.181164993Z"} {"log":"I0219 02:23:09.180721 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-office\"\n","stream":"stderr","time":"2024-02-19T02:23:09.181167523Z"} {"log":"I0219 02:23:09.180739 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-cloud\"\n","stream":"stderr","time":"2024-02-19T02:23:09.18117011Z"} {"log":"I0219 02:23:09.180753 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-office\"\n","stream":"stderr","time":"2024-02-19T02:23:09.181172664Z"} {"log":"I0219 02:23:09.180787 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-cloud\"\n","stream":"stderr","time":"2024-02-19T02:23:09.181175359Z"} {"log":"I0219 02:23:09.180817 1 tunnelagent.go:109] network not changed, skip to process\n","stream":"stderr","time":"2024-02-19T02:23:09.181177866Z"} {"log":"I0219 02:23:09.188486 1 engine.go:121] \"RavenEngine: updating gateway, gw-cloud\"\n","stream":"stderr","time":"2024-02-19T02:23:09.188792199Z"} {"log":"I0219 02:23:09.188516 1 engine.go:95] RavenEngine: enqueue gateway gw-cloud to tunnel queue\n","stream":"stderr","time":"2024-02-19T02:23:09.18882275Z"} {"log":"I0219 02:23:09.188538 1 engine.go:100] RavenEngine: enqueue gateway gw-cloud to proxy queue\n","stream":"stderr","time":"2024-02-19T02:23:09.188826414Z"} {"log":"I0219 02:23:09.188570 1 tunnel.go:55] RavenEngine: update raven l3 tunnel config for gateway gw-cloud\n","stream":"stderr","time":"2024-02-19T02:23:09.188829128Z"} {"log":"I0219 02:23:09.188623 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-office\"\n","stream":"stderr","time":"2024-02-19T02:23:09.188840996Z"} {"log":"I0219 02:23:09.188632 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-cloud\"\n","stream":"stderr","time":"2024-02-19T02:23:09.188844101Z"} {"log":"I0219 02:23:09.188639 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-office\"\n","stream":"stderr","time":"2024-02-19T02:23:09.188846685Z"} {"log":"I0219 02:23:09.188647 1 tunnelagent.go:199] \"no active endpoint , waiting for sync\" gateway=\"gw-cloud\"\n","stream":"stderr","time":"2024-02-19T02:23:09.188849168Z"} {"log":"I0219 02:23:09.188660 1 tunnelagent.go:109] network not changed, skip to process\n","stream":"stderr","time":"2024-02-19T02:23:09.188851704Z"}
kubectl get gw gw-cloud -o yaml
apiVersion: raven.openyurt.io/v1beta1
kind: Gateway
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"raven.openyurt.io/v1beta1","kind":"Gateway","metadata":{"annotations":{},"name":"gw-cloud"},"spec":{"endpoints":[{"nodeName":"master","port":10262,"publicIP":"8.138.xxx.xxx","type":"proxy","underNAT":false},{"nodeName":"master","port":4500,"publicIP":"8.138.xxx.xxx","type":"tunnel","underNAT":false}],"exposeType":"PublicIP","proxyConfig":{"Replicas":1,"proxyHTTPPort":"10255,9445","proxyHTTPSPort":"10250,9100"},"tunnelConfig":{"Replicas":1}}}
creationTimestamp: "2024-02-19T02:23:09Z"
generation: 1
name: gw-cloud
resourceVersion: "234330"
uid: 862553b0-ada6-4d1e-84b0-ac42429f210e
spec:
endpoints:
- nodeName: master
port: 10262
publicIP: 8.138.xxx.xxx
type: proxy
- nodeName: master
port: 4500
publicIP: 8.138.xxx.xxx
type: tunnel
exposeType: PublicIP
nodeSelector:
matchLabels:
raven.openyurt.io/gateway: gw-cloud
proxyConfig:
Replicas: 1
proxyHTTPPort: 10255,9445
proxyHTTPSPort: 10250,9100
tunnelConfig:
Replicas: 1
status:
nodes:
- nodeName: master
privateIP: 172.24.72.107
subnets:
- 10.244.0.0/24
There are no active endpoints in status, you can check the logs of yurt-manager (gateway-pickup-controller )
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.