settingsLogin | Registersettings

[openstack-dev] [Congress] Magnum_driver

0 votes

Hi everybody,
I've added the magnum_driver code, that I'm trying to write for congress, to review.
I think that I've made some errors.

I hope in your help.
Ruben


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
asked Nov 14, 2016 in openstack-dev by Ruben (640 points)   1
retagged Jan 26, 2017 by admin

21 Responses

0 votes

Ruben,

I found the following two reviews:

https://review.openstack.org/397150 Magnumdriver for congress
https://review.openstack.org/397151 Test for magnum
driver

Are these what you are referring to, or is it something else?

Thanks,

Adrian

On Nov 14, 2016, at 4:13 AM, Ruben r.manganiello1@studenti.unisa.it wrote:

Hi everybody,
I've added the magnum_driver code, that I'm trying to write for congress, to review.
I think that I've made some errors.

I hope in your help.
Ruben


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
responded Nov 14, 2016 by Adrian_Otto (11,060 points)   2 3 6
0 votes

Hi Ruben,

Did a little debugging for you...

1) Run your unit tests
$ tox -epy34 congress.tests.datasources.testmagnum
...
File
"/Users/tim/opencode/congress/congress/tests/datasources/test
magnumdriver.py",
line 3, in
from congress.datasources import magnum
driver
File
"/Users/tim/opencode/congress/congress/datasources/magnumdriver.py", line
51
self.magnum = magnum
client.Client(session=session)
^
IndentationError: unexpected indent

The IndenetationError says you haven't lined up the code correctly. Python
is sensitive to whitespace. I fixed this.

2) Run unit tests again.
$ tox -epy34 congress.tests.datasources.testmagnum
..
File
"/Users/tim/opencode/congress/congress/datasources/magnum
driver.py", line
1, in
from magnumclient import client as magnum_client

Here the problem is that the package magnumclient doesn't exist. You need
to add the python-magnumclient to the file requirements.txt.
I fixed this for you as well.

3) Run unit tests again
$ tox -epy34 congress.tests.datasources.test_magnum

Forgot to capture the output this time, but there was a test failure. I
went ahead and uncommented the two translators that you wrote
because they seemed to be doing the right thing; that required combining
your two unit tests into 1.

4) Run unit tests again
$ tox -epy34 congress.tests.datasources.test_magnum

