Got it. I created this JIRA issue for this: https://issues.apache.org/jira/browse/ARIA-357
On Sat, Sep 2, 2017 at 7:00 PM, DeWayne Filppi <dewa...@cloudify.co> wrote: > IMHO, ARIA needs to detect ( or attempt to detect ) such things, at least > at install time if possible. > > On Sat, Sep 2, 2017 at 2:41 AM, Ran Ziv <r...@cloudify.co> wrote: > > > You're right. The plugin itself does declare specific versions for the > > novaclient: > > https://github.com/cloudify-cosmo/cloudify-openstack- > > plugin/blob/2.0.1/setup.py > > Yet those might not be used if you already have these dependencies > > installed in your environment. > > > > Supposedly, you want to work with ARIA on its own virtualenv (i.e. not > have > > Openstack clients installed there manually), since all plugins that get > > installed are isolated from one another yet do take your general ARIA > > environment into account as constraints. Otherwise, a plugin installation > > might have messed something else you had installed in your environment. > > See here: > > https://github.com/apache/incubator-ariatosca/blob/0.1. > > 1/aria/orchestrator/plugin.py#L155 > > > > I'm not sure an issue for this should be created, or at least if we > create > > one it should probably be for information, rather than something that > > requires fixing, I think. > > > > - > > Re ARIA not having an API for removing plugins - yup, that's missing at > > this time. > > > > > > > > > > > > On Fri, Sep 1, 2017 at 9:35 PM, DeWayne Filppi <dewa...@cloudify.co> > > wrote: > > > > > So the problem was that recent versions of the python-novaclient do not > > > have the expected properties. Alas, the plugin install ignored the > fact > > > that I had a non-compliant version (the latest), and just installed as > > > normal. Maybe this needs to be an issue with the plugin installer? > > > > > > On Fri, Sep 1, 2017 at 9:31 AM, DeWayne Filppi <dewa...@cloudify.co> > > > wrote: > > > > > > > Alas, no change: > > > > > > > > 04:05:57 | I | nova_plugin.server.create | {u'args': OrderedDict(), > > > > u'openstack_config': {'username': 'dewayne', 'tenant_name': > > > > 'dewayne-tenant', 'password': 'viBKwW4E', 'auth_url': ' > > > > https://rackspace-api.gigaspaces.com:5000/v3'}} | EXCEPTION: > 'Client' > > > > object has no attribute 'images' > > > > > > > > Seems unrelated to ARIA. > > > > > > > > > > > > On Fri, Sep 1, 2017 at 2:28 AM, Ran Ziv <r...@cloudify.co> wrote: > > > > > > > >> Shouldn't the Nova client actually have an "images" attribute? > > > >> > > > >> The plugin was tested in its 2.0.1 version, as can be seen on the > > README > > > >> here: > > > >> https://github.com/cloudify-cosmo/aria-extension-cloudify > > > >> > > > >> Here's the plugin code diff between now (~2.2.0) and then: > > > >> https://github.com/cloudify-cosmo/cloudify-openstack-plugin/ > > > >> compare/2.0.1-devel...master > > > >> > > > >> Can't really say I see anything that would cause this, but perhaps > you > > > >> should indeed try working with a 2.0.1 wagon. > > > >> If that works let us know and we could possibly amend the plugin > > adapter > > > >> if > > > >> needed. > > > >> > > > >> > > > >> > > > >> On Fri, Sep 1, 2017 at 5:41 AM, DeWayne Filppi <dewa...@cloudify.co > > > > > >> wrote: > > > >> > > > >> > I dug down quite a bit, and see that in > > openstack_plugin_common.__init > > > >> __ > > > >> > in > > > >> > the cosmo_list method of the NovaClientWithSugar class, I wrapped > a > > > >> call to > > > >> > getattr with a try:except and see. > > > >> > > > > >> > 02:22:47 | I | nova_plugin.server.create | {u'args': > OrderedDict(), > > > >> > u'openstack_config': {'username': 'dewayne', 'tenant_name': > > > >> > 'dewayne-tenant', 'password': 'viBKwW4E', 'auth_url': ' > > > >> > https://rackspace-api.gigaspaces.com:5000/v3'}} | > > > >> COSMO_EXCEPTION='Client' > > > >> > object has no attribute 'images' > > > >> > > > > >> > Maybe somebody who wrote this logic can help. Basically, the logic > > > take > > > >> the > > > >> > 'image' property, makes it plural, and then tries to find it in > the > > > >> client > > > >> > class. It doesn't find it and it blows up. Maybe I've got a bad > > > >> version > > > >> > of the openstack plugin: 2.2.0 > > > >> > > > > >> > > > > >> > On Thu, Aug 31, 2017 at 12:53 AM, Ran Ziv <r...@cloudify.co> > wrote: > > > >> > > > > >> > > Is this everything? > > > >> > > It seems like this never reached the actual API call telling > Nova > > to > > > >> > create > > > >> > > a server, but rather failed in the section where image/flavor, > > > >> keypair, > > > >> > > security groups and nics are configured for the server > > > >> > > ( see > > > >> > > https://github.com/cloudify-cosmo/cloudify-openstack- > > > >> > > plugin/blob/master/nova_plugin/server.py#L282 > > > >> > > ) > > > >> > > > > > >> > > Unfortunately it seems like the trace from the plugin code > hasn't > > > >> reached > > > >> > > the execution logs somehow (possibly something we've missed in > the > > > >> plugin > > > >> > > adapter?), so I can't really say what's the exact problem. > > > >> > > It should be fairly simple to debug though - the plugin code > > should > > > be > > > >> > > extracted inside your ~/.aria/plugins dir, so you can easily > debug > > > the > > > >> > > plugin code while it's running and find the real problem as it > > > >> happens. > > > >> > > > > > >> > > > > > >> > > On Wed, Aug 30, 2017 at 7:28 PM, DeWayne Filppi < > > > dewa...@cloudify.co> > > > >> > > wrote: > > > >> > > > > > >> > > > The log: > > > >> > > > > > > >> > > > Starting execution. Press Ctrl+C cancel > > > >> > > > 16:13:43 | I | neutron_plugin.router.create | {u'args': > > > >> OrderedDict(), > > > >> > > > u'openstack_config': {'username': 'dewayne', 'tenant_name': > > > >> > > > 'dewayne-tenant', 'password': 'xxxxxxx', 'auth_url': ' > > > >> > > > https://rackspace-api.gigaspaces.com:5000/v3'}} | router_1 > > > >> > > Standard.create > > > >> > > > started... > > > >> > > > 16:13:44 | I | neutron_plugin.network.create | {u'args': > > > >> OrderedDict(), > > > >> > > > u'openstack_config': {'username': 'dewayne', 'tenant_name': > > > >> > > > 'dewayne-tenant', 'password': 'xxxxxxx', 'auth_url': ' > > > >> > > > https://rackspace-api.gigaspaces.com:5000/v3'}} | network_1 > > > >> > > > Standard.create > > > >> > > > started... > > > >> > > > 16:13:44 | I | nova_plugin.keypair.create | {u'args': > > > OrderedDict(), > > > >> > > > u'openstack_config': {'username': 'dewayne', 'tenant_name': > > > >> > > > 'dewayne-tenant', 'password': 'xxxxxxx', 'auth_url': ' > > > >> > > > https://rackspace-api.gigaspaces.com:5000/v3'}} | keypair_1 > > > >> > > > Standard.create > > > >> > > > started... > > > >> > > > 16:13:51 | I | neutron_plugin.network.create | {u'args': > > > >> OrderedDict(), > > > >> > > > u'openstack_config': {'username': 'dewayne', 'tenant_name': > > > >> > > > 'dewayne-tenant', 'password': 'xxxxxxx', 'auth_url': ' > > > >> > > > https://rackspace-api.gigaspaces.com:5000/v3'}} | network_1 > > > >> > > > Standard.create > > > >> > > > successful > > > >> > > > 16:13:51 | D | None | {} | network_1 Standard.configure has no > > > >> > > > implementation > > > >> > > > 16:13:51 | D | None | {} | network_1 Standard.start has no > > > >> > implementation > > > >> > > > 16:13:52 | I | nova_plugin.keypair.create | {u'args': > > > OrderedDict(), > > > >> > > > u'openstack_config': {'username': 'dewayne', 'tenant_name': > > > >> > > > 'dewayne-tenant', 'password': 'xxxxxxx', 'auth_url': ' > > > >> > > > https://rackspace-api.gigaspaces.com:5000/v3'}} | Using > > external > > > >> > > resource > > > >> > > > keypair: dfilppi-rs > > > >> > > > 16:13:52 | I | nova_plugin.keypair.create | {u'args': > > > OrderedDict(), > > > >> > > > u'openstack_config': {'username': 'dewayne', 'tenant_name': > > > >> > > > 'dewayne-tenant', 'password': 'xxxxxxx', 'auth_url': ' > > > >> > > > https://rackspace-api.gigaspaces.com:5000/v3'}} | keypair_1 > > > >> > > > Standard.create > > > >> > > > successful > > > >> > > > 16:13:52 | I | neutron_plugin.router.create | {u'args': > > > >> OrderedDict(), > > > >> > > > u'openstack_config': {'username': 'dewayne', 'tenant_name': > > > >> > > > 'dewayne-tenant', 'password': 'xxxxxxx', 'auth_url': ' > > > >> > > > https://rackspace-api.gigaspaces.com:5000/v3'}} | router_1 > > > >> > > Standard.create > > > >> > > > successful > > > >> > > > 16:13:53 | D | None | {} | router_1 Standard.configure has no > > > >> > > > implementation > > > >> > > > 16:13:53 | D | None | {} | keypair_1 Standard.configure has no > > > >> > > > implementation > > > >> > > > 16:13:53 | D | None | {} | router_1 Standard.start has no > > > >> > implementation > > > >> > > > 16:13:54 | D | None | {} | keypair_1 Standard.start has no > > > >> > implementation > > > >> > > > 16:13:57 | I | neutron_plugin.subnet.create | {u'args': > > > >> > > > OrderedDict([('cidr', u'172.16.0.0/16'), ('ip_version', 4)]), > > > >> > > > u'openstack_config': {'username': 'dewayne', 'tenant_name': > > > >> > > > 'dewayne-tenant', 'password': 'xxxxxxx', 'auth_url': ' > > > >> > > > https://rackspace-api.gigaspaces.com:5000/v3'}} | subnet_1 > > > >> > > Standard.create > > > >> > > > started... > > > >> > > > 16:14:02 | I | neutron_plugin.subnet.create | {u'args': > > > >> > > > OrderedDict([('cidr', u'172.16.0.0/16'), ('ip_version', 4)]), > > > >> > > > u'openstack_config': {'username': 'dewayne', 'tenant_name': > > > >> > > > 'dewayne-tenant', 'password': 'xxxxxxx', 'auth_url': ' > > > >> > > > https://rackspace-api.gigaspaces.com:5000/v3'}} | subnet_1 > > > >> > > Standard.create > > > >> > > > successful > > > >> > > > 16:14:02 | D | None | {} | subnet_1->router_1 > > > >> > > > Configure.pre_configure_target has no implementation > > > >> > > > 16:14:02 | D | None | {} | subnet_1->router_1 > > > >> > > > Configure.pre_configure_source has no implementation > > > >> > > > 16:14:03 | D | None | {} | subnet_1 Standard.configure has no > > > >> > > > implementation > > > >> > > > 16:14:04 | D | None | {} | subnet_1->router_1 > > > >> > > > Configure.post_configure_source has no implementation > > > >> > > > 16:14:04 | D | None | {} | subnet_1->router_1 > > > >> > > > Configure.post_configure_target has no implementation > > > >> > > > 16:14:04 | D | None | {} | subnet_1 Standard.start has no > > > >> > implementation > > > >> > > > 16:14:05 | D | None | {} | subnet_1->router_1 > > Configure.add_source > > > >> has > > > >> > no > > > >> > > > implementation > > > >> > > > 16:14:07 | I | neutron_plugin.router.connect_subnet | > > > >> > > > {u'openstack_config': > > > >> > > > {'username': 'dewayne', 'tenant_name': 'dewayne-tenant', > > > 'password': > > > >> > > > 'xxxxxxx', 'auth_url': 'https://rackspace-api.gigaspa > > > >> ces.com:5000/v3' > > > >> > }} > > > >> > > | > > > >> > > > subnet_1->router_1 Configure.add_target started... > > > >> > > > 16:14:12 | I | neutron_plugin.router.connect_subnet | > > > >> > > > {u'openstack_config': > > > >> > > > {'username': 'dewayne', 'tenant_name': 'dewayne-tenant', > > > 'password': > > > >> > > > 'xxxxxxx', 'auth_url': 'https://rackspace-api.gigaspa > > > >> ces.com:5000/v3' > > > >> > }} > > > >> > > | > > > >> > > > subnet_1->router_1 Configure.add_target successful > > > >> > > > 16:14:15 | I | neutron_plugin.port.create | {u'args': > > > OrderedDict(), > > > >> > > > u'openstack_config': {'username': 'dewayne', 'tenant_name': > > > >> > > > 'dewayne-tenant', 'password': 'xxxxxxx', 'auth_url': ' > > > >> > > > https://rackspace-api.gigaspaces.com:5000/v3'}} | port_1 > > > >> > Standard.create > > > >> > > > started... > > > >> > > > 16:14:20 | I | neutron_plugin.port.create | {u'args': > > > OrderedDict(), > > > >> > > > u'openstack_config': {'username': 'dewayne', 'tenant_name': > > > >> > > > 'dewayne-tenant', 'password': 'xxxxxxx', 'auth_url': ' > > > >> > > > https://rackspace-api.gigaspaces.com:5000/v3'}} | port_1 > > > >> > Standard.create > > > >> > > > successful > > > >> > > > 16:14:21 | D | None | {} | port_1->subnet_1 > > > >> > > Configure.pre_configure_target > > > >> > > > has no implementation > > > >> > > > 16:14:21 | D | None | {} | port_1->subnet_1 > > > >> > > Configure.pre_configure_source > > > >> > > > has no implementation > > > >> > > > 16:14:22 | D | None | {} | port_1 Standard.configure has no > > > >> > > implementation > > > >> > > > 16:14:22 | D | None | {} | port_1->subnet_1 > > > >> Configure.post_configure_ > > > >> > > > target > > > >> > > > has no implementation > > > >> > > > 16:14:22 | D | None | {} | port_1->subnet_1 > > > >> Configure.post_configure_ > > > >> > > > source > > > >> > > > has no implementation > > > >> > > > 16:14:23 | D | None | {} | port_1 Standard.start has no > > > >> implementation > > > >> > > > 16:14:23 | D | None | {} | port_1->subnet_1 > Configure.add_source > > > >> has no > > > >> > > > implementation > > > >> > > > 16:14:23 | D | None | {} | port_1->subnet_1 > Configure.add_target > > > >> has no > > > >> > > > implementation > > > >> > > > 16:14:29 | I | nova_plugin.server.create | {u'args': > > > OrderedDict(), > > > >> > > > u'openstack_config': {'username': 'dewayne', 'tenant_name': > > > >> > > > 'dewayne-tenant', 'password': 'xxxxxxx', 'auth_url': ' > > > >> > > > https://rackspace-api.gigaspaces.com:5000/v3'}} | vm_1 > > > >> Standard.create > > > >> > > > started... > > > >> > > > 16:14:32 | D | nova_plugin.server.create | {u'args': > > > OrderedDict(), > > > >> > > > u'openstack_config': {'username': 'dewayne', 'tenant_name': > > > >> > > > 'dewayne-tenant', 'password': 'xxxxxxx', 'auth_url': ' > > > >> > > > https://rackspace-api.gigaspaces.com:5000/v3'}} | Instance > > > >> > relationship > > > >> > > > target instances: [{u'external_name': u'dfilppi-rs', > > > u'tosca_name': > > > >> > > > u'keypair', u'state': u'initial', u'tosca_id': 'keypair_1', > > > >> > > u'external_id': > > > >> > > > u'dfilppi-rs', u'external_type': 'keypair'}, > {u'external_name': > > > >> > > > u'aria_helloworld_port', u'tosca_name': u'port', u'state': > > > >> u'initial', > > > >> > > > u'fixed_ip_address': u'172.16.0.5', u'tosca_id': 'port_1', > > > >> > > u'mac_address': > > > >> > > > u'fa:16:3e:76:9b:5f', u'external_id': > > > >> > > > u'044a027b-1cdc-441b-b3fa-953818668f02', u'external_type': > > > 'port'}] > > > >> > > > 16:14:32 | D | nova_plugin.server.create | {u'args': > > > OrderedDict(), > > > >> > > > u'openstack_config': {'username': 'dewayne', 'tenant_name': > > > >> > > > 'dewayne-tenant', 'password': 'xxxxxxx', 'auth_url': ' > > > >> > > > https://rackspace-api.gigaspaces.com:5000/v3'}} | > > server.create() > > > >> > server > > > >> > > > before transformations: {'meta': {}, 'name': > > > u'aria_helloworld_vm'} > > > >> > > > 16:14:32 | E | nova_plugin.server.create | {u'args': > > > OrderedDict(), > > > >> > > > u'openstack_config': {'username': 'dewayne', 'tenant_name': > > > >> > > > 'dewayne-tenant', 'password': 'xxxxxxx', 'auth_url': ' > > > >> > > > https://rackspace-api.gigaspaces.com:5000/v3'}} | vm_1 > > > >> Standard.create > > > >> > > > failed > > > >> > > > |Traceback (most recent call last): > > > >> > > > | File > > > >> > > > "/home/vagrant/incubator-ariatosca/aria/orchestrator/ > > > >> > > > workflows/executor/process.py", > > > >> > > > line 342, in _main > > > >> > > > | task_func(ctx=ctx, **operation_arguments) > > > >> > > > | File > > > >> > > > "/home/vagrant/venv/lib/python2.7/site-packages/ > > > >> > > > adapters/context_adapter.py", > > > >> > > > line 434, in wrapper > > > >> > > > | ctx.task.retry(str(e), retry_interval=e.retry_after) > > > >> > > > | File "/usr/lib64/python2.7/contextlib.py", line 36, in > > > __exit__ > > > >> > > > | raise RuntimeError("generator didn't stop after throw()") > > > >> > > > |RuntimeError: generator didn't stop after throw() > > > >> > > > > > > >> > > > > > > >> > > > On Wed, Aug 30, 2017 at 4:52 AM, Ran Ziv <r...@cloudify.co> > > wrote: > > > >> > > > > > > >> > > > > I can't really make sense of this error message. > > > >> > > > > Could you copy paste the full execution logs when running > with > > > >> > "-vvv"? > > > >> > > > > > > > >> > > > > The "openstack_config" property/input should have nothing to > > do > > > >> with > > > >> > > the > > > >> > > > > image/flavor assignment - The former only affects the > > Openstack > > > >> > client > > > >> > > > > configuration, while the latter is set for a specific API > > call. > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > On Wed, Aug 30, 2017 at 2:38 AM, DeWayne Filppi < > > > >> dewa...@cloudify.co > > > >> > > > > > >> > > > > wrote: > > > >> > > > > > > > >> > > > > > Here's the latest issue. Got through all the networking > > > config > > > >> in > > > >> > my > > > >> > > > > > template, but the server instance doesn't start. Not sure > > if > > > >> this > > > >> > is > > > >> > > > an > > > >> > > > > > Openstack plugin issue, or Aria.. From the error message, > > it > > > >> > appears > > > >> > > > > that > > > >> > > > > > the image id and flavor don't even get into the call. > Note > > > >> that I > > > >> > > had > > > >> > > > to > > > >> > > > > > explicitly set "openstack_config" in the operation inputs: > > > >> > > > > > > > > >> > > > > > 23:32:42 | E | nova_plugin.server.create | {u'args': > > > >> OrderedDict(), > > > >> > > > > > u'openstack_config': {'username': 'dewayne', > 'tenant_name': > > > >> > > > > > 'dewayne-tenant', 'password': 'xxxxxx', 'auth_url': ' > > > >> > > > > > https://rackspace-api.gigaspaces.com:5000/v3'}} | vm_1 > > > >> > > Standard.create > > > >> > > > > > failed > > > >> > > > > > |Traceback (most recent call last): > > > >> > > > > > | File > > > >> > > > > > "/home/vagrant/incubator-ariatosca/aria/orchestrator/ > > > >> > > > > > workflows/executor/process.py", > > > >> > > > > > line 342, in _main > > > >> > > > > > | task_func(ctx=ctx, **operation_arguments) > > > >> > > > > > | File > > > >> > > > > > "/home/vagrant/venv/lib/python2.7/site-packages/ > > > >> > > > > > adapters/context_adapter.py", > > > >> > > > > > line 434, in wrapper > > > >> > > > > > | ctx.task.retry(str(e), > > > >> retry_interval=e.retry_after) > > > >> > > > > > | File "/usr/lib64/python2.7/contextlib.py", > line > > > 36, > > > >> in > > > >> > > > > __exit__ > > > >> > > > > > | raise RuntimeError("generator didn't stop > after > > > >> > > throw()") > > > >> > > > > > |RuntimeError: generator didn't stop after throw() > > > >> > > > > > > > > >> > > > > > The node template: > > > >> > > > > > > > > >> > > > > > vm: > > > >> > > > > > type: aria.openstack.nodes.Server > > > >> > > > > > properties: > > > >> > > > > > image: { get_input: image } > > > >> > > > > > flavor: { get_input: flavor } > > > >> > > > > > create_if_missing: true > > > >> > > > > > resource_id: aria_helloworld_vm > > > >> > > > > > management_network_name: aria_helloworld_network > > > >> > > > > > requirements: > > > >> > > > > > - key_pair: keypair > > > >> > > > > > - port: port > > > >> > > > > > interfaces: > > > >> > > > > > Standard: > > > >> > > > > > create: > > > >> > > > > > inputs: > > > >> > > > > > openstack_config: { get_input: > > openstack_config > > > } > > > >> > > > > > > > > >> > > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > > > > > > > > > > > >