You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cassandra.apache.org by John Sanda <jo...@gmail.com> on 2020/08/06 03:51:30 UTC

Cassandra Kubernetes SIG - status update

I want to provide folks with a brief summary of what I have been up to
prior to the next SIG meeting. As mentioned in a previous email, I have
created https://github.com/jsanda/cassandra-operator and started adding
code.

Goals or objectives include:

   - Increase collaboration
   - Spur more in-depth discussion
   - Ramp up a project that can eventually be considered for adoption
   within ASF, presumably as a subproject of Cassandra

Objectives do not include:

   - Reinvent work that has already been done in existing operator projects
   - Accumulating a lot of tech debt

Details:
I am using operator-sdk v0.19.0 which has a bunch of changes from the
version I was previously using, namely it uses the same scaffolding and
project structure as Kubebuilder. This includes extensive use of kustomize.
The test framework has been removed from operator-sdk.

I have literally (and shamelessly) been copying/pasting bits of code from
both cass-operator and from casskop. So far the controller generates a
couple headless services and a StatefulSet. I currently have some things
hard coded, like the number of replicas in the StatefulSet, as I am just
trying to sanity check things.

I started off using the "default" Docker Hub Cassandra image. I needed to
make some changes to C* configs, so I added initial support for
cass-config-builder <https://github.com/datastax/cass-config-builder>. I
had to extend the Cassandra image in order to be able to copy config files
into the CASSANDRA_CONF dir.

cass-config-builder configures Cassandra to
use org.apache.cassandra.locator.K8SeedProvider. This class however is
defined in management-api-for-apache-cassandra
<https://github.com/datastax/management-api-for-apache-cassandra>, i.e.,
the DataStax management sidecar. I am not using the management sidecar yet,
but updated my C* image to include the agent JAR which contains the
K8SeedProvider class. I am still trying to iron out some of the wrinkles.

There are no integration/e2e tests yet. I don't want to get too much
further along without having some decent e2e test coverage.

That's all for now.

Thanks

- John

Re: Cassandra Kubernetes SIG - status update

Posted by Cyril Scetbon <cy...@free.fr>.
Hey Christopher,

Okay cause I also need the same as I use Jolokia https://github.com/Orange-OpenSource/casskop/blob/master/docker/bootstrap/files/run.sh#L192-L199 <https://github.com/Orange-OpenSource/casskop/blob/master/docker/bootstrap/files/run.sh#L192-L199>

Should I add it to the issue I created or will you create another one ?

—
Cyril Scetbon

> On Aug 18, 2020, at 11:05 PM, Christopher Bradford <br...@gmail.com> wrote:
> 
> It sounds like he just included the agent jar which has this class on the
> CLASSPATH. This feels like an enhancement for the definitions config
> builder uses to allow for configuration of the seed provider.
> 
> On Tue, Aug 18, 2020 at 11:00 PM Cyril Scetbon <cy...@free.fr>
> wrote:
> 
>> Hey John,
>> 
>> 
>> 
>> I’m also in the middle of evaluating this image as I want to test
>> cassandra 4.0-beta1 and am trying to avoid having to handle changes at the
>> configuration level (deprecated/renamed parameters for instance). I also
>> have an issue with the fact the seed_provider class is not parameterized.
>> See https://github.com/datastax/cass-config-definitions/issues/19 <
>> https://github.com/datastax/cass-config-definitions/issues/19>.
>> 
>> 
>> 
>> Did you happen to fork the project with that change ?
>> 
>> 
>> 
>> Thanks
>> 
>> —
>> 
>> Cyril Scetbon
>> 
>> 
>> 
>>> On Aug 5, 2020, at 11:51 PM, John Sanda <jo...@gmail.com> wrote:
>> 
>>> 
>> 
>>> cass-config-builder configures Cassandra to
>> 
>>> use org.apache.cassandra.locator.K8SeedProvider. This class however is
>> 
>>> defined in management-api-for-apache-cassandra
>> 
>>> <https://github.com/datastax/management-api-for-apache-cassandra <
>> https://github.com/datastax/management-api-for-apache-cassandra>>, i.e.,
>> 
>>> the DataStax management sidecar. I am not using the management sidecar
>> yet,
>> 
>>> but updated my C* image to include the agent JAR which contains the
>> 
>>> K8SeedProvider class. I am still trying to iron out some of the wrinkles.
>> 
>> 
>> 
>> --
> 
> Christopher Bradford


Re: Cassandra Kubernetes SIG - status update

Posted by Christopher Bradford <br...@gmail.com>.
It sounds like he just included the agent jar which has this class on the
CLASSPATH. This feels like an enhancement for the definitions config
builder uses to allow for configuration of the seed provider.

On Tue, Aug 18, 2020 at 11:00 PM Cyril Scetbon <cy...@free.fr>
wrote:

> Hey John,
>
>
>
> I’m also in the middle of evaluating this image as I want to test
> cassandra 4.0-beta1 and am trying to avoid having to handle changes at the
> configuration level (deprecated/renamed parameters for instance). I also
> have an issue with the fact the seed_provider class is not parameterized.
> See https://github.com/datastax/cass-config-definitions/issues/19 <
> https://github.com/datastax/cass-config-definitions/issues/19>.
>
>
>
> Did you happen to fork the project with that change ?
>
>
>
> Thanks
>
> —
>
> Cyril Scetbon
>
>
>
> > On Aug 5, 2020, at 11:51 PM, John Sanda <jo...@gmail.com> wrote:
>
> >
>
> > cass-config-builder configures Cassandra to
>
> > use org.apache.cassandra.locator.K8SeedProvider. This class however is
>
> > defined in management-api-for-apache-cassandra
>
> > <https://github.com/datastax/management-api-for-apache-cassandra <
> https://github.com/datastax/management-api-for-apache-cassandra>>, i.e.,
>
> > the DataStax management sidecar. I am not using the management sidecar
> yet,
>
> > but updated my C* image to include the agent JAR which contains the
>
> > K8SeedProvider class. I am still trying to iron out some of the wrinkles.
>
>
>
> --

Christopher Bradford

Re: Cassandra Kubernetes SIG - status update

Posted by Cyril Scetbon <cy...@free.fr>.
Hey John,

I’m also in the middle of evaluating this image as I want to test cassandra 4.0-beta1 and am trying to avoid having to handle changes at the configuration level (deprecated/renamed parameters for instance). I also have an issue with the fact the seed_provider class is not parameterized. See https://github.com/datastax/cass-config-definitions/issues/19 <https://github.com/datastax/cass-config-definitions/issues/19>.

Did you happen to fork the project with that change ?

Thanks
—
Cyril Scetbon

> On Aug 5, 2020, at 11:51 PM, John Sanda <jo...@gmail.com> wrote:
> 
> cass-config-builder configures Cassandra to
> use org.apache.cassandra.locator.K8SeedProvider. This class however is
> defined in management-api-for-apache-cassandra
> <https://github.com/datastax/management-api-for-apache-cassandra <https://github.com/datastax/management-api-for-apache-cassandra>>, i.e.,
> the DataStax management sidecar. I am not using the management sidecar yet,
> but updated my C* image to include the agent JAR which contains the
> K8SeedProvider class. I am still trying to iron out some of the wrinkles.