3

We are trying to create our own DCOS package to install our application, we created our own universe and host it in S3, we created all the necessary files for the DCOS package(config.json, package.json, marathon.json.mustache) and the index is created correctly, called Atest.

Our marathon.json is a marathon descriptor for a group of apps:

{
    "id" : "/{{Atest.id}}",
    "groups":
    [
        {
            "id": "{{Atest.apps-id}}",
            "apps" :
            [
                {
                    "id" : "{{Atest.app-master-id}}",
                  .......
                },
                {
                    "id" : "{{Atest.app-slave-id}}",
                  .......
                },
            ]
         }
     ]
}

When we deploy the application through the marathon api it works fine, but when we try to run DCOS package install Atest it fails, if i replace the the json for only the master app it is installed without problems.

So DCOS package install custom-package can only install marathon apps? Or is there a way to to install a marathon group as a DCOS package?

acalderon
  • 31
  • 4

1 Answers1

1

Yes, dcos package install custom-package can only install marathon app. DCOS doesn't have a support to accept marathon group json.

Marathon has the support to start multiple apps from same json, it is summitted to /v2/groups endpoint from REST API. (https://mesosphere.github.io/marathon/docs/rest-api.html#post-v2-groups).

However, the Cosmos (the DC/OS package manager - https://github.com/dcos/cosmos/) doesn’t accept the same request, because it only accepts request for /v2/apps endpoint (https://github.com/dcos/cosmos/blob/master/cosmos-server/src/main/scala/com/mesosphere/cosmos/MarathonClient.scala#L20) which is starting a single app.

Abhijeet Jadhav
  • 326
  • 3
  • 8