Juniper / contrail-charms

Juju charms for Contrail services.
Apache License 2.0
13 stars 22 forks source link

contrail-openstack assumes python3? python-requests is unavailable #103

Closed dmzoneill closed 5 years ago

dmzoneill commented 5 years ago
ubuntu@dmzoneill-bastion:~/openstack-base$ juju debug-log --include contrail-openstack/1
unit-contrail-openstack-1: 10:35:55 INFO juju.worker.uniter awaiting error resolution for "install" hook
unit-contrail-openstack-1: 10:36:05 INFO juju.worker.uniter awaiting error resolution for "install" hook
unit-contrail-openstack-1: 10:36:05 DEBUG unit.contrail-openstack/1.install Traceback (most recent call last):
unit-contrail-openstack-1: 10:36:05 DEBUG unit.contrail-openstack/1.install   File "/var/lib/juju/agents/unit-contrail-openstack-1/charm/hooks/install.real", line 24, in <module>
unit-contrail-openstack-1: 10:36:05 DEBUG unit.contrail-openstack/1.install     import contrail_openstack_utils as utils
unit-contrail-openstack-1: 10:36:05 DEBUG unit.contrail-openstack/1.install   File "/var/lib/juju/agents/unit-contrail-openstack-1/charm/hooks/contrail_openstack_utils.py", line 8, in <module>
unit-contrail-openstack-1: 10:36:05 DEBUG unit.contrail-openstack/1.install     import requests
unit-contrail-openstack-1: 10:36:05 DEBUG unit.contrail-openstack/1.install ImportError: No module named requests
unit-contrail-openstack-1: 10:36:05 ERROR juju.worker.uniter.operation hook "install" failed: exit status 1
unit-contrail-openstack-1: 10:36:05 INFO juju.worker.uniter awaiting error resolution for "install" hook
unit-contrail-openstack-1: 10:35:49 INFO juju.worker.uniter awaiting error resolution for "install" hook
unit-contrail-openstack-1: 10:35:49 DEBUG unit.contrail-openstack/1.install Traceback (most recent call last):
unit-contrail-openstack-1: 10:35:49 DEBUG unit.contrail-openstack/1.install   File "/var/lib/juju/agents/unit-contrail-openstack-1/charm/hooks/install.real", line 24, in <module>
unit-contrail-openstack-1: 10:35:49 DEBUG unit.contrail-openstack/1.install     import contrail_openstack_utils as utils
unit-contrail-openstack-1: 10:35:49 DEBUG unit.contrail-openstack/1.install   File "/var/lib/juju/agents/unit-contrail-openstack-1/charm/hooks/contrail_openstack_utils.py", line 8, in <module>
unit-contrail-openstack-1: 10:35:49 DEBUG unit.contrail-openstack/1.install     import requests
unit-contrail-openstack-1: 10:35:49 DEBUG unit.contrail-openstack/1.install ImportError: No module named requests
unit-contrail-openstack-1: 10:35:49 ERROR juju.worker.uniter.operation hook "install" failed: exit status 1
unit-contrail-openstack-1: 10:35:49 INFO juju.worker.uniter awaiting error resolution for "install" hook
unit-contrail-openstack-1: 10:35:49 INFO juju.worker.uniter awaiting error resolution for "install" hook
unit-contrail-openstack-1: 10:35:54 INFO juju.worker.uniter awaiting error resolution for "install" hook
unit-contrail-openstack-1: 10:35:55 DEBUG unit.contrail-openstack/1.install Traceback (most recent call last):
unit-contrail-openstack-1: 10:35:55 DEBUG unit.contrail-openstack/1.install   File "/var/lib/juju/agents/unit-contrail-openstack-1/charm/hooks/install.real", line 24, in <module>
unit-contrail-openstack-1: 10:35:55 DEBUG unit.contrail-openstack/1.install     import contrail_openstack_utils as utils
unit-contrail-openstack-1: 10:35:55 DEBUG unit.contrail-openstack/1.install   File "/var/lib/juju/agents/unit-contrail-openstack-1/charm/hooks/contrail_openstack_utils.py", line 8, in <module>
unit-contrail-openstack-1: 10:35:55 DEBUG unit.contrail-openstack/1.install     import requests
unit-contrail-openstack-1: 10:35:55 DEBUG unit.contrail-openstack/1.install ImportError: No module named requests
unit-contrail-openstack-1: 10:35:55 ERROR juju.worker.uniter.operation hook "install" failed: exit status 1