Traceback (most recent call last):
File
"/Users/tim/opencode/congress/congress/tests/datasources/testmagnumdriver.py",
line 97, in testclustertemplateupdatefromdatasource
self.assertEqual(self.driver.state, expected)
File
"/Users/tim/opencode/congress/.tox/py34/lib/python3.4/site-packages/testtools/testcase.py",
line 411, in assertEqual
self.assertThat(observed, matcher, message)
File
"/Users/tim/opencode/congress/.tox/py34/lib/python3.4/site-packages/testtools/testcase.py",
line 498, in assertThat
raise mismatch
error
testtools.matchers.impl.MismatchError: !=:
reference = {'cluster': {('None', 'k8s-cluster', 'None', 1, 1,
'CREATE
FAILED')},
'clustertemplate': {('None', 'k8s-cluster-template', 'None', 'None')}}
reference = {'cluster': {('f88cb9c7-1e5d-42cb-b0dc-d9c3d0872ddf',
'k8s-cluster',
'testkey',
1,
1,
'CREATE
FAILED')},
'clustertemplate': {('3ddeaf4f-af3d-4534-9558-59bf28b1578b',
'k8s-cluster-template',
'kubernetes',
'flannel')}}
actual = {'cluster': {('None', 'k8s-cluster', 'None', 1, 1,
'CREATE
FAILED')},
'cluster_template': {('None', 'k8s-cluster-template', 'None', 'None')}}

What's happening here is that the output of the translator does not match
what the test says the output should be. The problem is that there's a
mismatch between the keys in the data that you've mocked out (e.g.
mockclustertemplate) and the fieldnames in the translator (e.g.
clustertemplatetranslator).

In the translator below you say the field names are 'id', 'name', 'COE',
and 'Networkdriver'. In the data you mocked out, the closest field names
I can see are 'uuid', 'name', 'coe', and 'network
driver'. So fieldname
'name' matches the mocked out data, but the other field names do not.
(Field names are case sensitive.) So if you change it so the fieldnames
and the mock-data match, your unit test should pass.

cluster_template_translator = {
    'translation-type': 'HDICT',
    'table-name': CLUSTER_TEMPLATE,
    'selector-type': 'DICT_SELECTOR',
    'field-translators':
      ({'fieldname': 'id', 'translator': value_trans},
       {'fieldname': 'name', 'translator': value_trans},
       {'fieldname': 'COE', 'translator': value_trans},
       {'fieldname': 'Network_driver', 'translator': value_trans})}

5) Of course, just because the unit tests pass doesn't mean the driver is
correct. The translator fieldnames need to match the actual data that
magnum returns when you ask for the clusters and cluster_templates. One
option is to read through the python-magnumclient code to see what fields
it returns; the other is to run the commands yourself from the commandline
to see what they return; another is to look at the Congress logs when the
magnum driver is running (with debug=True in /etc/congress/congress.conf).

6) I pushed all my changes as a revision on top of one of your commits. We
always include the code and the unit tests as one commit. So now there's 1
commit that you can download to your local machine and continue editing.
Or you can just look at the code in gerrit and make changes to your code
manually.

https://review.openstack.org/#/c/397150/

To download, the safest thing is to create a new branch and apply the
changes on top of that branch. You can also skip the 'git checkout' step
if you want to apply the changes on top of the ones you already have,
resolve conflicts, and then squash all the commits together.
$ cd /path/to/congress
$ git checkout origin/master -b
$ git fetch https://git.openstack.org/openstack/congress
refs/changes/50/397150/4 && git cherry-pick FETCH_HEAD

Hope that helps,
Tim

On Mon, Nov 14, 2016 at 10:02 AM Adrian Otto adrian.otto@rackspace.com
wrote:

Ruben,

I found the following two reviews:

https://review.openstack.org/397150 Magnumdriver for congress
https://review.openstack.org/397151 Test for magnum
driver

Are these what you are referring to, or is it something else?

Thanks,

Adrian

On Nov 14, 2016, at 4:13 AM, Ruben r.manganiello1@studenti.unisa.it
wrote:

Hi everybody,
I've added the magnum_driver code, that I'm trying to write for
congress, to review.
I think that I've made some errors.

I hope in your help.
Ruben


OpenStack Development Mailing List (not for usage questions)
Unsubscribe:
OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
responded Nov 15, 2016 by tim_at_styra.com (4,300 points)   3 3
0 votes

Hi everybody,
first of all: Tim thanks for your help.

I've read the code in python-magnumclient/magnumclient/v1/clustertemplatesshell.py and in python-magnumclient/magnumclient/v1/clustersshell.py, so I've modify the translators in the magnumdriver according to showclustertemplate(clustertemplate) and showcluster(cluster) methods shown in these files.
Are these the methods to be taken into account for the translation?
Anyway I don't know if I made mistakes in the translation..

I've some doubts because if I made the CLI command 'magnum cluster-template-list' I have:

+--------------------------------------+----------------------+
| uuid | name |
+--------------------------------------+----------------------+
| 8d25a1ed-faa6-4305-a6a1-6559708c805b | k8s-cluster-template |
+--------------------------------------+----------------------+

and if I made the CLI command 'magnum cluster-template-show k8s-cluster-template' I have:

+-----------------------+--------------------------------------+
| Property | Value |
+-----------------------+--------------------------------------+
| insecureregistry | - |
| labels | {} |
| updated
at | - |
| floatingipenabled | True |
| fixedsubnet | - |
| master
flavorid | my |
| uuid | 8d25a1ed-faa6-4305-a6a1-6559708c805b |
| no
proxy | - |
| httpsproxy | - |
| tls
disabled | False |
| keypairid | testkey |
| public | False |
| http
proxy | - |
| dockervolumesize | 7 |
| servertype | vm |
| external
networkid | public |
| cluster
distro | fedora-atomic |
| imageid | fedora-atomic-latest |
| volume
driver | - |
| registryenabled | False |
| docker
storagedriver | devicemapper |
| apiserver
port | - |
| name | k8s-cluster-template |
| createdat | 2016-11-11T11:38:25+00:00 |
| network
driver | flannel |
| fixednetwork | - |
| coe | kubernetes |
| flavor
id | m1.tiny |
| masterlbenabled | False |
| dns_nameserver | 193.205.160.3 |
+-----------------------+--------------------------------------+

So fields that I see here are a litte bit different from fields in the methods above mentioned.
Same thing for cluster.

'magnum cluster-list'

+--------------------------------------+-------------+------------+------------+--------------+---------------+
| uuid | name | keypairid | nodecount | mastercount | status |
+--------------------------------------+-------------+------------+------------+--------------+---------------+
| 1634beb9-25de-4cdd-bafa-67537069f0cc | k8s-cluster | testkey | 1 | 1 | CREATE
FAILED |
+--------------------------------------+-------------+------------+------------+--------------+---------------+

'magnum cluster-show k8s-cluster'

+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Property | Value |
+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| status | CREATEFAILED |
| cluster
templateid | 8d25a1ed-faa6-4305-a6a1-6559708c805b |
| node
addresses | [] |
| uuid | 1634beb9-25de-4cdd-bafa-67537069f0cc |
| stackid | 17f1248d-286a-4fd4-9639-af5773670f03 |
| status
reason | Timed out |
| createdat | 2016-11-11T11:39:33+00:00 |
| updated
at | 2016-11-14T10:43:41+00:00 |
| coeversion | - |
| faults | {'0': 'CREATE aborted (Task create from TemplateResource "0" Stack "k8s-cluster-rdkwicqqt3vx-kube
masters-n5m56tavd65i" [f4327094-c170-4fb0-9371-1b07b81a7b69] Timed out)', 'kubemasters': 'CREATE aborted (Task create from ResourceGroup "kubemasters" Stack "k8s-cluster-rdkwicqqt3vx" [17f1248d-286a-4fd4-9639-af5773670f03] Timed out)', 'masterwaitcondition': 'CREATE aborted (Task create from HeatWaitCondition "masterwaitcondition" Stack "k8s-cluster-rdkwicqqt3vx-kubemasters-n5m56tavd65i-0-hrfz3e4pj3xc" [8f01b303-0f14-4bb6-8310-578352d62ab1] Timed out)'} |
| keypair | testkey |
| api
address | - |
| masteraddresses | [] |
| create
timeout | 60 |
| nodecount | 1 |
| discovery
url | https://discovery.etcd.io/d519d7710c20a38876439a2084a00607 |
| mastercount | 1 |
| container
version | - |
| name | k8s-cluster |
+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

Anyway, I've added the code to review. I have a conflict, but I don't know how to resolve it.

Ruben


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
responded Nov 16, 2016 by Ruben (640 points)   1
0 votes

Hi Ruben,

The fieldnames you care about are the fields as they show up in the JSON
that gets returned from the magnum-client methods inside the datasource
driver, e.g. from these methods...

self.magnum.cluster_template.list()
self.magnum.cluster.list()

Several ways to check that you have the right fields..
1) Suppose your Murano driver is running inside of Congress, and you've
created an instance of it.
$ openstack congress datasource create magnum magnum ...
$ openstack congress datasource list

You know you have the right fields in the driver if you're getting data in
the Murano datasource instance.
$ openstack congress datasource row list magnum cluster
$ openstack congress datasource row list magnum cluster_template

2) If that doesn't work, check what JSON data magnum is returning on the
CLI by adding the --debug parameter to the magnum CLI commands.
[I haven't used magnum's client, but it looks to be using the standard
openstack client, so should support --debug.]

$ magnum cluster-template-list --debug

You'll need to wade through the output to find the JSON that gets returned
from the server.

3) If you think you have the right field names in the congress translators,
but you're still not seeing data in the Murano datasource instance, you'll
probably want to look at the congress logs. It looks like you have the
right log.DEBUG statements in there. One trick is to disable all the
datasources in congress other than your own to minimize the logs you need
to look through. Another is to change your log.DEBUG to log.WARNING
temporarily so your messages show up more clearly in the log.

You can look at logs from the command line with:
$ less -R /opt/stack/logs/congress.log

Or go into 'screen -x', go to the Congress window, and look at the output
in real time. You'll want a tutorial on screen if you haven't used it.

Tim

On Wed, Nov 16, 2016 at 9:37 AM Ruben r.manganiello1@studenti.unisa.it
wrote:

Hi everybody,
first of all: Tim thanks for your help.

I've read the code in
python-magnumclient/magnumclient/v1/clustertemplatesshell.py and in
python-magnumclient/magnumclient/v1/clustersshell.py, so I've modify the
translators in the magnum
driver according to
showclustertemplate(clustertemplate) and showcluster(cluster) methods
shown in these files.
Are these the methods to be taken into account for the translation?
Anyway I don't know if I made mistakes in the translation..

I've some doubts because if I made the CLI command 'magnum
cluster-template-list' I have:

+--------------------------------------+----------------------+
| uuid | name |
+--------------------------------------+----------------------+
| 8d25a1ed-faa6-4305-a6a1-6559708c805b | k8s-cluster-template |
+--------------------------------------+----------------------+

and if I made the CLI command 'magnum cluster-template-show
k8s-cluster-template' I have:

+-----------------------+--------------------------------------+
| Property | Value |
+-----------------------+--------------------------------------+
| insecureregistry | - |
| labels | {} |
| updated
at | - |
| floatingipenabled | True |
| fixedsubnet | - |
| master
flavorid | my |
| uuid | 8d25a1ed-faa6-4305-a6a1-6559708c805b |
| no
proxy | - |
| httpsproxy | - |
| tls
disabled | False |
| keypairid | testkey |
| public | False |
| http
proxy | - |
| dockervolumesize | 7 |
| servertype | vm |
| external
networkid | public |
| cluster
distro | fedora-atomic |
| imageid | fedora-atomic-latest |
| volume
driver | - |
| registryenabled | False |
| docker
storagedriver | devicemapper |
| apiserver
port | - |
| name | k8s-cluster-template |
| createdat | 2016-11-11T11:38:25+00:00 |
| network
driver | flannel |
| fixednetwork | - |
| coe | kubernetes |
| flavor
id | m1.tiny |
| masterlbenabled | False |
| dns_nameserver | 193.205.160.3 |
+-----------------------+--------------------------------------+

So fields that I see here are a litte bit different from fields in the
methods above mentioned.
Same thing for cluster.

'magnum cluster-list'

+--------------------------------------+-------------+------------+------------+--------------+---------------+
| uuid | name | keypairid |
node
count | master_count | status |

+--------------------------------------+-------------+------------+------------+--------------+---------------+
| 1634beb9-25de-4cdd-bafa-67537069f0cc | k8s-cluster | testkey | 1
| 1 | CREATE_FAILED |

+--------------------------------------+-------------+------------+------------+--------------+---------------+

'magnum cluster-show k8s-cluster'

+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Property | Value

                                                    |

+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| status | CREATE_FAILED

                                                    |

| clustertemplateid | 8d25a1ed-faa6-4305-a6a1-6559708c805b

                                                     |

| node_addresses | []

                                                     |

| uuid | 1634beb9-25de-4cdd-bafa-67537069f0cc

                                                     |

| stack_id | 17f1248d-286a-4fd4-9639-af5773670f03

                                                     |

| status_reason | Timed out

                                                    |

| created_at | 2016-11-11T11:39:33+00:00

                                                    |

| updated_at | 2016-11-14T10:43:41+00:00

                                                    |

| coe_version | -

                                                    |

| faults | {'0': 'CREATE aborted (Task create from
TemplateResource "0" Stack
"k8s-cluster-rdkwicqqt3vx-kubemasters-n5m56tavd65i"
[f4327094-c170-4fb0-9371-1b07b81a7b69] Timed out)', 'kube
masters': 'CREATE
aborted (Task create from ResourceGroup "kubemasters" Stack
"k8s-cluster-rdkwicqqt3vx" [17f1248d-286a-4fd4-9639-af5773670f03] Timed
out)', 'master
waitcondition': 'CREATE aborted (Task create from
HeatWaitCondition "master
waitcondition" Stack
"k8s-cluster-rdkwicqqt3vx-kube
masters-n5m56tavd65i-0-hrfz3e4pj3xc"
[8f01b303-0f14-4bb6-8310-578352d62ab1] Timed out)'} |
| keypair | testkey

                                                    |

| api_address | -

                                                    |

| master_addresses | []

                                                     |

| create_timeout | 60

                                                     |

| node_count | 1

                                                    |

| discovery_url |
https://discovery.etcd.io/d519d7710c20a38876439a2084a00607

                             |

| master_count | 1

                                                    |

| container_version | -

                                                    |

| name | k8s-cluster

                                                    |

+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

Anyway, I've added the code to review. I have a conflict, but I don't know
how to resolve it.

Ruben


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
responded Nov 17, 2016 by tim_at_styra.com (4,300 points)   3 3
0 votes

Hi everybody,
As suggested by Tim I've checked what JSON data magnum is returning on the CLI by adding the --debug parameter to the magnum CLI commands.

magnum --debug cluster-template-list

RESP BODY: {"clustertemplates": [{"insecureregistry": null, "links": [{"href": "http://10.0.2.15:9511/v1/clustertemplates/8d25a1ed-faa6-4305-a6a1-6559708c805b", "rel": "self"}, {"href": "http://10.0.2.15:9511/clustertemplates/8d25a1ed-faa6-4305-a6a1-6559708c805b", "rel": "bookmark"}], "httpproxy": null, "updatedat": null, "floatingipenabled": true, "fixedsubnet": null, "masterflavorid": "my", "uuid": "8d25a1ed-faa6-4305-a6a1-6559708c805b", "noproxy": null, "httpsproxy": null, "tlsdisabled": false, "keypairid": "testkey", "public": false, "labels": {}, "dockervolumesize": 7, "servertype": "vm", "externalnetworkid": "public", "clusterdistro": "fedora-atomic", "imageid": "fedora-atomic-latest", "volumedriver": null, "registryenabled": false, "dockerstoragedriver": "devicemapper", "apiserverport": null, "name": "k8s-cluster-template", "createdat": "2016-11-11T11:38:25+00:00", "networkdriver": "flannel", "fixednetwork": null, "coe": "kubernetes", "flavorid": "m1.tiny", "masterlbenabled": false, "dns_nameserver": "193.205.160.3"}]}

magnum --debug cluster-list

RESP BODY: {"clusters": [{"status": "CREATEFAILED", "clustertemplateid": "8d25a1ed-faa6-4305-a6a1-6559708c805b", "uuid": "1634beb9-25de-4cdd-bafa-67537069f0cc", "links": [{"href": "http://10.0.2.15:9511/v1/clusters/1634beb9-25de-4cdd-bafa-67537069f0cc", "rel": "self"}, {"href": "http://10.0.2.15:9511/clusters/1634beb9-25de-4cdd-bafa-67537069f0cc", "rel": "bookmark"}], "stackid": "17f1248d-286a-4fd4-9639-af5773670f03", "keypair": "testkey", "mastercount": 1, "nodecount": 1, "create_timeout": 60, "name": "k8s-cluster"}]}

I've modified the magnumdriver and the unit test for it, but I still have some errors.
Anyway, I've added the magnum
driver code and its unit test to review.

Ruben


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
responded Nov 20, 2016 by Ruben (640 points)   1
0 votes

Hi everybody,
I've trying to run the unit test of the magnum_driver.

I make:
-cd /opt/stack/congress/
-tox -epy27

but I have error with the import.
This is the output:

"py27 develop-inst-noop: /opt/stack/congress
py27 installed: alabaster==0.7.9,alembic==0.8.8,amqp==1.4.9,anyjson==0.3.3,appdirs==1.4.0,Babel==2.3.4,cachetools==2.0.0,cffi==1.9.1,cliff==2.2.0,cmd2==0.6.9,-e git+http://git.openstack.org/openstack/congress@b2d96b56f721c941e85db565d203df008c455b19#egg=congress,contextlib2==0.5.4,coverage==4.2,cryptography==1.5.3,debtcollector==1.9.0,decorator==4.0.10,docutils==0.12,dogpile.cache==0.6.2,enum34==1.1.6,eventlet==0.19.0,extras==1.0.0,fasteners==0.14.1,fixtures==3.0.0,flake8==2.2.4,funcsigs==1.0.2,functools32==3.2.3.post2,futures==3.0.5,futurist==0.19.0,greenlet==0.4.10,hacking==0.10.2,idna==2.1,ipaddress==1.0.17,iso8601==0.1.11,Jinja2==2.8,jsonpatch==1.14,jsonpointer==1.10,jsonschema==2.5.1,keystoneauth1==2.15.0,keystonemiddleware==4.10.0,kombu==3.0.37,linecache2==1.0.0,lxml==3.6.4,Mako==1.0.6,MarkupSafe==0.23,mccabe==0.2.1,mock==2.0.0,monotonic==1.2,mox3==0.18.0,msgpack-python==0.4.8,netaddr==0.7.18,netifaces==0.10.5,openstacksdk==0.9.9,os-client-config==1.22.0,osc-lib==1.2.0,oslo.concurrency==3.15.0,oslo.config==3.19.0,oslo.context==2.10.0,oslo.db==4.14.0,oslo.i18n==3.10.0,oslo.log==3.17.0,oslo.messaging==5.12.0,oslo.middleware==3.20.0,oslo.policy==1.16.0,oslo.serialization==2.14.0,oslo.service==1.17.0,oslo.utils==3.18.0,oslo.vmware==2.15.0,oslosphinx==4.8.0,oslotest==2.11.0,Paste==2.0.3,PasteDeploy==1.5.2,pbr==1.10.0,pep8==1.5.7,pika==0.10.0,pika-pool==0.1.3,ply==3.9,positional==1.1.1,prettytable==0.7.2,PuLP==1.6.1,pyasn1==0.1.9,pycadf==2.4.0,pycparser==2.17,pyflakes==0.8.1,Pygments==2.1.3,pyinotify==0.9.6,pyOpenSSL==16.2.0,pyparsing==1.5.7,python-ceilometerclient==2.7.0,python-cinderclient==1.9.0,python-dateutil==2.6.0,python-editor==1.0.1,python-glanceclient==2.5.0,python-heatclient==1.5.0,python-ironicclient==1.8.0,python-keystoneclient==3.6.0,python-mimeparse==1.6.0,python-muranoclient==0.11.1,python-neutronclient==6.0.0,python-novaclient==6.0.0,python-openstackclient==3.3.0,python-subunit==1.2.0,python-swiftclient==3.1.0,pytz==2016.7,PyYAML==3.12,reno==1.8.0,repoze.lru==0.6,requests==2.11.1,requests-mock==1.1.0,requestsexceptions==1.1.3,retrying==1.3.3,rfc3986==0.4.1,Routes==2.3.1,simplejson==3.10.0,six==1.10.0,snowballstemmer==1.2.1,Sphinx==1.3.6,sphinx-rtd-theme==0.1.9,SQLAlchemy==1.1.3,sqlalchemy-migrate==0.10.0,sqlparse==0.2.2,stevedore==1.18.0,suds-jurko==0.6,Tempita==0.5.2,tenacity==3.3.0,testrepository==0.0.20,testscenarios==0.5.0,testtools==2.2.0,traceback2==1.4.0,unicodecsv==0.14.1,unittest2==1.1.0,urllib3==1.19,warlock==1.2.0,WebOb==1.6.2,wrapt==1.10.8,yaql==1.1.1
py27 runtests: PYTHONHASHSEED='4235171505'
py27 runtests: commands[0] | find . -type f -name *.py[c|o] -delete
py27 runtests: commands[1] | python setup.py testr --slowest --testr-args=
running testr
running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-60} \
${PYTHON:-python} -m subunit.run discover -t ./ ./congress/tests --list
--- import errors ---
Failed to import test module: congress.tests.datasources.test_magnum_driver
Traceback (most recent call last):
File "/opt/stack/congress/.tox/py27/local/lib/python2.7/site-packages/unittest2/loader.py", line 456, in _find_test_path
module = self._get_module_from_name(name)
File "/opt/stack/congress/.tox/py27/local/lib/python2.7/site-packages/unittest2/loader.py", line 395, in _get_module_from_name
import(name)
File "congress/tests/datasources/test_magnum_driver.py", line 18, in
from congress.datasources import magnum_driver
File "congress/datasources/magnum_driver.py", line 16, in
from magnumclient import client as magnum_client
ImportError: No module named magnumclient
Non-zero exit code (2) from test listing.
error: testr failed (3)
ERROR: InvocationError: '/opt/stack/congress/.tox/py27/bin/python setup.py testr --slowest --testr-args='
__________________________________________________________________________________________________ summary __________________________________________________________________________________________________
ERROR: py27: commands failed"

