alamar commented on a change in pull request #8897: URL: https://github.com/apache/ignite/pull/8897#discussion_r612583830
########## File path: modules/azure/pom.xml ########## @@ -0,0 +1,334 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + 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. +--> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <parent> + <artifactId>ignite-parent</artifactId> + <groupId>org.apache.ignite</groupId> + <version>1</version> + <relativePath>../../parent</relativePath> + </parent> + <modelVersion>4.0.0</modelVersion> + + <artifactId>ignite-azure</artifactId> + <version>2.11.0-SNAPSHOT</version> + <url>http://ignite.apache.org</url> + + <dependencyManagement> + <dependencies> + <dependency> + <groupId>com.azure</groupId> + <artifactId>azure-sdk-bom</artifactId> + <version>1.0.2</version> + <type>pom</type> + <scope>import</scope> + </dependency> + </dependencies> + </dependencyManagement> + + <dependencies> + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-core</artifactId> + <version>${project.version}</version> + <scope>compile</scope> + </dependency> + + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-core</artifactId> + <version>${project.version}</version> + <type>test-jar</type> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-tools</artifactId> + <version>${project.version}</version> + <scope>test</scope> + </dependency> + + <!-- https://mvnrepository.com/artifact/org.jetbrains/annotations --> + <dependency> + <groupId>org.jetbrains</groupId> + <artifactId>annotations</artifactId> + <version>16.0.3</version> + </dependency> + + <dependency> + <groupId>com.azure</groupId> + <artifactId>azure-core-http-netty</artifactId> + <version>1.0.0</version> + </dependency> + + <dependency> + <groupId>com.azure</groupId> + <artifactId>azure-core</artifactId> + <version>1.0.0</version> + </dependency> + + <dependency> + <groupId>com.azure</groupId> + <artifactId>azure-storage-blob</artifactId> + <version>12.0.0</version> + </dependency> + + <dependency> + <groupId>com.azure</groupId> + <artifactId>azure-storage-common</artifactId> + <version>12.0.0</version> + </dependency> + + <!-- https://mvnrepository.com/artifact/javax.cache/cache-api --> + <dependency> + <groupId>javax.cache</groupId> + <artifactId>cache-api</artifactId> + <version>1.0.0</version> Review comment: Why does this module need an explicit cache-api dependency? ########## File path: modules/azure/pom.xml ########## @@ -0,0 +1,334 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + 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. +--> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <parent> + <artifactId>ignite-parent</artifactId> + <groupId>org.apache.ignite</groupId> + <version>1</version> + <relativePath>../../parent</relativePath> + </parent> + <modelVersion>4.0.0</modelVersion> + + <artifactId>ignite-azure</artifactId> + <version>2.11.0-SNAPSHOT</version> + <url>http://ignite.apache.org</url> + + <dependencyManagement> + <dependencies> + <dependency> + <groupId>com.azure</groupId> + <artifactId>azure-sdk-bom</artifactId> + <version>1.0.2</version> + <type>pom</type> + <scope>import</scope> + </dependency> + </dependencies> + </dependencyManagement> + + <dependencies> + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-core</artifactId> + <version>${project.version}</version> + <scope>compile</scope> + </dependency> + + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-core</artifactId> + <version>${project.version}</version> + <type>test-jar</type> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-tools</artifactId> + <version>${project.version}</version> + <scope>test</scope> + </dependency> + + <!-- https://mvnrepository.com/artifact/org.jetbrains/annotations --> + <dependency> + <groupId>org.jetbrains</groupId> + <artifactId>annotations</artifactId> + <version>16.0.3</version> + </dependency> + + <dependency> + <groupId>com.azure</groupId> + <artifactId>azure-core-http-netty</artifactId> + <version>1.0.0</version> + </dependency> + + <dependency> + <groupId>com.azure</groupId> + <artifactId>azure-core</artifactId> + <version>1.0.0</version> + </dependency> + + <dependency> + <groupId>com.azure</groupId> + <artifactId>azure-storage-blob</artifactId> + <version>12.0.0</version> + </dependency> + + <dependency> + <groupId>com.azure</groupId> + <artifactId>azure-storage-common</artifactId> + <version>12.0.0</version> + </dependency> + + <!-- https://mvnrepository.com/artifact/javax.cache/cache-api --> + <dependency> + <groupId>javax.cache</groupId> + <artifactId>cache-api</artifactId> + <version>1.0.0</version> + </dependency> + + <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations --> + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-annotations</artifactId> + <version>2.10.0</version> Review comment: This version should definitely be taken from parent/pom.xml, since it is a frequent source of CVEs. Please also do it for all dependencies mentioned below, as well. ########## File path: docs/_docs/clustering/discovery-in-the-cloud.adoc ########## @@ -268,3 +269,47 @@ include::{javaFile}[tag=google,indent=0] tab:C#/.NET[unsupported] tab:C++[unsupported] -- + +== Azure Blob Storage + +Ignite supports automatic node discovery by utilizing Azure Blob Storage. +This mechanism is implemented in `TcpDiscoveryAzureBlobStorageIpFinder`. +On start-up, each node registers its IP address in the storage and discovers other nodes by reading the storage. + +IMPORTANT: To use `TcpDiscoveryAzureBlobStorageIpFinder`, enable the `ignite-azure` link:setup#enabling-modules[module] in your application. + +IMPORTANT: This functionality is currently supported only for Ipv4 IP addresses. Please ensure that you are using the Review comment: I don't think we can ignore IPv6. Please fix the IPv6 scenario properly by applying URL encoding, or by stripping interface names explicitly from the addresses. ########## File path: modules/azure/pom.xml ########## @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + 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. +--> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <parent> + <artifactId>ignite-parent</artifactId> + <groupId>org.apache.ignite</groupId> + <version>1</version> + <relativePath>../../parent</relativePath> + </parent> + <modelVersion>4.0.0</modelVersion> + + <artifactId>ignite-azure</artifactId> + <version>2.11.0-SNAPSHOT</version> + <url>http://ignite.apache.org</url> + + <dependencies> + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-core</artifactId> + <version>2.11.0-SNAPSHOT</version> + <scope>compile</scope> + </dependency> + + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-core</artifactId> + <version>${project.version}</version> + <type>test-jar</type> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-tools</artifactId> + <version>${project.version}</version> + <scope>test</scope> + </dependency> + + <!-- https://mvnrepository.com/artifact/com.azure/azure-storage-blob --> + <dependency> + <groupId>com.azure</groupId> + <artifactId>azure-storage-blob</artifactId> + <version>12.0.0</version> Review comment: I don't see why it can't be inlined here since you mention this version more than once. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
