|
|
|
|
|
|
|
**How should templates behave? What happens if %askme% is entered in an interface field?**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dans quel champs ?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ben n’importe lequel: 'cn','macAddress','fdNetworkInterfaceVlanId','fdNetworkInterfaceVlanTag','fdNetworkInterfaceSubnetDN','ipHostNumber'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pour moi il devrait juste proposer le champs quand on rempli le template
|
|
|
|
|
|
|
|
-> Sous quel nom? Et s’il y a deux interfaces avec les %askme%?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(Dans tous les cas ça veut dire que la création par template implique un nombre fixe d’interfaces sinon je vois pas comment faire. Ce qui signifie qu’on a perdu en fonctionnalités.)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
on peut pas faire comme pour les members? que ça ajoute un bouton ajouter une interface ?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ça demanderait de gérer les interfaces dans une création par template comme un OrderedArrayAttribute en gros (enfin ça avec un dialog), ce serait effectivement plus puissant mais ça va être chevelu coté code.
|
|
|
|
|
|
|
|
Et je pense que dans ce cas faudra décider d’une syntaxe de serialization qui sera à utiliser coté CSV (actuellement coté LDAP j’utilise du JSON pour sérialiser les interfaces de templates de machines).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ça pourrait aussi vouloir dire que je suis pas parti sur la bonne solution et qu’il faut revenir à un onglet simplePlugin plus classique avec un DialogAttribute. Mais j’avais l’impression qu’avoir un type d’objet pour les interfaces allait simplifier le truc. Je suis plus trop sur.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ce qu'on a fait pour les interface est tres bien
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Actuellement au niveau de l'interface on peut avoir plusieurs interface car on rempli tous les champs et puis on fait un "add" il me semble (faut que je regarde a nouveau sur la demo)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
On utilise un "creer interface", y aurait pas moyen de refaire ça dans un template?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Oui mais je parle de la création par template. Je peux pas afficher une liste de management au milieu de la page en vrac.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
J'aurais pensé un bouton qui ouvre une liste, mais je sais pas si c'est "simple" par contre
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Hum ça ouvrirait l’onglet comme un dialog, je suis pas sûr que ce soit réalisable ou comment je rendrais ça générique, à voir…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
En définissant "du texte" dans les template par exemple "eth0|ip|mask" y aurait moyen que FD créer l'interface ? je suis pas sur mais ça permettrait de faire un affichage propre au template
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ben c’est ça que je décrivais en gros avec l’idée de OrderedArrayAttribute au dessus et de serialisation texte.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ah ok, du coup oui ça me semblerait le plus pratique, une autre solution serait de rendre le nombre d'interface fixe au moment de créer le template mais aucune idée de comment fd va pouvoir gerer ça. Partir sur une serialisation me semble plus propre.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ok donc on est d'accord sur serialisation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**How would CSV import work? (I do not see any solution allowing CSV import to import a non-fixed number of interfaces).**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
en effet l'import des machines implique ou non un nombre d'interface precise
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
avec la serialisation se sera surement résolu aussi je penses
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Faudra voir quel format ça donne coté CSV ça va rester plus complexe que l’actuel.
|
|
|
|
|
|
|
|
De toutes façons il faudra que les données contiennent les noms d’interfaces en plus.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
je penserais a par exemple on défini a quel emplacement ça concerne les interfaces dans le csv
|
|
|
|
|
|
|
|
c'est délicat dans le csv y a pas mal de séparateur qui vaut mieux éviter et en plus la serialisation sera fixe en quelque sorte si on décide eth0/ip/netmask je suis pas sur qu'on peut imaginer qu'on pourra le changer en eth0/netmask/ip vu la position sera importante
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**Same questions for webservice access, how would one access interface data and edit it?**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
les interface appartiennent a une machine donc :
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* accès a la machine d'abord
|
|
|
|
* lecture /ecriture d'interface
|
|
|
|
|
|
|
|
|
|
|
|
la question est quand je demande un machine au webservice me donne t'il tout les tabs, ou juste le tab principal + interfaces ?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Le webservice tu lui demande un champ précis, ou un onglet précis au minimum, pas tout un objet.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
si je donne le dn d'une machine on peut decider que ca me renvoie le premier onglet + interfaces reseaux
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Hein?
|
|
|
|
|
|
|
|
[https://rest.fusiondirectory.org/](https://rest.fusiondirectory.org/)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
je relis :)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GET sur un dn d’objet ça donne la liste de ses onglets: [https://rest.fusiondirectory.org/#operation/listObjectTabs](https://rest.fusiondirectory.org/#operation/listObjectTabs)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pour le webservice aucune idee actuellement je devrais d'abord jouer un peu avec l'interface pour me familiariser, peut etre que k1412 aura plus d'idee
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pour avoir acces a l'interface je verais bien un
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GET /objects/{type}/{dn}/interface pour toutes les interfaces
|
|
|
|
|
|
|
|
GET /objects/{type}/{dn}/eth0 pour l'interface eth0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Non puisque ça collisionne avec [https://rest.fusiondirectory.org/#operation/getObjectTab](https://rest.fusiondirectory.org/#operation/getObjectTab) et que interface n’est pas un tab.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pour la création on va surement retomber sur une serialisation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
POST /objects/{type}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
"attrs": {
|
|
|
|
|
|
|
|
"interface": [
|
|
|
|
|
|
|
|
* "eth0" : {
|
|
|
|
* "ip": "xxx",
|
|
|
|
* "netmask": "xxx"
|
|
|
|
* ...
|
|
|
|
* }
|
|
|
|
]
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Je pense que le patch peut etre plus simple vu qu'on pourrait imagine mettre le nom de l'interface dans le endpoint
|
|
|
|
|
|
|
|
PATCH /objects/{type}/{dn}/eth0 mais pour la création vu qu'il faut faire au moins une ip avec le systeme je penses qu'on a pas trop le choix que d'utiliser un genre de tableau ou une serialisation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Je pense pas qu’on pourra directement créer les objets interfaces comme des objets au travers du webservice parce qu’ils sont directement liés à un système, il vaudrait mieux qu’ils se comportent comme un champ, mais il faut voir le format.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**Resume**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
que peut on livrer pour vendredi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* gestion vlan / sous reseau
|
|
|
|
* Oui dans l’état actuel comme ce qui est déjà mergé
|
|
|
|
* gestion interface
|
|
|
|
* Dans l’état actuel
|
|
|
|
* gestion de l'interdiction de range ip pas dans le sous reseau/vlan ??
|
|
|
|
* C’est à dire? C’est dans la spec ça? (j’imagine que oui mais j’avais relu les contraintes et je l’ai raté)
|
|
|
|
* [https://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/wikis/FusiondirectoryIPAM#assignement-subnet-vlan](https://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/wikis/FusiondirectoryIPAM#assignement-subnet-vlan)
|
|
|
|
* Je vois rien sur les IPs
|
|
|
|
* non je vais regarder dans les autres notes mais ce qui est mentionne la est deja supporte ?
|
|
|
|
* Ben assigner VLAN et subnet aux interfaces oui mais ça n’a pas de conséquence c’est juste du stockage.
|
|
|
|
* Plus haut il y a «allow IP addresses to be assigned from those subnets.» mais c’est pas plus précisé que ça, faudrait définir le comportement voulu, il me semble que le but c’était un genre de bouton «assign free IP» ? (qui propose une IP libre dans le subnet séléctionné)
|
|
|
|
* c'est ca, pour moi ca peut etre
|
|
|
|
* verifier que l'ip entree est dans les subnets autorises
|
|
|
|
* Ya un seul subnet associé non?
|
|
|
|
* verifier quelle est pas deja utilise
|
|
|
|
* On a déjà une contrainte forte d’unicité sur les IPs sur tout l’annuaire, donc ça serait redondant. Mais je pense bien que les gens de freeradius vont pas vouloir de cette contrainte, faut voir comment on gère ça et quelle est exactement la contrainte souhaitée dans leur cas.
|
|
|
|
* proposer une ip libre dans ce subnet
|
|
|
|
* tu peut coder ca
|
|
|
|
* Faut mettre des "?" à tes questions sinon j’attends la suite.
|
|
|
|
* Oui je peux essayer de regarder, tu peux le rajouter dans la spec ? Ça sera un bouton dans la section IPAM qui ajoute une IP dans le champ IP je pense. Ce sera que IPv4 pour l’instant j’ai pas compris comment IPAM s’intègre avec IPv6. ok je vais reagarder pour l'ipv6
|
|
|
|
* templates ??
|
|
|
|
* Non ya bien une semaine de dev de plus sur les templates. Ça dépend un peu à quel point j’arrive à faire marcher sur la base de ce que j’ai là.ok
|
|
|
|
|
|
|
|
|
|
|
|
le code sur demo-dev est trop vieux ca montre pas le vlan dans systeme :) donc je propose de deployer sur demo-dev le code de la branche actuelle pour tester toute cela et leur demander de tester sur demo-dev eventuellement
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
J’ai pas mergé pour l’instant vu tout ce que ça casse, tu veux que je merge la MR? non on a un job qui permet de builder des branches specifiques, c'est le moment de tester :)
|
|
|
|
|
|
|
|
ok |