annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 
cancel
Annonces
Demandez-moi du 22 Juillet au 4 Août 2021
213
Visites
5
Compliment
4
Réponses
Modérateur Cisco
Frequent Contributor

Découvrez Cisco ACI avec Francesco Molino et Apprenez-en davantage sur l'Automatisation

Forum Ask Me Anything

Demandez-moi n'importe quoi à propos de Cisco ACI pour la Programmabilité des Réseaux (Network Programmability) et l'Automatisation des Flux de Travail (Workflow Automation). Désormais, vous pouvez en savoir plus sur la modélisation, l'automatisation et la programmation des informations de gestion, et avoir une introduction sur les ressources disponibles et le dépannage. Posez vos questions !  

Savez-vous comment automatiser la configuration des applications ou le déploiement des politiques avec Ansible ou Terraform ? Découvrez comment le déploiement d'applications vous aide à gérer la mise en réseau multidomaine. Rejoignez-nous et soumettez vos questions à notre membre VIP 2020 !

Veuillez soumettre vos questions en cliquant "Répondre"

(Les réponses seront fournies en fonction de la disponibilité de nos experts)
Complimentez ou qualifiez les réponses pour remercier les experts !


Notre expert
Photo_Francesco_Molino_100x135px.png Francesco Molino est actuellement Senior Network & Security Consultant chez IPConsul à Montréal (Canada) et un expert dans les domaines de l'électronique, des réseaux et de la sécurité informatique. Il possède les certifications CCIE en Entreprise Infrastructure, Service Provider et Security n°35050, et Firejumper Elite n°154. Avec plus de 15 ans d’expérience dans les télécommunications, il est un fervent partisan de Cisco et des solutions open source. Francesco s'intéresse au développement d'outils d'automatisation utilisant Python, Ansible, Terraform, Bash et s'appuie également sur les APIs fournies par les différents manufacturiers. Francesco est un top contributeur de la communauté depuis 2009, nommé Designated VIP en 2017, 2018, 2019 et 2020.

4 RÉPONSES 4
Modérateur Cisco
Frequent Contributor

Voici une question de Lennart Jung

Erreur ACI / Terraform : property value inconnue

Salut,

Je suis un débutant essayant de faire fonctionner TF et ACI - j'essaie de comprendre cela depuis quelques heures maintenant et je suis toujours coincé. Peut-être que vous avez une idée de comment résoudre cette erreur et m'orienter dans la bonne direction.

J'ai un ensemble de serveurs qui devraient être connectés à leurs leafs (1201, 1202), en allant au fur et à mesure avec une carte contenant tous les détails sur les serveurs, cela m'a semblé une bonne idée.