Pep8 is ok.
What should I do to solve the error above?

Anyway I've errors with the translators..
I've add the code to review.

Ruben


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
responded Nov 23, 2016 by Ruben (640 points)   1
0 votes

Ruben,

All the software that gets imported by your code needs to be listed in
requirements.txt so that when tox runs, it installs that software. When I
did some debugging for you I made the necessary change, so if you add that
back into your change, that error should disappear.

https://review.openstack.org/#/c/397150/

Tim

On Wed, Nov 23, 2016 at 12:29 PM Ruben r.manganiello1@studenti.unisa.it
wrote:

Hi everybody,
I've trying to run the unit test of the magnum_driver.

I make:
-cd /opt/stack/congress/
-tox -epy27

but I have error with the import.
This is the output:

"py27 develop-inst-noop: /opt/stack/congress
py27 installed:
alabaster==0.7.9,alembic==0.8.8,amqp==1.4.9,anyjson==0.3.3,appdirs==1.4.0,Babel==2.3.4,cachetools==2.0.0,cffi==1.9.1,cliff==2.2.0,cmd2==0.6.9,-e
git+
http://git.openstack.org/openstack/congress@b2d96b56f721c941e85db565d203df008c455b19#egg=congress,contextlib2==0.5.4,coverage==4.2,cryptography==1.5.3,debtcollector==1.9.0,decorator==4.0.10,docutils==0.12,dogpile.cache==0.6.2,enum34==1.1.6,eventlet==0.19.0,extras==1.0.0,fasteners==0.14.1,fixtures==3.0.0,flake8==2.2.4,funcsigs==1.0.2,functools32==3.2.3.post2,futures==3.0.5,futurist==0.19.0,greenlet==0.4.10,hacking==0.10.2,idna==2.1,ipaddress==1.0.17,iso8601==0.1.11,Jinja2==2.8,jsonpatch==1.14,jsonpointer==1.10,jsonschema==2.5.1,keystoneauth1==2.15.0,keystonemiddleware==4.10.0,kombu==3.0.37,linecache2==1.0.0,lxml==3.6.4,Mako==1.0.6,MarkupSafe==0.23,mccabe==0.2.1,mock==2.0.0,monotonic==1.2,mox3==0.18.0,msgpack-python==0.4.8,netaddr==0.7.18,netifaces==0.10.5,openstacksdk==0.9.9,os-client-config==1.22.0,osc-lib==1.2.0,oslo.concurrency==3.15.0,oslo.config==3.19.0,oslo.context==2.10.0,oslo.db==4.14.0,oslo.i18n==3.10.0,oslo.log==3.17.0,oslo.messaging==5.12.0,oslo.middleware==3.20.0,oslo.policy==1.16.0,oslo.serialization==2.14.0,oslo.service==1.17.0,oslo.utils==3.18.0,oslo.vmware==2.15.0,oslosphinx==4.8.0,oslotest==2.11.0,Paste==2.0.3,PasteDeploy==1.5.2,pbr==1.10.0,pep8==1.5.7,pika==0.10.0,pika-pool==0.1.3,ply==3.9,positional==1.1.1,prettytable==0.7.2,PuLP==1.6.1,pyasn1==0.1.9,pycadf==2.4.0,pycparser==2.17,pyflakes==0.8.1,Pygments==2.1.3,pyinotify==0.9.6,pyOpenSSL==16.2.0,pyparsing==1.5.7,python-ceilometerclient==2.7.0,python-cinderclient==1.9.0,python-dateutil==2.6.0,python-editor==1.0.1,python-glanceclient==2.5.0,python-heatclient==1.5.0,python-ironicclient==1.8.0,python-keystoneclient==3.6.0,python-mimeparse==1.6.0,python-muranoclient==0.11.1,python-neutronclient==6.0.0,python-novaclient==6.0.0,python-openstackclient==3.3.0,python-subunit==1.2.0,python-swiftclient==3.1.0,pytz==2016.7,PyYAML==3.12,reno==1.8.0,repoze.lru==0.6,requests==2.11.1,requests-mock==1.1.0,requestsexceptions==1.1.3,retrying==1.3.3,rfc3986==0.4.1,Routes==2.3.1,simplejson==3.10.0,six==1.10.0,snowballstemmer==1.2.1,Sphinx==1.3.6,sphinx-rtd-theme==0.1.9,SQLAlchemy==1.1.3,sqlalchemy-migrate==0.10.0,sqlparse==0.2.2,stevedore==1.18.0,suds-jurko==0.6,Tempita==0.5.2,tenacity==3.3.0,testrepository==0.0.20,testscenarios==0.5.0,testtools==2.2.0,traceback2==1.4.0,unicodecsv==0.14.1,unittest2==1.1.0,urllib3==1.19,warlock==1.2.0,WebOb==1.6.2,wrapt==1.10.8,yaql==1.1.1
py27

