Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade from 5.3.4 to 5.4.1 issues #322

Closed
pukkita opened this issue Nov 18, 2017 · 1 comment
Closed

Upgrade from 5.3.4 to 5.4.1 issues #322

pukkita opened this issue Nov 18, 2017 · 1 comment

Comments

@pukkita
Copy link

pukkita commented Nov 18, 2017

Mycodo Issue Report:

  • 5.4.1

Problem Description

Upgraded from latest 5.3.x to 5.4.1.

Upgrade process was stuck in tarting mycodo webserver:

#### Compiling mycodo_wrapper                                                                                                                                                                                                                        
                                                                                                                                                                                                                                                     
#### Creating users and directories                                                                                                                                                                                                                  
useradd: user 'mycodo' already exists                                                                                                                                                                                                                
The user `mycodo' is already a member of `gpio'.                                                                                                                                                                                                     
The user `mycodo' is already a member of `adm'.                                                                                                                                                                                                      
The user `mycodo' is already a member of `video'.                                                                                                                                                                                                    
The user `mycodo' is already a member of `dialout'.                                                                                                                                                                                                  
                                                                                                                                                                                                                                                     
#### Setting permissions                                                                                                                                                                                                                             
                                                                                                                                                                                                                                                     
#### Restarting the Mycodo web server  

Starting mycodo daemon manually led to an error 500 on the web interface.


Errors

mycodo.log