mes variables.tf ressemblent à ceci (j'ai extrait les bits intéressants):

variable "MAP_leaf_interface_profiles" {
type = map(any)
default = {
"IP_LEAF-1201" = { name="IP_LEAF-1201", name_alias="", description="IP_LEAF-1201"}
"IP_LEAF-1202" = { name="IP_LEAF-1202", name_alias="", description="IP_LEAF-1202"}
"IP_LEAF-2401" = { name="IP_LEAF-2401", name_alias="", description="IP_LEAF-2401"}
"IP_LEAF-2402" = { name="IP_LEAF-2402", name_alias="", description="IP_LEAF-2402"}
"IP_LEAF-1201-1202" = { name="IP_LEAF-1201-1202", name_alias="", description="IP_LEAF-1201-1202"}
"IP_LEAF-2401-2402" = { name="IP_LEAF-2401-2402", name_alias="", description="IP_LEAF-2401-2402"}
}
}

variable "MAP_VxRail_hostnames-TEST" {
type = map(any)
default = {
"XX123456789012-1201" = { hostname="XX123456789012", dc_location="DC1", VPC_PRD_DATA_interface="eth1/25", VPC_PRD_DATA_IP_tdn="uni/infra/accportprof-IP_LEAF-1201", VPC_PRD_DATA_IP="IP_LEAF-1201"},
"XX123456789012-1202" = { hostname="XX123456789012", dc_location="DC1", VPC_PRD_DATA_interface="eth1/25", VPC_PRD_DATA_IP_tdn="uni/infra/accportprof-IP_LEAF-1202", VPC_PRD_DATA_IP="IP_LEAF-1202"}
}
}

Je peux très bien créer les profils d'interface "IP_LEAF-XXXX" avec cet snippet :

resource "aci_leaf_interface_profile" "IP_LEAF-Profiles" {
for_each = var.MAP_leaf_interface_profiles
description = each.value.description
name = each.value.name
}

Dans une prochaine étape, je voudrais créer le access_port_selector pour chaque serveur avec ce morceau de code :

resource "aci_access_port_selector" "IS_FRx-PRD_VxRail-DATA-SN" {
for_each = var.MAP_VxRail_hostnames-TEST
name = "IS_${each.value.dc_location}-PRD_VxRail-DATA-${each.key}"
leaf_interface_profile_dn = "aci_leaf_interface_profile.IP_LEAF-Profiles.${each.value.VPC_PRD_DATA_IP}.id"
description = "${each.value.hostname}"
access_port_selector_type = "range"
}

qui échoue complètement avec l'erreur suivante :

│ Error: unknown property value aci_leaf_interface_profile.IP_LEAF-Profiles.IP_LEAF-1201.id/hports-IS_FR2-PRD_VxRail-DATA-XX123456789012-1201-typ-range, name dn, class infraHPortS [(Dn0)] Dn0=,

│ with aci_access_port_selector.IS_FRx-PRD_VxRail-DATA-SN["XX123456789012-1201"],
│ on main.tf line 67, in resource "aci_access_port_selector" "IS_FRx-PRD_VxRail-DATA-SN":
│ 67: resource "aci_access_port_selector" "IS_FRx-PRD_VxRail-DATA-SN" {

Cependant lors de la modification de la ligne suivante (comme le codage en dur du tdn)

 leaf_interface_profile_dn = "${each.value.VPC_PRD_DATA_IP_tdn}" 

 tout fonctionne bien:

aci_access_port_selector.IS_FRx-PRD_VxRail-DATA-SN["XX123456789012-1202"]: Creating...
aci_access_port_selector.IS_FRx-PRD_VxRail-DATA-SN["XX123456789012-1201"]: Creating...
aci_access_port_selector.IS_FRx-PRD_VxRail-DATA-SN["XX123456789012-1201"]: Creation complete after 1s [id=uni/infra/accportprof-IP_LEAF-1201/hports-IS_FR2-PRD_VxRail-DATA-XX123456789012-1201-typ-range]
aci_access_port_selector.IS_FRx-PRD_VxRail-DATA-SN["XX123456789012-1202"]: Creation complete after 1s [id=uni/infra/accportprof-IP_LEAF-1202/hports-IS_FR2-PRD_VxRail-DATA-XX123456789012-1202-typ-range]

 

Comment puis-je régler ça ? Je voudrais éviter d'utiliser le tDN dans le map. Ou bien existe-t-il une meilleure approche pour le faire ?

Bonjour @Lennart Jung  

 

Vous pouvez remplacer la ligne suivante dans votre ressource aci_access_port_selector

leaf_interface_profile_dn = "aci_leaf_interface_profile.IP_LEAF-Profiles.${each.value.VPC_PRD_DATA_IP}.id"

par

leaf_interface_profile_dn = aci_leaf_interface_profile.IP_LEAF-Profiles[each.value.VPC_PRD_DATA_IP].id

Cela devrait fonctionner selon ce que vous essayez d'atteindre comme objectif.

 


Thanks
Francesco
PS: Please don't forget to rate and select as validated answer if this answered your question
Modérateur Cisco
Frequent Contributor

Voici une question de floatingpurr

Installation d'AnyConnect sur un serveur distant

Bonjour. Je vais participer à un séminaire Cisco sur IaC. Dans ce séminaire, nous allons effectuer des exercices pratiques avec Ansible et Terraform contre des DevNet sandboxes ou des environnements dCloud. Nous avons besoin d'AnyConnect. J'ai installé Ansible et Terraform sur un serveur distant exécutant Ubuntu 20 LTS (i.e. Debian). Existe-t-il un moyen d'installer AnyConnect sur un tel serveur distant afin de se connecter à des laboratoires distants ?

Est-ce que ça va marcher? Toutes suggestions/remarques sont plus que bienvenues.

Didier M
Beginner

Salut

Pouvez-vous me pointer vers un groupe de ressources ou un attribut pouvant être utilisé pour exporter des contrats dans ACI pour la communication inter-vrf ?

Content for Community-Ad

Spotlight Awards Mai 2021

Collaboration