Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Gutemberg Ribeiro
    @galvesribeiro
    Orleans has a provider model that allow the distributed actor state to be stored in a backend storage. For example azure tables, sql, dynamodb etc... if metaparticle has a storage option I would like to create an Orleans storage provider for it :smile:
    Mark Rendle
    @markrendle
    @brendandburns Would it make sense for JS and .NET to be able to access/modify the same scopes?
    So I could set a variable in JS and then access it from .NET, &vv?
    Brendan Burns
    @brendandburns
    It would be cool, though not absolutely required.
    Mark Rendle
    @markrendle
    :)
    Fernando Calheiros
    @xfernando
    @brendandburns, from what I read earlier on this channel you prefer not to use external CLIs directly, and instead use the APIs. So I started improving the go docker executor/builder and at the same time replacing the use of os/exec with talking to docker using their API. Is this what you expect executors and builders to do from now on?
    Brendan Burns
    @brendandburns
    yeah, that's a good thing, I think. Not required, but useful. The other option is to add functionality into the metaparticle-ast compiler to do things like Docker builds
    Fernando Calheiros
    @xfernando
    hmm, I see
    I'll take a deeper look at metaparticle-ast
    Will Penington
    @willpenington
    Hello, I'm going to have some time over the holidays which I'd like to use to hack and write docs. I'm probably going to start with adding extra files to images in Java and go from there
    Brendan Burns
    @brendandburns
    Sounds great. Thank you!
    Vallery Lancey
    @vllry
    I got very sick for a week, which took me out, but I'm hoping to have a decent enough starting repo up for readthedocs tomorrow. Minimal content, but it's a start, and I figured out how to do those fancy "pick what language instructions to show" blocks.
    Fernando Calheiros
    @xfernando
    @brendandburns I saw you reverted docker push to using docker’s executable because it didn’t support registry authentication, so I opened an issue to work on adding authentication support where I lay out some options for doing that, looking for some feedback before I start implementing it :smile:
    Brendan Burns
    @brendandburns
    Cool thanks!
    Fernando Calheiros
    @xfernando
    :+1:
    Radhakrishna Pemmasani
    @pemmasanikrishna
    @brendandburns can you pls accept the java test cases pr
    Gabriel Duke
    @gabeduke
    Can someone help me understand the workflow for metaparticle? I'm trying to run the python example and keep running into a socket error. It seems to me that when k8s runs the container it tries to containerize the application again through a local sock. Is this the case? This is my best idea where the error could be coming from.
    Fernando Calheiros
    @xfernando
    @gabeduke I haven’t used metaparticle with python yet, but maybe that’s a bug in the is_in_docker_container() function in containerize.py
    Fernando Calheiros
    @xfernando
    does the error occur when the container is running in kubernetes?
    Gabriel Duke
    @gabeduke
    @xfernando the error does occur once the container starts running in k8s. i took a look at that function and it does seem like it could be coming from there. I 'may' be able to debug a little tonight but its likely going to be over my head
    Fernando Calheiros
    @xfernando
    I’m trying to get the python examples running locally here
    Gabriel Duke
    @gabeduke
    i tried to run it in a local LXD cluster as well as minikube
    thanks for taking a look :D
    Fernando Calheiros
    @xfernando
    containers are starting in minikube
    CrashLoopBackOff
    now I’ll try to dig in
    Fernando Calheiros
    @xfernando
    it works well with the docker executor locally here, so it may be something specific to kubernetes
    Gabriel Duke
    @gabeduke
    to use the docker executor do you just change the flag to docker on the decorator? i have more errors when attempting that
    Fernando Calheiros
    @xfernando
    yup
    Gabriel Duke
    @gabeduke
    Traceback (most recent call last): File "/app/web.py", line 28, in <module> runtime={'ports': [8080], 'executor': 'docker', 'replicas': 3, 'public': True} File "/usr/local/lib/python3.6/site-packages/metaparticle_pkg/containerize.py", line 58, in __init__ self.builder = builder.select(self.package.builder) File "/usr/local/lib/python3.6/site-packages/metaparticle_pkg/builder/__init__.py", line 6, in select return DockerBuilder() File "/usr/local/lib/python3.6/site-packages/metaparticle_pkg/builder/docker_builder.py", line 11, in __init__ self.docker_client = APIClient(version='auto') File "/usr/local/lib/python3.6/site-packages/docker/api/client.py", line 149, in __init__ self._version = self._retrieve_server_version() File "/usr/local/lib/python3.6/site-packages/docker/api/client.py", line 176, in _retrieve_server_version 'Error while fetching server API version: {0}'.format(e) docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
    Fernando Calheiros
    @xfernando
    it ran fine when I did that
    are you using minikube’s docker?
    Gabriel Duke
    @gabeduke
    just my system runtime
    Fernando Calheiros
    @xfernando
    (as with eval $(minikube docker-env)?
    I’m getting this same error when using minkube’s docker
    and metaparticle’s executor
    Gabriel Duke
    @gabeduke
    i think i misunderstood the docker executor. i was picturing it running in my system runtime not a k8s env
    Fernando Calheiros
    @xfernando
    docker’s executor uses the docker that is available on your system
    it won’t go to kubernetes, metaparticle’s executor is the one that deploys to kubernetes
    Gabriel Duke
    @gabeduke
    okay then im not sure whats going on. I m just running the container as normal. i must be missing something though. once i do figure this out i'll be sure to submit some docs up :D
    Fernando Calheiros
    @xfernando
    mine ran fine here with docker’s executor:
    docker ps
    CONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS              PORTS                    NAMES
    22ec41ccc85d        xfernando/web:latest   "/bin/sh -c 'python …"   10 seconds ago      Up 9 seconds        0.0.0.0:8080->8080/tcp   web
    I change this lines in mine:
    @Containerize(
        package={'name': 'web', 'repository': 'docker.io/xfernando'},
        runtime={'ports': [8080], 'executor': 'docker', 'replicas': 3}
    )
    other than that it’s the same code on the repository
    Gabriel Duke
    @gabeduke
    i am having the same issue on another linux box. Can anyone else try this in linux?
    Benjamin
    @bdparrish
    Can anyone verify the installation steps for metaparticle-ast on k8s?
    Alex Goodman
    @wagoodman

    hey! I'm trying to get the metaparticle sync demos running in GCP... I've been trying to get the java-lock demo going without success. It seems that when I deploy the given example the elector container dies:

    elector    Mar 4, 2018, 7:07:01 AM    at io.metaparticle.containerlib.elector.Main.main(Main.java:18)
    elector    Mar 4, 2018, 7:07:01 AM    at io.metaparticle.containerlib.elector.KubernetesStorage.<init>(KubernetesStorage.java:23)
    elector    Mar 4, 2018, 7:07:01 AM    at io.metaparticle.containerlib.elector.KubernetesStorage.createResourceIfNotExists(KubernetesStorage.java:34)
    elector    Mar 4, 2018, 7:07:01 AM    at io.kubernetes.client.apis.ApiextensionsV1beta1Api.readCustomResourceDefinition(ApiextensionsV1beta1Api.java:1042)
    elector    Mar 4, 2018, 7:07:01 AM    at io.kubernetes.client.apis.ApiextensionsV1beta1Api.readCustomResourceDefinitionWithHttpInfo(ApiextensionsV1beta1Api.java:1059)
    elector    Mar 4, 2018, 7:07:01 AM    at io.kubernetes.client.ApiClient.execute(ApiClient.java:798)
    elector    Mar 4, 2018, 7:07:01 AM    at io.kubernetes.client.ApiClient.handleResponse(ApiClient.java:882)
    elector    Mar 4, 2018, 7:07:01 AM    Exception in thread "main" io.kubernetes.client.ApiException: Forbidden

    From the looks of it, the java client can't seem to authenticate with GCP (to get to the K8s API I presume). Has anybody run into this or know how to get around it?

    Leigh Ciechanowski
    @LeighCiechanowski
    Hi all! I've got a few hours spare and want to contribute. I came across this issue metaparticle-io/package#3. I've got 10 years+ .net experience and could put in some unit tests on the dotnet side. I thought that I'd start in Metapartice.Package. Please should up if anyone things I'd be better contributing to the project in another way :thumbsup:
    Adam Bouhenguel
    @ajbouh
    What sorts of projects is metaparticle a good fit for?
    Manuel Ryan
    @mryan43
    Hello, I very recently read "designing distributed systems" and used it as an inspiration to write my first distributed batch job to perform simple refactorings in the 1400+ code repositories of my organization. I stumbled upon metaparticle today and wondered if there are any implementation for the "work queue" pattern, taking care of the queue management and synchronization for me (using celery, redis optimistic locking + retries, or something like that) ?
    if no-one tried to implement this yet, maybe I could !