NASA-AMMOS / NASA-AMMOS/AIT-Core

| ERROR | <class 'TypeError'> creating plugin 1: string indices must be integers

Open
#305 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
56
Forks
35
Avg merge
1d 20h
Merged PRs (30d)
3

Description

Hello,
While trying to implement this repo, I ran into this error trying to setup the influxdb database to connect with the AIT GUI for telemetry playback. From following the steps listed here: https://github.com/NASA-AMMOS/AIT-Core/issues/243 I was able to get through the page by diligently following the steps, until trying to execute test step 4 for db.connect(). I ran into this error:
"
Traceback (most recent call last):
File "", line 1, in
File "/.virtualenvs/ait/lib/python3.7/site-packages/ait/core/db.py", line 262, in connect
if dbname not in [v['name'] for v in self._conn.get_list_database()]:
File "/.virtualenvs/ait/lib/python3.7/site-packages/ait/core/db.py", line 262, in
if dbname not in [v['name'] for v in self._conn.get_list_database()]:
TypeError: string indices must be integers
"

From running the ait-server in a separate terminal, I noticed these similar errors appear as well:
"
| ERROR | Unable to connect to ait.core.db.InfluxDBBackend backend. Disabling data archive.
| ERROR | <class 'TypeError'> creating plugin 1: string indices must be integers
"

Here is the contents of the config file, copied identical to the Issue243 post:
"
database:
dbname: ait

server:
    plugins:
       - plugin:
           name: ait.gui.AITGUIPlugin
           inputs:
               - log_stream
               - telem_stream
           outputs:
               - command_stream

       - plugin:
           name: ait.core.server.plugins.data_archive.DataArchive
           inputs:
               - telem_stream
               - 8086
          datastore: ait.core.db.InfluxDBBackend

"

My docker influxdb instance seems to be working properly as I can create and use databases from the command line, as well as ping the port to see a response. Any ideas as to what this error could mean?

David

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with ait/core/db.py around connect() line 262 and reproduce the db.connect() step from issue #243 using the shown configuration and ait-server logs. Compare the result of get_list_database() with the expected entries; done means the InfluxDB backend connects without the TypeError and related data-archive/plugin errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, python
Domain
backend, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.