On 06/07/2016 01:59 PM, Guangya Liu wrote:
> I can see that your framework is now holding the offer, how did you launch
> task?
I execute an HTTP POST request in Python with json content-type:
{'type': 'ACCEPT',
'framework_id': {'value': u'e303a1f0-4e7c-4c32-aafc-8707ea2b2718-0020'},
'accept': {
'operations': [
{'type': 'LAUNCH',
'launch': {'container': {
'docker': {'image': u'centos:latest',
'force_pull_image': True, 'port_mappings': [], 'network': 2},
'type': 1,
'volumes': [
{'host_path': u'/a/b', 'container_path':
u'/mnt/home', 'mode': 1},
{'host_path': u'/a/b/c', 'container_path':
u'/mnt/go-docker', 'mode': 1},
{'host_path': u'/b/c/d', 'container_path':
u'/mnt/god-data', 'mode': 2}
]
},
'name': u'testr',
'task_id': {'value': '128'},
'command': {'uris': [{'value':
u'/home/osallou/docker.tar.gz'}], 'value': u'/mnt/go-docker/wrapper.sh'},
'slave_id': {'value':
u'e303a1f0-4e7c-4c32-aafc-8707ea2b2718-S0'},
'resources': [
{'scalar': {'value': 1}, 'type': 0, 'name': 'cpus'},
{'scalar': {'value': 2000}, 'type': 0, 'name': 'mem'}
]
} # end launch
} # end operation
],
'offer_ids': [{'value': u'e303a1f0-4e7c-4c32-aafc-8707ea2b2718-O28'}]
}
}
We can see that Mesos received the ACCEPT:
I0607 11:45:15.873584 14896 master.cpp:3104] Processing ACCEPT call for
offers: [ e303a1f0-4e7c-4c32-aafc-8707ea2b2718-O28 ] on slave
e303a1f0-4e7c-4c32-aafc-8707ea2b2718-S0 at slave(1)@127.0.1.1:5051
(tifenn.irisa.fr) for framework
and I continue to receive new offers, so "connection" is OK. I should
receive an UPDATE message even if there is an error, but I receive none
(I track/log all messages received, whatever the type).
Olivier
> Perhaps you can take a look at
> https://github.com/apache/mesos/blob/master/src/cli/execute.cpp#L311 which
> is an example framework using HTTP API
>
> Thanks,
>
> Guangya
>
> On Tue, Jun 7, 2016 at 7:19 PM, Olivier Sallou <[email protected]>
> wrote:
>
>>
>> On 06/07/2016 12:25 PM, Guangya Liu wrote:
>>> Olivier,
>>>
>>> For such case, seems there is sth wrong with your framework? can you
>> please
>>> run the following two commands and check the output?
>> I don't think it is a framework issue, I receive offers, heartbeats etc...
>> It is only at task creation step, when I have no rejection nor update
>> message.
>>
>> It could be (certainly) an issue with the json task message I sent in
>> the ACCEPT, but as there is no error, I have no way to understand what's
>> wrong with it.
>>> curl "http://<mesos-master>:5050/master/frameworks" 2>/dev/null|python
>> -m
>>> json.tool
>> {
>> "completed_frameworks": [],
>> "frameworks": [
>> {
>> "active": true,
>> "capabilities": [],
>> "checkpoint": false,
>> "completed_tasks": [],
>> "executors": [],
>> "failover_timeout": 0.0,
>> "hostname": "",
>> "id": "e303a1f0-4e7c-4c32-aafc-8707ea2b2718-0021",
>> "name": "GoDocker HTTP Framework",
>> "offered_resources": {
>> "cpus": 4.0,
>> "disk": 459470.0,
>> "mem": 14898.0,
>> "ports": "[31000-32000]"
>> },
>> "offers": [
>> {
>> "framework_id":
>> "e303a1f0-4e7c-4c32-aafc-8707ea2b2718-0021",
>> "id": "1f1486e3-43ee-44c5-b073-82a901add956-O0",
>> "resources": {
>> "cpus": 4.0,
>> "disk": 459470.0,
>> "mem": 14898.0,
>> "ports": "[31000-32000]"
>> },
>> "slave_id": "e303a1f0-4e7c-4c32-aafc-8707ea2b2718-S0"
>> }
>> ],
>> "registered_time": 1465298174.2483,
>> "resources": {
>> "cpus": 4.0,
>> "disk": 459470.0,
>> "mem": 14898.0,
>> "ports": "[31000-32000]"
>> },
>> "role": "*",
>> "tasks": [],
>> "unregistered_time": 0.0,
>> "used_resources": {
>> "cpus": 0.0,
>> "disk": 0.0,
>> "mem": 0.0
>> },
>> "user": "godocker_http_test",
>> "webui_url": ""
>> }
>> ],
>> "unregistered_frameworks": []
>> }
>>
>>
>>> curl "http://<mesos-master>:5050/master/state" 2>/dev/null|python -m
>>> json.tool
>> {
>> "activated_slaves": 1.0,
>> "build_date": "2016-04-14 15:44:54",
>> "build_time": 1460648694.0,
>> "build_user": "root",
>> "completed_frameworks": [],
>> "deactivated_slaves": 0.0,
>> "elected_time": 1465298164.01165,
>> "flags": {
>> "allocation_interval": "1secs",
>> "allocator": "HierarchicalDRF",
>> "authenticate": "false",
>> "authenticate_http": "false",
>> "authenticate_slaves": "false",
>> "authenticators": "crammd5",
>> "authorizers": "local",
>> "framework_sorter": "drf",
>> "help": "false",
>> "hostname_lookup": "true",
>> "http_authenticators": "basic",
>> "initialize_driver_logging": "true",
>> "log_auto_initialize": "true",
>> "log_dir": "/var/log/mesos",
>> "logbufsecs": "0",
>> "logging_level": "INFO",
>> "max_completed_frameworks": "50",
>> "max_completed_tasks_per_framework": "1000",
>> "max_slave_ping_timeouts": "5",
>> "port": "5050",
>> "quiet": "false",
>> "quorum": "1",
>> "recovery_slave_removal_limit": "100%",
>> "registry": "replicated_log",
>> "registry_fetch_timeout": "1mins",
>> "registry_store_timeout": "20secs",
>> "registry_strict": "false",
>> "root_submissions": "true",
>> "slave_ping_timeout": "15secs",
>> "slave_reregister_timeout": "10mins",
>> "user_sorter": "drf",
>> "version": "false",
>> "webui_dir": "/usr/share/mesos/webui",
>> "work_dir": "/var/lib/mesos",
>> "zk": "zk://localhost:2181/mesos",
>> "zk_session_timeout": "10secs"
>> },
>> "frameworks": [
>> {
>> "active": true,
>> "capabilities": [],
>> "checkpoint": false,
>> "completed_tasks": [],
>> "executors": [],
>> "failover_timeout": 0.0,
>> "hostname": "",
>> "id": "e303a1f0-4e7c-4c32-aafc-8707ea2b2718-0021",
>> "name": "GoDocker HTTP Framework",
>> "offered_resources": {
>> "cpus": 0.0,
>> "disk": 0.0,
>> "mem": 0.0
>> },
>> "offers": [],
>> "registered_time": 1465298174.2483,
>> "resources": {
>> "cpus": 0.0,
>> "disk": 0.0,
>> "mem": 0.0
>> },
>> "role": "*",
>> "tasks": [],
>> "unregistered_time": 0.0,
>> "used_resources": {
>> "cpus": 0.0,
>> "disk": 0.0,
>> "mem": 0.0
>> },
>> "user": "godocker_http_test",
>> "webui_url": ""
>> }
>> ],
>> "git_sha": "555db235a34afbb9fb49940376cc33a66f1f85f0",
>> "git_tag": "0.28.1",
>> "hostname": "tifenn.irisa.fr",
>> "id": "1f1486e3-43ee-44c5-b073-82a901add956",
>> "leader": "[email protected]:5050",
>> "log_dir": "/var/log/mesos",
>> "orphan_tasks": [],
>> "pid": "[email protected]:5050",
>> "slaves": [
>> {
>> "active": true,
>> "attributes": {
>> "hostname": "127.0.0.1"
>> },
>> "hostname": "tifenn.irisa.fr",
>> "id": "e303a1f0-4e7c-4c32-aafc-8707ea2b2718-S0",
>> "offered_resources": {
>> "cpus": 0.0,
>> "disk": 0.0,
>> "mem": 0.0
>> },
>> "pid": "slave(1)@127.0.1.1:5051",
>> "registered_time": 1465298164.37517,
>> "reregistered_time": 1465298164.37526,
>> "reserved_resources": {},
>> "resources": {
>> "cpus": 4.0,
>> "disk": 459470.0,
>> "mem": 14898.0,
>> "ports": "[31000-32000]"
>> },
>> "unreserved_resources": {
>> "cpus": 4.0,
>> "disk": 459470.0,
>> "mem": 14898.0,
>> "ports": "[31000-32000]"
>> },
>> "used_resources": {
>> "cpus": 0.0,
>> "disk": 0.0,
>> "mem": 0.0
>> },
>> "version": "0.28.1"
>> }
>> ],
>> "start_time": 1465298159.26321,
>> "unregistered_frameworks": [],
>> "version": "0.28.1"
>> }
>>
>>
>>> Thanks,
>>>
>>> Guangya
>>>
>>> On Tue, Jun 7, 2016 at 6:04 PM, Olivier Sallou <[email protected]>
>>> wrote:
>>>
>>>> Hi,
>>>> I am trying to switch from Python to HTTP API. I use mesos 0.28.1
>>>>
>>>> I could create framework to register, receive offers etc... but I have
>>>> an issue accepting offers.
>>>>
>>>> I send my ACCEPT message but I do not receive any UPDATE message, only
>>>> new offers and hearbeat messages.
>>>>
>>>> On mesos master logs I see:
>>>>
>>>> I0607 11:45:15.873184 14896 http.cpp:312] HTTP POST for
>>>> /master/api/v1/scheduler from 127.0.0.1:38298 with
>>>> User-Agent='python-requests/2.9.1'
>>>> I0607 11:45:15.873584 14896 master.cpp:3104] Processing ACCEPT call for
>>>> offers: [ e303a1f0-4e7c-4c32-aafc-8707ea2b2718-O28 ] on slave
>>>> e303a1f0-4e7c-4c32-aafc-8707ea2b2718-S0 at slave(1)@127.0.1.1:5051
>>>> (tifenn.irisa.fr) for framework
>>>> e303a1f0-4e7c-4c32-aafc-8707ea2b2718-0020 (GoDocker HTTP Framework)
>>>>
>>>> There is a "Processing ACCEPT" and no error, but my task is not ran on
>>>> mesos.
>>>> No error on slave either.
>>>>
>>>> Response code to my ACCEPT is 202 as expected.
>>>>
>>>> Here is my HTTP json message:
>>>>
>>>> {'type': 'ACCEPT',
>>>> 'framework_id': {'value': u'e303a1f0-4e7c-4c32-aafc-8707ea2b2718-0020'},
>>>> 'accept': {
>>>> 'operations': [
>>>> {'type': 'LAUNCH',
>>>> 'launch': {'container': {
>>>> 'docker': {'image': u'centos:latest',
>>>> 'force_pull_image': True, 'port_mappings': [], 'network': 2},
>>>> 'type': 1,
>>>> 'volumes': [
>>>> {'host_path': u'/a/b', 'container_path':
>>>> u'/mnt/home', 'mode': 1},
>>>> {'host_path': u'/a/b/c', 'container_path':
>>>> u'/mnt/go-docker', 'mode': 1},
>>>> {'host_path': u'/b/c/d', 'container_path':
>>>> u'/mnt/god-data', 'mode': 2}
>>>> ]
>>>> },
>>>> 'name': u'testr',
>>>> 'task_id': {'value': '128'},
>>>> 'command': {'uris': [{'value':
>>>> u'/home/osallou/docker.tar.gz'}], 'value':
>> u'/mnt/go-docker/wrapper.sh'},
>>>> 'slave_id': {'value':
>>>> u'e303a1f0-4e7c-4c32-aafc-8707ea2b2718-S0'},
>>>> 'resources': [
>>>> {'scalar': {'value': 1}, 'type': 0, 'name': 'cpus'},
>>>> {'scalar': {'value': 2000}, 'type': 0, 'name': 'mem'}
>>>> ]
>>>> } # end launch
>>>> } # end operation
>>>> ],
>>>> 'offer_ids': [{'value':
>> u'e303a1f0-4e7c-4c32-aafc-8707ea2b2718-O28'}]
>>>> }
>>>> }
>>>>
>>>> There could be an issue with my task definition, but as no error is
>>>> raised and I receive no UPDATE error message.....
>>>>
>>>> Any hint on how to debug this?
>>>>
>>>> Thanks
>>>>
>>>>
>>>> --
>>>> Olivier Sallou
>>>> IRISA / University of Rennes 1
>>>> Campus de Beaulieu, 35000 RENNES - FRANCE
>>>> Tel: 02.99.84.71.95
>>>>
>>>> gpg key id: 4096R/326D8438 (keyring.debian.org)
>>>> Key fingerprint = 5FB4 6F83 D3B9 5204 6335 D26D 78DC 68DB 326D 8438
>>>>
>>>>
>> --
>> Olivier Sallou
>> IRISA / University of Rennes 1
>> Campus de Beaulieu, 35000 RENNES - FRANCE
>> Tel: 02.99.84.71.95
>>
>> gpg key id: 4096R/326D8438 (keyring.debian.org)
>> Key fingerprint = 5FB4 6F83 D3B9 5204 6335 D26D 78DC 68DB 326D 8438
>>
>>
--
Olivier Sallou
IRISA / University of Rennes 1
Campus de Beaulieu, 35000 RENNES - FRANCE
Tel: 02.99.84.71.95
gpg key id: 4096R/326D8438 (keyring.debian.org)
Key fingerprint = 5FB4 6F83 D3B9 5204 6335 D26D 78DC 68DB 326D 8438