From ac43527647f972cb5a021e7a0c7431997490df52 Mon Sep 17 00:00:00 2001 From: Parker Berberian Date: Tue, 26 Feb 2019 12:01:18 -0500 Subject: Enhance PDF/IDF Support Improves PDF template and code organization and adds an IDF template. To complete these templates, the lab must be able to report L3 network info and ipmi info at the least. A change to the API to allow for this has to be made. Change-Id: I4b9d2e73eb3940300f7e95fa2f9f4ddd0d606c60 Signed-off-by: Parker Berberian --- src/templates/dashboard/idf.yaml | 52 ++++++++++++ src/templates/dashboard/pdf.yaml | 175 +++++++++++++++++++-------------------- 2 files changed, 138 insertions(+), 89 deletions(-) create mode 100644 src/templates/dashboard/idf.yaml (limited to 'src/templates') diff --git a/src/templates/dashboard/idf.yaml b/src/templates/dashboard/idf.yaml new file mode 100644 index 0000000..5da20c4 --- /dev/null +++ b/src/templates/dashboard/idf.yaml @@ -0,0 +1,52 @@ +idf: + version: {{version|default:"0.1"}} + net_config: + oob: + ip-range: {{net_config.oob.ip-range}} + vlan: {{net_config.oob.vlan}} + admin: + interface: {{net_config.admin.interface}} + vlan: {{net_config.admin.vlan}} + network: {{net_config.admin.network}} + mask: {{net_config.admin.mask}} + mgmt: + interface: {{net_config.mgmt.interface}} + vlan: {{net_config.mgmt.vlan}} + network: {{net_config.mgmt.network}} + mask: {{net_config.mgmt.mask}} + private: + interface: {{net_config.private.interface}} + vlan: {{net_config.private.vlan}} + network: {{net_config.private.network}} + mask: {{net_config.private.mask}} + public: + interface: {{net_config.public.interface}} + vlan: {{net_config.public.vlan}} + network: {{net_config.public.network}} + mask: {{net_config.public.mask}} + ip-range: {{net_config.public.ip-range}} + mask: {{net_config.public.mask}} + gateway: {{net_config.public.gateway}} + dns: + {% for serv in net_config.public.dns %} + - {{serv}} + {% endfor %} + fuel: + jumphost: + bridges: + admin: {{fuel.jumphost.bridges.admin}} + mgmt: {{fuel.jumphost.bridges.mgmt}} + private: {{fuel.jumphost.bridges.private}} + public: {{fuel.jumphost.bridges.public}} + network: + {% for node in fuel.network.nodes %} + node: + - interfaces: + {% for iface in node.interfaces %} + - {{ iface }} + {% endfor %} + - busaddr: + {% for addr in node.bus_addrs %} + - {{addr}} + {% endfor %} + {% endfor %} diff --git a/src/templates/dashboard/pdf.yaml b/src/templates/dashboard/pdf.yaml index 297e04b..c893919 100644 --- a/src/templates/dashboard/pdf.yaml +++ b/src/templates/dashboard/pdf.yaml @@ -1,95 +1,92 @@ --- version: {{version|default:"1.0"}} details: - pod_owner: {{details.owner}} - contact: {{details.contact}} - lab: {{details.lab}} - location: {{details.location}} - type: {{details.type}} - link: {{details.link}} - + contact: {{details.contact}} + lab: {{details.lab}} + link: {{details.link}} + location: {{details.location}} + pod_owner: {{details.owner}} + type: {{details.type}} jumphost: - name: {{jumphost.name}} - node: - type: {{jumphost.node.type}} - vendor: {{jumphost.node.vendor}} - model: {{jumphost.node.model}} - arch: {{jumphost.node.arch}} - cpus: {{jumphost.node.cpus}} - cpu_cflags: {{jumphost.node.cpu_cflags}} - cores: {{jumphost.node.cores}} - memory: {{jumphost.node.memory}} - disks: - {% for disk in jumphost.disks %} - - name: {{disk.name}} - disk_capacity: {{disk.capacity}} - disk_type: {{disk.type}} - disk_interface: {{disk.interface}} - disk_rotation: {{disk.rotation}} - - {% endfor %} - os: {{jumphost.os}} - remote_params: - type: {{jumphost.remote.type}} - versions: - {% for version in jumphost.remote.versions %} - - {{version}} - {% endfor %} - user: {{jumphost.remote.user}} - pass: {{jumphost.remote.pass}} - remote_management: - type: {{jumphost.remote.type}} - versions: - {% for version in jumphost.remote.versions %} - - {{version}} - {% endfor %} - user: {{jumphost.remote.user}} - pass: {{jumphost.remote.pass}} - address: {{jumphost.remote.address}} - mac_address: {{jumphost.remote.mac_address}} - interfaces: - {% for interface in jumphost.interfaces %} - - name: {{interface.name}} - address: {{interface.address}} - mac_address: {{interface.mac_address}} - vlan: {{interface.vlan}} - {% endfor %} + disks: + {% for disk in jumphost.disks %} + - disk_capacity: {{disk.capacity}} + disk_interface: {{disk.interface}} + disk_rotation: {{disk.rotation}} + disk_type: {{disk.type}} + name: {{disk.name}} + {% endfor %} + interfaces: + {% for interface in jumphost.interfaces %} + - features: {{interface.features}} + mac_address: {{interface.mac_address}} + name: {{interface.name}} + speed: {{interface.speed}} + {% endfor %} + name: {{jumphost.name}} + node: + arch: {{jumphost.node.arch}} + cores: {{jumphost.node.cores}} + cpu_cflags: {{jumphost.node.cpu_cflags}} + cpus: {{jumphost.node.cpus}} + memory: {{jumphost.node.memory}} + model: {{jumphost.node.model}} + type: {{jumphost.node.type}} + vendor: {{jumphost.node.vendor}} + os: {{jumphost.os}} + remote_management: + address: {{jumphost.remote.address}} + mac_address: {{jumphost.remote.mac_address}} + pass: {{jumphost.remote.pass}} + type: {{jumphost.remote.type}} + user: {{jumphost.remote.user}} + versions: + {% for version in jumphost.remote.versions %} + - {{version}} + {% endfor %} + remote_params: + pass: {{jumphost.remote.pass}} + type: {{jumphost.remote.type}} + user: {{jumphost.remote.user}} + versions: + {% for version in jumphost.remote.versions %} + - {{version}} + {% endfor %} nodes: - {% for node in nodes %} - - name: {{node.name}} - node: - type: {{node.node.type}} - vendor: {{node.node.vendor}} - model: {{node.node.model}} - arch: {{node.node.arch}} - cpus: {{node.node.cpus}} - cpu_cflags: {{node.node.cpu_cflags}} - cores: {{node.node.cores}} - memory: {{node.node.memory}} - disks: - {% for disk in node.disks %} - - name: {{disk.name}} - disk_capacity: {{disk.capacity}} - disk_type: {{disk.type}} - disk_interface: {{disk.interface}} - disk_rotation: {{disk.rotation}} - - {% endfor %} - remote_management: - type: {{node.remote.type}} - versions: - {% for version in node.remote.versions %} - - {{version}} - {% endfor %} - user: {{node.remote.user}} - pass: {{node.remote.pass}} - address: {{node.remote.address}} - mac_address: {{node.remote.mac_address}} - interfaces: - {% for interface in node.interfaces %} - - name: {{interface.name}} - address: {{interface.address}} - mac_address: {{interface.mac_address}} - vlan: {{interface.vlan}} - {% endfor %} +{% for node in nodes %} +- disks: + {% for disk in node.disks %} + - disk_capacity: {{disk.capacity}} + disk_interface: {{disk.interface}} + disk_rotation: {{disk.rotation}} + disk_type: {{disk.type}} + name: {{disk.name}} + {% endfor %} + interfaces: + {% for interface in node.interfaces %} + - features: {{interface.features}} + mac_address: {{interface.mac_address}} + name: {{interface.name}} + speed: {{interface.speed}} {% endfor %} + name: {{node.name}} + node: + arch: {{node.node.arch}} + cores: {{node.node.cores}} + cpu_cflags: {{node.node.cpu_cflags}} + cpus: {{node.node.cpus}} + memory: {{node.node.memory}} + model: {{node.node.model}} + type: {{node.node.type}} + vendor: {{node.node.vendor}} + remote_management: + address: {{node.remote.address}} + mac_address: {{node.remote.mac_address}} + pass: {{node.remote.pass}} + type: {{node.remote.type}} + user: {{node.remote.user}} + versions: + {% for version in node.remote.versions %} + - {{version}} + {% endfor %} +{% endfor %} -- cgit 1.2.3-korg