solution

apt-get install python-requests
apt-get install python3-requests
juju resolved contrail-openstack/1
Andrey-mp commented 5 years ago

contrail-openstack charm is subordinate to another openstack charms. it is run with #!/usr/bin/env python and doesn't require particular python version. because it subordinate - it uses the same libraries on host as other openstack components. So how it is possible that nova, heat or neutron don't install python-requests?

dmzoneill commented 5 years ago

Hey Andrey,

I will add another nova-compute unit shortly and reproduce the issue; providing more detail.

dmzoneill commented 5 years ago
ubuntu@dmzoneill-bastion:~/openstack-base$ juju status --color
Model    Controller               Cloud/Region             Version  SLA          Timestamp
default  serverstack-serverstack  serverstack/serverstack  2.6.6    unsupported  10:08:38Z

App                     Version       Status       Scale  Charm                   Store       Rev  OS      Notes
ceph-mon                13.2.6        blocked          3  ceph-mon                jujucharms   38  ubuntu  
ceph-osd                13.2.6        maintenance      3  ceph-osd                jujucharms  285  ubuntu  
ceph-radosgw            13.2.6        blocked          1  ceph-radosgw            jujucharms  271  ubuntu  
cinder                  14.0.0        active           1  cinder                  jujucharms  284  ubuntu  
cinder-ceph             14.0.0        waiting          1  cinder-ceph             jujucharms  243  ubuntu  
contrail-agent                        waiting          0  contrail-agent          jujucharms    1  ubuntu  
contrail-analytics                    blocked          1  contrail-analytics      jujucharms    0  ubuntu  
contrail-analyticsdb                  blocked          1  contrail-analyticsdb    jujucharms    0  ubuntu  
contrail-controller                   blocked          1  contrail-controller     jujucharms    0  ubuntu  
contrail-keystone-auth                active           1  contrail-keystone-auth  jujucharms    0  ubuntu  
contrail-openstack                    error            1  contrail-openstack      jujucharms    0  ubuntu  
glance                  18.0.0        active           1  glance                  jujucharms  282  ubuntu  
keystone                15.0.0        active           1  keystone                jujucharms  301  ubuntu  
mysql                   5.7.20-29.24  active           1  percona-cluster         jujucharms  276  ubuntu  
neutron-api             14.0.2        active           1  neutron-api             jujucharms  273  ubuntu  
neutron-gateway         14.0.2        error            1  neutron-gateway         jujucharms  262  ubuntu  
neutron-openvswitch     14.0.2        waiting          1  neutron-openvswitch     jujucharms  263  ubuntu  
nova-cloud-controller   19.0.1        active           1  nova-cloud-controller   jujucharms  329  ubuntu  
nova-compute            19.0.1        waiting          1  nova-compute            jujucharms  302  ubuntu  
ntp                     3.2           active           1  ntp                     jujucharms   35  ubuntu  
openstack-dashboard     15.0.0        active           1  openstack-dashboard     jujucharms  288  ubuntu  
rabbitmq-server         3.6.10        active           1  rabbitmq-server         jujucharms   89  ubuntu  

Unit                       Workload     Agent      Machine  Public address  Ports                       Message
ceph-mon/0                 blocked      executing  1        10.5.0.3                                    Insufficient peer units to bootstrap cluster (require 3)
ceph-mon/1*                waiting      executing  2        10.5.0.5                                    Monitor bootstrapped but waiting for number of OSDs to reach expected-osd-count (3)
ceph-mon/2                 waiting      executing  3        10.5.0.14                                   Monitor bootstrapped but waiting for number of OSDs to reach expected-osd-count (3)
ceph-osd/0                 maintenance  executing  1        10.5.0.3                                    Initializing device /dev/vdb
ceph-osd/1*                active       idle       2        10.5.0.5                                    Unit is ready (1 OSD)
ceph-osd/2                 active       idle       3        10.5.0.14                                   Unit is ready (1 OSD)
ceph-radosgw/0*            blocked      idle       0        10.5.0.10       80/tcp                      Services not running that should be: radosgw
cinder/0*                  active       idle       4        10.5.0.9        8776/tcp                    Unit is ready
  cinder-ceph/0*           waiting      idle                10.5.0.9                                    Incomplete relations: ceph
