Age | Commit message (Collapse) | Author | Files | Lines |
|
* changes:
[fuel] Add net_map.j2 for net config abstraction
[fuel] Explicitly blacklist incompatible labs
[IDF] Add optional 'idf.installer' array
|
|
|
|
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>
|
|
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>
|
|
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>
|
|
- 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>
|
|
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>
|
|
|
|
|
|
|
|
|
|
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>
|
|
Stop relying on 'remote_params' optional YAML anchor.
Change-Id: I8d967b767cf66b298a651306c9bcc91cc9acb0a6
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I4e4960a772fcd5ae32e34c9bf375ed78e3a30311
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
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>
|
|
Stop relying on 'remote_params' optional YAML anchor.
Change-Id: Ie5c563834cee19d676cc635c622ebbe8ffc0cc83
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
|
|
|
|
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>
|
|
- 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>
|
|
|
|
Fixes: 4cef6b2
Change-Id: I628ce8da7e0959ff916082c1fc30934dca0d93dc
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
- 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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Change-Id: I5fd74163cab8f6ee5f575ed72edfcc6919e60161
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
- 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>
|
|
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>
|
|
- 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>
|
|
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>
|
|
- 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>
|
|
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>
|
|
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>
|
|
zte-pod3 and ericsson-pod1 define their disk interfaces as (i)SCSI.
Change-Id: I97945f7a41eec4e8a38de544af95ce4af82df200
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
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>
|
|
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>
|
|
- 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>
|
|
Change-Id: I889db9a4663f1b2740207e6c25dc8d09645a3708
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
- 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>
|
|
This only covers the `config` subdir.
Change-Id: I1fb9470e216cc2de9a4ac91de44d99e7044e708e
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
|