I have been poking a bit in the code. In the file '/usr/share/pyshared/oneconf/networksync/infraclient_pristine.py' there is a methode 'list_machines' that is called at the start of the oneconf-query service to return the list of machines that are synced by the USC. The list is retrieved by calling the URL 'https://apps.staging.ubuntu.com/cat/api/1.0/list-machines/' (needs authentication).
On my machine, the above call only returns 1 machine (the local one), although when checking Ubuntu One (locally from within Settings Manager > Ubuntu One, or from the web page https://one.ubuntu.com/account/) I find my other device also listed as Ubuntu One @ ... and Ubuntu Software Center @ ...
I traced this by adding a way to log some information from the code in the file infraclient_pristine.py (as root):
I added on
line 04: import logging
line 21: LOG = logging.getLogger(__name__)
line 45: LOG.debug(self._get('list-machines/', scheme=AUTHENTICATED_API_SCHEME))
then in a terminal on the command line I stopped the service with
$ oneconf-query --stop
and restarted it again with
$ oneconf-query --debug
I got some debugging log (give it some time), and after the lines
DEBUG:oneconf.networksync:Start processing sync
DEBUG:oneconf.networksync.infraclient_pristine:
it showed me what ubuntu.com was returning, i.e. only the information of the local device.
I hope this bug can be solved rapidly. It's such a usefull feature, but without this aspect running well, it becomes really crippled.
PS. working with Ubuntu 12.10 and 13.10. I did not use the patches attached in previous comments. I don't think they can resolve my problem as to me, there seems to be a bug with the API on the server ubuntu.com.
I have been poking a bit in the code. In the file '/usr/share/ pyshared/ oneconf/ networksync/ infraclient_ pristine. py' there is a methode 'list_machines' that is called at the start of the oneconf-query service to return the list of machines that are synced by the USC. The list is retrieved by calling the URL 'https:/ /apps.staging. ubuntu. com/cat/ api/1.0/ list-machines/ ' (needs authentication).
On my machine, the above call only returns 1 machine (the local one), although when checking Ubuntu One (locally from within Settings Manager > Ubuntu One, or from the web page https:/ /one.ubuntu. com/account/) I find my other device also listed as Ubuntu One @ ... and Ubuntu Software Center @ ...
So, big question is: why is the call to https:/ /apps.staging. ubuntu. com/cat/ api/1.0/ list-machines/ only returning my local machine ???
I traced this by adding a way to log some information from the code in the file infraclient_ pristine. py (as root): getLogger( __name_ _) self._get( 'list-machines/ ', scheme= AUTHENTICATED_ API_SCHEME) )
I added on
line 04: import logging
line 21: LOG = logging.
line 45: LOG.debug(
then in a terminal on the command line I stopped the service with oneconf. networksync: Start processing sync oneconf. networksync. infraclient_ pristine:
$ oneconf-query --stop
and restarted it again with
$ oneconf-query --debug
I got some debugging log (give it some time), and after the lines
DEBUG:
DEBUG:
it showed me what ubuntu.com was returning, i.e. only the information of the local device.
I hope this bug can be solved rapidly. It's such a usefull feature, but without this aspect running well, it becomes really crippled.
PS. working with Ubuntu 12.10 and 13.10. I did not use the patches attached in previous comments. I don't think they can resolve my problem as to me, there seems to be a bug with the API on the server ubuntu.com.