runtests: PYTHONHASHSEED='4235171505 <(423)%20517-1505>'
py27 runtests: commands[0] | find . -type f -name *.py[c|o] -delete
py27 runtests: commands[1] | python setup.py testr --slowest --testr-args=
running testr
running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-60} \
${PYTHON:-python} -m subunit.run discover -t ./ ./congress/tests --list
--- import errors ---
Failed to import test module: congress.tests.datasources.test_magnum_driver
Traceback (most recent call last):
File
"/opt/stack/congress/.tox/py27/local/lib/python2.7/site-packages/unittest2/loader.py",
line 456, in _find_test_path
module = self._get_module_from_name(name)
File
"/opt/stack/congress/.tox/py27/local/lib/python2.7/site-packages/unittest2/loader.py",
line 395, in _get_module_from_name
import(name)
File "congress/tests/datasources/test_magnum_driver.py", line 18, in

from congress.datasources import magnum_driver
File "congress/datasources/magnum_driver.py", line 16, in
from magnumclient import client as magnum_client
ImportError: No module named magnumclient
Non-zero exit code (2) from test listing.
error: testr failed (3)
ERROR: InvocationError: '/opt/stack/congress/.tox/py27/bin/python setup.py
testr --slowest --testr-args='
summary
ERROR: py27: commands failed"

