[Heat] Reg accessing variables of resource group heat api
NANTHINI A A
nanthini.a.a at ericsson.com
Mon Feb 18 04:46:44 UTC 2019
Hi ,
To resolve previous mentioned issue I am trying to use list_join function in nested.yaml.Stack is created successfully .but the resources are not created .Can you please let me know what might be the issue here with list_join.
root at cic-1:~# cat nested.yaml
heat_template_version: 2013-05-23
description:
This is the template for I&V R6.1 base configuration to create neutron resources other than sg and vm for vyos vms
parameters:
names:
type: comma_delimited_list
index:
type: number
resources:
neutron_Network_1:
type: OS::Neutron::Net
properties:
name:
list_join: [",",['Network','{get_param: [names, {get_param: index}]','1']]
# str_replace:
# template: net%-set%-number%
# params:
# "net%": "Network"
# "set%": "A"
# "number%": "1"
neutron_Network_2:
type: OS::Neutron::Net
properties:
name:
list_join: [",",['Network','{get_param: [names, {get_param: index}]','1']]
# str_replace:
# template: net%-set%-number%
# params:
# "net%": "Network"
# "set%": "A"
#"number%": "2"
root at cic-1:~#
root at cic-1:~# cat main.yaml
heat_template_version: 2015-04-30
description: Shows how to look up list/map values by group index
parameters:
sets:
type: comma_delimited_list
label: sets
default: "A,B,C"
net_names:
type: json
default:
repeat:
for each:
<%set%>: {get_param: sets}
template:
- network1: Network<%set>1
network2: Network<%set>2
resources:
rg:
type: OS::Heat::ResourceGroup
properties:
count: 3
resource_def:
type: nested.yaml
properties:
# Note you have to pass the index and the entire list into the
# nested template, resolving via %index% doesn't work directly
# in the get_param here
index: "%index%"
names: {get_param: sets}
outputs:
all_values:
value: {get_attr: [rg, value]}
root at cic-1:~#
-----Original Message-----
From: Harald Jensås [mailto:hjensas at redhat.com]
Sent: Friday, February 15, 2019 1:36 AM
To: NANTHINI A A <nanthini.a.a at ericsson.com>
Cc: openstack-dev at lists.openstack.org
Subject: Re: [Heat] Reg accessing variables of resource group heat api
On Wed, 2019-02-13 at 13:48 +0000, NANTHINI A A wrote:
> Hi ,
> As per your suggested change ,I am able to create network
> A1,network A2 ; in second iteration network b1,network b2 .But I want
> to reduce number of lines of variable params.hence tried using repeat
> function .But it is not working .Can you please let me know what is
> wrong here .
>
> I am getting following error .
> root at cic-1:~# heat stack-create test2 -f main.yaml WARNING (shell)
> "heat stack-create" is deprecated, please use "openstack stack create"
> instead
> ERROR: AttributeError: : resources.rg: : 'NoneType' object has no
> attribute 'parameters'
>
> root at cic-1:~# cat main.yaml
> heat_template_version: 2015-04-30
>
> description: Shows how to look up list/map values by group index
>
> parameters:
> sets:
> type: comma_delimited_list
> label: sets
> default: "A,B,C"
> net_names:
> type: json
> default:
> repeat:
> for each:
> <%set%>: {get_param: sets}
> template:
> - network1: Network<%set>1
> network2: Network<%set>2
>
I don't think you can use the repeat function in the parameters section. You could try using a OS::Heat::Value resource in the resources section below to iterate over the sets parameter. Then use get_attr to read the result of the heat value and pass that as names to nested.yaml.
>
> resources:
> rg:
> type: OS::Heat::ResourceGroup
> properties:
> count: 3
> resource_def:
> type: nested.yaml
> properties:
> # Note you have to pass the index and the entire list into
> the
> # nested template, resolving via %index% doesn't work
> directly
> # in the get_param here
> index: "%index%"
> names: {get_param: net_names}
Alternatively you could put the repeat function here?
names:
repeat:
for each:
[ ... ]
>
> outputs:
> all_values:
> value: {get_attr: [rg, value]}
> root at cic-1:~#
>
>
> Thanks in advance.
>
>
> Regards,
> A.Nanthini
>
> From: Rabi Mishra [mailto:ramishra at redhat.com]
> Sent: Wednesday, February 13, 2019 9:07 AM
> To: NANTHINI A A <nanthini.a.a at ericsson.com>
> Cc: hjensas at redhat.com; openstack-dev at lists.openstack.org
> Subject: Re: [Heat] Reg accessing variables of resource group heat api
>
>
> On Tue, Feb 12, 2019 at 7:48 PM NANTHINI A A <
> nanthini.a.a at ericsson.com> wrote:
> > Hi ,
> > I followed the example given in random.yaml .But getting below
> > error .Can you please tell me what is wrong here .
> >
> > root at cic-1:~# heat stack-create test -f main.yaml WARNING (shell)
> > "heat stack-create" is deprecated, please use "openstack stack
> > create" instead
> > ERROR: Property error: :
> > resources.rg<nested_stack>.resources[0].properties: : Unknown
> > Property names root at cic-1:~# cat main.yaml
> > heat_template_version: 2015-04-30
> >
> > description: Shows how to look up list/map values by group index
> >
> > parameters:
> > net_names:
> > type: json
> > default:
> > - network1: NetworkA1
> > network2: NetworkA2
> > - network1: NetworkB1
> > network2: NetworkB2
> >
> >
> > resources:
> > rg:
> > type: OS::Heat::ResourceGroup
> > properties:
> > count: 3
> > resource_def:
> > type: nested.yaml
> > properties:
> > # Note you have to pass the index and the entire list into
> > the
> > # nested template, resolving via %index% doesn't work
> > directly
> > # in the get_param here
> > index: "%index%"
>
> > names: {get_param: net_names}
>
> property name should be same as parameter name in you nested.yaml
> >
> > outputs:
> > all_values:
> > value: {get_attr: [rg, value]}
> > root at cic-1:~# cat nested.yaml
> > heat_template_version: 2013-05-23
> > description:
> > This is the template for I&V R6.1 base configuration to create
> > neutron resources other than sg and vm for vyos vms
> > parameters:
> > net_names:
>
> changing this to 'names' should fix your error.
> > type: json
> > index:
> > type: number
> > resources:
> > neutron_Network_1:
> > type: OS::Neutron::Net
> > properties:
> > name: {get_param: [names, {get_param: index}, network1]}
> >
> >
> > Thanks,
> > A.Nanthini
> >
> > From: Rabi Mishra [mailto:ramishra at redhat.com]
> > Sent: Tuesday, February 12, 2019 6:34 PM
> > To: NANTHINI A A <nanthini.a.a at ericsson.com>
> > Cc: hjensas at redhat.com; openstack-dev at lists.openstack.org
> > Subject: Re: [Heat] Reg accessing variables of resource group heat
> > api
> >
> > On Tue, Feb 12, 2019 at 11:14 AM NANTHINI A A <
> > nanthini.a.a at ericsson.com> wrote:
> > > Hi ,
> > > May I know in the following example given
> > >
> > > parameters:
> > > resource_name_map:
> > > - network1: foo_custom_name_net1
> > > network2: foo_custom_name_net2
> > > - network1: bar_custom_name_net1
> > > network2: bar_custom_name_net2
> > > what is the parameter type ?
> >
> >
> > json
> >
>
>
> --
> Regards,
> Rabi Mishra
>
More information about the openstack-discuss
mailing list