Skip to content
This repository has been archived by the owner on Oct 23, 2024. It is now read-only.

Move all state to Mesos state abstraction #1

Closed
guenter opened this issue Jul 2, 2013 · 0 comments
Closed

Move all state to Mesos state abstraction #1

guenter opened this issue Jul 2, 2013 · 0 comments
Assignees

Comments

@guenter
Copy link
Contributor

guenter commented Jul 2, 2013

No description provided.

@ghost ghost assigned guenter Jul 2, 2013
@guenter guenter closed this as completed Jul 8, 2013
everpeace added a commit that referenced this issue Feb 25, 2014
unterstein added a commit that referenced this issue Jul 26, 2016
aquamatthias pushed a commit that referenced this issue Jul 28, 2016
* introduced new task status

* added todo

* removed unused imports

* reorganized code

* Introduced `new` MarathonTaskStatus
Removed MesosTaskStatus

Still heavily WIP -> Tests do not compile yet

* moved MarathonTaskStatus to own proper package

* adapted MatthiasE feedback using case objects for MarathonTaskStatus

* format

* renaming, because helper delivers now mesos TaskStatus

* new extractor

* adapted tests to new MarathonTaskStatus

* eliminated Terminal#killed

* organizing some imports to make origin more explicit

* solved some todos

* solved todo

* added doc to MarathonTaskStatus.Lost, initially written by MatthiasE

* less mesos status

* less mesos status

* enhancements and solved todos

* added helper methods

* removed mesosStatus usage

* * add MarathonTaskStatus to proto
* Added implicit class TaskStatusComparison for nice task status comparison api

* unused imports

* introduced MarathonTaskStatus proto usage

* typo

* introduced migration for MarathonTaskStatus handling

* introduced testcase

* test format

* test format

* MarathonTaskStatus in Proto now optional

* solved todo

* typo

* mesosStatus compatibiliy

* skip migrated entities

* other constructor call

* use store in migration

* new enum value

* adapted PR feebdack:
* No Lost anymore
* No null anymore
* New Mesos Task Status
* Other migration strategy

* removed toMesosState method
added docs

* moved

* moved

* removed null check

* simplified diff

* adapted migration

* changed logging to old TaskState mechanism

* task_lost

* avoid null check

* reverted recent change #1

* adapted PR migration feedback

* dropped should use dropped

* changed default test state to staging .. makes sense, when stagedAt is set

* launched and reachable

* changed proto order

* fixing flaky test by increasing timeout.. ?

* added invalid state for deserialization

* adapted migration

* Fixed typo

* review adaption

* review adaption

* renamed

* * adapted even more feedback, thanks @meichstedt :)

* found an unwanted `

* removed todo, adressed in #4153

* reverted recent review changes

* isRunning strikes back, but Task#update is correct
unterstein added a commit that referenced this issue Sep 1, 2016
unterstein pushed a commit that referenced this issue Dec 15, 2016
Summary: Added a test case which shows the round trip works.

Test Plan:
#1 sbt test
#2 start marathon with --internal_store_backend legacy_zk, create pods, restart marathon and get pods and the root group.

Reviewers: unterstein, jasongilanfarr

Reviewed By: unterstein, jasongilanfarr

Subscribers: jenkins, marathon-team

Differential Revision: https://phabricator.mesosphere.com/D342
aquamatthias added a commit that referenced this issue Dec 21, 2016
Summary: Added a test case which shows the round trip works.

Test Plan:
#1 sbt test
#2 start marathon with --internal_store_backend legacy_zk, create pods, restart marathon and get pods and the root group.

Reviewers: unterstein, jasongilanfarr

Reviewed By: unterstein, jasongilanfarr

Subscribers: jenkins, marathon-team

Differential Revision: https://phabricator.mesosphere.com/D342

(cherry picked from commit 6578976)
aquamatthias added a commit that referenced this issue Feb 15, 2017
…dation logic for resource changes of resident apps.

Summary:
See #5137
Problem #1: the default port has no name: define `default` as name for the default port.
Problem #2: the validation logic compares the whole port definition to idenify resource changes, where only the number matters.

Test Plan:
- Start Marathon
- Create an app with:
```
{
  "id": "/foo",
  "instances": 0,
  "cmd": "sleep 1000",
  "cpus": 0.1,
  "disk": 0,
  "mem": 16,
  "container": {
    "type": "MESOS",
    "volumes": [
      {
        "containerPath": "docker_storage",
        "mode": "RW",
        "persistent": {
          "size": 10
        }
      }
    ]
  }
}
```
- Update the app with:
```
{
  "id": "/foo",
  "instances": 0,
  "cmd": "sleep 1000",
  "cpus": 0.1,
  "disk": 0,
  "mem": 16,
  "portDefinitions": [
    {
      "name": "myport",
      "port": 0,
      "protocol": "tcp"
    }
  ],
  "readinessChecks": [
    {
      "name": "myReadyCheck",
      "protocol": "HTTP",
      "path": "/v1/plan",
      "portName": "myport",
      "intervalSeconds": 10,
      "timeoutSeconds": 3,
      "httpStatusCodesForReady": [ 200 ],
      "preserveLastResponse": true
    }
  ]
}
```

Reviewers: unterstein, jdef, jenkins

Reviewed By: unterstein, jdef, jenkins

Subscribers: marathon-team

Differential Revision: https://phabricator.mesosphere.com/D511
aquamatthias added a commit that referenced this issue Feb 15, 2017
…dation logic for resource changes of resident apps.

Summary:
See #5137
Problem #1: the default port has no name: define `default` as name for the default port.
Problem #2: the validation logic compares the whole port definition to idenify resource changes, where only the number matters.

Test Plan:
- Start Marathon
- Create an app with:
```
{
  "id": "/foo",
  "instances": 0,
  "cmd": "sleep 1000",
  "cpus": 0.1,
  "disk": 0,
  "mem": 16,
  "container": {
    "type": "MESOS",
    "volumes": [
      {
        "containerPath": "docker_storage",
        "mode": "RW",
        "persistent": {
          "size": 10
        }
      }
    ]
  }
}
```
- Update the app with:
```
{
  "id": "/foo",
  "instances": 0,
  "cmd": "sleep 1000",
  "cpus": 0.1,
  "disk": 0,
  "mem": 16,
  "portDefinitions": [
    {
      "name": "myport",
      "port": 0,
      "protocol": "tcp"
    }
  ],
  "readinessChecks": [
    {
      "name": "myReadyCheck",
      "protocol": "HTTP",
      "path": "/v1/plan",
      "portName": "myport",
      "intervalSeconds": 10,
      "timeoutSeconds": 3,
      "httpStatusCodesForReady": [ 200 ],
      "preserveLastResponse": true
    }
  ]
}
```

Reviewers: unterstein, jdef, jenkins

Reviewed By: unterstein, jdef, jenkins

Subscribers: marathon-team

Differential Revision: https://phabricator.mesosphere.com/D511
@d2iq-archive d2iq-archive locked and limited conversation to collaborators Mar 27, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant