Hello community,
here is the log from the commit of package python-marathon for openSUSE:Factory
checked in at 2020-09-16 19:41:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-marathon (Old)
and /work/SRC/openSUSE:Factory/.python-marathon.new.4249 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-marathon"
Wed Sep 16 19:41:33 2020 rev:6 rq:834882 version:0.13.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-marathon/python-marathon.changes
2020-03-05 23:24:48.073394032 +0100
+++
/work/SRC/openSUSE:Factory/.python-marathon.new.4249/python-marathon.changes
2020-09-16 19:41:46.238963304 +0200
@@ -1,0 +2,12 @@
+Wed Sep 16 11:16:02 UTC 2020 - Dirk Mueller <[email protected]>
+
+- update to 0.13.0:
+ - about view one instance app logs real time
+ - Fix deserialization for Deploment model
+ - Local tests no longer need docker-compose and rely on "mini-marathon"
+ - Adding support for v1.10.19
+ - Updates for Marathon 1.9.109
+ - Fix return value for kill\_given\_tasks.
+ - Bump requests from 2.11.1 to 2.20.0
+
+-------------------------------------------------------------------
Old:
----
marathon-0.12.0.tar.gz
New:
----
marathon-0.13.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-marathon.spec ++++++
--- /var/tmp/diff_new_pack.hbCtQU/_old 2020-09-16 19:41:48.498965846 +0200
+++ /var/tmp/diff_new_pack.hbCtQU/_new 2020-09-16 19:41:48.502965851 +0200
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-marathon
-Version: 0.12.0
+Version: 0.13.0
Release: 0
Summary: Marathon Client Library
License: MIT
++++++ marathon-0.12.0.tar.gz -> marathon-0.13.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/marathon-0.12.0/PKG-INFO new/marathon-0.13.0/PKG-INFO
--- old/marathon-0.12.0/PKG-INFO 2019-11-14 02:39:46.000000000 +0100
+++ new/marathon-0.13.0/PKG-INFO 2020-08-21 18:30:06.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: marathon
-Version: 0.12.0
+Version: 0.13.0
Summary: Marathon Client Library
Home-page: https://github.com/thefactory/marathon-python
Author: Mike Babineau
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/marathon-0.12.0/README.md
new/marathon-0.13.0/README.md
--- old/marathon-0.12.0/README.md 2019-10-03 19:07:43.000000000 +0200
+++ new/marathon-0.13.0/README.md 2020-08-21 18:22:17.000000000 +0200
@@ -6,6 +6,7 @@
#### Compatibility
+* For Marathon 1.9.x and 1.10.x, use at least 0.13.0
* For Marathon 1.6.x, use at least 0.10.0
* For Marathon 1.4.1, use at least 0.8.13
* For Marathon 1.1.1, use at least 0.8.1
@@ -51,7 +52,7 @@
### Running The Tests Against a Specific Version of Marathon
```bash
-MARATHONVERSION=1.6.322 make itests
+MARATHONVERSION=v1.6.322 make itests
```
## Documentation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/marathon-0.12.0/marathon/client.py
new/marathon-0.13.0/marathon/client.py
--- old/marathon-0.12.0/marathon/client.py 2019-11-14 02:17:23.000000000
+0100
+++ new/marathon-0.13.0/marathon/client.py 2020-08-21 18:22:17.000000000
+0200
@@ -13,6 +13,7 @@
import marathon
from .models import MarathonApp, MarathonDeployment, MarathonGroup,
MarathonInfo, MarathonTask, MarathonEndpoint, MarathonQueueItem
from .exceptions import ConflictError, InternalServerError, NotFoundError,
MarathonHttpError, MarathonError, NoResponseError
+from .models.base import assert_valid_path
from .models.events import EventFactory, MarathonEvent
from .util import MarathonJsonEncoder, MarathonMinimalJsonEncoder
@@ -167,8 +168,9 @@
:returns: the created app (on success)
:rtype: :class:`marathon.models.app.MarathonApp` or False
"""
- app.id = app_id
+ app.id = assert_valid_path(app_id)
data = app.to_json(minimal=minimal)
+ marathon.log.debug('create app JSON sent: {}'.format(data))
response = self._do_request('POST', '/v2/apps', data=data)
if response.status_code == 201:
return self._parse_response(response, MarathonApp)
@@ -531,7 +533,7 @@
data = json.dumps({"ids": task_ids})
response = self._do_request(
'POST', '/v2/tasks/delete', params=params, data=data)
- return response == 200
+ return response.status_code == 200
def kill_tasks(self, app_id, scale=False, wipe=False,
host=None, batch_size=0, batch_delay=0):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/marathon-0.12.0/marathon/models/app.py
new/marathon-0.13.0/marathon/models/app.py
--- old/marathon-0.12.0/marathon/models/app.py 2019-11-14 02:17:23.000000000
+0100
+++ new/marathon-0.13.0/marathon/models/app.py 2020-08-21 18:22:17.000000000
+0200
@@ -38,6 +38,7 @@
:param health_checks: health checks
:type health_checks: list[:class:`marathon.models.MarathonHealthCheck`] or
list[dict]
:param str id: app id
+ :param str role: mesos role
:param int instances: instances
:param last_task_failure: last task failure
:type last_task_failure: :class:`marathon.models.app.MarathonTaskFailure`
or dict
@@ -75,7 +76,7 @@
'args', 'backoff_factor', 'backoff_seconds', 'cmd', 'constraints',
'container', 'cpus', 'dependencies', 'disk',
'env', 'executor', 'gpus', 'health_checks', 'instances',
'kill_selection', 'labels', 'max_launch_delay_seconds',
'mem', 'ports', 'require_ports', 'store_urls', 'task_rate_limit',
'upgrade_strategy', 'unreachable_strategy',
- 'uris', 'user', 'version'
+ 'uris', 'user', 'version', 'role'
]
"""List of attributes which may be updated/changed after app creation"""
@@ -90,7 +91,7 @@
def __init__(self, accepted_resource_roles=None, args=None,
backoff_factor=None, backoff_seconds=None, cmd=None,
constraints=None, container=None, cpus=None,
dependencies=None, deployments=None, disk=None, env=None,
- executor=None, health_checks=None, id=None, instances=None,
kill_selection=None, labels=None,
+ executor=None, health_checks=None, id=None, role=None,
instances=None, kill_selection=None, labels=None,
last_task_failure=None, max_launch_delay_seconds=None,
mem=None, ports=None, require_ports=None,
store_urls=None, task_rate_limit=None, tasks=None,
tasks_running=None, tasks_staged=None,
tasks_healthy=None, task_kill_grace_period_seconds=None,
tasks_unhealthy=None, upgrade_strategy=None,
@@ -131,6 +132,7 @@
for hc in (health_checks or [])
]
self.id = assert_valid_path(id)
+ self.role = role
self.instances = instances
if kill_selection and kill_selection not in self.KILL_SELECTIONS:
raise InvalidChoiceError(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/marathon-0.12.0/marathon/models/deployment.py
new/marathon-0.13.0/marathon/models/deployment.py
--- old/marathon-0.12.0/marathon/models/deployment.py 2019-10-03
19:07:43.000000000 +0200
+++ new/marathon-0.13.0/marathon/models/deployment.py 2020-08-21
18:22:17.000000000 +0200
@@ -1,4 +1,4 @@
-from .base import MarathonObject, MarathonResource
+from .base import MarathonObject, MarathonResource, assert_valid_path
class MarathonDeployment(MarathonResource):
@@ -25,7 +25,7 @@
self.affected_apps = affected_apps
self.current_actions = [
a if isinstance(
- a, MarathonDeploymentAction) else
MarathonDeploymentAction().from_json(a)
+ a, MarathonDeploymentAction) else
MarathonDeploymentAction.from_json(a)
for a in (current_actions or [])
]
self.current_step = current_step
@@ -41,7 +41,7 @@
return MarathonDeploymentStep().from_json(step)
elif step.__class__ == list:
# This is Marathon < 1.0.0 style, a list of actions
- return [s if isinstance(s, MarathonDeploymentAction) else
MarathonDeploymentAction().from_json(s) for s in step]
+ return [s if isinstance(s, MarathonDeploymentAction) else
MarathonDeploymentAction.from_json(s) for s in step]
else:
return step
@@ -60,8 +60,8 @@
def __init__(self, action=None, app=None, apps=None, type=None,
readiness_check_results=None, pod=None):
self.action = action
- self.app = app
- self.apps = apps
+ self.app = assert_valid_path(app)
+ self.apps = assert_valid_path(apps)
self.pod = pod
self.type = type # TODO: Remove builtin shadow
self.readiness_check_results = readiness_check_results # TODO: The
docs say this is called just "readinessChecks?"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/marathon-0.12.0/marathon/models/info.py
new/marathon-0.13.0/marathon/models/info.py
--- old/marathon-0.12.0/marathon/models/info.py 2019-10-03 19:07:43.000000000
+0200
+++ new/marathon-0.13.0/marathon/models/info.py 2020-08-21 18:22:17.000000000
+0200
@@ -64,10 +64,12 @@
:param int leader_proxy_read_timeout_ms:
:param int local_port_min:
:param int local_port_max:
+ :param bool maintenance_mode:
:param str master:
:param str mesos_leader_ui_url:
:param str mesos_role:
:param str mesos_user:
+ :param str new_group_enforce_role:
:param str webui_url:
:param int reconciliation_initial_delay:
:param int reconciliation_interval:
@@ -99,12 +101,12 @@
def __init__(self, checkpoint=None, executor=None, failover_timeout=None,
framework_name=None, ha=None,
hostname=None, leader_proxy_connection_timeout_ms=None,
leader_proxy_read_timeout_ms=None,
- local_port_min=None, local_port_max=None, master=None,
mesos_leader_ui_url=None, mesos_role=None, mesos_user=None,
- webui_url=None, reconciliation_initial_delay=None,
reconciliation_interval=None,
- task_launch_timeout=None, marathon_store_timeout=None,
task_reservation_timeout=None, features=None,
- access_control_allow_origin=None, decline_offer_duration=None,
- default_network_name=None, env_vars_prefix=None,
- launch_token=None, launch_token_refresh_interval=None,
+ local_port_min=None, local_port_max=None,
maintenance_mode=None, master=None, mesos_leader_ui_url=None,
+ mesos_role=None, mesos_user=None,
new_group_enforce_role=None, webui_url=None,
+ reconciliation_initial_delay=None,
reconciliation_interval=None, task_launch_timeout=None,
+ marathon_store_timeout=None, task_reservation_timeout=None,
features=None,
+ access_control_allow_origin=None,
decline_offer_duration=None, default_network_name=None,
+ env_vars_prefix=None, launch_token=None,
launch_token_refresh_interval=None,
max_instances_per_offer=None, mesos_bridge_name=None,
mesos_heartbeat_failure_threshold=None,
mesos_heartbeat_interval=None,
min_revive_offers_interval=None,
@@ -124,10 +126,12 @@
self.hostname = hostname
self.local_port_min = local_port_min
self.local_port_max = local_port_max
+ self.maintenance_mode = maintenance_mode
self.master = master
self.mesos_leader_ui_url = mesos_leader_ui_url
self.mesos_role = mesos_role
self.mesos_user = mesos_user
+ self.new_group_enforce_role = new_group_enforce_role
self.webui_url = webui_url
self.reconciliation_initial_delay = reconciliation_initial_delay
self.reconciliation_interval = reconciliation_interval
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/marathon-0.12.0/marathon/models/task.py
new/marathon-0.13.0/marathon/models/task.py
--- old/marathon-0.12.0/marathon/models/task.py 2019-11-14 02:17:23.000000000
+0100
+++ new/marathon-0.13.0/marathon/models/task.py 2020-08-21 18:22:17.000000000
+0200
@@ -24,13 +24,15 @@
:param region: fault domain region support in DCOS EE
:type zone: str
:param zone: fault domain zone support in DCOS EE
+ :type role: str
+ :param role: mesos role
"""
DATETIME_FORMAT = '%Y-%m-%dT%H:%M:%S.%fZ'
def __init__(self, app_id=None, health_check_results=None, host=None,
id=None, ports=None, service_ports=None,
slave_id=None, staged_at=None, started_at=None, version=None,
ip_addresses=[], state=None, local_volumes=None,
- region=None, zone=None):
+ region=None, zone=None, role=None):
self.app_id = app_id
self.health_check_results = health_check_results or []
self.health_check_results = [
@@ -54,6 +56,7 @@
self.local_volumes = local_volumes or []
self.region = region
self.zone = zone
+ self.role = role
class MarathonIpAddress(MarathonObject):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/marathon-0.12.0/marathon.egg-info/PKG-INFO
new/marathon-0.13.0/marathon.egg-info/PKG-INFO
--- old/marathon-0.12.0/marathon.egg-info/PKG-INFO 2019-11-14
02:39:46.000000000 +0100
+++ new/marathon-0.13.0/marathon.egg-info/PKG-INFO 2020-08-21
18:30:06.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: marathon
-Version: 0.12.0
+Version: 0.13.0
Summary: Marathon Client Library
Home-page: https://github.com/thefactory/marathon-python
Author: Mike Babineau
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/marathon-0.12.0/setup.py new/marathon-0.13.0/setup.py
--- old/marathon-0.12.0/setup.py 2019-11-14 02:21:55.000000000 +0100
+++ new/marathon-0.13.0/setup.py 2020-08-21 18:22:30.000000000 +0200
@@ -8,7 +8,7 @@
setup(
name='marathon',
- version='0.12.0',
+ version='0.13.0',
description='Marathon Client Library',
long_description="""Python interface to the Mesos Marathon REST API.""",
author='Mike Babineau',