Age | Commit message (Collapse) | Author | Files | Lines |
|
For non-dpdk scenarios we define as cpu config:
0,1 for OS
2-7 for nova
For dpdk scenarios we define as cpu config:
0,1 for OS,
2,3 for DPDK drivers and processes
4-7 for nova
JIRA: ARMBAND-364
Change-Id: Icc976e8511fed221b71a348afda3cbe4e0556b1a
Signed-off-by: Charalampos Kominos <charalampos.kominos@enea.com>
|
|
- Enea lab has infra IPs in public networks, similar to ericsson-pod1
so start assigning public IPs from .100 onwards;
- since most Fuel PODs have public (and mgmt) IPs starting at .100,
align this across all PODs for uniformity;
- align all mgmt networks start to .10;
JIRA: ARMBAND-365
Change-Id: I9df4083c9e2e4c15da5ce6a2cb24df560808161a
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
- labs: ericsson-pod1: Restrict management and public network IP
ranges to exclude pre-existing infrastructe addresses;
- fuel: Consume new ip-range network property in installer adapter;
NOTE: For now, we only look at range start (and ignore end addr).
JIRA: FUEL-351
Change-Id: If81d0214f896fd42dfd0855ae4cecb06335d2e00
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
PDF+IDF for LF POD4 inspired from securelab PDF and LF-pod2 XDFs.
Change-Id: If7ee14efe5f279104a18d2a3281aa7b23bdf704a
|
|
|
|
Change-Id: If0ee12287f4257f2de315bd6ad82edb709e24492
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
|
|
All recent Fuel deploy attempts on zte-pod1 failed due to br-mgmt
not being present (or up), although it is defined in IDF.
Since this bridge is optional in the Fuel deployment process and
mostly useful for manual debugging, let's remove it from idf.fuel.
Change-Id: I130ec61427237f979f6a6212ca8c291ba203ef39
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: Iffc473a4c90ff4ee8cfbcc304a3462559199fbe0
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: Icf0e5d386f593bb691f777704ac799c8729221ce
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Sometimes, parsing multiple j2 templates based on the same PDF+IDF
is needed, in which case we'd have to call generate_config once for
each template.
Add a new argument, `-b`, which allows batch processing of multiple
templates in one go:
- files ending in '.j2' (e.g. 'template.yml.j2') will be expanded to
a file without the '.j2' suffix in the same directory as the
source template (e.g. 'template.yml');
- templates not ending in '.j2' are skipped in batch mode;
- in order to pass multiple templates, `-j` argument can now be passed
multiple times, similar to `-i`;
- although relative filepaths still work, it is highly recommended to
use the full path (abspath) for j2 templates;
- to avoid filename collisions, j2 parser will open '/' (as well as
any directories specified via `-i`) and lookup each j2 template
by its full path;
Add a new argument, `-v` for verbose logging.
While at it, import only needed functions from 'os.path' to make our
code more compact and easier to read.
Change-Id: I2291935d42e4196813cd75154d5b674bcc330183
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
|
|
jinja2 does not support imports from parent directories, so in order
for j2 to be able to use '{% from <some>.j2 import ... %}' constructs
with included j2 residing on a separate dirpath than current j2, add
support for explicitly adding directories to the templater search
path.
This also allows calling generate_config with only file basename as
'-j' arg value, as long as the dirname is passed via '-i' (can be
extended later to parsing multiple j2 files at once).
Change-Id: I943fda9262a6f7de5ee6fcc3e7bc9828c339651a
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
'do' is useful to avoid hacks like {% set _ = x.update(...) %}.
Instead: {% do x.update(...) %}.
[1] http://jinja.pocoo.org/docs/2.10/extensions/
Change-Id: I886beb97e0383ba11b81aa21cf12b11ebc4b05b2
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Time diff before/after this change for the same template via
generate_config expansion:
-user 0m0.144s
+user 0m0.096s
Change-Id: Id574afcd8a74a530d791ebed8b72ccae53703611
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
|
|
Change-Id: I03098ca3d4a90f6420cee64985c2853931a6a870
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Constructs based on reclass interpolation (e.g. '${_param:x}') do
not work when parameters are passed via reclass.storage templating,
so change reclass interpolation syntax with classic YAML anchors.
Change-Id: Ia974d45fc6a5869f4b30b31b947df088ea3aaf0c
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
-New IP addressing.
Starts on lower available addresses for
better compatibilty for small networks.
IPs assigned secuentially and independently
on each network.
-Switched to advanced IP generation filters.
Defined integers are no longer end of the IP address part
but host order on the IP network.
-Dynamic generation of compute nodes
JIRA:FUEL-335
Change-Id: Ie95b83af64cb21ba27749d5f5d1506bfbc9ddf15
Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
|
|
In order to enable DPDK for OVS scenarios in Armband, we need DPDK
specific configuration to be parameterizable.
The default DPDK configuration values will remain in Fuel repo and
will be overriden with the values defined in IDF (only if present).
Since hugepage config and CPU pinning also apply to non-DPDK
scenarios, handle them together for 'common', respectively 'dpdk'.
To keep things simple, we will reuse the format expected by Fuel's
reclass model, so we can pass the whole config block as-is.
- IDF schema: fuel: Add strict checking of new block's structure,
while allowing the rvalues to be more or less freestyle;
- arm-pod6 IDF: Add initial config block implementation;
JIRA: ARMBAND-342
Change-Id: I9224f06bb6b9fb2387414eb2a1be35461c27fb99
Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
|
|
New filter for converting PDF disk_capacity strings into a numeric
only string (to bypass scientific notation), parsable as float.
Change-Id: I779bec7db03ef1b3ce1bfd6ca239a3e7b4021eb2
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Clean and isolate main script logic from custom filters by moving
all them to a external library file.
Library has a function to load all the existing filters at once.
New enhanced IP handling custom filters:
- ipnet_hostaddr
- ipnet_hostmin
- ipnet_hostmax
- ipnet_broadcast
- ipnet_netmask
- ipnet_contains_ip
- ipnet_contains_iprange
- ipnet_range_size
ipnet filters work with proper IP network with prefixlen mask,
ensuring consistent IP calculations and error handling.
Previous IP handling filters should be deprecated.
Change-Id: I83c41d7ad3c6bd1d9df1deca6cc5b9d2481ecf52
Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
|
|
Related to: https://gerrit.opnfv.org/gerrit/#/c/52043/
Change-Id: I8378070f9efedc24229efc3c3d5542b62808e1e6
Signed-off-by: Delia Popescu <delia.popescu@enea.com>
|
|
|
|
Update networks for LF-POD5 since discovering there is a bug using
non-/24 networks with Fuel, and to ensure there is no overlap with
LF-POD4.
Change-Id: Ie6eb6f12e8fd2831355e8bcec064e152cdc02f27
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
|
|
Add PDF and IDF for LF-POD4
Change-Id: Ie3e682e40f751b8f91340373fbcabd522d3686a8
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
|
|
|
|
|
|
Includes a link to the TSC notice of PTL change.
Change-Id: Ib5ea9abdc9bcfec29c3cb1ab02906221436969f1
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
|
|
While at it, order installers by name in IDF schema.
Change-Id: I4bf1dd047a3f7a64b8bc928951fc18c4728a9b68
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Copy project scenario-lifecycle from Octopus and keep the original
format.
Change-Id: I312b81b88fa7e69cf4b8c23b50f941aab8fba9bd
Signed-off-by: Julien <zhang.jun3g@zte.com.cn>
|
|
Add SDF files in Octopus to scenarios sub-directories. In the future,
we will add schema files for SDF just like PDF/IDF.
Change-Id: I248834bc7fe91bfbd8afe4827905f6ebd4f7a5ab
Signed-off-by: Julien <zhang.jun3g@zte.com.cn>
|
|
Change-Id: I23446e82dd148afd14d56717dd35fe0ee271d971
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
MaaS timeouts should be configurable on per-POD basis, since nodes
in some labs take longer to comission/deploy than our default values.
IDF SCHEMA:
- add new properties to Fuel IDF section;
Change-Id: Ife5ff85faeae683a8c1781cae8b29f09c1f07b82
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Some information was lost while syncing from securedlab to pharos
git repo, bring it back.
Change-Id: I938f4c573234c7a9d55eb140ea02f3328373ae1d
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
* 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>
|
|
|
|
|
|
Change-Id: Ia761d6cecc360dde729965e499a899ba4fbc6a32
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
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>
|