Pep8 is ok.
What should I do to solve the error above?

Anyway I've errors with the translators..
I've add the code to review.

Ruben


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
responded Nov 23, 2016 by tim_at_styra.com (4,300 points)   3 3
0 votes

Hi Tim,
I already have 'pyhton-magnumclient' in the requirements.txt file, but I still have the error.

This is the /opt/stack/congress/requirements.txt file:

"# The order of packages is significant, because pip processes them in the order

of appearance. Changing the order has an impact on the overall integration

process, which may cause wedges in the gate later.

Babel>=2.3.4 # BSD
eventlet!=0.18.3,>=0.18.2 # MIT
PuLP>=1.4.1 # MIT
keystoneauth1>=2.14.0 # Apache-2.0
keystonemiddleware!=4.5.0,>=4.2.0 # Apache-2.0
Paste # MIT
PasteDeploy>=1.5.0 # MIT
pbr>=1.6 # Apache-2.0
python-keystoneclient>=3.6.0 # Apache-2.0
python-heatclient>=1.5.0 # Apache-2.0
python-magnumclient
python-muranoclient>=0.8.2 # Apache-2.0
python-novaclient!=2.33.0,>=2.29.0 # Apache-2.0
python-neutronclient>=5.1.0 # Apache-2.0
python-ceilometerclient>=2.5.0 # Apache-2.0
python-cinderclient!=1.7.0,!=1.7.1,>=1.6.0 # Apache-2.0
python-swiftclient>=2.2.0 # Apache-2.0
python-ironicclient>=1.6.0 # Apache-2.0
alembic>=0.8.4 # MIT
python-dateutil>=2.4.2 # BSD
python-glanceclient>=2.5.0 # Apache-2.0
Routes!=2.0,!=2.1,!=2.3.0,>=1.12.3;pythonversion=='2.7' # MIT
Routes!=2.0,!=2.3.0,>=1.12.3;python
version!='2.7' # MIT
six>=1.9.0 # MIT
oslo.concurrency>=3.8.0 # Apache-2.0
oslo.config!=3.18.0,>=3.14.0 # Apache-2.0
oslo.context>=2.9.0 # Apache-2.0
oslo.db!=4.13.1,!=4.13.2,>=4.11.0 # Apache-2.0
oslo.messaging>=5.2.0 # Apache-2.0
oslo.policy>=1.15.0 # Apache-2.0
oslo.serialization>=1.10.0 # Apache-2.0
oslo.service>=1.10.0 # Apache-2.0
oslo.utils>=3.18.0 # Apache-2.0
oslo.middleware>=3.0.0 # Apache-2.0
oslo.vmware>=2.11.0 # Apache-2.0
oslo.log>=3.11.0 # Apache-2.0
WebOb>=1.6.0 # MIT"

----- Original Message -----
From: "Tim Hinrichs" tim@styra.com
To: "Ruben" r.manganiello1@studenti.unisa.it, openstack-dev@lists.openstack.org
Cc: "timothy l hinrichs" timothy.l.hinrichs@gmail.com
Sent: Wednesday, November 23, 2016 11:44:40 PM
Subject: Re: [Congress] Magnum_driver

Ruben,

All the software that gets imported by your code needs to be listed in
requirements.txt so that when tox runs, it installs that software. When I
did some debugging for you I made the necessary change, so if you add that
back into your change, that error should disappear.

https://review.openstack.org/#/c/397150/

Tim

On Wed, Nov 23, 2016 at 12:29 PM Ruben r.manganiello1@studenti.unisa.it
wrote:

Hi everybody,
I've trying to run the unit test of the magnum_driver.

I make:
-cd /opt/stack/congress/
-tox -epy27

but I have error with the import.
This is the output:

"py27 develop-inst-noop: /opt/stack/congress
py27 installed:
alabaster==0.7.9,alembic==0.8.8,amqp==1.4.9,anyjson==0.3.3,appdirs==1.4.0,Babel==2.3.4,cachetools==2.0.0,cffi==1.9.1,cliff==2.2.0,cmd2==0.6.9,-e
git+
http://git.openstack.org/openstack/congress@b2d96b56f721c941e85db565d203df008c455b19#egg=congress,contextlib2==0.5.4,coverage==4.2,cryptography==1.5.3,debtcollector==1.9.0,decorator==4.0.10,docutils==0.12,dogpile.cache==0.6.2,enum34==1.1.6,eventlet==0.19.0,extras==1.0.0,fasteners==0.14.1,fixtures==3.0.0,flake8==2.2.4,funcsigs==1.0.2,functools32==3.2.3.post2,futures==3.0.5,futurist==0.19.0,greenlet==0.4.10,hacking==0.10.2,idna==2.1,ipaddress==1.0.17,iso8601==0.1.11,Jinja2==2.8,jsonpatch==1.14,jsonpointer==1.10,jsonschema==2.5.1,keystoneauth1==2.15.0,keystonemiddleware==4.10.0,kombu==3.0.37,linecache2==1.0.0,lxml==3.6.4,Mako==1.0.6,MarkupSafe==0.23,mccabe==0.2.1,mock==2.0.0,monotonic==1.2,mox3==0.18.0,msgpack-python==0.4.8,netaddr==0.7.18,netifaces==0.10.5,openstacksdk==0.9.9,os-client-config==1.22.0,osc-lib==1.2.0,oslo.concurrency==3.15.0,oslo.config==3.19.0,oslo.context==2.10.0,oslo.db==4.14.0,oslo.i18n==3.10.0,oslo.log==3.17.0,oslo.messaging==5.12.0,oslo.middleware==3.20.0,oslo.policy==1.16.0,oslo.serialization==2.14.0,oslo.service==1.17.0,oslo.utils==3.18.0,oslo.vmware==2.15.0,oslosphinx==4.8.0,oslotest==2.11.0,Paste==2.0.3,PasteDeploy==1.5.2,pbr==1.10.0,pep8==1.5.7,pika==0.10.0,pika-pool==0.1.3,ply==3.9,positional==1.1.1,prettytable==0.7.2,PuLP==1.6.1,pyasn1==0.1.9,pycadf==2.4.0,pycparser==2.17,pyflakes==0.8.1,Pygments==2.1.3,pyinotify==0.9.6,pyOpenSSL==16.2.0,pyparsing==1.5.7,python-ceilometerclient==2.7.0,python-cinderclient==1.9.0,python-dateutil==2.6.0,python-editor==1.0.1,python-glanceclient==2.5.0,python-heatclient==1.5.0,python-ironicclient==1.8.0,python-keystoneclient==3.6.0,python-mimeparse==1.6.0,python-muranoclient==0.11.1,python-neutronclient==6.0.0,python-novaclient==6.0.0,python-openstackclient==3.3.0,python-subunit==1.2.0,python-swiftclient==3.1.0,pytz==2016.7,PyYAML==3.12,reno==1.8.0,repoze.lru==0.6,requests==2.11.1,requests-mock==1.1.0,requestsexceptions==1.1.3,retrying==1.3.3,rfc3986==0.4.1,Routes==2.3.1,simplejson==3.10.0,six==1.10.0,snowballstemmer==1.2.1,Sphinx==1.3.6,sphinx-rtd-theme==0.1.9,SQLAlchemy==1.1.3,sqlalchemy-migrate==0.10.0,sqlparse==0.2.2,stevedore==1.18.0,suds-jurko==0.6,Tempita==0.5.2,tenacity==3.3.0,testrepository==0.0.20,testscenarios==0.5.0,testtools==2.2.0,traceback2==1.4.0,unicodecsv==0.14.1,unittest2==1.1.0,urllib3==1.19,warlock==1.2.0,WebOb==1.6.2,wrapt==1.10.8,yaql==1.1.1
py27