contrail-analytics/0*      blocked      idle       12       10.5.0.8                                    Missing cloud_orchestrator info in relation with contrail-controller.
contrail-analyticsdb/0*    blocked      idle       13       10.5.0.13                                   Missing cloud_orchestrator info in relation with contrail-controller.
contrail-controller/0*     blocked      idle       14       10.5.0.12       8080/tcp,8082/tcp,8143/tcp  Image could not be pulled: contrail-node-init:5.0.2-0.360-queens
contrail-keystone-auth/0*  active       idle       15       10.5.0.30                                   Unit is ready
glance/0*                  active       idle       5        10.5.0.25       9292/tcp                    Unit is ready
keystone/0*                active       idle       6        10.5.0.21       5000/tcp                    Unit is ready
mysql/0*                   active       idle       7        10.5.0.29       3306/tcp                    Unit is ready
neutron-api/0*             active       idle       8        10.5.0.4        9696/tcp                    Unit is ready
  contrail-openstack/0*    error        idle                10.5.0.4                                    hook failed: "install"
neutron-gateway/0*         error        idle       0        10.5.0.10                                   hook failed: "config-changed"
nova-cloud-controller/0*   active       idle       9        10.5.0.11       8774/tcp,8775/tcp,8778/tcp  Unit is ready
nova-compute/0*            waiting      executing  1        10.5.0.3                                    Incomplete relations: storage-backend, compute
  neutron-openvswitch/0*   waiting      executing           10.5.0.3                                    Incomplete relations: messaging
  ntp/0*                   active       idle                10.5.0.3        123/udp                     chrony: Ready
openstack-dashboard/0*     active       idle       10       10.5.0.22       80/tcp,443/tcp              Unit is ready
rabbitmq-server/0*         active       idle       11       10.5.0.17       5672/tcp                    Unit is ready

Machine  State    DNS        Inst id                               Series  AZ    Message
0        started  10.5.0.10  be8b5404-30a1-415b-901b-aabc0a5249d2  bionic  nova  ACTIVE
1        started  10.5.0.3   08815bc0-4058-4304-b03a-e380809daa32  bionic  nova  ACTIVE
2        started  10.5.0.5   6acb9a4c-095b-496b-84d1-a115b9a5eab7  bionic  nova  ACTIVE
3        started  10.5.0.14  871c9a41-dce9-46be-b410-929d9defdb65  bionic  nova  ACTIVE
4        started  10.5.0.9   6306c518-1374-4637-996a-ab50bf19666e  bionic  nova  ACTIVE
5        started  10.5.0.25  ac08dae8-078d-41c4-9d69-22e9d278ef95  bionic  nova  ACTIVE
6        started  10.5.0.21  c4c55f93-d6e6-4450-ac66-1a3af7624939  bionic  nova  ACTIVE
7        started  10.5.0.29  d8500412-0c91-4879-aa07-9645dd9d53a0  bionic  nova  ACTIVE
8        started  10.5.0.4   3ae89e63-42e9-42f0-aa30-f887ef7bdc18  bionic  nova  ACTIVE
9        started  10.5.0.11  a5955c03-ee34-4196-af57-234c2457ae0e  bionic  nova  ACTIVE
10       started  10.5.0.22  11c22007-c2e9-43a9-96f3-6d9ba14db814  bionic  nova  ACTIVE
11       started  10.5.0.17  559d519b-25bc-4773-acf7-309bd78cc1ee  bionic  nova  ACTIVE
12       started  10.5.0.8   011842dd-7ede-44e9-a606-6c1b8f3efac6  bionic  nova  ACTIVE
13       started  10.5.0.13  00bac830-a6cf-4b35-863c-61c5269bb875  bionic  nova  ACTIVE
14       started  10.5.0.12  02054330-be6c-4114-85e2-7a58b93abbbc  bionic  nova  ACTIVE
15       started  10.5.0.30  756ee7fc-7032-426e-8cc5-524e108ec754  bionic  nova  ACTIVE

