This is an automated email from the ASF dual-hosted git repository.

albumenj pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-samples.git


The following commit(s) were added to refs/heads/master by this push:
     new e07d725d Add ipv6 test support (#518)
e07d725d is described below

commit e07d725df9702092872e5b7b10837d788e140e29
Author: Albumen Kevin <[email protected]>
AuthorDate: Wed Sep 14 14:15:44 2022 +0800

    Add ipv6 test support (#518)
    
    * Add ipv6 test support
    
    * fix npe
---
 dubbo-samples-merge/case-configuration.yml                     |  3 ++-
 .../org/apache/dubbo/scenario/builder/ConfigurationImpl.java   | 10 ++++++++++
 .../java/org/apache/dubbo/scenario/builder/IConfiguration.java |  2 ++
 .../src/main/resources/docker-compose.template                 |  6 ++++++
 4 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/dubbo-samples-merge/case-configuration.yml 
b/dubbo-samples-merge/case-configuration.yml
index 55589be9..39072207 100644
--- a/dubbo-samples-merge/case-configuration.yml
+++ b/dubbo-samples-merge/case-configuration.yml
@@ -13,7 +13,8 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-
+props:
+  ipv6Cidr: 2001:1:1::/64
 
 services:
   zookeeper:
diff --git 
a/test/dubbo-scenario-builder/src/main/java/org/apache/dubbo/scenario/builder/ConfigurationImpl.java
 
b/test/dubbo-scenario-builder/src/main/java/org/apache/dubbo/scenario/builder/ConfigurationImpl.java
index 140698e1..f22ac4af 100644
--- 
a/test/dubbo-scenario-builder/src/main/java/org/apache/dubbo/scenario/builder/ConfigurationImpl.java
+++ 
b/test/dubbo-scenario-builder/src/main/java/org/apache/dubbo/scenario/builder/ConfigurationImpl.java
@@ -514,6 +514,15 @@ public class ConfigurationImpl implements IConfiguration {
         return testImageVersion;
     }
 
+    @Override
+    public String ipv6Cidr() {
+        if (caseConfiguration().getProps() != null) {
+            return caseConfiguration().getProps().get("ipv6Cidr");
+        } else {
+            return null;
+        }
+    }
+
     @Override
     public String dockerNetworkName() {
         return (scenarioName() + "-" + testImageVersion()).toLowerCase();
@@ -566,6 +575,7 @@ public class ConfigurationImpl implements IConfiguration {
         root.put("debug_mode", debugMode());
         root.put("docker_compose_file", outputDir() + File.separator + 
"docker-compose.yml");
         root.put("network_name", dockerNetworkName());
+        root.put("ipv6_cidr", ipv6Cidr());
         root.put("timeout", scenarioTimeout);
 
         final StringBuilder removeImagesScript = new StringBuilder();
diff --git 
a/test/dubbo-scenario-builder/src/main/java/org/apache/dubbo/scenario/builder/IConfiguration.java
 
b/test/dubbo-scenario-builder/src/main/java/org/apache/dubbo/scenario/builder/IConfiguration.java
index acc8cf97..9d9c9741 100644
--- 
a/test/dubbo-scenario-builder/src/main/java/org/apache/dubbo/scenario/builder/IConfiguration.java
+++ 
b/test/dubbo-scenario-builder/src/main/java/org/apache/dubbo/scenario/builder/IConfiguration.java
@@ -38,6 +38,8 @@ public interface IConfiguration {
 
     String testImageVersion();
 
+    String ipv6Cidr();
+
     String scenarioHome();
 
     String outputDir();
diff --git 
a/test/dubbo-scenario-builder/src/main/resources/docker-compose.template 
b/test/dubbo-scenario-builder/src/main/resources/docker-compose.template
index e325f704..be87ea34 100644
--- a/test/dubbo-scenario-builder/src/main/resources/docker-compose.template
+++ b/test/dubbo-scenario-builder/src/main/resources/docker-compose.template
@@ -19,6 +19,12 @@ version: '2.4'
 networks:
    default:
      name: ${network_name}
+     <#if ipv6_cidr?has_content>
+     enable_ipv6: true
+     ipam:
+       config:
+         - subnet: ${ipv6_cidr}
+     </#if>
 
 services:
 <#list services as service>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to