runtests: PYTHONHASHSEED='4235171505 <(423)%20517-1505>'
py27 runtests: commands[0] | find . -type f -name *.py[c|o] -delete
py27 runtests: commands[1] | python setup.py testr --slowest --testr-args=
running testr
running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-60} \
${PYTHON:-python} -m subunit.run discover -t ./ ./congress/tests --list
--- import errors ---
Failed to import test module: congress.tests.datasources.test_magnum_driver
Traceback (most recent call last):
File
"/opt/stack/congress/.tox/py27/local/lib/python2.7/site-packages/unittest2/loader.py",
line 456, in _find_test_path
module = self._get_module_from_name(name)
File
"/opt/stack/congress/.tox/py27/local/lib/python2.7/site-packages/unittest2/loader.py",
line 395, in _get_module_from_name
import(name)
File "congress/tests/datasources/test_magnum_driver.py", line 18, in

from congress.datasources import magnum_driver
File "congress/datasources/magnum_driver.py", line 16, in
from magnumclient import client as magnum_client
ImportError: No module named magnumclient
Non-zero exit code (2) from test listing.
error: testr failed (3)
ERROR: InvocationError: '/opt/stack/congress/.tox/py27/bin/python setup.py
testr --slowest --testr-args='
summary
ERROR: py27: commands failed"

Pep8 is ok.
What should I do to solve the error above?

Anyway I've errors with the translators..
I've add the code to review.

Ruben


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
responded Nov 23, 2016 by Ruben (640 points)   1
0 votes

It's hard to debug that remotely. If you add the requirements.txt file
with the magnum-client to the code you submitted to gerrit, the tests will
run on gerrit, and I can see the errors for myself. The error message is
pretty clearly saying that the module can't be found. Not sure what to
recommend here--maybe diff your changes with the one I pushed to gerrit for
you to see what's different?

I think that putting the python-magnumclient into the
/opt/stack/congress/requirements.tx file should work. Then again, I don't
see python-magnumclient in that long list of installed packages.

Tim

On Wed, Nov 23, 2016 at 12:29 PM Ruben r.manganiello1@studenti.unisa.it
wrote:

Hi everybody,
I've trying to run the unit test of the magnum_driver.

I make:
-cd /opt/stack/congress/
-tox -epy27

but I have error with the import.
This is the output:

"py27 develop-inst-noop: /opt/stack/congress
py27 installed:
alabaster==0.7.9,alembic==0.8.8,amqp==1.4.9,anyjson==0.3.3,appdirs==1.4.0,Babel==2.3.4,cachetools==2.0.0,cffi==1.9.1,cliff==2.2.0,cmd2==0.6.9,-e
git+
http://git.openstack.org/openstack/congress@b2d96b56f721c941e85db565d203df008c455b19#egg=congress,contextlib2==0.5.4,coverage==4.2,cryptography==1.5.3,debtcollector==1.9.0,decorator==4.0.10,docutils==0.12,dogpile.cache==0.6.2,enum34==1.1.6,eventlet==0.19.0,extras==1.0.0,fasteners==0.14.1,fixtures==3.0.0,flake8==2.2.4,funcsigs==1.0.2,functools32==3.2.3.post2,futures==3.0.5,futurist==0.19.0,greenlet==0.4.10,hacking==0.10.2,idna==2.1,ipaddress==1.0.17,iso8601==0.1.11,Jinja2==2.8,jsonpatch==1.14,jsonpointer==1.10,jsonschema==2.5.1,keystoneauth1==2.15.0,keystonemiddleware==4.10.0,kombu==3.0.37,linecache2==1.0.0,lxml==3.6.4,Mako==1.0.6,MarkupSafe==0.23,mccabe==0.2.1,mock==2.0.0,monotonic==1.2,mox3==0.18.0,msgpack-python==0.4.8,netaddr==0.7.18,netifaces==0.10.5,openstacksdk==0.9.9,os-client-config==1.22.0,osc-lib==1.2.0,oslo.concurrency==3.15.0,oslo.config==3.19.0,oslo.context==2.10.0,oslo.db==4.14.0,oslo.i18n==3.10.0,oslo.log==3.17.0,oslo.messaging==5.12.0,oslo.middleware==3.20.0,oslo.policy==1.16.0,oslo.serialization==2.14.0,oslo.service==1.17.0,oslo.utils==3.18.0,oslo.vmware==2.15.0,oslosphinx==4.8.0,oslotest==2.11.0,Paste==2.0.3,PasteDeploy==1.5.2,pbr==1.10.0,pep8==1.5.7,pika==0.10.0,pika-pool==0.1.3,ply==3.9,positional==1.1.1,prettytable==0.7.2,PuLP==1.6.1,pyasn1==0.1.9,pycadf==2.4.0,pycparser==2.17,pyflakes==0.8.1,Pygments==2.1.3,pyinotify==0.9.6,pyOpenSSL==16.2.0,pyparsing==1.5.7,python-ceilometerclient==2.7.0,python-cinderclient==1.9.0,python-dateutil==2.6.0,python-editor==1.0.1,python-glanceclient==2.5.0,python-heatclient==1.5.0,python-ironicclient==1.8.0,python-keystoneclient==3.6.0,python-mimeparse==1.6.0,python-muranoclient==0.11.1,python-neutronclient==6.0.0,python-novaclient==6.0.0,python-openstackclient==3.3.0,python-subunit==1.2.0,python-swiftclient==3.1.0,pytz==2016.7,PyYAML==3.12,reno==1.8.0,repoze.lru==0.6,requests==2.11.1,requests-mock==1.1.0,requestsexceptions==1.1.3,retrying==1.3.3,rfc3986==0.4.1,Routes==2.3.1,simplejson==3.10.0,six==1.10.0,snowballstemmer==1.2.1,Sphinx==1.3.6,sphinx-rtd-theme==0.1.9,SQLAlchemy==1.1.3,sqlalchemy-migrate==0.10.0,sqlparse==0.2.2,stevedore==1.18.0,suds-jurko==0.6,Tempita==0.5.2,tenacity==3.3.0,testrepository==0.0.20,testscenarios==0.5.0,testtools==2.2.0,traceback2==1.4.0,unicodecsv==0.14.1,unittest2==1.1.0,urllib3==1.19,warlock==1.2.0,WebOb==1.6.2,wrapt==1.10.8,yaql==1.1.1
py27