ubuntu@dmzoneill-bastion:~/openstack-base$ juju debug-log --include contrail-openstack/0
unit-contrail-openstack-0: 10:01:13 DEBUG unit.contrail-openstack/0.install     import requests
unit-contrail-openstack-0: 10:01:13 DEBUG unit.contrail-openstack/0.install ImportError: No module named requests
unit-contrail-openstack-0: 10:01:13 ERROR juju.worker.uniter.operation hook "install" failed: exit status 1
unit-contrail-openstack-0: 10:06:14 DEBUG unit.contrail-openstack/0.install Traceback (most recent call last):
unit-contrail-openstack-0: 10:06:14 DEBUG unit.contrail-openstack/0.install   File "/var/lib/juju/agents/unit-contrail-openstack-0/charm/hooks/install.real", line 24, in <module>
unit-contrail-openstack-0: 10:06:14 DEBUG unit.contrail-openstack/0.install     import contrail_openstack_utils as utils
unit-contrail-openstack-0: 10:06:14 DEBUG unit.contrail-openstack/0.install   File "/var/lib/juju/agents/unit-contrail-openstack-0/charm/hooks/contrail_openstack_utils.py", line 8, in <module>
unit-contrail-openstack-0: 10:06:14 DEBUG unit.contrail-openstack/0.install     import requests
unit-contrail-openstack-0: 10:06:14 DEBUG unit.contrail-openstack/0.install ImportError: No module named requests
unit-contrail-openstack-0: 10:06:14 ERROR juju.worker.uniter.operation hook "install" failed: exit status 1
^C
dmzoneill commented 5 years ago
ubuntu@dmzoneill-bastion:~/openstack-base$ juju resolved contrail-openstack/0
ubuntu@dmzoneill-bastion:~/openstack-base$ juju run --unit contrail-openstack/0 'hooks/config-changed'
Traceback (most recent call last):
  File "hooks/config-changed", line 24, in <module>
    import contrail_openstack_utils as utils
  File "/var/lib/juju/agents/unit-contrail-openstack-0/charm/hooks/contrail_openstack_utils.py", line 8, in <module>
    import requests
ImportError: No module named requests
ubuntu@dmzoneill-bastion:~/openstack-base$ juju run --unit contrail-openstack/0 'hooks/config-changed'

Seems it defaults to python2 which has no python requests

ubuntu@dmzoneill-bastion:~/openstack-base$ juju ssh neutron-api/0
Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-55-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Thu Aug  8 10:16:47 UTC 2019

  System load:  0.09              Processes:              112
  Usage of /:   4.8% of 38.60GB   Users logged in:        0
  Memory usage: 12%               IP address for ens3:    10.5.0.4
  Swap usage:   0%                IP address for fan-252: 252.0.4.1

10 packages can be updated.
0 updates are security updates.

Last login: Thu Aug  8 10:11:55 2019 from 10.5.0.7
ubuntu@juju-0a8009-default-8:~$ 
ubuntu@juju-0a8009-default-8:~$ 
ubuntu@juju-0a8009-default-8:~$ 
ubuntu@juju-0a8009-default-8:~$ python
Python 2.7.15+ (default, Nov 27 2018, 23:36:35) 
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named requests
>>> 
ubuntu@juju-0a8009-default-8:~$ python3
Python 3.6.8 (default, Jan 14 2019, 11:02:34) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> 

@Andrey-mp root cuase ^

Andrey-mp commented 5 years ago

OK, I've added it to dependencies - https://github.com/Juniper/contrail-charms/commit/e6d89195f4d3067a8300188022b8fd17ccfff01d

dmzoneill commented 5 years ago

thank you