Public bug reported:

[Impact]

when a user tries to create nested templates, the network id cannot be
retrieved raising an error, this works fine in Kilo.

[Test Case]

* Deploy openstack with heat enabled
  $ bzr branch lp:openstack-charm-testing
  $ cd openstack-charm-testing
  $ juju deployer -c default.yaml -d -v -s 10 wily-liberty
  $ juju action do heat/0 domain-setup
  $ ./configure
  $ cat << EOF > minimal_portneutron.yaml
heat_template_version: 2014-10-16
description: "Works well in Darmstadt Liberty LAB"
resources:
  network:
    type: network.yaml
    properties:
      name:
        list_join:
          - '_'
          - [ heat, { get_param: 'OS::stack_name' } ]
  port:
    type: OS::Neutron::Port
    properties:
      network_id: { get_attr: [ network, network ] }
EOF
  $ cat << EOF > minimal_portnested.yaml
heat_template_version: 2014-10-16
description: "ERROR: Failed to validate: : resources.port: : At least one of 
the following properties must be specified: network, network_id"
resources:
  network:
    type: network.yaml
    properties:
      name:
        list_join:
          - '_'
          - [ heat, { get_param: 'OS::stack_name' } ]
  port:
    type: port.yaml # Fails with 'Either network or network_id should be 
specified.'
    properties:
      network_id: { get_attr: [ network, network ] }
  $ cat << EOF > port.yaml
heat_template_version: 2014-10-16
parameters:
  network_id:
    type: string
resources:
  port:
    type: OS::Neutron::Port
    properties:
      network_id: { get_param: network_id }
  $ cat << EOF > network.yaml
heat_template_version: 2014-10-16
description: >
  Creates a Neutron network/subnet combination, along with a security group
  that allows all traffic from the subnet.
parameters:
  name:
    description: The name for the created network.
    type: string
resources:
  network:
    type: OS::Neutron::Net
    properties:
      name: { get_param: name }
outputs:
  network:
    description: The neutron network created.
    value: { get_resource: network }
  $ source novarc
  $ heat stack-create -f minimal_portneutron.yaml minimal_portneutron
  $ heat stack-create -f minimal_portnested.yaml minimal_portnested

Expected:

The nested port is created

Actual result:

Traceback (most recent call last):
  File "/usr/bin/heat", line 10, in <module>
    sys.exit(main())
  File "/usr/lib/python2.7/dist-packages/heatclient/shell.py", line 705, in main
    HeatShell().main(args)
  File "/usr/lib/python2.7/dist-packages/heatclient/shell.py", line 655, in main
    args.func(client, args)
  File "/usr/lib/python2.7/dist-packages/heatclient/v1/shell.py", line 140, in 
do_stack_create
    hc.stacks.create(**fields)
  File "/usr/lib/python2.7/dist-packages/heatclient/v1/stacks.py", line 136, in 
create
    data=kwargs, headers=headers)
  File "/usr/lib/python2.7/dist-packages/keystoneclient/adapter.py", line 176, 
in post
    return self.request(url, 'POST', **kwargs)
  File "/usr/lib/python2.7/dist-packages/heatclient/common/http.py", line 317, 
in request
    raise exc.from_response(resp)
heatclient.exc.HTTPBadRequest: ERROR: Failed to validate: : resources.port: : 
At least one of the following properties must be specified: network, network_id

[Regression Potential]

* This patch was tested in a production environment and also it was
already merged in the Liberty stable branch
https://review.openstack.org/306293 , so the regression potential is
minimum.

[Other Info]

* Upstream bug 1518676

** Affects: heat (Ubuntu)
     Importance: Undecided
         Status: Fix Released


** Tags: sts

** Also affects: heat (Ubuntu)
   Importance: Undecided
       Status: New

** No longer affects: heat

** Changed in: heat (Ubuntu)
       Status: New => Fix Released

** Tags added: sts

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1579891

Title:
  [SRU] Validating a stack fails as one nested stack can't find an id
  from another

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/heat/+bug/1579891/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to