diff options
Diffstat (limited to 'config')
24 files changed, 484 insertions, 311 deletions
diff --git a/config/installers/apex/pod_config.yaml.j2 b/config/installers/apex/pod_config.yaml.j2 index abb3ddb8..b681215e 100644 --- a/config/installers/apex/pod_config.yaml.j2 +++ b/config/installers/apex/pod_config.yaml.j2 @@ -1,3 +1,4 @@ +--- nodes: node1: mac_address: "{{ conf['nodes'][0]['remote_management']['mac_address'] }}" diff --git a/config/installers/compass4nfv/network.yml.j2 b/config/installers/compass4nfv/network.yml.j2 index 2ede0831..a98cc4a9 100644 --- a/config/installers/compass4nfv/network.yml.j2 +++ b/config/installers/compass4nfv/network.yml.j2 @@ -23,7 +23,7 @@ provider_net_mappings: sys_intf_mappings: - name: mgmt interface: eth3 - vlan_tag: {{ conf['nodes'][0]['interfaces'][2]['vlan'] }} #not a good fit + vlan_tag: {{ conf['nodes'][0]['interfaces'][2]['vlan'] }} # not a good fit type: vlan role: - controller @@ -32,7 +32,7 @@ sys_intf_mappings: - name: storage interface: eth2 vlan_tag: 804 - type: {{ conf['nodes'][0]['interfaces'][1]['vlan'] }} #not a good fit + type: {{ conf['nodes'][0]['interfaces'][1]['vlan'] }} # not a good fit role: - controller - compute diff --git a/config/installers/compass4nfv/network_ocl.yml.j2 b/config/installers/compass4nfv/network_ocl.yml.j2 index 68144b62..4d1342d9 100644 --- a/config/installers/compass4nfv/network_ocl.yml.j2 +++ b/config/installers/compass4nfv/network_ocl.yml.j2 @@ -23,7 +23,7 @@ provider_net_mappings: sys_intf_mappings: - name: mgmt interface: eth3 - vlan_tag: {{ conf['nodes'][0]['interfaces'][2]['vlan'] }} #not a good fit + vlan_tag: {{ conf['nodes'][0]['interfaces'][2]['vlan'] }} # not a good fit type: vlan role: - controller diff --git a/config/installers/compass4nfv/network_onos.yml.j2 b/config/installers/compass4nfv/network_onos.yml.j2 index 017560b9..90174c85 100644 --- a/config/installers/compass4nfv/network_onos.yml.j2 +++ b/config/installers/compass4nfv/network_onos.yml.j2 @@ -23,7 +23,7 @@ provider_net_mappings: sys_intf_mappings: - name: mgmt interface: eth3 - vlan_tag: {{ conf['nodes'][0]['interfaces'][2]['vlan'] }} #not a good fit + vlan_tag: {{ conf['nodes'][0]['interfaces'][2]['vlan'] }} # not a good fit type: vlan role: - controller @@ -31,7 +31,7 @@ sys_intf_mappings: - name: storage interface: eth2 - vlan_tag: {{ conf['nodes'][0]['interfaces'][1]['vlan'] }} #not a good fit + vlan_tag: {{ conf['nodes'][0]['interfaces'][1]['vlan'] }} # not a good fit type: vlan role: - controller diff --git a/config/installers/compass4nfv/network_openo.yml.j2 b/config/installers/compass4nfv/network_openo.yml.j2 index a8dc016a..37b34c7f 100644 --- a/config/installers/compass4nfv/network_openo.yml.j2 +++ b/config/installers/compass4nfv/network_openo.yml.j2 @@ -23,7 +23,7 @@ provider_net_mappings: sys_intf_mappings: - name: mgmt interface: eth3 - vlan_tag: {{ conf['nodes'][0]['interfaces'][2]['vlan'] }} #not a good fit + vlan_tag: {{ conf['nodes'][0]['interfaces'][2]['vlan'] }} # not a good fit type: vlan role: - controller @@ -32,7 +32,7 @@ sys_intf_mappings: - name: storage interface: eth2 vlan_tag: 804 - type: {{ conf['nodes'][0]['interfaces'][1]['vlan'] }} #not a good fit + type: {{ conf['nodes'][0]['interfaces'][1]['vlan'] }} # not a good fit role: - controller - compute diff --git a/config/installers/compass4nfv/os-nosdn-nofeature-ha.yml.j2 b/config/installers/compass4nfv/os-nosdn-nofeature-ha.yml.j2 index 38b7e260..2dcf048c 100644 --- a/config/installers/compass4nfv/os-nosdn-nofeature-ha.yml.j2 +++ b/config/installers/compass4nfv/os-nosdn-nofeature-ha.yml.j2 @@ -10,7 +10,7 @@ --- TYPE: baremetal FLAVOR: cluster -POWER_TOOL: '{{ conf['jumphost']['remote_params']['type'] }}tool' #expects string ipmitool +POWER_TOOL: '{{ conf['jumphost']['remote_params']['type'] }}tool' # expects string ipmitool ipmiUser: {{ conf['jumphost']['remote_params']['user'] }} ipmiPass: {{ conf['jumphost']['remote_params']['pass'] }} @@ -18,7 +18,7 @@ ipmiVer: '{{ conf['jumphost']['remote_params']['versions'][0] }}' hosts: - name: {{ conf['nodes'][0]['name'] }} - mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][0]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][0]['interfaces'][1]['mac_address'] }}' @@ -31,7 +31,7 @@ hosts: - ceph-mon - name: {{ conf['nodes'][1]['name'] }} - mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][1]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][1]['interfaces'][1]['mac_address'] }}' @@ -43,7 +43,7 @@ hosts: - ceph-mon - name: {{ conf['nodes'][2]['name'] }} - mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][2]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][2]['interfaces'][1]['mac_address'] }}' @@ -55,7 +55,7 @@ hosts: - ceph-mon - name: {{ conf['nodes'][3]['name'] }} - mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][3]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][3]['interfaces'][1]['mac_address'] }}' @@ -66,7 +66,7 @@ hosts: - ceph-osd - name: {{ conf['nodes'][4]['name'] }} - mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][4]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][4]['interfaces'][1]['mac_address'] }}' diff --git a/config/installers/compass4nfv/os-nosdn-openo-ha.yml.j2 b/config/installers/compass4nfv/os-nosdn-openo-ha.yml.j2 index 88823b7a..6deb19de 100644 --- a/config/installers/compass4nfv/os-nosdn-openo-ha.yml.j2 +++ b/config/installers/compass4nfv/os-nosdn-openo-ha.yml.j2 @@ -10,7 +10,7 @@ --- TYPE: baremetal FLAVOR: cluster -POWER_TOOL: '{{ conf['jumphost']['remote_params']['type'] }}tool' #expects string ipmitool +POWER_TOOL: '{{ conf['jumphost']['remote_params']['type'] }}tool' # expects string ipmitool ipmiUser: {{ conf['jumphost']['remote_params']['user'] }} ipmiPass: {{ conf['jumphost']['remote_params']['pass'] }} @@ -26,7 +26,7 @@ deploy_options: hosts: - name: {{ conf['nodes'][0]['name'] }} - mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][0]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][0]['interfaces'][1]['mac_address'] }}' @@ -39,7 +39,7 @@ hosts: - ceph-mon - name: {{ conf['nodes'][1]['name'] }} - mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][1]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][1]['interfaces'][1]['mac_address'] }}' @@ -51,7 +51,7 @@ hosts: - ceph-mon - name: {{ conf['nodes'][2]['name'] }} - mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][2]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][2]['interfaces'][1]['mac_address'] }}' @@ -63,7 +63,7 @@ hosts: - ceph-mon - name: {{ conf['nodes'][3]['name'] }} - mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][3]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][3]['interfaces'][1]['mac_address'] }}' @@ -74,7 +74,7 @@ hosts: - ceph-osd - name: {{ conf['nodes'][4]['name'] }} - mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][4]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][4]['interfaces'][1]['mac_address'] }}' diff --git a/config/installers/compass4nfv/os-ocl-nofeature-ha.yml.j2 b/config/installers/compass4nfv/os-ocl-nofeature-ha.yml.j2 index 57c6ad89..d03c7e87 100644 --- a/config/installers/compass4nfv/os-ocl-nofeature-ha.yml.j2 +++ b/config/installers/compass4nfv/os-ocl-nofeature-ha.yml.j2 @@ -10,7 +10,7 @@ --- TYPE: baremetal FLAVOR: cluster -POWER_TOOL: '{{ conf['jumphost']['remote_params']['type'] }}tool' #expects string ipmitool +POWER_TOOL: '{{ conf['jumphost']['remote_params']['type'] }}tool' # expects string ipmitool ipmiUser: {{ conf['jumphost']['remote_params']['user'] }} ipmiPass: {{ conf['jumphost']['remote_params']['pass'] }} @@ -18,7 +18,7 @@ ipmiVer: '{{ conf['jumphost']['remote_params']['versions'][0] }}' hosts: - name: {{ conf['nodes'][0]['name'] }} - mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][0]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][0]['interfaces'][1]['mac_address'] }}' @@ -32,7 +32,7 @@ hosts: - ceph-mon - name: {{ conf['nodes'][1]['name'] }} - mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][1]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][1]['interfaces'][1]['mac_address'] }}' @@ -43,7 +43,7 @@ hosts: - ceph-osd - name: {{ conf['nodes'][2]['name'] }} - mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][2]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][2]['interfaces'][1]['mac_address'] }}' @@ -54,7 +54,7 @@ hosts: - ceph-osd - name: {{ conf['nodes'][3]['name'] }} - mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][3]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][3]['interfaces'][1]['mac_address'] }}' @@ -65,12 +65,12 @@ hosts: - ceph-osd - name: {{ conf['nodes'][4]['name'] }} - mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][4]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][4]['interfaces'][1]['mac_address'] }}' - eth3: '{{ conf['nodes'][4]['interfaces'][2]['mac_address'] }}' ipmiIp: {{ conf['nodes'][4]['remote_management']['address'] }} - roles: + roles: - compute - ceph-osd diff --git a/config/installers/compass4nfv/os-odl_l2-moon-ha.yml.j2 b/config/installers/compass4nfv/os-odl_l2-moon-ha.yml.j2 index 7b348028..d3d8aa1d 100644 --- a/config/installers/compass4nfv/os-odl_l2-moon-ha.yml.j2 +++ b/config/installers/compass4nfv/os-odl_l2-moon-ha.yml.j2 @@ -9,7 +9,7 @@ --- TYPE: baremetal FLAVOR: cluster -POWER_TOOL: '{{ conf['jumphost']['remote_params']['type'] }}tool' #expects string ipmitool +POWER_TOOL: '{{ conf['jumphost']['remote_params']['type'] }}tool' # expects string ipmitool ipmiUser: {{ conf['jumphost']['remote_params']['user'] }} ipmiPass: {{ conf['jumphost']['remote_params']['pass'] }} @@ -17,7 +17,7 @@ ipmiVer: '{{ conf['jumphost']['remote_params']['versions'][0] }}' hosts: - name: {{ conf['nodes'][0]['name'] }} - mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][0]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][0]['interfaces'][1]['mac_address'] }}' @@ -31,7 +31,7 @@ hosts: - ceph-mon - name: {{ conf['nodes'][1]['name'] }} - mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][1]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][1]['interfaces'][1]['mac_address'] }}' @@ -44,7 +44,7 @@ hosts: - ceph-mon - name: {{ conf['nodes'][2]['name'] }} - mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][2]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][2]['interfaces'][1]['mac_address'] }}' @@ -57,7 +57,7 @@ hosts: - ceph-mon - name: {{ conf['nodes'][3]['name'] }} - mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][3]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][3]['interfaces'][1]['mac_address'] }}' @@ -68,7 +68,7 @@ hosts: - ceph-osd - name: {{ conf['nodes'][4]['name'] }} - mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][4]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][4]['interfaces'][1]['mac_address'] }}' diff --git a/config/installers/compass4nfv/os-odl_l2-nofeature-ha.yml.j2 b/config/installers/compass4nfv/os-odl_l2-nofeature-ha.yml.j2 index 9690b1fb..1ba947a5 100644 --- a/config/installers/compass4nfv/os-odl_l2-nofeature-ha.yml.j2 +++ b/config/installers/compass4nfv/os-odl_l2-nofeature-ha.yml.j2 @@ -10,7 +10,7 @@ --- TYPE: baremetal FLAVOR: cluster -POWER_TOOL: '{{ conf['jumphost']['remote_params']['type'] }}tool' #expects string ipmitool +POWER_TOOL: '{{ conf['jumphost']['remote_params']['type'] }}tool' # expects string ipmitool ipmiUser: {{ conf['jumphost']['remote_params']['user'] }} ipmiPass: {{ conf['jumphost']['remote_params']['pass'] }} @@ -18,7 +18,7 @@ ipmiVer: '{{ conf['jumphost']['remote_params']['versions'][0] }}' hosts: - name: {{ conf['nodes'][0]['name'] }} - mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][0]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][0]['interfaces'][1]['mac_address'] }}' @@ -32,7 +32,7 @@ hosts: - ceph-mon - name: {{ conf['nodes'][1]['name'] }} - mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][1]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][1]['interfaces'][1]['mac_address'] }}' @@ -45,7 +45,7 @@ hosts: - ceph-mon - name: {{ conf['nodes'][2]['name'] }} - mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][2]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][2]['interfaces'][1]['mac_address'] }}' @@ -58,7 +58,7 @@ hosts: - ceph-mon - name: {{ conf['nodes'][3]['name'] }} - mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][3]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][3]['interfaces'][1]['mac_address'] }}' @@ -69,7 +69,7 @@ hosts: - ceph-osd - name: {{ conf['nodes'][4]['name'] }} - mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][4]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][4]['interfaces'][1]['mac_address'] }}' diff --git a/config/installers/compass4nfv/os-odl_l3-nofeature-ha.yml.j2 b/config/installers/compass4nfv/os-odl_l3-nofeature-ha.yml.j2 index dfb4d29d..d81769c4 100644 --- a/config/installers/compass4nfv/os-odl_l3-nofeature-ha.yml.j2 +++ b/config/installers/compass4nfv/os-odl_l3-nofeature-ha.yml.j2 @@ -9,7 +9,7 @@ --- TYPE: baremetal FLAVOR: cluster -POWER_TOOL: '{{ conf['jumphost']['remote_params']['type'] }}tool' #expects string ipmitool +POWER_TOOL: '{{ conf['jumphost']['remote_params']['type'] }}tool' # expects string ipmitool ipmiUser: {{ conf['jumphost']['remote_params']['user'] }} ipmiPass: {{ conf['jumphost']['remote_params']['pass'] }} @@ -19,7 +19,7 @@ odl_l3_agent: "Enable" hosts: - name: {{ conf['nodes'][0]['name'] }} - mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][0]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][0]['interfaces'][1]['mac_address'] }}' @@ -33,7 +33,7 @@ hosts: - ceph-mon - name: {{ conf['nodes'][1]['name'] }} - mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][1]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][1]['interfaces'][1]['mac_address'] }}' @@ -46,7 +46,7 @@ hosts: - ceph-mon - name: {{ conf['nodes'][2]['name'] }} - mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][2]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][2]['interfaces'][1]['mac_address'] }}' @@ -59,7 +59,7 @@ hosts: - ceph-mon - name: {{ conf['nodes'][3]['name'] }} - mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][3]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][3]['interfaces'][1]['mac_address'] }}' @@ -70,7 +70,7 @@ hosts: - ceph-osd - name: {{ conf['nodes'][4]['name'] }} - mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][4]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][4]['interfaces'][1]['mac_address'] }}' diff --git a/config/installers/compass4nfv/os-onos-nofeature-ha.yml.j2 b/config/installers/compass4nfv/os-onos-nofeature-ha.yml.j2 index 042bb2ff..8c731a5b 100644 --- a/config/installers/compass4nfv/os-onos-nofeature-ha.yml.j2 +++ b/config/installers/compass4nfv/os-onos-nofeature-ha.yml.j2 @@ -9,7 +9,7 @@ --- TYPE: baremetal FLAVOR: cluster -POWER_TOOL: '{{ conf['jumphost']['remote_params']['type'] }}tool' #expects string ipmitool +POWER_TOOL: '{{ conf['jumphost']['remote_params']['type'] }}tool' # expects string ipmitool ipmiUser: {{ conf['jumphost']['remote_params']['user'] }} ipmiPass: {{ conf['jumphost']['remote_params']['pass'] }} @@ -17,7 +17,7 @@ ipmiVer: '{{ conf['jumphost']['remote_params']['versions'][0] }}' hosts: - name: {{ conf['nodes'][0]['name'] }} - mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][0]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][0]['interfaces'][1]['mac_address'] }}' @@ -31,7 +31,7 @@ hosts: - ceph-mon - name: {{ conf['nodes'][1]['name'] }} - mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][1]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][1]['interfaces'][1]['mac_address'] }}' @@ -44,7 +44,7 @@ hosts: - ceph-mon - name: {{ conf['nodes'][2]['name'] }} - mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][2]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][2]['interfaces'][1]['mac_address'] }}' @@ -57,7 +57,7 @@ hosts: - ceph-mon - name: {{ conf['nodes'][3]['name'] }} - mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][3]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][3]['interfaces'][1]['mac_address'] }}' @@ -68,7 +68,7 @@ hosts: - ceph-osd - name: {{ conf['nodes'][4]['name'] }} - mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][4]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][4]['interfaces'][1]['mac_address'] }}' diff --git a/config/installers/compass4nfv/os-onos-sfc-ha.yml.j2 b/config/installers/compass4nfv/os-onos-sfc-ha.yml.j2 index 746ca361..bbc4723d 100644 --- a/config/installers/compass4nfv/os-onos-sfc-ha.yml.j2 +++ b/config/installers/compass4nfv/os-onos-sfc-ha.yml.j2 @@ -9,7 +9,7 @@ --- TYPE: baremetal FLAVOR: cluster -POWER_TOOL: '{{ conf['jumphost']['remote_params']['type'] }}tool' #expects string ipmitool +POWER_TOOL: '{{ conf['jumphost']['remote_params']['type'] }}tool' # expects string ipmitool ipmiUser: {{ conf['jumphost']['remote_params']['user'] }} ipmiPass: {{ conf['jumphost']['remote_params']['pass'] }} @@ -19,7 +19,7 @@ onos_sfc: "Enable" hosts: - name: {{ conf['nodes'][0]['name'] }} - mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][0]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][0]['interfaces'][1]['mac_address'] }}' @@ -33,7 +33,7 @@ hosts: - ceph-mon - name: {{ conf['nodes'][1]['name'] }} - mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][1]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][1]['interfaces'][1]['mac_address'] }}' @@ -46,7 +46,7 @@ hosts: - ceph-mon - name: {{ conf['nodes'][2]['name'] }} - mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][2]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][2]['interfaces'][1]['mac_address'] }}' @@ -59,7 +59,7 @@ hosts: - ceph-mon - name: {{ conf['nodes'][3]['name'] }} - mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][3]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][3]['interfaces'][1]['mac_address'] }}' @@ -70,7 +70,7 @@ hosts: - ceph-osd - name: {{ conf['nodes'][4]['name'] }} - mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' #is this the ipmi mac address? + mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' # this is the ipmi mac address interfaces: - eth1: '{{ conf['nodes'][4]['interfaces'][0]['mac_address'] }}' - eth2: '{{ conf['nodes'][4]['interfaces'][1]['mac_address'] }}' diff --git a/config/installers/daisy/network-dpdk.yaml.j2 b/config/installers/daisy/network-dpdk.yaml.j2 deleted file mode 100644 index ccd7c8c5..00000000 --- a/config/installers/daisy/network-dpdk.yaml.j2 +++ /dev/null @@ -1,109 +0,0 @@ -############################################################################## -# Copyright (c) 2017 ZTE Corporation and others. -# -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 -############################################################################## - -############################################################################## -# Description -# MANAGEMENT: used for management -# STORAGE: used for storage access -# EXTERNAL: tenant public/floating IP associated network -# PUBLICAPI: used for horizon access, openstack API access -# TENANT: used for tenant access, vlan and VxLan supported, default VxLan -# HEARTBEAT: used for heartbeat, requires a dedicated interface -############################################################################## - ---- - -network-config-metadata: - title: 'Deployment Adapter for baremetal POD' - version: '0.1' - created: 'Nov 22 2017' - comment: 'For Daisy initial' - -{%- set mapping = {'HEARTBEAT': 'admin', - 'MANAGEMENT': 'mgmt', - 'PUBLICAPI': 'mgmt', - 'STORAGE': 'storage', - 'TENANT': 'public', - 'EXTERNAL': 'public'} -%} - -{%- if "idf" in conf and ("daisy" in conf["idf"] or "fuel" in conf["idf"]) -%} - {%- if "daisy" in conf["idf"] -%} - {%- set installer = "daisy" -%} - {%- else -%} - {%- set installer = "fuel" -%} - {%- endif %} - -networks: - - {%- set nodes_num = conf['nodes'] | length -%} - {%- set networks = {} -%} - {%- for key in mapping -%} - {%- set net_data = conf['net_config'][mapping[key]] -%} - {%- set interface = net_data['interface'] -%} - {%- set interface_name = conf.idf[installer].network.node[0].interfaces[interface] -%} - {%- set bus_addr = conf.idf[installer].network.node[0].busaddr[interface] -%} - {%- set vlan = net_data['vlan'] -%} - {%- if vlan == "native" or vlan == None -%} - {%- set vlan = "null" -%} - {%- endif -%} - {%- set network = net_data['network'] -%} - {%- set ips = network.split(".") -%} - {%- set mask = net_data['mask'] -%} - {%- if 'ip-range' in net_data -%} - {%- set ip_range = net_data['ip-range'] -%} - {%- set (start, end) = ip_range.split("-") -%} - {%- else -%} - {%- set start = ".".join([ips[0], ips[1], ips[2], "10"]) -%} - {%- set end = ".".join([ips[0], ips[1], ips[2], "200"]) -%} - {%- endif -%} - {%- set vip = start.split(".")[3] | int -%} - {%- set vip = vip + nodes_num + 10 - (vip + nodes_num) % 10 -%} - {%- set vip = ".".join([ips[0], ips[1], ips[2], vip | string]) -%} - - {%- if 'gateway' in net_data -%} - {%- set gateway = net_data.gateway -%} - {%- else -%} - {%- set gateway = ".".join([ips[0], ips[1], ips[2], "1"]) -%} - {%- endif -%} - - {%- set networks = networks.update({key: {'interface_name': interface_name, - 'bus_addr': bus_addr, - 'vlan': vlan, - 'network': network, - 'mask': mask, - 'start': start, - 'end': end, - 'vip': vip, - 'gateway': gateway - } - }) %} - - - cidr: '{{ network }}/{{ mask }}' - gateway: '{{ gateway }}' - ip_ranges: - - 'start': '{{ start }}' - 'end': '{{ end }}' - vlan_id: {{ vlan }} - name: '{{ key }}' - {%- if key == 'EXTERNAL' %} - network_name: 'admin_external' - mapping: 'physnet1' - {%- endif -%} - {%- endfor %} - -interfaces: - {%- for key in mapping %} - - name: '{{ key }}' - interface: '{{ networks[key].interface_name }}' - {%- endfor %} - -internal_vip: '{{ networks['MANAGEMENT'].vip }}' -public_vip: '{{ networks['PUBLICAPI'].vip }}' - -{%- endif %} diff --git a/config/installers/daisy/network.yaml.j2 b/config/installers/daisy/network.yaml.j2 index 914df461..f5ac6150 100644 --- a/config/installers/daisy/network.yaml.j2 +++ b/config/installers/daisy/network.yaml.j2 @@ -44,7 +44,7 @@ networks: {%- set nodes_num = conf['nodes'] | length -%} {%- set networks = {} -%} {%- for key in mapping -%} - {%- set net_data = conf['net_config'][mapping[key]] -%} + {%- set net_data = conf.idf.net_config[mapping[key]] -%} {%- set interface = net_data['interface'] -%} {%- set interface_name = conf.idf[installer].network.node[0].interfaces[interface] -%} {%- set bus_addr = conf.idf[installer].network.node[0].busaddr[interface] -%} diff --git a/config/installers/daisy/pod_config.yaml.j2 b/config/installers/daisy/pod_config.yaml.j2 index 776d2ecf..8057f68c 100644 --- a/config/installers/daisy/pod_config.yaml.j2 +++ b/config/installers/daisy/pod_config.yaml.j2 @@ -11,6 +11,8 @@ adapter: {{ conf['jumphost']['remote_params']['type'] }} hosts: + {%- set nodes_num = conf['nodes'] | length -%} + {%- if nodes_num == 5 %} - name: 'controller01' roles: - 'CONTROLLER_LB' @@ -51,12 +53,39 @@ hosts: ipmi_pass: {{ conf['nodes'][4]['remote_management']['pass'] }} mac_addresses:{% for nic in conf['nodes'][4]['interfaces'] %} - {{ nic['mac_address'] }}{% endfor %} + {%- endif %} + {%- if nodes_num == 3 %} + - name: 'controller01' + roles: + - 'CONTROLLER_LB' + ipmi_ip: {{ conf['nodes'][0]['remote_management']['address'] }} + ipmi_user: {{ conf['nodes'][0]['remote_management']['user'] }} + ipmi_pass: {{ conf['nodes'][0]['remote_management']['pass'] }} + mac_addresses:{% for nic in conf['nodes'][0]['interfaces'] %} + - {{ nic['mac_address'] }}{% endfor %} + - name: 'computer01' + roles: + - 'COMPUTER' + ipmi_ip: {{ conf['nodes'][1]['remote_management']['address'] }} + ipmi_user: {{ conf['nodes'][1]['remote_management']['user'] }} + ipmi_pass: {{ conf['nodes'][1]['remote_management']['pass'] }} + mac_addresses:{% for nic in conf['nodes'][1]['interfaces'] %} + - {{ nic['mac_address'] }}{% endfor %} + - name: 'computer02' + roles: + - 'COMPUTER' + ipmi_ip: {{ conf['nodes'][2]['remote_management']['address'] }} + ipmi_user: {{ conf['nodes'][2]['remote_management']['user'] }} + ipmi_pass: {{ conf['nodes'][2]['remote_management']['pass'] }} + mac_addresses:{% for nic in conf['nodes'][2]['interfaces'] %} + - {{ nic['mac_address'] }}{% endfor %} + {%- endif %} disks: daisy: 50 daisy_passwd: 'r00tme' {% if 'fixed_ips' in conf['jumphost'] -%} daisy_gateway: {{ conf['jumphost']['fixed_ips']['admin'] }} {%- else -%} -daisy_gateway: {{ conf['jumphost']['interfaces'][0]['address'][0] }} +daisy_gateway: {{ conf['jumphost']['interfaces'][0]['address'] }} {%- endif %} ceph_disk_name: '/dev/sdb' diff --git a/config/installers/fuel/pod_config.yml.j2 b/config/installers/fuel/pod_config.yml.j2 index 28c61888..8a4d869e 100644 --- a/config/installers/fuel/pod_config.yml.j2 +++ b/config/installers/fuel/pod_config.yml.j2 @@ -1,97 +1,96 @@ -{%- if conf.net_config is defined -%} - {%- set net_admin = conf['net_config']['admin']['network'] -%} - {%- set net_mgmt = conf['net_config']['mgmt']['network'] -%} - {%- set net_private = conf['net_config']['private']['network'] -%} - {%- set net_public = conf['net_config']['public']['network'] -%} - {%- set vlan_mgmt = conf['net_config']['mgmt']['vlan'] -%} - {%- set vlan_private = conf['net_config']['private']['vlan'] -%} - {%- if conf.net_config.public.dns is defined -%} - {%- set dns_public = conf['net_config']['public']['dns'] -%} - {%- endif -%} - {%- set pxe_interface = conf['net_config']['admin']['interface'] -%} - {%- if conf.net_config.public.gateway is defined -%} - {%- set net_public_gw = conf['net_config']['public']['gateway'] -%} - {%- endif -%} -{%- else -%} - {%- set net_admin = '192.168.11.0' -%} - {%- set net_mgmt = '172.16.10.0' -%} - {%- set net_private = '10.1.0.0' -%} - {%- set net_public = '172.30.10.0' -%} - {%- set vlan_mgmt = '300' -%} - {%- set vlan_private = '1000' -%} - {%- set pxe_interface = 0 -%} -{%- endif -%} - -{%- if dns_public is not defined -%} - {%- set dns_public = [ '8.8.8.8', '8.8.4.4' ] -%} -{%- endif -%} -{%- if net_public_gw is not defined -%} - {%- set net_public_gw = net_public | ipaddr_index('1') -%} -{%- endif -%} --- +{%- if conf.idf is defined and conf.idf.fuel is defined -%} + {%- if conf.idf.net_config is defined -%} + {%- set net_admin = conf.idf.net_config.admin.network -%} + {%- set net_mgmt = conf.idf.net_config.mgmt.network -%} + {%- set net_private = conf.idf.net_config.private.network -%} + {%- set net_public = conf.idf.net_config.public.network -%} + {%- set vlan_mgmt = conf.idf.net_config.mgmt.vlan -%} + {%- set vlan_private = conf.idf.net_config.private.vlan -%} + {%- if conf.idf.net_config.public.dns is defined -%} + {%- set dns_public = conf.idf.net_config.public.dns -%} + {%- endif -%} + {%- set pxe_interface = conf.idf.net_config.admin.interface -%} + {%- if conf.idf.net_config.public.gateway is defined -%} + {%- set net_public_gw = conf.idf.net_config.public.gateway -%} + {%- endif -%} + {%- else -%} + {%- set net_admin = '192.168.11.0' -%} + {%- set net_mgmt = '172.16.10.0' -%} + {%- set net_private = '10.1.0.0' -%} + {%- set net_public = '172.30.10.0' -%} + {%- set vlan_mgmt = '300' -%} + {%- set vlan_private = '1000' -%} + {%- set pxe_interface = 0 -%} + {%- endif -%} + + {%- if dns_public is not defined -%} + {%- set dns_public = [ '8.8.8.8', '8.8.4.4' ] -%} + {%- endif -%} + {%- if net_public_gw is not defined -%} + {%- set net_public_gw = net_public | ipaddr_index('1') -%} + {%- endif %} parameters: _param: -{%- if conf.idf is defined %} - opnfv_jump_bridge_admin: {{ conf['idf']['fuel']['jumphost']['bridges']['admin'] }} - opnfv_jump_bridge_mgmt: {{ conf['idf']['fuel']['jumphost']['bridges']['mgmt'] }} - opnfv_jump_bridge_private: {{ conf['idf']['fuel']['jumphost']['bridges']['private'] }} - opnfv_jump_bridge_public: {{ conf['idf']['fuel']['jumphost']['bridges']['public'] }} -{%- endif %} + opnfv_jump_bridge_admin: {{ conf.idf.fuel.jumphost.bridges.admin }} + opnfv_jump_bridge_mgmt: {{ conf.idf.fuel.jumphost.bridges.mgmt }} + opnfv_jump_bridge_private: {{ conf.idf.fuel.jumphost.bridges.private }} + opnfv_jump_bridge_public: {{ conf.idf.fuel.jumphost.bridges.public }} - opnfv_infra_config_address: {{ net_mgmt | ipaddr_index('100') }} - opnfv_infra_maas_node01_address: {{ net_mgmt | ipaddr_index('3') }} - opnfv_infra_maas_node01_deploy_address: {{ net_admin | ipaddr_index('3') }} - opnfv_infra_kvm_address: {{ net_mgmt | ipaddr_index('140') }} - opnfv_infra_kvm_node01_address: {{ net_mgmt | ipaddr_index('141') }} - opnfv_infra_kvm_node02_address: {{ net_mgmt | ipaddr_index('142') }} - opnfv_infra_kvm_node03_address: {{ net_mgmt | ipaddr_index('143') }} + opnfv_infra_config_address: {{ net_mgmt | ipaddr_index(100) }} + opnfv_infra_maas_node01_address: {{ net_mgmt | ipaddr_index(3) }} + opnfv_infra_maas_node01_deploy_address: {{ net_admin | ipaddr_index(3) }} + opnfv_infra_kvm_address: {{ net_mgmt | ipaddr_index(140) }} + opnfv_infra_kvm_node01_address: {{ net_mgmt | ipaddr_index(141) }} + opnfv_infra_kvm_node02_address: {{ net_mgmt | ipaddr_index(142) }} + opnfv_infra_kvm_node03_address: {{ net_mgmt | ipaddr_index(143) }} opnfv_infra_maas_pxe_network_address: {{ net_admin }} - opnfv_infra_maas_pxe_address: {{ net_admin | ipaddr_index('3') }} - opnfv_infra_maas_pxe_start_address: {{ net_admin | ipaddr_index('5') }} - opnfv_infra_maas_pxe_end_address: {{ net_admin | ipaddr_index('250') }} + opnfv_infra_maas_pxe_address: {{ net_admin | ipaddr_index(3) }} + opnfv_infra_maas_pxe_start_address: {{ net_admin | ipaddr_index(5) }} + opnfv_infra_maas_pxe_end_address: {{ net_admin | ipaddr_index(250) }} - opnfv_openstack_gateway_node01_address: {{ net_mgmt | ipaddr_index('124') }} - opnfv_openstack_gateway_node02_address: {{ net_mgmt | ipaddr_index('125') }} - opnfv_openstack_gateway_node03_address: {{ net_mgmt | ipaddr_index('126') }} - opnfv_openstack_gateway_node01_tenant_address: {{ net_private | ipaddr_index('6') }} - opnfv_openstack_gateway_node02_tenant_address: {{ net_private | ipaddr_index('7') }} - opnfv_openstack_gateway_node03_tenant_address: {{ net_private | ipaddr_index('9') }} - opnfv_openstack_proxy_address: {{ net_public | ipaddr_index('103') }} - opnfv_openstack_proxy_node01_address: {{ net_public | ipaddr_index('104') }} - opnfv_openstack_proxy_node02_address: {{ net_public | ipaddr_index('105') }} - opnfv_openstack_proxy_node01_control_address: {{ net_mgmt | ipaddr_index('104') }} - opnfv_openstack_proxy_node02_control_address: {{ net_mgmt | ipaddr_index('105') }} - opnfv_openstack_control_address: {{ net_mgmt | ipaddr_index('10') }} - opnfv_openstack_control_node01_address: {{ net_mgmt | ipaddr_index('11') }} - opnfv_openstack_control_node02_address: {{ net_mgmt | ipaddr_index('12') }} - opnfv_openstack_control_node03_address: {{ net_mgmt | ipaddr_index('13') }} - opnfv_openstack_database_address: {{ net_mgmt | ipaddr_index('50') }} - opnfv_openstack_database_node01_address: {{ net_mgmt | ipaddr_index('51') }} - opnfv_openstack_database_node02_address: {{ net_mgmt | ipaddr_index('52') }} - opnfv_openstack_database_node03_address: {{ net_mgmt | ipaddr_index('53') }} - opnfv_openstack_message_queue_address: {{ net_mgmt | ipaddr_index('40') }} - opnfv_openstack_message_queue_node01_address: {{ net_mgmt | ipaddr_index('41') }} - opnfv_openstack_message_queue_node02_address: {{ net_mgmt | ipaddr_index('42') }} - opnfv_openstack_message_queue_node03_address: {{ net_mgmt | ipaddr_index('43') }} - opnfv_openstack_telemetry_address: {{ net_mgmt | ipaddr_index('75') }} - opnfv_openstack_telemetry_node01_address: {{ net_mgmt | ipaddr_index('76') }} - opnfv_openstack_telemetry_node02_address: {{ net_mgmt | ipaddr_index('77') }} - opnfv_openstack_telemetry_node03_address: {{ net_mgmt | ipaddr_index('78') }} - opnfv_openstack_compute_node01_single_address: {{ net_mgmt | ipaddr_index('101') }} - opnfv_openstack_compute_node02_single_address: {{ net_mgmt | ipaddr_index('102') }} - opnfv_openstack_compute_node03_single_address: {{ net_mgmt | ipaddr_index('103') }} - opnfv_openstack_compute_node01_control_address: {{ net_mgmt | ipaddr_index('101') }} - opnfv_openstack_compute_node02_control_address: {{ net_mgmt | ipaddr_index('102') }} - opnfv_openstack_compute_node03_control_address: {{ net_mgmt | ipaddr_index('103') }} - opnfv_openstack_compute_node01_tenant_address: {{ net_private | ipaddr_index('101') }} - opnfv_openstack_compute_node02_tenant_address: {{ net_private | ipaddr_index('102') }} - opnfv_openstack_compute_node03_tenant_address: {{ net_private | ipaddr_index('103') }} - opnfv_openstack_compute_node01_external_address: {{ net_public | ipaddr_index('101') }} - opnfv_openstack_compute_node02_external_address: {{ net_public | ipaddr_index('102') }} + opnfv_openstack_gateway_node01_address: {{ net_mgmt | ipaddr_index(124) }} + opnfv_openstack_gateway_node02_address: {{ net_mgmt | ipaddr_index(125) }} + opnfv_openstack_gateway_node03_address: {{ net_mgmt | ipaddr_index(126) }} + opnfv_openstack_gateway_node01_tenant_address: {{ net_private | ipaddr_index(6) }} + opnfv_openstack_gateway_node02_tenant_address: {{ net_private | ipaddr_index(7) }} + opnfv_openstack_gateway_node03_tenant_address: {{ net_private | ipaddr_index(9) }} + opnfv_openstack_proxy_address: {{ net_public | ipaddr_index(103) }} + opnfv_openstack_proxy_node01_address: {{ net_public | ipaddr_index(104) }} + opnfv_openstack_proxy_node02_address: {{ net_public | ipaddr_index(105) }} + opnfv_openstack_proxy_node01_control_address: {{ net_mgmt | ipaddr_index(104) }} + opnfv_openstack_proxy_node02_control_address: {{ net_mgmt | ipaddr_index(105) }} + opnfv_openstack_control_address: {{ net_mgmt | ipaddr_index(10) }} + opnfv_openstack_control_node01_address: {{ net_mgmt | ipaddr_index(11) }} + opnfv_openstack_control_node02_address: {{ net_mgmt | ipaddr_index(12) }} + opnfv_openstack_control_node03_address: {{ net_mgmt | ipaddr_index(13) }} + opnfv_openstack_database_address: {{ net_mgmt | ipaddr_index(50) }} + opnfv_openstack_database_node01_address: {{ net_mgmt | ipaddr_index(51) }} + opnfv_openstack_database_node02_address: {{ net_mgmt | ipaddr_index(52) }} + opnfv_openstack_database_node03_address: {{ net_mgmt | ipaddr_index(53) }} + opnfv_openstack_message_queue_address: {{ net_mgmt | ipaddr_index(40) }} + opnfv_openstack_message_queue_node01_address: {{ net_mgmt | ipaddr_index(41) }} + opnfv_openstack_message_queue_node02_address: {{ net_mgmt | ipaddr_index(42) }} + opnfv_openstack_message_queue_node03_address: {{ net_mgmt | ipaddr_index(43) }} + opnfv_openstack_telemetry_address: {{ net_mgmt | ipaddr_index(75) }} + opnfv_openstack_telemetry_node01_address: {{ net_mgmt | ipaddr_index(76) }} + opnfv_openstack_telemetry_node02_address: {{ net_mgmt | ipaddr_index(77) }} + opnfv_openstack_telemetry_node03_address: {{ net_mgmt | ipaddr_index(78) }} + opnfv_openstack_compute_node01_single_address: {{ net_mgmt | ipaddr_index(101) }} + opnfv_openstack_compute_node02_single_address: {{ net_mgmt | ipaddr_index(102) }} + opnfv_openstack_compute_node03_single_address: {{ net_mgmt | ipaddr_index(103) }} + opnfv_openstack_compute_node01_control_address: {{ net_mgmt | ipaddr_index(101) }} + opnfv_openstack_compute_node02_control_address: {{ net_mgmt | ipaddr_index(102) }} + opnfv_openstack_compute_node03_control_address: {{ net_mgmt | ipaddr_index(103) }} + opnfv_openstack_compute_node01_tenant_address: {{ net_private | ipaddr_index(101) }} + opnfv_openstack_compute_node02_tenant_address: {{ net_private | ipaddr_index(102) }} + opnfv_openstack_compute_node03_tenant_address: {{ net_private | ipaddr_index(103) }} + opnfv_openstack_compute_node01_external_address: {{ net_public | ipaddr_index(101) }} + opnfv_openstack_compute_node02_external_address: {{ net_public | ipaddr_index(102) }} - opnfv_opendaylight_server_node01_single_address: {{ net_mgmt | ipaddr_index('111') }} + opnfv_opendaylight_server_node01_single_address: {{ net_mgmt | ipaddr_index(111) }} opnfv_net_public_gw: {{ net_public_gw }} opnfv_name_servers: {{ dns_public }} @@ -100,37 +99,38 @@ parameters: opnfv_net_mgmt_vlan: {{ vlan_mgmt }} opnfv_net_tenant_vlan: {{ vlan_private }} - opnfv_maas_node01_architecture: '{{ conf['nodes'][0]['node']['arch'] | dpkg_arch }}/generic' - opnfv_maas_node01_power_address: {{ conf['nodes'][0]['remote_management']['address'].rsplit('/')[0]}} - opnfv_maas_node01_power_type: {{ conf['nodes'][0]['remote_management']['type'] }} - opnfv_maas_node01_power_user: {{ conf['nodes'][0]['remote_management']['user'] }} - opnfv_maas_node01_power_password: {{ conf['nodes'][0]['remote_management']['pass'] }} - opnfv_maas_node01_interface_mac: '{{ conf['nodes'][0]['interfaces'][pxe_interface]['mac_address'] }}' + opnfv_maas_node01_architecture: '{{ conf.nodes.0.node.arch | dpkg_arch }}/generic' + opnfv_maas_node01_power_address: {{ conf.nodes.0.remote_management.address.rsplit('/')[0] }} + opnfv_maas_node01_power_type: {{ conf.nodes.0.remote_management.type }} + opnfv_maas_node01_power_user: {{ conf.nodes.0.remote_management.user }} + opnfv_maas_node01_power_password: {{ conf.nodes.0.remote_management.pass }} + opnfv_maas_node01_interface_mac: '{{ conf.nodes.0.interfaces[pxe_interface].mac_address }}' - opnfv_maas_node02_architecture: '{{ conf['nodes'][1]['node']['arch'] | dpkg_arch }}/generic' - opnfv_maas_node02_power_address: {{ conf['nodes'][1]['remote_management']['address'].rsplit('/')[0] }} - opnfv_maas_node02_power_type: {{ conf['nodes'][1]['remote_management']['type'] }} - opnfv_maas_node02_power_user: {{ conf['nodes'][1]['remote_management']['user'] }} - opnfv_maas_node02_power_password: {{ conf['nodes'][1]['remote_management']['pass'] }} - opnfv_maas_node02_interface_mac: '{{ conf['nodes'][1]['interfaces'][pxe_interface]['mac_address'] }}' + opnfv_maas_node02_architecture: '{{ conf.nodes.1.node.arch | dpkg_arch }}/generic' + opnfv_maas_node02_power_address: {{ conf.nodes.1.remote_management.address.rsplit('/')[0] }} + opnfv_maas_node02_power_type: {{ conf.nodes.1.remote_management.type }} + opnfv_maas_node02_power_user: {{ conf.nodes.1.remote_management.user }} + opnfv_maas_node02_power_password: {{ conf.nodes.1.remote_management.pass }} + opnfv_maas_node02_interface_mac: '{{ conf.nodes.1.interfaces[pxe_interface].mac_address }}' - opnfv_maas_node03_architecture: '{{ conf['nodes'][2]['node']['arch'] | dpkg_arch }}/generic' - opnfv_maas_node03_power_address: {{ conf['nodes'][2]['remote_management']['address'].rsplit('/')[0] }} - opnfv_maas_node03_power_type: {{ conf['nodes'][2]['remote_management']['type'] }} - opnfv_maas_node03_power_user: {{ conf['nodes'][2]['remote_management']['user'] }} - opnfv_maas_node03_power_password: {{ conf['nodes'][2]['remote_management']['pass'] }} - opnfv_maas_node03_interface_mac: '{{ conf['nodes'][2]['interfaces'][pxe_interface]['mac_address'] }}' + opnfv_maas_node03_architecture: '{{ conf.nodes.2.node.arch | dpkg_arch }}/generic' + opnfv_maas_node03_power_address: {{ conf.nodes.2.remote_management.address.rsplit('/')[0] }} + opnfv_maas_node03_power_type: {{ conf.nodes.2.remote_management.type }} + opnfv_maas_node03_power_user: {{ conf.nodes.2.remote_management.user }} + opnfv_maas_node03_power_password: {{ conf.nodes.2.remote_management.pass }} + opnfv_maas_node03_interface_mac: '{{ conf.nodes.2.interfaces[pxe_interface].mac_address }}' - opnfv_maas_node04_architecture: '{{ conf['nodes'][3]['node']['arch'] | dpkg_arch }}/generic' - opnfv_maas_node04_power_address: {{ conf['nodes'][3]['remote_management']['address'].rsplit('/')[0] }} - opnfv_maas_node04_power_type: {{ conf['nodes'][3]['remote_management']['type'] }} - opnfv_maas_node04_power_user: {{ conf['nodes'][3]['remote_management']['user'] }} - opnfv_maas_node04_power_password: {{ conf['nodes'][3]['remote_management']['pass'] }} - opnfv_maas_node04_interface_mac: '{{ conf['nodes'][3]['interfaces'][pxe_interface]['mac_address'] }}' + opnfv_maas_node04_architecture: '{{ conf.nodes.3.node.arch | dpkg_arch }}/generic' + opnfv_maas_node04_power_address: {{ conf.nodes.3.remote_management.address.rsplit('/')[0] }} + opnfv_maas_node04_power_type: {{ conf.nodes.3.remote_management.type }} + opnfv_maas_node04_power_user: {{ conf.nodes.3.remote_management.user }} + opnfv_maas_node04_power_password: {{ conf.nodes.3.remote_management.pass }} + opnfv_maas_node04_interface_mac: '{{ conf.nodes.3.interfaces[pxe_interface].mac_address }}' - opnfv_maas_node05_architecture: '{{ conf['nodes'][4]['node']['arch'] | dpkg_arch }}/generic' - opnfv_maas_node05_power_address: {{ conf['nodes'][4]['remote_management']['address'].rsplit('/')[0] }} - opnfv_maas_node05_power_type: {{ conf['nodes'][4]['remote_management']['type'] }} - opnfv_maas_node05_power_user: {{ conf['nodes'][4]['remote_management']['user'] }} - opnfv_maas_node05_power_password: {{ conf['nodes'][4]['remote_management']['pass'] }} - opnfv_maas_node05_interface_mac: '{{ conf['nodes'][4]['interfaces'][pxe_interface]['mac_address'] }}' + opnfv_maas_node05_architecture: '{{ conf.nodes.4.node.arch | dpkg_arch }}/generic' + opnfv_maas_node05_power_address: {{ conf.nodes.4.remote_management.address.rsplit('/')[0] }} + opnfv_maas_node05_power_type: {{ conf.nodes.4.remote_management.type }} + opnfv_maas_node05_power_user: {{ conf.nodes.4.remote_management.user }} + opnfv_maas_node05_power_password: {{ conf.nodes.4.remote_management.pass }} + opnfv_maas_node05_interface_mac: '{{ conf.nodes.4.interfaces[pxe_interface].mac_address }}' +{%- endif -%} diff --git a/config/pdf/pod1.encrypted.yaml b/config/pdf/pod1.encrypted.yaml index 8693647d..5679de66 100644 --- a/config/pdf/pod1.encrypted.yaml +++ b/config/pdf/pod1.encrypted.yaml @@ -32,7 +32,7 @@ jumphost: # several disk types possible disk_type: {hdd|ssd|cdrom|tape} # several interface types possible - disk_interface: {sata|sas|ssd|nvme} + disk_interface: {sata|sas|ssd|nvme|scsi|iscsi} # define rotation speed of disk disk_rotation: {5400|7200|10000|15000} # second disk @@ -77,14 +77,14 @@ jumphost: # physical interface list interfaces: # first interface - - nic: {nic#number} + - name: {nic#number} # ip address of nic address: 192.168.100.1 mac_address: "10:23:45:67:89:AC" # vlan tag, may have multiple tags vlan: {native|1-4095} # second interface - - nic: 'nic2' + - name: 'nic2' address: 10.20.0.1/24 mac_address: "10:23:45:67:89:5B" nodes: diff --git a/config/pdf/pod1.schema.yaml b/config/pdf/pod1.schema.yaml new file mode 100644 index 00000000..a602b562 --- /dev/null +++ b/config/pdf/pod1.schema.yaml @@ -0,0 +1,182 @@ +############################################################################## +# Copyright (c) 2018 Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +$schema: 'http://json-schema.org/schema#' +$id: 'https://github.com/opnfv/pharos/blob/master/config/pdf/pod1.yaml' + +definitions: + ip_address: + type: 'string' # NOTE: we don't validate this is a valid addr (yet) + mac_address: + type: 'string' + pattern: '^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$' + # Common node schema for jumpserver, cluster nodes + node: + type: 'object' + properties: + type: + type: 'string' + enum: ['baremetal', 'virtual'] + vendor: + type: 'string' + model: + type: 'string' + arch: + type: 'string' + enum: ['aarch64', 'x86_64'] + cpus: + type: 'number' + cpu_cflags: + type: 'string' + cores: + type: 'number' + memory: + type: 'string' + pattern: '^[0-9]+[GT]B?$' + required: ['type', 'vendor', 'model', 'arch', 'cpus', 'cpu_cflags', 'cores', 'memory'] + additionalProperties: false + disks: + type: 'array' + items: + type: 'object' + properties: + name: + type: 'string' + pattern: '^disk[0-9]+$' + disk_capacity: + type: 'string' + pattern: '^[0-9]+[MGT]B?$' + disk_type: + type: 'string' + enum: ['hdd', 'ssd', 'cdrom', 'tape'] + disk_interface: + type: 'string' + enum: ['sata', 'sas', 'ssd', 'nvme', 'scsi', 'iscsi'] + disk_rotation: + type: 'number' + enum: [0, 5400, 7200, 10000, 15000] + required: ['name', 'disk_capacity', 'disk_type', 'disk_interface', 'disk_rotation'] + additionalProperties: false + remote_management: + type: 'object' + properties: + type: + type: 'string' + enum: ['ipmi', 'amt'] + versions: + type: 'array' + items: + type: 'number' + enum: [1.0, 2.0] + user: + type: 'string' + pass: + type: 'string' + address: + $ref: '#/definitions/ip_address' + mac_address: + $ref: '#/definitions/mac_address' + required: ['type', 'versions', 'user', 'pass', 'address', 'mac_address'] + additionalProperties: false + interfaces: + type: 'array' + items: + type: 'object' + properties: + name: + type: 'string' + pattern: '^nic[0-9]+$' + mac_address: + $ref: '#/definitions/mac_address' + # Optional + address: + $ref: '#/definitions/ip_address' + # Optional + vlan: + oneOf: + - type: 'string' + pattern: '^(native|[1-9][0-9]{0,3})(\|(native|[1-9][0-9]{0,3}))*$' + - type: 'integer' + mininum: 1 + maximum: 4095 + # Optional + speed: + type: 'string' + enum: ['1gb', '10gb', '25gb', '40gb'] + # FIXME: mandatory for nodes? + # Optional + features: + type: ['string', 'null'] + pattern: '^((dpdk|sriov)\|?)*$' + # FIXME: mandatory for nodes? + required: ['name', 'mac_address'] + additionalProperties: false + +# Do not allow any properties not defined here. This lets us catch typos. +additionalProperties: false + +properties: + details: + type: 'object' + properties: + type: + type: 'string' + enum: ['production', 'development'] + pod_owner: + type: 'string' + contact: + type: 'string' + pattern: '^([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+[,; ]*)+$' + lab: + type: 'string' + location: + type: 'string' + link: + type: 'string' + required: ['type', 'pod_owner', 'contact', 'lab', 'location', 'link'] + additionalProperties: false + jumphost: + type: 'object' + properties: + name: + type: 'string' + node: + $ref: '#/definitions/node' + disks: + $ref: '#/definitions/disks' + os: + type: 'string' + remote_params: # Optional YAML anchor, contents will be validated below + type: 'object' + remote_management: + $ref: '#/definitions/remote_management' + interfaces: + $ref: '#/definitions/interfaces' + required: ['name', 'node', 'disks', 'os', 'remote_management', 'interfaces'] + additionalProperties: false + nodes: + type: 'array' + items: + type: 'object' + properties: + name: + type: 'string' + node: + $ref: '#/definitions/node' + disks: + $ref: '#/definitions/disks' + os: + type: 'string' + remote_params: # Optional YAML anchor, contents will be validated after inject + type: 'object' + remote_management: + $ref: '#/definitions/remote_management' + interfaces: + $ref: '#/definitions/interfaces' + required: ['name', 'node', 'disks', 'remote_management', 'interfaces'] + additionalProperties: false diff --git a/config/pdf/pod1.yaml b/config/pdf/pod1.yaml index d9028c23..a2a1e555 100644 --- a/config/pdf/pod1.yaml +++ b/config/pdf/pod1.yaml @@ -32,9 +32,9 @@ jumphost: # several disk types possible disk_type: {hdd|ssd|cdrom|tape} # several interface types possible - disk_interface: {sata|sas|ssd|nvme} + disk_interface: {sata|sas|ssd|nvme|scsi|iscsi} # define rotation speed of disk - disk_rotation: {5400|7200|10000|15000} + disk_rotation: {0|5400|7200|10000|15000} # second disk - name: 'disk2' disk_capacity: 2048G @@ -58,14 +58,14 @@ jumphost: # physical interface list interfaces: # first interface - - nic: {nic#number} + - name: {nic#number} # ip address of nic address: 192.168.100.1 mac_address: "10:23:45:67:89:AC" # vlan tag, may have multiple tags vlan: {native|1-4095} # second interface - - nic: 'nic2' + - name: 'nic2' address: 10.20.0.1/24 mac_address: "10:23:45:67:89:5B" nodes: diff --git a/config/utils/check-jinja2.sh b/config/utils/check-jinja2.sh index 2953ff6a..3c5e5163 100755 --- a/config/utils/check-jinja2.sh +++ b/config/utils/check-jinja2.sh @@ -17,45 +17,50 @@ INSTALLER_ADAPTERS='./config/installers/*' TMPF='/tmp/out.yml' # should be outside Jenkins WS to prevent data leakage RC=0 +echo "Using $(yamllint --version)" + # Build a table header, using ';' as column sep -SUMMARY='PDF Verify Matrix;YAML Lint;' -for adapter in ${INSTALLER_ADAPTERS}; do +for adapter in 'PDF Verify Matrix' ${INSTALLER_ADAPTERS}; do SUMMARY+="$(basename "${adapter}");" done # Iterate all PDFs, check with each installer adapter, log results while IFS= read -r lab_config; do - valid_yaml='OK' - echo -e "\n\nyamllint -s ${lab_config}" - if ! yamllint -s "${lab_config}"; then valid_yaml='FAIL'; fi - SUMMARY+="\n${lab_config#labs/};${valid_yaml};" + SUMMARY+="\n${lab_config#labs/};" + echo "###################### ${lab_config} ######################" for adapter in ${INSTALLER_ADAPTERS}; do pdf_inst=0 pdf_inst_pass=0 pdf_yaml_pass=0 while IFS= read -r jinja_template; do - echo -e "\n${GEN_CFG} -y ${lab_config} -j ${jinja_template}" - if "${GEN_CFG}" -y "${lab_config}" \ - -j "${jinja_template}" > "${TMPF}"; then - echo 'Result: PASS' + pdf_gen_cmd="${GEN_CFG} -y ${lab_config} -j ${jinja_template}" + if ${pdf_gen_cmd} > "${TMPF}"; then ((pdf_inst_pass+=1)) - echo -e "\nyamllint -s ${jinja_template%.j2}" - if yamllint -s "${TMPF}"; then ((pdf_yaml_pass+=1)); fi + echo "[GENERATE] [OK] ${pdf_gen_cmd}" + if yamllint -s <(sed 's|ENC\[PKCS.*\]|opnfv|g' "${TMPF}"); then + ((pdf_yaml_pass+=1)); + echo "[YAMLLINT] [OK] yamllint -s ${jinja_template%.j2}" + else + echo "[YAMLLINT] [ERROR] yamllint -s ${jinja_template%.j2}" + fi else - echo 'Result: FAIL' + echo "[GENERATE] [ERROR] ${pdf_gen_cmd}" RC=1 fi ((pdf_inst+=1)) + echo '' done < <(find "${adapter}" -name '*.j2') SUMMARY+="${pdf_yaml_pass}/${pdf_inst_pass}/${pdf_inst};" done -done < <(find 'config' 'labs' -name 'pod*.yaml') - +done < <(find 'labs' -name 'pod*.yaml') rm -f "${TMPF}" -echo -e '\n\nNOTE: tuple fmt: (valid YAML output/sucessful parse/templates).\n' -echo -e "${SUMMARY}" | sed -e 's/^/;/g' -e 's/;/;| /g' | column -t -s ';' cat <<EOF +###################### Result Matrix ###################### + +NOTE: tuple fmt: (valid YAML output/sucessful parse/templates). + +$(echo -e "${SUMMARY}" | sed -e 's/^/;/g' -e 's/;/;| /g' | column -t -s ';') To troubleshoot PDF parsing against a specific installer adapter, execute the following commands locally (e.g. for zte-pod2/joid): diff --git a/config/utils/check-schema.sh b/config/utils/check-schema.sh new file mode 100755 index 00000000..321c5ced --- /dev/null +++ b/config/utils/check-schema.sh @@ -0,0 +1,37 @@ +#!/bin/bash -e +############################################################################## +# Copyright (c) 2018 Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +export PATH=$PATH:/usr/local/bin/ + +VALIDATE_SCHEMA='./config/utils/validate_schema.py' +PDF_SCHEMA='./config/pdf/pod1.schema.yaml' +RC=0 + +while IFS= read -r lab_config; do + pdf_cmd="${VALIDATE_SCHEMA} -s ${PDF_SCHEMA} -y ${lab_config}" + echo "###################### ${lab_config} ######################" + pdf_out=$(${pdf_cmd} |& sed 's|ENC\[PKCS.*\]|opnfv|g') + if [ -z "${pdf_out}" ]; then + SUMMARY+=";${lab_config#labs/};OK;\n" + echo "[PDF] [OK] ${pdf_cmd}" + else + SUMMARY+=";${lab_config#labs/};ERROR;\n" + RC=1 + echo "${pdf_out}" + echo "[PDF] [ERROR] ${pdf_cmd}" + fi + echo '' +done < <(find 'labs' -name 'pod*.yaml') + +cat <<EOF +###################### Schema Validation Matrix ###################### + +$(echo -e "${SUMMARY}" | sed -e 's/;/;| /g' | column -t -s ';') +EOF +exit "${RC}" diff --git a/config/utils/generate_config.py b/config/utils/generate_config.py index dfc6e6c4..cf558e28 100755 --- a/config/utils/generate_config.py +++ b/config/utils/generate_config.py @@ -52,18 +52,19 @@ ENV = Environment(loader=FileSystemLoader(os.path.dirname(ARGS.jinja2))) ENV.filters['ipaddr_index'] = ipaddr_index ENV.filters['dpkg_arch'] = dpkg_arch -# Run `eyaml decrypt` on the whole file, in case any PDF data is encrypted +# Run `eyaml decrypt` on the whole file, but only if PDF data is encrypted # Note: eyaml return code is 0 even if keys are not available try: - DICT = yaml.safe_load(check_output(['eyaml', 'decrypt', '-f', ARGS.yaml])) + if 'ENC[PKCS7' in open(ARGS.yaml).read(): + DICT = yaml.safe_load(check_output(['eyaml', 'decrypt', + '-f', ARGS.yaml])) except CalledProcessError as ex: - logging.error('eyaml decryption failed!') + logging.error('eyaml decryption failed! Fallback to raw data.') except OSError as ex: - logging.warn('eyaml not found, skipping decryption') + logging.warn('eyaml not found, skipping decryption. Fallback to raw data.') try: DICT['details'] except (NameError, TypeError) as ex: - logging.warn('PDF decryption skipped, fallback to using raw data.') with open(ARGS.yaml) as _: DICT = yaml.safe_load(_) diff --git a/config/utils/validate_schema.py b/config/utils/validate_schema.py new file mode 100755 index 00000000..cb404554 --- /dev/null +++ b/config/utils/validate_schema.py @@ -0,0 +1,27 @@ +#!/usr/bin/python +############################################################################## +# Copyright (c) 2018 Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +"""This module validates a PDF file against the schema.""" +import argparse +import jsonschema +import yaml + +PARSER = argparse.ArgumentParser() +PARSER.add_argument("--yaml", "-y", type=str, required=True) +PARSER.add_argument("--schema", "-s", type=str, required=True) +ARGS = PARSER.parse_args() + +with open(ARGS.yaml) as _: + _DICT = yaml.safe_load(_) + +with open(ARGS.schema) as _: + _SCHEMA = yaml.safe_load(_) + +_VALIDATOR = jsonschema.Draft4Validator(_SCHEMA) +for error in _VALIDATOR.iter_errors(_DICT): + raise RuntimeError(str(error)) |