runtests: PYTHONHASHSEED='4235171505 <(423)%20517-1505>'
py27 runtests: commands[0] | find . -type f -name *.py[c|o] -delete
py27 runtests: commands[1] | python setup.py testr --slowest --testr-args=
running testr
running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-60} \
${PYTHON:-python} -m subunit.run discover -t ./ ./congress/tests --list
--- import errors ---
Failed to import test module: congress.tests.datasources.test_magnum_driver
Traceback (most recent call last):
File
"/opt/stack/congress/.tox/py27/local/lib/python2.7/site-packages/unittest2/loader.py",
line 456, in _find_test_path
module = self._get_module_from_name(name)
File
"/opt/stack/congress/.tox/py27/local/lib/python2.7/site-packages/unittest2/loader.py",
line 395, in _get_module_from_name
import(name)
File "congress/tests/datasources/test_magnum_driver.py", line 18, in

from congress.datasources import magnum_driver
File "congress/datasources/magnum_driver.py", line 16, in
from magnumclient import client as magnum_client
ImportError: No module named magnumclient
Non-zero exit code (2) from test listing.
error: testr failed (3)
ERROR: InvocationError: '/opt/stack/congress/.tox/py27/bin/python setup.py
testr --slowest --testr-args='
summary
ERROR: py27: commands failed"

Pep8 is ok.
What should I do to solve the error above?

Anyway I've errors with the translators..
I've add the code to review.

Ruben


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
responded Nov 24, 2016 by tim_at_styra.com (4,300 points)   3 3
0 votes

Hi Tim,
I solved the problem with:

tox --recreate -e py27

Now I no have the error on the import. The unit test still has some errors, but I don't know why..

Anyway, I've this error when I try to add the magnum_driver:

2016-11-24 20:56:27.191 INFO congress.datasources.datasourcedriver [-] magnum:: polling
2016-11-24 20:56:27.192 DEBUG congress.datasources.datasource
driver [-] update table clusters. from (pid=18720) updatefromdatasource /opt/stack/congress/congress/datasources/datasourcedriver.py:1370
2016-11-24 20:56:27.427 DEBUG congress.datasources.magnum
driver [-] CLUSTERS: {'clusters': []} from (pid=18720) translateclusters /opt/stack/congress/congress/datasources/magnumdriver.py:165
2016-11-24 20:56:27.435 ERROR congress.datasources.datasource
driver [-] Datasource driver raised exception
2016-11-24 20:56:27.435 TRACE congress.datasources.datasourcedriver Traceback (most recent call last):
2016-11-24 20:56:27.435 TRACE congress.datasources.datasource
driver File "/opt/stack/congress/congress/datasources/datasourcedriver.py", line 1384, in poll
2016-11-24 20:56:27.435 TRACE congress.datasources.datasource
driver self.updatefromdatasource() # sets self.state
2016-11-24 20:56:27.435 TRACE congress.datasources.datasourcedriver File "/opt/stack/congress/congress/datasources/datasourcedriver.py", line 1371, in updatefromdatasource
2016-11-24 20:56:27.435 TRACE congress.datasources.datasourcedriver self.updatemethodsregistered_table
2016-11-24 20:56:27.435 TRACE congress.datasources.datasourcedriver File "/opt/stack/congress/congress/datasources/magnumdriver.py", line 150, in
2016-11-24 20:56:27.435 TRACE congress.datasources.datasourcedriver {'clusters': self.magnum.clusters.list()})
2016-11-24 20:56:27.435 TRACE congress.datasources.datasource
driver File "/opt/stack/congress/congress/datasources/datasourceutils.py", line 57, in inner
2016-11-24 20:56:27.435 TRACE congress.datasources.datasource
driver result = f(self, raw_data, *args, **kw)
2016-11-24 20:56:27.435 TRACE congress.datasources.datasource_driver File "/opt/stack/congress/congress/datasources/magnum_driver.py", line 167, in _translate_clusters
2016-11-24 20:56:27.435 TRACE congress.datasources.datasource_driver obj['clusters'], MagnumDriver.clusters_translator)
2016-11-24 20:56:27.435 TRACE congress.datasources.datasource_driver File "/opt/stack/congress/congress/datasources/datasource_driver.py", line 1048, in convert_objs
2016-11-24 20:56:27.435 TRACE congress.datasources.datasource_driver rows, _ = DataSourceDriver.convert_obj(o, translator)
2016-11-24 20:56:27.435 TRACE congress.datasources.datasource_driver File "/opt/stack/congress/congress/datasources/datasource_driver.py", line 1021, in convert_obj
2016-11-24 20:56:27.435 TRACE congress.datasources.datasource_driver parent_row_dict)
2016-11-24 20:56:27.435 TRACE congress.datasources.datasource_driver File "/opt/stack/congress/congress/datasources/datasource_driver.py", line 994, in _populate_translator_data_hdict
2016-11-24 20:56:27.435 TRACE congress.datasources.datasource_driver return cls._populate_hdict(translator, obj, parent_row_dict)
2016-11-24 20:56:27.435 TRACE congress.datasources.datasource_driver File "/opt/stack/congress/congress/datasources/datasource_driver.py", line 924, in _populate_hdict
2016-11-24 20:56:27.435 TRACE congress.datasources.datasource_driver cls._get_value(obj, field, selector), extract_fn)
2016-11-24 20:56:27.435 TRACE congress.datasources.datasource_driver File "/opt/stack/congress/congress/datasources/datasource_driver.py", line 693, in _get_value
2016-11-24 20:56:27.435 TRACE congress.datasources.datasource_driver if field in o:
2016-11-24 20:56:27.435 TRACE congress.datasources.datasource_driver TypeError: argument of type 'Cluster' is not iterable
2016-11-24 20:56:27.435 TRACE congress.datasources.datasource_driver
2016-11-24 20:56:27.435 INFO congress.datasources.datasource_driver [-] magnum:: finished polling

Any suggestions to solve it?
I've add the code to review.

Ruben

----- Original Message -----
From: "Ruben" r.manganiello1@studenti.unisa.it
To: "Tim Hinrichs" tim@styra.com
Cc: openstack-dev@lists.openstack.org, "timothy l hinrichs" timothy.l.hinrichs@gmail.com
Sent: Thursday, November 24, 2016 12:44:38 AM
Subject: Re: [Congress] Magnum_driver

Hi Tim,
I already have 'pyhton-magnumclient' in the requirements.txt file, but I still have the error.

This is the /opt/stack/congress/requirements.txt file:

"# The order of packages is significant, because pip processes them in the order

of appearance. Changing the order has an impact on the overall integration

process, which may cause wedges in the gate later.

