Întrebarea este legată de șabloanele de căldură openstack.
Nu sunt sigur ce este în neregulă cu situația de mai jos.
Am un grup de resurse care creează mai multe porturi pentru neutroni.
În timp ce încercați să utilizați rezultatul acestuia grup de resurse
, încerc să folosesc atributele sintetice, dar este pur și simplu imposibil. eroarea a fost că atributul nu este de fapt acolo. și arătând în mod eficient structura resursei nu pot vedea atributul resursă
.
aici după cod pentru a clarifica mai multe.
Definiția grupului meu de resurse.
bckg1_ports_group:
depinde de:
- datag1_subnet
tip: OS::Heat::ResourceGroup
condiție: create_g1
proprietati:
număr: { get_param: bck_nbrg1 }
resursă_def:
tip: OS::Neutron::Port
proprietati:
Nume:
list_join: ['', ['backg1vm', '%index%', '_data_port']]
reţea: { get_resource: "datag1_network" }
fixed_ips: [{"subnet": { get_resource: "datag1_subnet" }, "ip_address": 192.168.10.3%index%}]
allow_address_pairs: [{"ip_address": "0.0.0.0/0"}]
security_groups: [{ get_resource: open_secgroup }]
Pentru a accesa atributele resurselor din interiorul grup de resurse
eu folosesc.
portgroup_rsc:
condiție: create_g1
descriere: grupa G1 RSC
valoare: { get_attr: [bckg1_ports_group, resource] }
portgroup_rsc0:
condiție: create_g1
descriere: grupa G1 RSC
valoare: { get_attr: [bckg1_ports_group, resource.0] }
portgroup_rsc0_mac:
condiție: create_g1
descriere: grupa G1 RSC
valoare: { get_attr: [bckmg1_ports_group, resource.0.mac_address] }
Niciuna dintre acestea nu funcționează deoarece atributul superior resursă
nu este acolo.
pot folosi refs
sau refs_map
ci doar pentru a obține ID-uri
.
eroarea.
EROARE: resources.bckg1_ports_group<stiva_imbricată>.outputs.resource.Value[0].get_attr: : Atributul referit (0 resursă) este incorect.