Project

General

Profile

Bug #38370

Fix iocage plugin name for Tiny Tiny RSS

Added by Aaron St. John over 2 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
No priority
Assignee:
Martin Wilke
Category:
OS
Target version:
Severity:
New
Reason for Closing:
Duplicate Issue
Reason for Blocked:
Needs QA:
Yes
Needs Doc:
Yes
Needs Merging:
Yes
Needs Automation:
No
Support Suite Ticket:
n/a
Hardware Configuration:
ChangeLog Required:
No

Description

I tried to install the Tiny Tiny RSS iocage plugin and it appears it can't find the json file. The error message given is /mnt/iocage/.plugin_index/tt-rss.json was not found!

More info:


Error: concurrent.futures.process._RemoteTraceback: 
""" 
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/iocage/lib/ioc_plugin.py", line 89, in fetch_plugin
    with open(_json, "r") as j:
FileNotFoundError: [Errno 2] No such file or directory: '/mnt/iocage/.plugin_index/tt-rss.json'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/concurrent/futures/process.py", line 175, in _process_worker
    r = call_item.fn(*call_item.args, **call_item.kwargs)
  File "/usr/local/lib/python3.6/site-packages/middlewared/worker.py", line 122, in main_worker
    res = loop.run_until_complete(coro)
  File "/usr/local/lib/python3.6/asyncio/base_events.py", line 468, in run_until_complete
    return future.result()
  File "/usr/local/lib/python3.6/site-packages/middlewared/worker.py", line 82, in _run
    return await self._call(f'{service_name}.{method}', serviceobj, methodobj, params=args, job=job)
  File "/usr/local/lib/python3.6/site-packages/middlewared/worker.py", line 75, in _call
    return methodobj(*params)
  File "/usr/local/lib/python3.6/site-packages/middlewared/worker.py", line 75, in _call
    return methodobj(*params)
  File "/usr/local/lib/python3.6/site-packages/middlewared/schema.py", line 662, in nf
    return f(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/middlewared/plugins/jail.py", line 238, in fetch
    iocage.fetch(**options)
  File "/usr/local/lib/python3.6/site-packages/iocage/lib/iocage.py", line 909, in fetch
    props, accept_license=accept, official=official)
  File "/usr/local/lib/python3.6/site-packages/iocage/lib/ioc_plugin.py", line 690, in fetch_plugin_index
    props, 0, accept_license)
  File "/usr/local/lib/python3.6/site-packages/iocage/lib/ioc_plugin.py", line 99, in fetch_plugin
    silent=self.silent)
  File "/usr/local/lib/python3.6/site-packages/iocage/lib/ioc_common.py", line 83, in logit
    _callback({"level": level, "message": msg}, exit_on_error)
  File "/usr/local/lib/python3.6/site-packages/iocage/lib/ioc_common.py", line 62, in callback
    raise RuntimeError(message)
RuntimeError: /mnt/iocage/.plugin_index/tt-rss.json was not found!
""" 

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/middlewared/job.py", line 332, in run
    await self.future
  File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 129, in throw
    return self.gen.throw(type, value, traceback)
  File "/usr/local/lib/python3.6/site-packages/middlewared/job.py", line 356, in __run_body
    rv = await self.middleware._call_worker(self.serviceobj, self.method_name, *self.args, job={'id': self.id})
  File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 129, in throw
    return self.gen.throw(type, value, traceback)
  File "/usr/local/lib/python3.6/site-packages/middlewared/main.py", line 977, in _call_worker
    job,
  File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 129, in throw
    return self.gen.throw(type, value, traceback)
  File "/usr/local/lib/python3.6/site-packages/middlewared/main.py", line 908, in run_in_proc
    return await self.run_in_executor(self.__procpool, method, *args, **kwargs)
  File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 129, in throw
    return self.gen.throw(type, value, traceback)
  File "/usr/local/lib/python3.6/site-packages/middlewared/main.py", line 902, in run_in_executor
    return await loop.run_in_executor(pool, functools.partial(method, *args, **kwargs))
RuntimeError: /mnt/iocage/.plugin_index/tt-rss.json was not found!

Related issues

Is duplicate of FreeNAS - Feature #24811: Make Plug-in for tiny tiny rrs readerClosed

History

#1 Updated by Dru Lavigne over 2 years ago

  • Category changed from Middleware to OS
  • Assignee changed from William Grzybowski to Martin Wilke
  • Target version changed from Backlog to 11.2-BETA2

#2 Updated by Martin Wilke over 2 years ago

  • Related to Feature #24811: Make Plug-in for tiny tiny rrs reader added

#3 Updated by Martin Wilke over 2 years ago

Not exactly sure where that comes from,

The json name is suppose to be ttrss.json, which is also present https://github.com/freenas/iocage-ix-plugins/blob/master/ttrss.json, also the index links to the right file.

Only thought is we hit a bug, because in the INDEX file it is listed as tt-rss.

  "tt-rss": {
        "MANIFEST": "ttrss.json",
        "name": "TinyTinyRSS",
        "primary_pkg": "www/tt-rss",
        "icon": "https://www.trueos.org/iocage-icons/ttrss.png",
        "description": "Open source web-based news feed (RSS/Atom) aggregator, designed to allow you to read news from any location.",
        "official": true
},

#4 Updated by Jurgen Segaert over 2 years ago

It gets the name from here:

  "tt-rss": {                           <--- from the plugin name; it just appends .json
        "MANIFEST": "ttrss.json",       <--- it doesn't use this
        "name": "TinyTinyRSS",
        "primary_pkg": "www/tt-rss",
        "icon": "https://www.trueos.org/iocage-icons/ttrss.png",
        "description": "Open source web-based news feed (RSS/Atom) aggregator, designed to allow you to read news from any location.",
        "official": true
},

Source code: https://github.com/iocage/iocage/blob/master/iocage/lib/ioc_plugin.py#L689

If you scroll through the INDEX file, it looks like the entry for "tt-rss" is the only one where value of MANIFEST doesn't match the pattern "<name>" + ".json", as it's missing the hyphen.

#5 Updated by Martin Wilke over 2 years ago

Thanks for pointing it out jurgen, I will fix the index file then.

#6 Updated by Martin Wilke over 2 years ago

  • Status changed from Unscreened to Ready for Testing

#7 Updated by Dru Lavigne over 2 years ago

  • Subject changed from iocage plugin tt-rss is not installing to Fix iocage plugin name for Tiny Tiny RSS
  • Status changed from Ready for Testing to In Progress

#8 Updated by Dru Lavigne over 2 years ago

  • Status changed from In Progress to Ready for Testing
  • Needs Merging changed from Yes to No

#9 Updated by Bonnie Follweiler over 2 years ago

  • Status changed from Ready for Testing to Failed Testing

#11 Updated by Dru Lavigne over 2 years ago

  • Status changed from Failed Testing to In Progress
  • Target version changed from 11.2-BETA2 to 11.2-BETA3
  • Needs Merging changed from No to Yes

#12 Updated by Dru Lavigne over 2 years ago

  • Related to deleted (Feature #24811: Make Plug-in for tiny tiny rrs reader)

#13 Updated by Dru Lavigne over 2 years ago

  • Is duplicate of Feature #24811: Make Plug-in for tiny tiny rrs reader added

#14 Updated by Dru Lavigne over 2 years ago

  • Status changed from In Progress to Closed
  • Target version changed from 11.2-BETA3 to N/A
  • Reason for Closing set to Duplicate Issue

Also available in: Atom PDF