You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ariatosca.apache.org by DeWayne Filppi <de...@cloudify.co> on 2017/09/01 02:41:40 UTC

Re: server create problem

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 <ra...@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 <de...@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.gigaspaces.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.gigaspaces.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 <ra...@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 <de...@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 }
> > > >
> > >
> >
>

Re: server create problem

Posted by Ran Ziv <ra...@cloudify.co>.
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 <de...@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 <ra...@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 <de...@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 <de...@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 <ra...@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 <dewayne@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 <ra...@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 <
> > > dewayne@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 <ra...@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 <
> > > >> dewayne@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
> > > }
> > > >> > > > > >
> > > >> > > > >
> > > >> > > >
> > > >> > >
> > > >> >
> > > >>
> > > >
> > > >
> > >
> >
>

Re: server create problem

Posted by DeWayne Filppi <de...@cloudify.co>.
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 <ra...@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 <de...@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 <de...@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 <ra...@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 <de...@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 <ra...@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 <
> > dewayne@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 <ra...@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 <
> > >> dewayne@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
> > }
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> > >
> > >
> >
>

Re: server create problem

Posted by Ran Ziv <ra...@cloudify.co>.
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 <de...@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 <de...@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 <ra...@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 <de...@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 <ra...@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 <
> dewayne@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 <ra...@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 <
> >> dewayne@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
> }
> >> > > > > >
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> >
> >
>

Re: server create problem

Posted by DeWayne Filppi <de...@cloudify.co>.
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 <de...@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 <ra...@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 <de...@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 <ra...@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 <de...@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 <ra...@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 <
>> dewayne@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 }
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
>
>

Re: server create problem

Posted by DeWayne Filppi <de...@cloudify.co>.
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 <ra...@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 <de...@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 <ra...@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 <de...@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.gigaspaces.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.gigaspaces.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 <ra...@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 <
> dewayne@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 }
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: server create problem

Posted by DeWayne Filppi <de...@cloudify.co>.
I would imagine.  In any case, I'll try 2.0.1.  Another a related front, I
notice that 'aria plugins' provides no way to remove plugins.

On Fri, Sep 1, 2017 at 2:28 AM, Ran Ziv <ra...@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 <de...@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 <ra...@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 <de...@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.gigaspaces.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.gigaspaces.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 <ra...@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 <
> dewayne@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 }
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: server create problem

Posted by Ran Ziv <ra...@cloudify.co>.
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 <de...@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 <ra...@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 <de...@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.gigaspaces.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.gigaspaces.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 <ra...@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 <dewayne@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 }
> > > > >
> > > >
> > >
> >
>