Babel>=2.3.4 # BSD
eventlet!=0.18.3,>=0.18.2 # MIT
PuLP>=1.4.1 # MIT
keystoneauth1>=2.14.0 # Apache-2.0
keystonemiddleware!=4.5.0,>=4.2.0 # Apache-2.0
Paste # MIT
PasteDeploy>=1.5.0 # MIT
pbr>=1.6 # Apache-2.0
python-keystoneclient>=3.6.0 # Apache-2.0
python-heatclient>=1.5.0 # Apache-2.0
python-magnumclient
python-muranoclient>=0.8.2 # Apache-2.0
python-novaclient!=2.33.0,>=2.29.0 # Apache-2.0
python-neutronclient>=5.1.0 # Apache-2.0
python-ceilometerclient>=2.5.0 # Apache-2.0
python-cinderclient!=1.7.0,!=1.7.1,>=1.6.0 # Apache-2.0
python-swiftclient>=2.2.0 # Apache-2.0
python-ironicclient>=1.6.0 # Apache-2.0
alembic>=0.8.4 # MIT
python-dateutil>=2.4.2 # BSD
python-glanceclient>=2.5.0 # Apache-2.0
Routes!=2.0,!=2.1,!=2.3.0,>=1.12.3;pythonversion=='2.7' # MIT
Routes!=2.0,!=2.3.0,>=1.12.3;python
version!='2.7' # MIT
six>=1.9.0 # MIT
oslo.concurrency>=3.8.0 # Apache-2.0
oslo.config!=3.18.0,>=3.14.0 # Apache-2.0
oslo.context>=2.9.0 # Apache-2.0
oslo.db!=4.13.1,!=4.13.2,>=4.11.0 # Apache-2.0
oslo.messaging>=5.2.0 # Apache-2.0
oslo.policy>=1.15.0 # Apache-2.0
oslo.serialization>=1.10.0 # Apache-2.0
oslo.service>=1.10.0 # Apache-2.0
oslo.utils>=3.18.0 # Apache-2.0
oslo.middleware>=3.0.0 # Apache-2.0
oslo.vmware>=2.11.0 # Apache-2.0
oslo.log>=3.11.0 # Apache-2.0
WebOb>=1.6.0 # MIT"

----- Original Message -----
From: "Tim Hinrichs" tim@styra.com
To: "Ruben" r.manganiello1@studenti.unisa.it, openstack-dev@lists.openstack.org
Cc: "timothy l hinrichs" timothy.l.hinrichs@gmail.com
Sent: Wednesday, November 23, 2016 11:44:40 PM
Subject: Re: [Congress] Magnum_driver

Ruben,

All the software that gets imported by your code needs to be listed in
requirements.txt so that when tox runs, it installs that software. When I
did some debugging for you I made the necessary change, so if you add that
back into your change, that error should disappear.

https://review.openstack.org/#/c/397150/

Tim

On Wed, Nov 23, 2016 at 12:29 PM Ruben r.manganiello1@studenti.unisa.it
wrote:

Hi everybody,
I've trying to run the unit test of the magnum_driver.

I make:
-cd /opt/stack/congress/
-tox -epy27

but I have error with the import.
This is the output:

"py27 develop-inst-noop: /opt/stack/congress
py27 installed:
alabaster==0.7.9,alembic==0.8.8,amqp==1.4.9,anyjson==0.3.3,appdirs==1.4.0,Babel==2.3.4,cachetools==2.0.0,cffi==1.9.1,cliff==2.2.0,cmd2==0.6.9,-e
git+
http://git.openstack.org/openstack/congress@b2d96b56f721c941e85db565d203df008c455b19#egg=congress,contextlib2==0.5.4,coverage==4.2,cryptography==1.5.3,debtcollector==1.9.0,decorator==4.0.10,docutils==0.12,dogpile.cache==0.6.2,enum34==1.1.6,eventlet==0.19.0,extras==1.0.0,fasteners==0.14.1,fixtures==3.0.0,flake8==2.2.4,funcsigs==1.0.2,functools32==3.2.3.post2,futures==3.0.5,futurist==0.19.0,greenlet==0.4.10,hacking==0.10.2,idna==2.1,ipaddress==1.0.17,iso8601==0.1.11,Jinja2==2.8,jsonpatch==1.14,jsonpointer==1.10,jsonschema==2.5.1,keystoneauth1==2.15.0,keystonemiddleware==4.10.0,kombu==3.0.37,linecache2==1.0.0,lxml==3.6.4,Mako==1.0.6,MarkupSafe==0.23,mccabe==0.2.1,mock==2.0.0,monotonic==1.2,mox3==0.18.0,msgpack-python==0.4.8,netaddr==0.7.18,netifaces==0.10.5,openstacksdk==0.9.9,os-client-config==1.22.0,osc-lib==1.2.0,oslo.concurrency==3.15.0,oslo.config==3.19.0,oslo.context==2.10.0,oslo.db==4.14.0,oslo.i18n==3.10.0,oslo.log==3.17.0,oslo.messaging==5.12.0,oslo.middleware==3.20.0,oslo.policy==1.16.0,oslo.serialization==2.14.0,oslo.service==1.17.0,oslo.utils==3.18.0,oslo.vmware==2.15.0,oslosphinx==4.8.0,oslotest==2.11.0,Paste==2.0.3,PasteDeploy==1.5.2,pbr==1.10.0,pep8==1.5.7,pika==0.10.0,pika-pool==0.1.3,ply==3.9,positional==1.1.1,prettytable==0.7.2,PuLP==1.6.1,pyasn1==0.1.9,pycadf==2.4.0,pycparser==2.17,pyflakes==0.8.1,Pygments==2.1.3,pyinotify==0.9.6,pyOpenSSL==16.2.0,pyparsing==1.5.7,python-ceilometerclient==2.7.0,python-cinderclient==1.9.0,python-dateutil==2.6.0,python-editor==1.0.1,python-glanceclient==2.5.0,python-heatclient==1.5.0,python-ironicclient==1.8.0,python-keystoneclient==3.6.0,python-mimeparse==1.6.0,python-muranoclient==0.11.1,python-neutronclient==6.0.0,python-novaclient==6.0.0,python-openstackclient==3.3.0,python-subunit==1.2.0,python-swiftclient==3.1.0,pytz==2016.7,PyYAML==3.12,reno==1.8.0,repoze.lru==0.6,requests==2.11.1,requests-mock==1.1.0,requestsexceptions==1.1.3,retrying==1.3.3,rfc3986==0.4.1,Routes==2.3.1,simplejson==3.10.0,six==1.10.0,snowballstemmer==1.2.1,Sphinx==1.3.6,sphinx-rtd-theme==0.1.9,SQLAlchemy==1.1.3,sqlalchemy-migrate==0.10.0,sqlparse==0.2.2,stevedore==1.18.0,suds-jurko==0.6,Tempita==0.5.2,tenacity==3.3.0,testrepository==0.0.20,testscenarios==0.5.0,testtools==2.2.0,traceback2==1.4.0,unicodecsv==0.14.1,unittest2==1.1.0,urllib3==1.19,warlock==1.2.0,WebOb==1.6.2,wrapt==1.10.8,yaql==1.1.1
py27

runtests: PYTHONHASHSEED='4235171505 <(423)%20517-1505>'
py27 runtests: commands[0] | find . -type f -name *.py[c|o] -delete
py27 runtests: commands[1] | python setup.py testr --slowest --testr-args=
running testr
running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-60} \
${PYTHON:-python} -m subunit.run discover -t ./ ./congress/tests --list
--- import errors ---
Failed to import test module: congress.tests.datasources.test_magnum_driver
Traceback (most recent call last):
File
"/opt/stack/congress/.tox/py27/local/lib/python2.7/site-packages/unittest2/loader.py",
line 456, in _find_test_path
module = self._get_module_from_name(name)
File
"/opt/stack/congress/.tox/py27/local/lib/python2.7/site-packages/unittest2/loader.py",
line 395, in _get_module_from_name
import(name)
File "congress/tests/datasources/test_magnum_driver.py", line 18, in

from congress.datasources import magnum_driver
File "congress/datasources/magnum_driver.py", line 16, in
from magnumclient import client as magnum_client
ImportError: No module named magnumclient
Non-zero exit code (2) from test listing.
error: testr failed (3)
ERROR: InvocationError: '/opt/stack/congress/.tox/py27/bin/python setup.py
testr --slowest --testr-args='
summary
ERROR: py27: commands failed"

Pep8 is ok.
What should I do to solve the error above?

Anyway I've errors with the translators..
I've add the code to review.

Ruben


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
responded Nov 24, 2016 by Ruben (640 points)   1
...