[mythtv-users] Python3 interface: Could not find setting 'BackendServerAddr' on host '192.168.1.10' [work-around]

Roland Ernst rcrernst at gmail.com
Thu Feb 27 21:22:51 UTC 2020


On Thu, Feb 27, 2020 at 8:23 PM Ross Boylan
<rossboylan at stanfordalumni.org> wrote:
>
> I change the entry in settings, installed the patch and verified that the modified version of the python library was loaded.  I was concerned because sys.path shows
> ['', '/usr/lib/python37.zip', '/usr/lib/python3.7', '/usr/lib/python3.7/lib-dynload', '/home/ross/.local/lib/python3.7/site-packages', '/usr/local/lib/python3.7/dist-packages', '/usr/lib/python3/dist-packages'],
> even when I set PYTHONPATH to /home/ross/.local/lib/python3.7/site-packages (which is where the new version lies).  This looks to me as if some system versions are preferred to my local ones, which seems weird.  But the __file__ attribute of the imported module refers to my local copy.
>
> $ date; python3 test_canonical_address.py
> Thu 27 Feb 2020 11:14:58 AM PST
> host : barley
> Master-Backend IP: myth.betterworld.us
> Hash1 : 95de2b5593481b1d
> Hash2 : 95de2b5593481b1d
> host-ip1 : myth.betterworld.us
> BackendServerPort1 : 6543
> host-ip2 : myth.betterworld.us
> BackendServerPort2 : 6543
> host-ip3 : myth.betterworld.us
> BackendServerPort3 : 6543
>
> Does that look right?
> Ross
>
> On Wed, Feb 26, 2020 at 2:07 PM Roland Ernst <rcrernst at gmail.com> wrote:
>>
>> On Mon, Feb 24, 2020 at 10:33 PM Ross Boylan
>> <rossboylan at stanfordalumni.org> wrote:
>> >
>> >
>> >
>> > On Mon, Feb 24, 2020 at 12:20 PM Peter Bennett <pb.mythtv at gmail.com> wrote:
>> >>
>> >>
>> >>
>> >> On 2/24/20 3:01 PM, Ross Boylan wrote:
>> >>
>> >> The workaround is to add an entry to the settings table in the form the program wants.
>> >>
>> >> I'm not sure if the lack of the appropriate entry originally indicates
>> >> 1. I misconfigured my setup
>> >> 2. the code has a bug
>> >> 3. the code is correct for the v31 schema but not for v30.
>> >> 4. something else
>> >>
>> >> From settings table:
>> >> | value             | data                | hostname |
>> >> +-------------------+---------------------+----------+
>> >> | AllowConnFromAll  | 0                   | barley   |
>> >> | BackendServerAddr | myth.betterworld.us | barley   |
>> >> | BackendServerAddr | 192.168.1.10        | barley   |
>> >> | ListenOnAllIps    | 1                   | barley   |
>> >> | MasterServerIP    | 192.168.1.10        | NULL     |
>> >> | MasterServerName  | barley              | NULL     |
>> >> +-------------------+---------------------+----------+
>> >>
>> >> The entry for BackendServerAddr | 192.168.1.10 is one I added recently; with that I am  able to get past the error I reported.
>> >> I initially used myth.betterworld.us as the hostname, but that didn't match my existing entry for BackendServerPort.
>> >> myth.betterworld.us, barley, and 192.168.1.10 are all the same machine, the one on which I'm running.
>> >>
>> >>
>> >>
>> >> BackendServerAddr and MasterServerName replaced MasterServerIP in V30, but if you have not done any update since V29 it may not have been set up. I believe the code will still use MasterServerIp if BackendServerAddr and MasterServerName are not set up..
>> >>
>> >> You can set it up by running mythtv-setup -> General -> Host Address Backend Setup on the machine in question. The entry for "Primary IP Address/DNS Name" is what is used for BackendServerAddr.
>> >>
>> >> I don't know what happens if you have two entries for the same hostname. That should not be allowed.
>> >>
>> >
>> > Thanks for the tip about double entries; since it's apparently not supposed to be, it seemed safest to fix it the same way I created it, using SQL directly.
>> > I deleted the old entry with the hostname as the data field, and left the new one with the IP address.
>> >
>> > I recall during setup some uncertainty about whether I should be using a name or an IP at various points.  Having a hard-coded IP seems a bit problematic if the host has a dynamic IP (not currently an issue for me, though if I stick the BE in a VM it might be).
>> >
>> > Ross
>>
>>
>> Ross,
>> Thank You for your report about canonical addressing in the Python Bindings.
>>
>> I created ticket #13593 upon your finding at
>> https://code.mythtv.org/trac/ticket/13593
>>
>> Could you please apply the proposed patch in this ticket and
>> restore the database to the canonical IP addressing scheme, like
>>
>> | BackendServerAddr | myth.betterworld.us | barley |
>>
>>  and run the attached test file?
>>
>> The attached test file does not alter yourt MythTv system in any way.
>>
>> The file should report instead of an IP address '10.0.0.XXX'
>> the canonical address of your MythTV system
>> and report something like
>>
>> $ python3 test_canonical_address.py
>> host : myserver
>> Master-Backend IP: 10.0.0.XXX
>> Hash1 : f78f3ddee497d3e8
>> Hash2 : f78f3ddee497d3e8
>> host-ip1 : 10.0.0.XXX
>> BackendServerPort1 : 6543
>> host-ip2 : 10.0.0.XXX
>> BackendServerPort2 : 6543
>> host-ip3 : 10.0.0.XXX
>> BackendServerPort3 : 6543
>>
>> Roland
>> _______________________________________________
>> mythtv-users mailing list
>> mythtv-users at mythtv.org
>> http://lists.mythtv.org/mailman/listinfo/mythtv-users
>> http://wiki.mythtv.org/Mailing_List_etiquette
>> MythTV Forums: https://forum.mythtv.org
>
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://lists.mythtv.org/mailman/listinfo/mythtv-users
> http://wiki.mythtv.org/Mailing_List_etiquette
> MythTV Forums: https://forum.mythtv.org

Ross,
Thank you for verification of this ticket: Yes, your test results looks right.
All connections supported by the MythTV's Python Bindings use now the
setting of 'BackendServerAddr' instead of 'MasterServerIP'.


> This looks to me as if some system versions are preferred to my local ones, which seems weird.  But the __file__ attribute of the imported module refers to my local copy.
I believe the sys.path modifications belong to the python virtual
environment framework.
This should not harm.

Thank You for testing,
kind regards
Roland


More information about the mythtv-users mailing list