2017-11-18 09:54:34,638 - mycodo.pid_1 - WARNING - No data returned from influxdb                                                                                                                                                                    
2017-11-18 09:54:34,649 - mycodo.daemon - ERROR - Could not turn relay off: 'OutputController' object has no attribute 'relay_on_off'                                                                                                                
Traceback (most recent call last):                                                                                                                                                                                                                   
  File "/var/www/mycodo/mycodo/mycodo_daemon.py", line 644, in relay_off                                                                                                                                                                             
    self.controller['Output'].relay_on_off(                                                                                                                                                                                                          
AttributeError: 'OutputController' object has no attribute 'relay_on_off'                                                                                                                                                                            
2017-11-18 09:54:39,114 - mycodo.inputs.signal_rpm - ERROR - SignalRPMInput raised an exception when taking a reading: 'NoneType' object has no attribute 'send'                                                                                     
2017-11-18 09:54:44,606 - mycodo.influxdb - ERROR - No measurement available in the past 60 seconds.                                                                                                                                                 
2017-11-18 09:54:44,606 - mycodo.pid_1 - WARNING - No data returned from influxdb                                                                                                                                                                    
2017-11-18 09:54:44,611 - mycodo.daemon - ERROR - Could not turn relay off: 'OutputController' object has no attribute 'relay_on_off'                                                                                                                
Traceback (most recent call last):                                                                                                                                                                                                                   
  File "/var/www/mycodo/mycodo/mycodo_daemon.py", line 644, in relay_off                                                                                                                                                                             
    self.controller['Output'].relay_on_off(                                                                                                                                                                                                          
AttributeError: 'OutputController' object has no attribute 'relay_on_off'                                                                                                                                                                            
2017-11-18 09:54:54,141 - mycodo.inputs.signal_rpm - ERROR - SignalRPMInput raised an exception when taking a reading: 'NoneType' object has no attribute 'send'                                                                                     
2017-11-18 09:54:54,141 - mycodo.input_3 - ERROR - StopIteration raised. Possibly could not read input. Ensure it's connected properly and detected.                                                                                                 
2017-11-18 09:54:54,557 - mycodo.influxdb - ERROR - No measurement available in the past 60 seconds.                                                                                                                                                 
2017-11-18 09:54:54,558 - mycodo.pid_1 - WARNING - No data returned from influxdb                                                                                                                                                                    
2017-11-18 09:54:54,563 - mycodo.daemon - ERROR - Could not turn relay off: 'OutputController' object has no attribute 'relay_on_off'                                                                                                                
Traceback (most recent call last):                                                                                                                                                                                                                   
  File "/var/www/mycodo/mycodo/mycodo_daemon.py", line 644, in relay_off                                                                                                                                                                             
    self.controller['Output'].relay_on_off(                                                                                                                                                                                                          
AttributeError: 'OutputController' object has no attribute 'relay_on_off' 

Apache2 error.log

[Sat Nov 18 10:01:00.930227 2017] [wsgi:error] [pid 29774:tid 1930740784] [remote 192.168.10.150:50313] mod_wsgi (pid=29774): Target WSGI script '/var/www/mycodo/mycodo_flask.wsgi' cannot be loaded as Python module.                              
[Sat Nov 18 10:01:00.930337 2017] [wsgi:error] [pid 29774:tid 1930740784] [remote 192.168.10.150:50313] mod_wsgi (pid=29774): Exception occurred processing WSGI script '/var/www/mycodo/mycodo_flask.wsgi'.                                         
[Sat Nov 18 10:01:00.930411 2017] [wsgi:error] [pid 29774:tid 1930740784] [remote 192.168.10.150:50313] Traceback (most recent call last):                                                                                                           
[Sat Nov 18 10:01:00.930483 2017] [wsgi:error] [pid 29774:tid 1930740784] [remote 192.168.10.150:50313]   File "/var/www/mycodo/mycodo_flask.wsgi", line 8, in <module>                                                                              
[Sat Nov 18 10:01:00.930582 2017] [wsgi:error] [pid 29774:tid 1930740784] [remote 192.168.10.150:50313]     from mycodo.start_flask_ui import app as application                                                                                     
[Sat Nov 18 10:01:00.930624 2017] [wsgi:error] [pid 29774:tid 1930740784] [remote 192.168.10.150:50313]   File "/var/www/mycodo/mycodo/start_flask_ui.py", line 9, in <module>                                                                       
[Sat Nov 18 10:01:00.930692 2017] [wsgi:error] [pid 29774:tid 1930740784] [remote 192.168.10.150:50313]     from mycodo.mycodo_flask.app import create_app                                                                                           
[Sat Nov 18 10:01:00.930730 2017] [wsgi:error] [pid 29774:tid 1930740784] [remote 192.168.10.150:50313]   File "/var/www/mycodo/mycodo/mycodo_flask/app.py", line 43, in <module>                                                                    
[Sat Nov 18 10:01:00.930809 2017] [wsgi:error] [pid 29774:tid 1930740784] [remote 192.168.10.150:50313]     from mycodo.mycodo_flask import remote_admin_routes                                                                                      
[Sat Nov 18 10:01:00.930848 2017] [wsgi:error] [pid 29774:tid 1930740784] [remote 192.168.10.150:50313]   File "/var/www/mycodo/mycodo/mycodo_flask/remote_admin_routes.py", line 19, in <module>                                                    
[Sat Nov 18 10:01:00.930924 2017] [wsgi:error] [pid 29774:tid 1930740784] [remote 192.168.10.150:50313]     from mycodo.mycodo_flask.utils import utils_remote_host                                                                                  
[Sat Nov 18 10:01:00.930963 2017] [wsgi:error] [pid 29774:tid 1930740784] [remote 192.168.10.150:50313]   File "/var/www/mycodo/mycodo/mycodo_flask/utils/utils_remote_host.py", line 7, in <module>                                                 
[Sat Nov 18 10:01:00.931031 2017] [wsgi:error] [pid 29774:tid 1930740784] [remote 192.168.10.150:50313]     from bs4 import BeautifulSoup                                                                                                            
[Sat Nov 18 10:01:00.931095 2017] [wsgi:error] [pid 29774:tid 1930740784] [remote 192.168.10.150:50313] ImportError: No module named bs4     

Steps to Reproduce the issue:

Upgrade from latest 5.3.x to 5.4.1


Additional Notes

1. To fix mycodo daemon itself making UI accessible again (fixes Error 500 internal server error):

root@mycodo:/home/pi/Mycodo# pip install bs4
Collecting bs4
  Downloading bs4-0.0.1.tar.gz
Collecting beautifulsoup4 (from bs4)
  Downloading beautifulsoup4-4.6.0-py2-none-any.whl (86kB)
    100% |████████████████████████████████| 92kB 1.2MB/s 
Installing collected packages: beautifulsoup4, bs4
  Running setup.py install for bs4 ... done
Successfully installed beautifulsoup4-4.6.0 bs4-0.0.1

2. Looks like output controllers got more fields in the database table and this crashes mycodo query. Tried editing + saving or deleting the output device to recreate it, failing in both attempts:

captura de pantalla 2017-11-18 a la s 10 16 21

captura de pantalla 2017-11-18 a la s 10 16 34

Trying to add an output device errors out:

Error 500: Internal Server Error

Something bad happened but it's probably not your fault. Letting the developers know about these issues is crucial to supporting Mycodo. Please submit a new issue on GitHub with the following error traceback (copy the entire traceback):

Error (Full Traceback):

Traceback (most recent call last):
  File "/var/www/mycodo/env/lib/python2.7/site-packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "/var/www/mycodo/env/lib/python2.7/site-packages/flask/app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/var/www/mycodo/env/lib/python2.7/site-packages/flask/app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/var/www/mycodo/env/lib/python2.7/site-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/var/www/mycodo/env/lib/python2.7/site-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/var/www/mycodo/env/lib/python2.7/site-packages/flask_login/utils.py", line 228, in decorated_view
    return func(*args, **kwargs)
  File "/var/www/mycodo/mycodo/mycodo_flask/page_routes.py", line 799, in page_output
    utils_output.relay_add(form_add_output)
  File "/var/www/mycodo/mycodo/mycodo_flask/utils/utils_output.py", line 137, in relay_add
    new_relay = Relay()
NameError: global name 'Relay' is not defined
@pukkita pukkita changed the title Upgrade to 5.4.1 issue Upgrade rom 5.3.4 to 5.4.1 issue Nov 18, 2017
@pukkita pukkita changed the title Upgrade rom 5.3.4 to 5.4.1 issue Upgrade from 5.3.4 to 5.4.1 issue Nov 18, 2017
@pukkita pukkita changed the title Upgrade from 5.3.4 to 5.4.1 issue Upgrade from 5.3.4 to 5.4.1 issues Nov 18, 2017
@kizniche
Copy link
Owner

I just released v5.4.2 that should fix these issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants