This is an automated email from the ASF dual-hosted git repository.
hefengen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shenyu.git
The following commit(s) were added to refs/heads/master by this push:
new e3c51f5279 [type:fix] ShenYu Admin Cluster, cluster e2e (#5592)
e3c51f5279 is described below
commit e3c51f5279dba1aa6c8024a30050a987c2031fca
Author: aias00 <[email protected]>
AuthorDate: Mon Jul 8 00:45:17 2024 +0800
[type:fix] ShenYu Admin Cluster, cluster e2e (#5592)
* ShenYu Admin Cluster, cluster e2e
* ShenYu Admin Cluster, cluster e2e
* ShenYu Admin Cluster, cluster e2e
* ShenYu Admin Cluster, cluster e2e
* ShenYu Admin Cluster, cluster e2e websocket
* ShenYu Admin Cluster, cluster e2e websocket
* ShenYu Admin Cluster, cluster e2e websocket
* ShenYu Admin Cluster, cluster zookeeper e2e debug
* ShenYu Admin Cluster, fix cluster e2e failure
* ShenYu Admin Cluster, add more cluster forward uris
* ShenYu Admin Cluster, cluster websocket
* ShenYu Admin Cluster, cluster websocket
---
.github/workflows/e2e-k8s.yml | 24 +++++++-------
.../mode/cluster/filter/ClusterForwardFilter.java | 2 +-
.../admin/service/impl/SyncDataServiceImpl.java | 4 +++
.../admin/shiro/bean/StatelessAuthFilter.java | 4 +++
shenyu-admin/src/main/resources/application.yml | 37 ++++++++++++++++++++++
.../k8s/script/e2e-cluster-jdbc.sh | 4 ---
.../k8s/script/e2e-cluster-zookeeper.sh | 7 ++--
.../k8s/shenyu-cluster-jdbc.yml | 4 +++
.../k8s/shenyu-cluster-zookeeper.yml | 4 +++
9 files changed, 70 insertions(+), 20 deletions(-)
diff --git a/.github/workflows/e2e-k8s.yml b/.github/workflows/e2e-k8s.yml
index f60e67adf5..fb0a342252 100644
--- a/.github/workflows/e2e-k8s.yml
+++ b/.github/workflows/e2e-k8s.yml
@@ -196,18 +196,18 @@ jobs:
strategy:
matrix:
include:
-# - case: shenyu-e2e-case-http
-# script: e2e-http-sync
-# - case: shenyu-e2e-case-spring-cloud
-# script: e2e-springcloud-sync
-# - case: shenyu-e2e-case-apache-dubbo
-# script: e2e-apache-dubbo-sync
-# - case: shenyu-e2e-case-sofa
-# script: e2e-sofa-sync
-# - case: shenyu-e2e-case-grpc
-# script: e2e-grpc-sync
-# - case: shenyu-e2e-case-websocket
-# script: e2e-websocket-sync
+ - case: shenyu-e2e-case-http
+ script: e2e-http-sync
+ - case: shenyu-e2e-case-spring-cloud
+ script: e2e-springcloud-sync
+ - case: shenyu-e2e-case-apache-dubbo
+ script: e2e-apache-dubbo-sync
+ - case: shenyu-e2e-case-sofa
+ script: e2e-sofa-sync
+ - case: shenyu-e2e-case-grpc
+ script: e2e-grpc-sync
+ - case: shenyu-e2e-case-websocket
+ script: e2e-websocket-sync
- case: shenyu-e2e-case-cluster
script: e2e-cluster-jdbc
- case: shenyu-e2e-case-cluster
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/mode/cluster/filter/ClusterForwardFilter.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/mode/cluster/filter/ClusterForwardFilter.java
index 834e3e1a96..48c6dc1423 100644
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/mode/cluster/filter/ClusterForwardFilter.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/mode/cluster/filter/ClusterForwardFilter.java
@@ -98,7 +98,7 @@ public class ClusterForwardFilter extends
OncePerRequestFilter {
final HttpServletResponse response) throws
IOException {
String targetUrl = getForwardingUrl(request);
- LOG.info("forwarding current uri: {} request to target url: {}",
request.getRequestURI(), targetUrl);
+ LOG.info("forwarding current uri: {} method: {} request to target url:
{}", request.getRequestURI(), request.getMethod(), targetUrl);
// Create request entity
HttpHeaders headers = new HttpHeaders();
// Copy request headers
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/SyncDataServiceImpl.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/SyncDataServiceImpl.java
index 47c99e6c90..d9f8f6e871 100644
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/SyncDataServiceImpl.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/SyncDataServiceImpl.java
@@ -34,6 +34,8 @@ import org.apache.shenyu.common.dto.RuleData;
import org.apache.shenyu.common.dto.SelectorData;
import org.apache.shenyu.common.enums.ConfigGroupEnum;
import org.apache.shenyu.common.enums.DataEventTypeEnum;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Service;
@@ -46,6 +48,8 @@ import java.util.stream.Collectors;
*/
@Service
public class SyncDataServiceImpl implements SyncDataService {
+
+ private static final Logger LOG =
LoggerFactory.getLogger(SyncDataServiceImpl.class);
private final AppAuthService appAuthService;
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/shiro/bean/StatelessAuthFilter.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/shiro/bean/StatelessAuthFilter.java
index d46244cb04..d274d2b927 100644
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/shiro/bean/StatelessAuthFilter.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/shiro/bean/StatelessAuthFilter.java
@@ -37,6 +37,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Arrays;
+import java.util.Objects;
/**
* custom Stateless AccessControlFilter.
@@ -100,6 +101,9 @@ public class StatelessAuthFilter extends
AccessControlFilter {
return tokenValue;
}
Cookie[] cookies = httpServletRequest.getCookies();
+ if (Objects.isNull(cookies)) {
+ return "";
+ }
return Arrays.stream(cookies)
.filter(cookie -> StringUtils.equals(tokenName,
cookie.getName()))
.findAny()
diff --git a/shenyu-admin/src/main/resources/application.yml
b/shenyu-admin/src/main/resources/application.yml
index d764f45908..5201bc1f8f 100755
--- a/shenyu-admin/src/main/resources/application.yml
+++ b/shenyu-admin/src/main/resources/application.yml
@@ -120,9 +120,46 @@ shenyu:
- /configs/**
- /selector/batchEnabled
- /selector/batch
+ - /selector
+ - /selector/**
- /rule/batchEnabled
- /rule/batch
+ - /rule
+ - /rule/**
+ - /plugin
+ - /plugin/**
+ - /plugin/createPluginResource/**
+ - /plugin/batch
+ - /plugin/enabled
+ - /plugin/syncPluginAll
- /plugin/syncPluginData/**
+ - /proxy-selector/binding
+ - /proxy-selector/**
+ - /proxy-selector/batch
+ - /proxy-selector/addProxySelector
+ - /proxy-selector/fetch/**
+ - /api
+ - /api/**
+ - /api/batch
+ - /appAuth/apply
+ - /appAuth/updateDetail
+ - /appAuth/updateDetailPath
+ - /appAuth/batchDelete
+ - /appAuth/batchEnabled
+ - /appAuth/batchOpened
+ - /appAuth/syncData
+ - /discovery/insertOrUpdate
+ - /discovery/**
+ - /discovery-upstream
+ - /discovery-upstream/batch
+ - /discovery-upstream/**
+ - /meta-data/createOrUpdate
+ - /meta-data/batchDeleted
+ - /meta-data/batchEnabled
+ - /meta-data/syncData
+ - /plugin-handle
+ - /plugin-handle/**
+ - /plugin-handle/batch
zookeeper:
url: localhost:2181
sessionTimeout: 5000
diff --git
a/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-cluster/k8s/script/e2e-cluster-jdbc.sh
b/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-cluster/k8s/script/e2e-cluster-jdbc.sh
index f71a72c4fb..e4f3c545fe 100644
---
a/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-cluster/k8s/script/e2e-cluster-jdbc.sh
+++
b/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-cluster/k8s/script/e2e-cluster-jdbc.sh
@@ -37,10 +37,6 @@ kubectl logs "$(kubectl get pod -o wide | grep
shenyu-admin-master | awk '{print
kubectl logs "$(kubectl get pod -o wide | grep shenyu-admin-slave | awk
'{print $1}')"
-kubectl describe pod shenyu-admin-master
-
-kubectl describe pod shenyu-admin-slave
-
kubectl logs "$(kubectl get pod -o wide | grep shenyu-bootstrap | awk '{print
$1}')"
## run e2e-test
diff --git
a/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-cluster/k8s/script/e2e-cluster-zookeeper.sh
b/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-cluster/k8s/script/e2e-cluster-zookeeper.sh
index 342ca2a66a..4804ac2a91 100644
---
a/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-cluster/k8s/script/e2e-cluster-zookeeper.sh
+++
b/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-cluster/k8s/script/e2e-cluster-zookeeper.sh
@@ -34,7 +34,7 @@ sleep 30s
chmod +x "${curPath}"/healthcheck.sh
sh "${curPath}"/healthcheck.sh cluster http://localhost:31095/actuator/health
http://localhost:31096/actuator/health http://localhost:31195/actuator/health
-kubectl logs "$(kubectl get pod -o wide | grep shenyu-zookeeper | awk '{print
$1}')"
+#kubectl logs "$(kubectl get pod -o wide | grep shenyu-zookeeper | awk '{print
$1}')"
echo "----------shenyu-admin-master log ----------"
@@ -44,14 +44,15 @@ echo "----------shenyu-admin-slave log ----------"
kubectl logs "$(kubectl get pod -o wide | grep shenyu-admin-slave | awk
'{print $1}')"
-kubectl describe pod shenyu-admin-master
+#kubectl describe pod shenyu-admin-master
-kubectl describe pod shenyu-admin-slave
+#kubectl describe pod shenyu-admin-slave
kubectl logs "$(kubectl get pod -o wide | grep shenyu-bootstrap | awk '{print
$1}')"
## run e2e-test
sleep 60s
+echo "----------shenyu-bootstrap pluginData ----------"
curl -S "http://localhost:31195/actuator/pluginData"
./mvnw -B -f ./shenyu-e2e/pom.xml -pl shenyu-e2e-case/shenyu-e2e-case-cluster
-am test
diff --git
a/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-cluster/k8s/shenyu-cluster-jdbc.yml
b/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-cluster/k8s/shenyu-cluster-jdbc.yml
index ffca44b582..1446e3d442 100644
---
a/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-cluster/k8s/shenyu-cluster-jdbc.yml
+++
b/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-cluster/k8s/shenyu-cluster-jdbc.yml
@@ -45,6 +45,8 @@ spec:
value: "9095"
- name: shenyu.cluster.enabled
value: "true"
+ - name: shenyu.sync.websocket.allowOrigins
+ value: ws://localhost:9095;ws://localhost:9195;
- name: spring.datasource.username
value: root
- name: spring.datasource.password
@@ -112,6 +114,8 @@ spec:
value: "9096"
- name: shenyu.cluster.enabled
value: "true"
+ - name: shenyu.sync.websocket.allowOrigins
+ value: ws://localhost:9096;ws://localhost:9195;
- name: spring.datasource.username
value: root
- name: spring.datasource.password
diff --git
a/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-cluster/k8s/shenyu-cluster-zookeeper.yml
b/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-cluster/k8s/shenyu-cluster-zookeeper.yml
index bd4960973e..0736383b7a 100644
---
a/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-cluster/k8s/shenyu-cluster-zookeeper.yml
+++
b/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-cluster/k8s/shenyu-cluster-zookeeper.yml
@@ -44,6 +44,8 @@ spec:
value: "9095"
- name: shenyu.cluster.enabled
value: "true"
+ - name: shenyu.sync.websocket.allowOrigins
+ value: ws://localhost:9095;ws://localhost:9195;
- name: shenyu.cluster.type
value: "zookeeper"
- name: shenyu.cluster.zookeeper.url
@@ -115,6 +117,8 @@ spec:
value: "9096"
- name: shenyu.cluster.enabled
value: "true"
+ - name: shenyu.sync.websocket.allowOrigins
+ value: ws://localhost:9096;ws://localhost:9195;
- name: shenyu.cluster.type
value: "zookeeper"
- name: shenyu.cluster.zookeeper.url