summaryrefslogtreecommitdiffstats
path: root/config
AgeCommit message (Collapse)AuthorFilesLines
2018-01-30Merge changes from topics 'fuel-netmap', 'fix-check-jinja'Alexandru Avadanii4-57/+91
* changes: [fuel] Add net_map.j2 for net config abstraction [fuel] Explicitly blacklist incompatible labs [IDF] Add optional 'idf.installer' array
2018-01-29Merge "[fuel] Update IA for vPDF support"Alexandru Avadanii1-3/+9
2018-01-28[fuel] Add net_map.j2 for net config abstractionAlexandru Avadanii1-0/+47
This will be leveraged by other j2 templates in Fuel to construct scenario-specific network config files. Change-Id: Iba1fd99b23936fe42abe16af3cd80dce2a63d997 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-28[fuel] Explicitly blacklist incompatible labsAlexandru Avadanii1-42/+29
Previously, we used to silently refuse to construct 'pod_config' for PODs missing mandatory PDF/IDF configuration; and instead generated an empty output YAML. Retire safety checks in Fuel IA and explicitly blacklist Fuel via new 'idf.installer' where appropiate. The following PODs do not yet support Fuel due to missing 'idf.fuel': - ericsson-pod2 - huawei-pod1 - intel-pod18 - nokia-pod1 - zte-pod2 - zte-pod3 Change-Id: Ief62d62f99a79187303e3f15b83030289e5efdcb Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-28[IDF] Add optional 'idf.installer' arrayAlexandru Avadanii2-15/+15
There is no easy way to determine automatically if a PDF/IDF set is compatible with a specific installer adapter. Most common incompatibilities are caused by: - installer adapters hardcode more network ports than nodes have defined in PDF; - installer adapters hardcode more nodes than PDF defines; Previous attempt at handling this dynamically (cd54edf) fails for recently added PODs, so let's handle this explicitly per-pod via a new optional IDF property, 'idf.installer'. If 'idf.installer' is defined, it will be used by `check-jinja2.sh` as a filter-in list of installer adapters to check against. The default (no 'idf.installer' present) is to check all IAs. Leverage the new property for: - arm-pod5: not enough network ports on computes for Compass, Joid; - arm-pod7: same as arm-pod5; - bii-pod1: no 'storage' network defined in IDF for Daisy; - zte-pod9: 3 cluster nodes are only supported by Daisy for now; SPEC changes: - net_config (previously mandatory for IDF version '0.1') is now mandatory only if 'idf.fuel' or 'idf.daisy' is defined; Fixes: cd54edf Change-Id: I706c05519e5491ad631069d7cc090e9c8bfd3011 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-28[fuel] Update IA for vPDF supportAlexandru Avadanii1-3/+9
- move gtw tenant addrs from {6,7,9} to {124,125,126} (e.g. 10.0.1.6 -> 10.0.1.124 for ericsson-virtual* PODs); - add gtw external (public) addresses, e.g. 10.16.0.124; - add ctl external (public) addresses, e.g. 10.16.0.11; JIRA: FUEL-322 Change-Id: Ice73aa3985831dca7427e496850d0865db71477e Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-28[daisy] network template: Fix set inside loopAlexandru Avadanii1-1/+2
Previous implementation fails in older versions of py-jinja2. See related bug reports [1, 2]. Since `networks.update` on its own is enough, stop assigning its result back to 'networks'. [1] https://github.com/pallets/jinja/issues/641 [2] https://github.com/pallets/jinja/issues/164 Change-Id: I303388223bdec9ae43e49d988aee41b5b47c1562 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-28Merge "[joid] Refresh installer adapter for Pike"Alexandru Avadanii1-4/+4
2018-01-28Merge "[daisy] Use jump remote_management params"Alexandru Avadanii1-1/+1
2018-01-28Merge "[compass4nfv] Use jump remote_management params"Alexandru Avadanii8-32/+32
2018-01-28Merge "[joid] Use node remote_management params"Alexandru Avadanii1-15/+15
2018-01-26generate_config: Check yaml arg is really a fileAlexandru Avadanii1-1/+1
In order to support bash process substition, e.g. $ ./generate_config.py -j /path/to/template.j2 -y <(echo stuff); do not consume the contents of ARGS.yaml unless it is a file. Change-Id: I89053cfaadc158f6a15f85836892b21980081772 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-25[compass4nfv] Use jump remote_management paramsAlexandru Avadanii8-32/+32
Stop relying on 'remote_params' optional YAML anchor. Change-Id: I8d967b767cf66b298a651306c9bcc91cc9acb0a6 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-25[joid] Refresh installer adapter for PikeAlexandru Avadanii1-4/+4
Change-Id: I4e4960a772fcd5ae32e34c9bf375ed78e3a30311 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-25[joid] Use node remote_management paramsAlexandru Avadanii1-15/+15
Previously, we relied on jumpserver IPMI user/pass/type to be the same for all nodes (including jumpserver). Instead, read node-specific params and stop relying on 'remote_params' optional YAML anchor. Change-Id: Ia8925261bc8242cbfd195f1d09bb61121b3fdacf Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-25[daisy] Use jump remote_management paramsAlexandru Avadanii1-1/+1
Stop relying on 'remote_params' optional YAML anchor. Change-Id: Ie5c563834cee19d676cc635c622ebbe8ffc0cc83 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-24Merge "[IDF] Add IDF schema validation based on version"Aric Gardner4-5/+133
2018-01-24Merge "[fuel] Get public pool parameters from idf.fuel"Alexandru Avadanii1-4/+12
2018-01-24[fuel] Get public pool parameters from idf.fuelGuillermo Herrero1-4/+12
Reads parameters from idf.fuel.config.public_pool start_ip and end_ip JIRA: FUEL-315 Change-Id: I4456b22bc21b20906f18953d80a57483fd6700bc Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
2018-01-24[IDF] Add IDF schema validation based on versionAlexandru Avadanii4-5/+133
- add basic structure for IDF schema validation; - fill in Fuel section; - add stub for Daisy section; - add stub for Compass section; - add stub for net_config; - enable IDF schema validation via `check-schema.sh`; - prepare for new IDF versions with different schemas, while allowing subsection schema reuse from IDF v0.1; - extend validate_schema.py for IDF; Change-Id: I59b1c9d857e9dee9e6ff9956e81b2ae6dc27a767 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-23Merge "[PDF] [SPEC] Add 'version: 1.0'"julien zhang5-136/+196
2018-01-22[fuel] Fix missing EOL after yaml doc startAlexandru Avadanii1-1/+1
Fixes: 4cef6b2 Change-Id: I628ce8da7e0959ff916082c1fc30934dca0d93dc Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-22[PDF] [SPEC] Add 'version: 1.0'Alexandru Avadanii5-136/+196
- add 'version: 1.0' to PDF spec; - add 'version: 1.0' to all existing lab PDFs; - extend schema with new property; - add workaround for value-based decision-making in schema version selection via `validate-template.py`; - add support for multiple schema versions; - add versions for all schema blocks defined so far; - fix PDF schema pattern for disk size decimals (e.g. '1.8T'); Change-Id: Ie8f768803ec19f1f9a7982fe5ca59df80764fc4a Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-22Merge "[PDF] check-jinja: Filter-out incompatible PDF/IA"Alexandru Avadanii1-0/+18
2018-01-22Merge "[fuel] Add support to use public net netmask from IDF"Alexandru Avadanii1-1/+7
2018-01-22Merge "generate_config: Add netmask jinja filter"Alexandru Avadanii1-0/+10
2018-01-22Merge "[apex] Use node remote_management params"Aric Gardner1-15/+15
2018-01-22Merge "check-jinja: Add optional filtering of test matrix"Alexandru Avadanii1-2/+11
2018-01-22Merge "[PDF] config: Add/update license headers"Aric Gardner23-18/+53
2018-01-20[fuel] Add proxy node management network VIPAlexandru Avadanii1-0/+1
Change-Id: I5fd74163cab8f6ee5f575ed72edfcc6919e60161 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-20[fuel] Update MaaS PXE configAlexandru Avadanii1-3/+3
- reduce DHCP range to silence a dummy MaaS warning about address exhaustion; - define PXE/admin address for Salt Master node; - drop obsolete opnfv_infra_maas_pxe_address; JIRA: FUEL-316 Change-Id: Ic946960aac3c09dbcfce005098a5fc97396da01e Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-19check-jinja: Add optional filtering of test matrixAlexandru Avadanii1-2/+11
When adding new PDFs, it is sometimes useful to check only the newly added PDF (or all the PDFs for a specific lab) against all or only some installer templates. Change-Id: I1d02943527597df1e1908a3ff4398bc398c887e7 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-19[fuel] Add support to use public net netmask from IDFGuillermo Herrero1-1/+7
- New reclass params for public network and public network mask - Network mask is converted from prefix format to reclass compatible IP format - New reclass params to set public pool ip range JIRA: FUEL-315 Change-Id: I30c5332b958796af5a10cd39c56ed5cf5800e029 Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
2018-01-19[apex] Use node remote_management paramsAlexandru Avadanii1-15/+15
Previously, we relied on jumpserver IPMI user/pass/type to be the same for all nodes (including jumpserver). Instead, read node-specific params and stop relying on 'remote_params' optional YAML anchor. Change-Id: Id64a0c4350481a6c81212a4559115bb9b1a0155e Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-18generate_config: Add netmask jinja filterGuillermo Herrero1-0/+10
- Add custom filter to convert integer prefix network mask to IP format network mask string Change-Id: I13d6a2725b93132f858b64d7f93de3a4e0dc5961 Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
2018-01-16Fix daisy gateway generated by PDFAlex Yang1-1/+1
Fixed_ips were removed from the PDF. So we need get gateway address from the 'interfaces'. Change-Id: Ie6adbf4ef3cbde05bb2fb114a58395dda8ae50fb Signed-off-by: Alex Yang <yangyang1@zte.com.cn>
2018-01-16[PDF] check-jinja: Filter-out incompatible PDF/IAAlexandru Avadanii1-0/+18
While checking all PDFs against all installers, some mandatory requirements are sometimes not met: - minimum cluster nodes (e.g. Apex requires 5 nodes, 1 PDF has 3); - minimum interface count (e.g. Compass requires min 3 NICs, some PDFs only have two interfaces or less); The added filter is far from ideal: - node requirements are based on the latest (not highest) index used by the installer adapter to accomodate special handling of 3-node cluster in Daisy templates; - interface req is based on the average interfaces/node, with quite some margin - this is a very loose mechanism; With this in, `check-jinja` has a return code of 0 (note that yamllint failures of output files are not affecting the return code). Change-Id: I43ade3567bf3026069ff93eca17abc212fab211c Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-14[PDF] [SPEC] disk_interface: Add 'scsi', 'iscsi'Alexandru Avadanii3-3/+3
zte-pod3 and ericsson-pod1 define their disk interfaces as (i)SCSI. Change-Id: I97945f7a41eec4e8a38de544af95ce4af82df200 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-14[PDF] [SPEC] Align interface keys for NIC namesAlexandru Avadanii2-4/+4
Jumpserver and cluster nodes use different keys for defining the NIC name ('nic' vs 'name'), switch all of them to 'name' for uniformity. Change-Id: I2d7720f5e5349ef59cf76a0e07749cfbd0d34d0b Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-14[PDF] [SPEC] Extend disk_rotation enum with '0'Alexandru Avadanii2-2/+2
ssd and nvme drives are static, so extend the list of accepted disk_rotation values to accomodate this. Use '0' so the enum can still be parsed as a numeric value. Change-Id: Ib8ef8cceb495c7eb588c68d151690747463167f5 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-14[PDF] Add schema validationAlexandru Avadanii3-0/+246
- create new YAML schema for PDF validation; - add basic python script for checking a PDF against the schema; - add bash wrapper for checking all PDFs in Pharos, to be leveraged later via a new verify CI job; Change-Id: I47e02642756b7a231138dec3d5258b100b4db72b Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-14[PDF] Daisy, Fuel: Drop support for PDF net_configAlexandru Avadanii2-24/+13
Change-Id: I889db9a4663f1b2740207e6c25dc8d09645a3708 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-14[PDF] Daisy, Fuel: Add support for IDF net_configAlexandru Avadanii2-12/+23
- support net_config in either of PDF or IDF files; - later, we'll remove support for PDF net_config after all PDFs have been handled; Change-Id: Iea6351831f7dcd011587ae44f04f3c5973d8135a Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-14[PDF] config: Add/update license headersAlexandru Avadanii23-18/+53
This only covers the `config` subdir. Change-Id: I1fb9470e216cc2de9a4ac91de44d99e7044e708e Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-14[PDF] check-jinja: cleanup, compact outputAlexandru Avadanii1-16/+16
The Pharos git repo already has a CI verify job for `yamllint`-ing the PDF files (check-jinja input yaml), so drop that check and keep linting only output YAML files. While at it, slightly rework the output log to make it easier to read. Change-Id: I2e47902d71514709eb48432f87d6ce68fb795d73 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-14[PDF] check-jinja: Replace encrypted str w/ dummyAlexandru Avadanii1-1/+3
During PDF validation using `check-jinja.sh`, most if not all encrypted strings will fail to decrypt due to missing keys on the build server. The templater will fallback to using raw plaintext, leading to `line too long` yamllint violations. Since we don't care about the actual value of the unencrypted string, replace the encrypted one with a dummy (shorter) string. Change-Id: I0f96db0e055bf84ad43a1df4a0f2bd86cc50fd22 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-14[PDF] Fix yamllint issues in installer adaptersAlexandru Avadanii14-59/+60
Although current YAML files in Pharos are all valid according to yamllint, the resulting YAMLs after PDF/IDF + IA interpolations still have a lot of violations, which need to be addressed. PDF changes: - bii/pod1: + fix typo in disks_A reference; IDF changes: - replace empty strings with `~` keyword (will be expanded to 'None'); IA (installer adapter) changes: - apex: + add missing document start; - compass4nfv: + too few spaces before comment; + missing starting space in comment; + replace '\t' with spaces; - daisy: + None; - fuel: + check conf.idf is defined first (fix parse for PODs without IDF); + move document start outside conf.idf condition - joid: + None; This is not an exhaustive change, some yamllint issues are still there but require either refactoring IAs or changing the PDF/IDF files in a way that needs the respective maintainer's input. Change-Id: I26743e265217e892b6a94de96a016c295ea24fb5 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-14[PDF] check-jinja: Disable check against templateAlexandru Avadanii1-1/+1
config/pdf/pod1*yaml files are not valid PDFs, but only templates. Trying to expand said files against installer adapters would lead to funky results, since most fields are expressed as '{val1|val2}' in the template files. Change-Id: Ieec4d596d0b5246aa506239183a31463951403e7 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-14[PDF] generate_config: eyaml only encrypted PDFsAlexandru Avadanii2-5/+9
Silence misleading warnings about failed decription for PDFs that do not use this feature. While at it, print yamllint version used by check-jinja.sh. Change-Id: Ica1ff90abaee8c9bb20996899c8f0a7527133618 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-14Merge "support gen DHA/NETWORK yaml by pdf"julien zhang2-109/+29