Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Azure Resource Manager (ARM) #19146

Closed
dadoonet opened this issue Jun 29, 2016 · 12 comments
Closed

Add support for Azure Resource Manager (ARM) #19146

dadoonet opened this issue Jun 29, 2016 · 12 comments
Assignees
Labels
:Distributed Coordination/Discovery-Plugins Anything related to our integration plugins with EC2, GCP and Azure high hanging fruit

Comments

@dadoonet
Copy link
Member

As explained in #19144 we could create a new plugin named discovery-azure-arm which is based on the newest versions of the Azure SDK.

Classic was based on private key / password which was bad for what we want to achieve with such a plugin.
ARM uses now key / secrets which are really much more flexible and safer.

Basically you can now write code like this example:

ComputeManagementClient client;

// Default environment, no credentials
client = new ComputeManagementClientImpl();

// Custom environment with AzureChinaCloud endpoint
String chinaCloudEndpoint = "https://management.chinacloudapi.cn/";
client = new ComputeManagementClientImpl(chinaCloudEndpoint);

// Default environment with credentials
ApplicationTokenCredentials credentials = new ApplicationTokenCredentials(
        "client-id", "tenant-id", "secret", null);
client = new ComputeManagementClientImpl(credentials);

// Custom environment with credentials
client = new ComputeManagementClientImpl(chinaCloudEndpoint, credentials);

// Fully customized, with HTTP client and Retrofit modifiable
client = new ComputeManagementClientImpl(
        chinaCloudEndpoint,
        credentials,
        new OkHttpClient.Builder(),
        new Retrofit.Builder());
@jpountz
Copy link
Contributor

jpountz commented Jul 1, 2016

Looks like we should do it. @dadoonet is there anything to discuss here (it has the discuss label)?

@dadoonet dadoonet added help wanted adoptme and removed discuss labels Jul 1, 2016
@aslanbakirov
Copy link

@dadoonet It seems that you already started working on it. Is there a planned date for release?

@dadoonet
Copy link
Member Author

No date sorry. I just can tell that this will happen only with 5.0 series or later. So won't be available for 2.x series.

@aslanbakirov
Copy link

We would like to contribute, can you publish the branch that you are working on,so we may continue with that?

@ejsmith
Copy link

ejsmith commented Sep 4, 2016

Will this support using an Azure Scale Sets to discover member nodes?

@justinbarias
Copy link

Hello, any update on this piece of work? Or at least a placeholder plugin for the "azure-discovery-arm" plugin?

@JamieCressey
Copy link

+1 for this plugin

dadoonet added a commit to dadoonet/elasticsearch that referenced this issue Jan 18, 2017
Supported settings so far:

```yml
cloud:
    azure-arm:
        client_id: FILL_WITH_YOUR_CLIENT_ID
        secret: FILL_WITH_YOUR_SECRET
        tenant_id: FILL_WITH_YOUR_TENANT
        subscription_id: FILL_WITH_YOUR_SUBSCRIPTION_ID

discovery:
    zen.hosts_provider: azure-arm
    azure-arm:
        host:
            type: private_ip
            name: azure-esnode-master-*
            group_name: azure-preprod
            region: westeurope
        refresh_interval: 10s
```

Closes elastic#19146
dadoonet added a commit to dadoonet/elasticsearch that referenced this issue May 24, 2017
Supported settings so far:

```yml
cloud:
    azure-arm:
        client_id: FILL_WITH_YOUR_CLIENT_ID
        secret: FILL_WITH_YOUR_SECRET
        tenant_id: FILL_WITH_YOUR_TENANT
        subscription_id: FILL_WITH_YOUR_SUBSCRIPTION_ID

discovery:
    zen.hosts_provider: azure-arm
    azure-arm:
        host:
            type: private_ip
            name: azure-esnode-master-*
            group_name: azure-preprod
            region: westeurope
        refresh_interval: 10s
```

Closes elastic#19146
@synhershko
Copy link
Contributor

@dadoonet what is the status of this? was this released and can be used with 5.x? Classic plugin has a deprecated warning but no ARM plugin seems to be available at this point?

@dadoonet
Copy link
Member Author

dadoonet commented Jun 7, 2017

@synhershko I made some progress recently on this at #22679.
Not ready yet. My plan is to have something ready for 6.x series.

In the meantime, if you want to use azure discovery you still need to use the classic version of the plugin even though it's deprecated.

@synhershko
Copy link
Contributor

synhershko commented Jun 7, 2017 via email

@dadoonet
Copy link
Member Author

dadoonet commented Jun 7, 2017

I don't think it will be ever backported when finished.

@clintongormley clintongormley added :Distributed Coordination/Discovery-Plugins Anything related to our integration plugins with EC2, GCP and Azure and removed :Plugin Discovery Azure ARM labels Feb 13, 2018
@DaveCTurner DaveCTurner changed the title Add support for Azure Ressource Manager (ARM) Add support for Azure Resource Manager (ARM) Mar 14, 2018
@ywelsch
Copy link
Contributor

ywelsch commented Mar 19, 2019

We had an internal discussion on this and, while generally useful, think that we currently cannot take this one on, in particular give it the proper testing, support and maintenance that we provide for the other plugins in the ES repo. This might be a better fit as a community plugin for now. As a clear indication that we're not going to work on this in the foreseeable future, I'm closing this issue.

@ywelsch ywelsch closed this as completed Mar 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Distributed Coordination/Discovery-Plugins Anything related to our integration plugins with EC2, GCP and Azure high hanging fruit
Projects
None yet
Development

No branches or pull requests

9 participants