[jira] [Commented] (CASSANDRA-7156) Add a new seed provider for Apache Cloudstack platforms
[ https://issues.apache.org/jira/browse/CASSANDRA-7156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14033815#comment-14033815 ] Tupshin Harper commented on CASSANDRA-7156: --- I'm fine with linking to external github repos to provide additional seed providers, at least initially. There just needs to be very clear and straightforward instructions for building and deploying them. > Add a new seed provider for Apache Cloudstack platforms > --- > > Key: CASSANDRA-7156 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7156 > Project: Cassandra > Issue Type: Improvement > Components: Core > Environment: needs access to a cloudstack API endpoint >Reporter: Pierre-Yves Ritschard >Assignee: Michael Shuler >Priority: Minor > Fix For: 2.0.9, 2.1.1 > > Attachments: 0001-initial-work-on-a-cloudstack-seed-provider.patch > > > The attached patch adds a new seed provider which queries a cloudstack API > endpoint for instances having a specific tag. > The tag key and value can be controlled in the configuration file and > > will default to 'cassandra_seed' and 'default'. > > The Cloudstack endpoint is configured by three parameters in the > > configuration file: 'cloudstack_api_endpoint', 'cloudstack_api_key' and > > 'cloudstack_api_secret' > > By default, CloudstackSeedProvider fetchs the ipaddress of the first > > interface, if another index should be used, the nic_index parameter will hold > it. > A typical configuration file would thus have: > {code:yaml} > seed_provider: > - class_name: org.apache.cassandra.locator.CloudstackSeedProvider > parameters: > - cloudstack_api_endpoint: "https://some.cloudstack.host"; > cloudstack_api_key: "X" > cloudstack_api_secret: "X" > tag_value: "my_cluster_name" > {code} > This introduces no new dependency and together with CASSANDRA-7147 gives an > easy way of getting started on cloudstack platforms -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7156) Add a new seed provider for Apache Cloudstack platforms
[ https://issues.apache.org/jira/browse/CASSANDRA-7156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14033803#comment-14033803 ] Michael Shuler commented on CASSANDRA-7156: --- I sent [~pyritschard] a direct email to work on validation testing. > Add a new seed provider for Apache Cloudstack platforms > --- > > Key: CASSANDRA-7156 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7156 > Project: Cassandra > Issue Type: Improvement > Components: Core > Environment: needs access to a cloudstack API endpoint >Reporter: Pierre-Yves Ritschard >Assignee: Michael Shuler >Priority: Minor > Fix For: 2.0.9, 2.1.1 > > Attachments: 0001-initial-work-on-a-cloudstack-seed-provider.patch > > > The attached patch adds a new seed provider which queries a cloudstack API > endpoint for instances having a specific tag. > The tag key and value can be controlled in the configuration file and > > will default to 'cassandra_seed' and 'default'. > > The Cloudstack endpoint is configured by three parameters in the > > configuration file: 'cloudstack_api_endpoint', 'cloudstack_api_key' and > > 'cloudstack_api_secret' > > By default, CloudstackSeedProvider fetchs the ipaddress of the first > > interface, if another index should be used, the nic_index parameter will hold > it. > A typical configuration file would thus have: > {code:yaml} > seed_provider: > - class_name: org.apache.cassandra.locator.CloudstackSeedProvider > parameters: > - cloudstack_api_endpoint: "https://some.cloudstack.host"; > cloudstack_api_key: "X" > cloudstack_api_secret: "X" > tag_value: "my_cluster_name" > {code} > This introduces no new dependency and together with CASSANDRA-7147 gives an > easy way of getting started on cloudstack platforms -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7156) Add a new seed provider for Apache Cloudstack platforms
[ https://issues.apache.org/jira/browse/CASSANDRA-7156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13995107#comment-13995107 ] Pierre-Yves Ritschard commented on CASSANDRA-7156: -- [~jbellis] I'm not sure I get the QA point fully, do you mind explaining a bit further ? As for tests I added mock API responses which avoids needing to call out to an actual provider, I hope this eases the process. > Add a new seed provider for Apache Cloudstack platforms > --- > > Key: CASSANDRA-7156 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7156 > Project: Cassandra > Issue Type: Improvement > Components: Core > Environment: needs access to a cloudstack API endpoint >Reporter: Pierre-Yves Ritschard >Assignee: Michael Shuler >Priority: Minor > Fix For: 2.0.9, 2.1.1 > > Attachments: 0001-initial-work-on-a-cloudstack-seed-provider.patch > > > The attached patch adds a new seed provider which queries a cloudstack API > endpoint for instances having a specific tag. > The tag key and value can be controlled in the configuration file and > > will default to 'cassandra_seed' and 'default'. > > The Cloudstack endpoint is configured by three parameters in the > > configuration file: 'cloudstack_api_endpoint', 'cloudstack_api_key' and > > 'cloudstack_api_secret' > > By default, CloudstackSeedProvider fetchs the ipaddress of the first > > interface, if another index should be used, the nic_index parameter will hold > it. > A typical configuration file would thus have: > {code:yaml} > seed_provider: > - class_name: org.apache.cassandra.locator.CloudstackSeedProvider > parameters: > - cloudstack_api_endpoint: "https://some.cloudstack.host"; > cloudstack_api_key: "X" > cloudstack_api_secret: "X" > tag_value: "my_cluster_name" > {code} > This introduces no new dependency and together with CASSANDRA-7147 gives an > easy way of getting started on cloudstack platforms -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7156) Add a new seed provider for Apache Cloudstack platforms
[ https://issues.apache.org/jira/browse/CASSANDRA-7156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13990421#comment-13990421 ] Pierre-Yves Ritschard commented on CASSANDRA-7156: -- [~mshuler] I see that you're a tester for this issue. If you need access to a Cloudstack platform to test this on, hit me up and I'll credit an exoscale account for you. > Add a new seed provider for Apache Cloudstack platforms > --- > > Key: CASSANDRA-7156 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7156 > Project: Cassandra > Issue Type: Improvement > Components: Core > Environment: needs access to a cloudstack API endpoint >Reporter: Pierre-Yves Ritschard >Priority: Minor > Fix For: 2.0.8, 2.1.1 > > Attachments: 0001-initial-work-on-a-cloudstack-seed-provider.patch > > > The attached patch adds a new seed provider which queries a cloudstack API > endpoint for instances having a specific tag. > The tag key and value can be controlled in the configuration file and > > will default to 'cassandra_seed' and 'default'. > > The Cloudstack endpoint is configured by three parameters in the > > configuration file: 'cloudstack_api_endpoint', 'cloudstack_api_key' and > > 'cloudstack_api_secret' > > By default, CloudstackSeedProvider fetchs the ipaddress of the first > > interface, if another index should be used, the nic_index parameter will hold > it. > A typical configuration file would thus have: > {code:yaml} > seed_provider: > - class_name: org.apache.cassandra.locator.CloudstackSeedProvider > parameters: > - cloudstack_api_endpoint: "https://some.cloudstack.host"; > cloudstack_api_key: "X" > cloudstack_api_secret: "X" > tag_value: "my_cluster_name" > {code} > This introduces no new dependency and together with CASSANDRA-7147 gives an > easy way of getting started on cloudstack platforms -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7156) Add a new seed provider for Apache Cloudstack platforms
[ https://issues.apache.org/jira/browse/CASSANDRA-7156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13989645#comment-13989645 ] Pierre-Yves Ritschard commented on CASSANDRA-7156: -- [~brandon.williams] If snitches can serve as examples, they don't seem to have crept much, even though there are a few that are platform-specific. Down the line, a very low overhead "plugin" system (whose job could be to just download jars in the right location) could be interesting and would prevent this from being a necessity. As it stands, it ends up being tough for sysadmins to work around the details of where to get additional functionality JARs, put them in the right place and consume them from the cassandra config, hence this patch proposal. > Add a new seed provider for Apache Cloudstack platforms > --- > > Key: CASSANDRA-7156 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7156 > Project: Cassandra > Issue Type: Improvement > Components: Core > Environment: needs access to a cloudstack API endpoint >Reporter: Pierre-Yves Ritschard >Priority: Minor > Fix For: 2.0.8, 2.1.1 > > Attachments: 0001-initial-work-on-a-cloudstack-seed-provider.patch > > > The attached patch adds a new seed provider which queries a cloudstack API > endpoint for instances having a specific tag. > The tag key and value can be controlled in the configuration file and > > will default to 'cassandra_seed' and 'default'. > > The Cloudstack endpoint is configured by three parameters in the > > configuration file: 'cloudstack_api_endpoint', 'cloudstack_api_key' and > > 'cloudstack_api_secret' > > By default, CloudstackSeedProvider fetchs the ipaddress of the first > > interface, if another index should be used, the nic_index parameter will hold > it. > A typical configuration file would thus have: > {code:yaml} > seed_provider: > - class_name: org.apache.cassandra.locator.CloudstackSeedProvider > parameters: > - cloudstack_api_endpoint: "https://some.cloudstack.host"; > cloudstack_api_key: "X" > cloudstack_api_secret: "X" > tag_value: "my_cluster_name" > {code} > This introduces no new dependency and together with CASSANDRA-7147 gives an > easy way of getting started on cloudstack platforms -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7156) Add a new seed provider for Apache Cloudstack platforms
[ https://issues.apache.org/jira/browse/CASSANDRA-7156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13989644#comment-13989644 ] Pierre-Yves Ritschard commented on CASSANDRA-7156: -- No, it should not, it is up to the providers to provide a redundant endpoint. This is the equivalent of https://ec2.amazonaws.com in the AWS world. > Add a new seed provider for Apache Cloudstack platforms > --- > > Key: CASSANDRA-7156 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7156 > Project: Cassandra > Issue Type: Improvement > Components: Core > Environment: needs access to a cloudstack API endpoint >Reporter: Pierre-Yves Ritschard >Priority: Minor > Fix For: 2.0.8, 2.1.1 > > Attachments: 0001-initial-work-on-a-cloudstack-seed-provider.patch > > > The attached patch adds a new seed provider which queries a cloudstack API > endpoint for instances having a specific tag. > The tag key and value can be controlled in the configuration file and > > will default to 'cassandra_seed' and 'default'. > > The Cloudstack endpoint is configured by three parameters in the > > configuration file: 'cloudstack_api_endpoint', 'cloudstack_api_key' and > > 'cloudstack_api_secret' > > By default, CloudstackSeedProvider fetchs the ipaddress of the first > > interface, if another index should be used, the nic_index parameter will hold > it. > A typical configuration file would thus have: > {code:yaml} > seed_provider: > - class_name: org.apache.cassandra.locator.CloudstackSeedProvider > parameters: > - cloudstack_api_endpoint: "https://some.cloudstack.host"; > cloudstack_api_key: "X" > cloudstack_api_secret: "X" > tag_value: "my_cluster_name" > {code} > This introduces no new dependency and together with CASSANDRA-7147 gives an > easy way of getting started on cloudstack platforms -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7156) Add a new seed provider for Apache Cloudstack platforms
[ https://issues.apache.org/jira/browse/CASSANDRA-7156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13989638#comment-13989638 ] Brandon Williams commented on CASSANDRA-7156: - bq. I get that we don't want to host permutations of every possible custom seed provider, but ISTM that one per major cloud is reasonable if we can agree on what constitutes best practices I dunno, I kind of look at seed providers the same way I look at authenticators. We could ship an ldap authenticator or something, but we don't (and shouldn't.) We'd be setting a precedent here that will open us up to more seed providers in the future. > Add a new seed provider for Apache Cloudstack platforms > --- > > Key: CASSANDRA-7156 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7156 > Project: Cassandra > Issue Type: Improvement > Components: Core > Environment: needs access to a cloudstack API endpoint >Reporter: Pierre-Yves Ritschard >Priority: Minor > Fix For: 2.0.8, 2.1.1 > > Attachments: 0001-initial-work-on-a-cloudstack-seed-provider.patch > > > The attached patch adds a new seed provider which queries a cloudstack API > endpoint for instances having a specific tag. > The tag key and value can be controlled in the configuration file and > > will default to 'cassandra_seed' and 'default'. > > The Cloudstack endpoint is configured by three parameters in the > > configuration file: 'cloudstack_api_endpoint', 'cloudstack_api_key' and > > 'cloudstack_api_secret' > > By default, CloudstackSeedProvider fetchs the ipaddress of the first > > interface, if another index should be used, the nic_index parameter will hold > it. > A typical configuration file would thus have: > {code:yaml} > seed_provider: > - class_name: org.apache.cassandra.locator.CloudstackSeedProvider > parameters: > - cloudstack_api_endpoint: "https://some.cloudstack.host"; > cloudstack_api_key: "X" > cloudstack_api_secret: "X" > tag_value: "my_cluster_name" > {code} > This introduces no new dependency and together with CASSANDRA-7147 gives an > easy way of getting started on cloudstack platforms -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7156) Add a new seed provider for Apache Cloudstack platforms
[ https://issues.apache.org/jira/browse/CASSANDRA-7156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13989640#comment-13989640 ] Jonathan Ellis commented on CASSANDRA-7156: --- is a single cloudstack_api_endpoint a possible SPOF? > Add a new seed provider for Apache Cloudstack platforms > --- > > Key: CASSANDRA-7156 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7156 > Project: Cassandra > Issue Type: Improvement > Components: Core > Environment: needs access to a cloudstack API endpoint >Reporter: Pierre-Yves Ritschard >Priority: Minor > Fix For: 2.0.8, 2.1.1 > > Attachments: 0001-initial-work-on-a-cloudstack-seed-provider.patch > > > The attached patch adds a new seed provider which queries a cloudstack API > endpoint for instances having a specific tag. > The tag key and value can be controlled in the configuration file and > > will default to 'cassandra_seed' and 'default'. > > The Cloudstack endpoint is configured by three parameters in the > > configuration file: 'cloudstack_api_endpoint', 'cloudstack_api_key' and > > 'cloudstack_api_secret' > > By default, CloudstackSeedProvider fetchs the ipaddress of the first > > interface, if another index should be used, the nic_index parameter will hold > it. > A typical configuration file would thus have: > {code:yaml} > seed_provider: > - class_name: org.apache.cassandra.locator.CloudstackSeedProvider > parameters: > - cloudstack_api_endpoint: "https://some.cloudstack.host"; > cloudstack_api_key: "X" > cloudstack_api_secret: "X" > tag_value: "my_cluster_name" > {code} > This introduces no new dependency and together with CASSANDRA-7147 gives an > easy way of getting started on cloudstack platforms -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7156) Add a new seed provider for Apache Cloudstack platforms
[ https://issues.apache.org/jira/browse/CASSANDRA-7156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13989620#comment-13989620 ] Pierre-Yves Ritschard commented on CASSANDRA-7156: -- [~jjordan] I just did and seem to have the expected behavior: {code:none} INFO 15:40:09 PasswordAuthenticator created default user 'cassandra' INFO 15:40:09 Created default superuser 'cassandra' {code} > Add a new seed provider for Apache Cloudstack platforms > --- > > Key: CASSANDRA-7156 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7156 > Project: Cassandra > Issue Type: Improvement > Components: Core > Environment: needs access to a cloudstack API endpoint >Reporter: Pierre-Yves Ritschard >Priority: Minor > Fix For: 2.0.8, 2.1.1 > > Attachments: 0001-initial-work-on-a-cloudstack-seed-provider.patch > > > The attached patch adds a new seed provider which queries a cloudstack API > endpoint for instances having a specific tag. > The tag key and value can be controlled in the configuration file and > > will default to 'cassandra_seed' and 'default'. > > The Cloudstack endpoint is configured by three parameters in the > > configuration file: 'cloudstack_api_endpoint', 'cloudstack_api_key' and > > 'cloudstack_api_secret' > > By default, CloudstackSeedProvider fetchs the ipaddress of the first > > interface, if another index should be used, the nic_index parameter will hold > it. > A typical configuration file would thus have: > {code:yaml} > seed_provider: > - class_name: org.apache.cassandra.locator.CloudstackSeedProvider > parameters: > - cloudstack_api_endpoint: "https://some.cloudstack.host"; > cloudstack_api_key: "X" > cloudstack_api_secret: "X" > tag_value: "my_cluster_name" > {code} > This introduces no new dependency and together with CASSANDRA-7147 gives an > easy way of getting started on cloudstack platforms -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7156) Add a new seed provider for Apache Cloudstack platforms
[ https://issues.apache.org/jira/browse/CASSANDRA-7156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13989611#comment-13989611 ] Jeremiah Jordan commented on CASSANDRA-7156: [~pyritschard] did you test this with enabling password authentication? I have seen some other custom seed providers fail to correctly interact with the code that checks "am I a seed? if so make the default super user account". > Add a new seed provider for Apache Cloudstack platforms > --- > > Key: CASSANDRA-7156 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7156 > Project: Cassandra > Issue Type: Improvement > Components: Core > Environment: needs access to a cloudstack API endpoint >Reporter: Pierre-Yves Ritschard >Priority: Minor > Fix For: 2.0.8, 2.1.1 > > Attachments: 0001-initial-work-on-a-cloudstack-seed-provider.patch > > > The attached patch adds a new seed provider which queries a cloudstack API > endpoint for instances having a specific tag. > The tag key and value can be controlled in the configuration file and > > will default to 'cassandra_seed' and 'default'. > > The Cloudstack endpoint is configured by three parameters in the > > configuration file: 'cloudstack_api_endpoint', 'cloudstack_api_key' and > > 'cloudstack_api_secret' > > By default, CloudstackSeedProvider fetchs the ipaddress of the first > > interface, if another index should be used, the nic_index parameter will hold > it. > A typical configuration file would thus have: > {code:yaml} > seed_provider: > - class_name: org.apache.cassandra.locator.CloudstackSeedProvider > parameters: > - cloudstack_api_endpoint: "https://some.cloudstack.host"; > cloudstack_api_key: "X" > cloudstack_api_secret: "X" > tag_value: "my_cluster_name" > {code} > This introduces no new dependency and together with CASSANDRA-7147 gives an > easy way of getting started on cloudstack platforms -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7156) Add a new seed provider for Apache Cloudstack platforms
[ https://issues.apache.org/jira/browse/CASSANDRA-7156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13989607#comment-13989607 ] Jeremiah Jordan commented on CASSANDRA-7156: bq. I get that we don't want to host permutations of every possible custom seed provider, but ISTM that one per major cloud is reasonable if we can agree on what constitutes best practices. Then if you want to wander off the beaten path you're on your own. works for me > Add a new seed provider for Apache Cloudstack platforms > --- > > Key: CASSANDRA-7156 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7156 > Project: Cassandra > Issue Type: Improvement > Components: Core > Environment: needs access to a cloudstack API endpoint >Reporter: Pierre-Yves Ritschard >Priority: Minor > Fix For: 2.0.8, 2.1.1 > > Attachments: 0001-initial-work-on-a-cloudstack-seed-provider.patch > > > The attached patch adds a new seed provider which queries a cloudstack API > endpoint for instances having a specific tag. > The tag key and value can be controlled in the configuration file and > > will default to 'cassandra_seed' and 'default'. > > The Cloudstack endpoint is configured by three parameters in the > > configuration file: 'cloudstack_api_endpoint', 'cloudstack_api_key' and > > 'cloudstack_api_secret' > > By default, CloudstackSeedProvider fetchs the ipaddress of the first > > interface, if another index should be used, the nic_index parameter will hold > it. > A typical configuration file would thus have: > {code:yaml} > seed_provider: > - class_name: org.apache.cassandra.locator.CloudstackSeedProvider > parameters: > - cloudstack_api_endpoint: "https://some.cloudstack.host"; > cloudstack_api_key: "X" > cloudstack_api_secret: "X" > tag_value: "my_cluster_name" > {code} > This introduces no new dependency and together with CASSANDRA-7147 gives an > easy way of getting started on cloudstack platforms -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7156) Add a new seed provider for Apache Cloudstack platforms
[ https://issues.apache.org/jira/browse/CASSANDRA-7156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13989606#comment-13989606 ] Jeremiah Jordan commented on CASSANDRA-7156: We are not going to default to this seed provider, so you are never going to have "zeroconf" without starting from a custom package, where you could easily include the jar. ¯\_(ツ)_/¯ > Add a new seed provider for Apache Cloudstack platforms > --- > > Key: CASSANDRA-7156 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7156 > Project: Cassandra > Issue Type: Improvement > Components: Core > Environment: needs access to a cloudstack API endpoint >Reporter: Pierre-Yves Ritschard >Priority: Minor > Fix For: 2.0.8, 2.1.1 > > Attachments: 0001-initial-work-on-a-cloudstack-seed-provider.patch > > > The attached patch adds a new seed provider which queries a cloudstack API > endpoint for instances having a specific tag. > The tag key and value can be controlled in the configuration file and > > will default to 'cassandra_seed' and 'default'. > > The Cloudstack endpoint is configured by three parameters in the > > configuration file: 'cloudstack_api_endpoint', 'cloudstack_api_key' and > > 'cloudstack_api_secret' > > By default, CloudstackSeedProvider fetchs the ipaddress of the first > > interface, if another index should be used, the nic_index parameter will hold > it. > A typical configuration file would thus have: > {code:yaml} > seed_provider: > - class_name: org.apache.cassandra.locator.CloudstackSeedProvider > parameters: > - cloudstack_api_endpoint: "https://some.cloudstack.host"; > cloudstack_api_key: "X" > cloudstack_api_secret: "X" > tag_value: "my_cluster_name" > {code} > This introduces no new dependency and together with CASSANDRA-7147 gives an > easy way of getting started on cloudstack platforms -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7156) Add a new seed provider for Apache Cloudstack platforms
[ https://issues.apache.org/jira/browse/CASSANDRA-7156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13989605#comment-13989605 ] Jonathan Ellis commented on CASSANDRA-7156: --- I get that we don't want to host permutations of every possible custom seed provider, but ISTM that one per major cloud is reasonable if we can agree on what constitutes best practices. Then if you want to wander off the beaten path you're on your own. > Add a new seed provider for Apache Cloudstack platforms > --- > > Key: CASSANDRA-7156 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7156 > Project: Cassandra > Issue Type: Improvement > Components: Core > Environment: needs access to a cloudstack API endpoint >Reporter: Pierre-Yves Ritschard >Priority: Minor > Fix For: 2.0.8, 2.1.1 > > Attachments: 0001-initial-work-on-a-cloudstack-seed-provider.patch > > > The attached patch adds a new seed provider which queries a cloudstack API > endpoint for instances having a specific tag. > The tag key and value can be controlled in the configuration file and > > will default to 'cassandra_seed' and 'default'. > > The Cloudstack endpoint is configured by three parameters in the > > configuration file: 'cloudstack_api_endpoint', 'cloudstack_api_key' and > > 'cloudstack_api_secret' > > By default, CloudstackSeedProvider fetchs the ipaddress of the first > > interface, if another index should be used, the nic_index parameter will hold > it. > A typical configuration file would thus have: > {code:yaml} > seed_provider: > - class_name: org.apache.cassandra.locator.CloudstackSeedProvider > parameters: > - cloudstack_api_endpoint: "https://some.cloudstack.host"; > cloudstack_api_key: "X" > cloudstack_api_secret: "X" > tag_value: "my_cluster_name" > {code} > This introduces no new dependency and together with CASSANDRA-7147 gives an > easy way of getting started on cloudstack platforms -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7156) Add a new seed provider for Apache Cloudstack platforms
[ https://issues.apache.org/jira/browse/CASSANDRA-7156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13989600#comment-13989600 ] Pierre-Yves Ritschard commented on CASSANDRA-7156: -- Hi Jeremiah, I definitely will publish this as a separate JAR if it doesn't make it in the tree. Since there is already a CloudstackSnitch provider and this doesn't add a lot of bloat I think it would make sense to put this in tree. I don't think it makes a huge amount of sense outside of the tree since you lose the 'zeroconf' nice property that you get from having it locally. > Add a new seed provider for Apache Cloudstack platforms > --- > > Key: CASSANDRA-7156 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7156 > Project: Cassandra > Issue Type: Improvement > Components: Core > Environment: needs access to a cloudstack API endpoint >Reporter: Pierre-Yves Ritschard >Priority: Minor > Fix For: 2.0.8, 2.1.1 > > Attachments: 0001-initial-work-on-a-cloudstack-seed-provider.patch > > > The attached patch adds a new seed provider which queries a cloudstack API > endpoint for instances having a specific tag. > The tag key and value can be controlled in the configuration file and > > will default to 'cassandra_seed' and 'default'. > > The Cloudstack endpoint is configured by three parameters in the > > configuration file: 'cloudstack_api_endpoint', 'cloudstack_api_key' and > > 'cloudstack_api_secret' > > By default, CloudstackSeedProvider fetchs the ipaddress of the first > > interface, if another index should be used, the nic_index parameter will hold > it. > A typical configuration file would thus have: > {code:yaml} > seed_provider: > - class_name: org.apache.cassandra.locator.CloudstackSeedProvider > parameters: > - cloudstack_api_endpoint: "https://some.cloudstack.host"; > cloudstack_api_key: "X" > cloudstack_api_secret: "X" > tag_value: "my_cluster_name" > {code} > This introduces no new dependency. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7156) Add a new seed provider for Apache Cloudstack platforms
[ https://issues.apache.org/jira/browse/CASSANDRA-7156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13989595#comment-13989595 ] Jeremiah Jordan commented on CASSANDRA-7156: I don't know that we should be hosting this in tree. We don't currently host any alternate seed providers in tree. It should be easy enough to put this up on github or something for people who want it. > Add a new seed provider for Apache Cloudstack platforms > --- > > Key: CASSANDRA-7156 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7156 > Project: Cassandra > Issue Type: Improvement > Components: Core > Environment: needs access to a cloudstack API endpoint >Reporter: Pierre-Yves Ritschard >Priority: Minor > Fix For: 2.0.8, 2.1.1 > > Attachments: 0001-initial-work-on-a-cloudstack-seed-provider.patch > > > The attached patch adds a new seed provider which queries a cloudstack API > endpoint for instances having a specific tag. > The tag key and value can be controlled in the configuration file and > > will default to 'cassandra_seed' and 'default'. > > The Cloudstack endpoint is configured by three parameters in the > > configuration file: 'cloudstack_api_endpoint', 'cloudstack_api_key' and > > 'cloudstack_api_secret' > > By default, CloudstackSeedProvider fetchs the ipaddress of the first > > interface, if another index should be used, the nic_index parameter will hold > it. > A typical configuration file would thus have: > {code:yaml} > seed_provider: > - class_name: org.apache.cassandra.locator.CloudstackSeedProvider > parameters: > - cloudstack_api_endpoint: "https://some.cloudstack.host"; > cloudstack_api_key: "X" > cloudstack_api_secret: "X" > tag_value: "my_cluster_name" > {code} > This introduces no new dependency. -- This message was sent by Atlassian JIRA (v6.2#6252)