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 <dmuel...@suse.com> + +- 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',