fuel.git
6 years ago[vnode parsing] Move core logic to j2 65/53065/5
Alexandru Avadanii [Sat, 3 Mar 2018 20:39:59 +0000 (21:39 +0100)]
[vnode parsing] Move core logic to j2

j2/python is easier to read and manipulate strings, although it does
need some special care about undefined dict keys.

With this in place, deploy.sh only contains the higher level logic for
the deployment process.

- merge arch-specific default configuration files into a singular
  file with arch name as main dict key of old config (also avoids
  creating duplicate 'virtual' YAML keys in $LOCAL_PDF);
- move template handling to separate <lib_template.sh>;
- decouple tight bash ordering of scenario expansion -> parse_yaml ->
  variable export (e.g. CLUSTER_DOMAIN) -> re-use in cluster j2s;
  however we can't parse *all* j2s in one go, as scenario j2s might
  expand to YAMLs needed while expanding cluster j2;
- split `do_templates` into separate functions for each stage, with
  no coupling between them other then call order;

Change-Id: I4b5e804094c00e5e918caf769fd85fa52181ad76
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[ha] Add route_wrapper to prx, kvm 93/53193/2
Alexandru Avadanii [Wed, 7 Mar 2018 01:50:47 +0000 (02:50 +0100)]
[ha] Add route_wrapper to prx, kvm

Similar to cmp, when route already exists, networking service fails
to start on 'nginx:server' slaves ('kvm' in novcp case).

JIRA: FUEL-349

Change-Id: I2dc83ea78528533e92c9b9125e78b6e4387bdfe2
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[patch] Fixup ceilometer server publisher default 85/53185/1
Alexandru Avadanii [Tue, 6 Mar 2018 19:03:53 +0000 (20:03 +0100)]
[patch] Fixup ceilometer server publisher default

- backport proposed fixup for ceilometer;
- remove 'ignore: all' from .gitmodules to make it easier to bump the
  submodule;
- bump system submodule to upstream latest;
- drop patch merged upstream;

JIRA: FUEL-350

Change-Id: I68f232e0da5af368a1669a7379eedde5c4168b84
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years agoMerge "[keepalived] Check proccess id of nginx on proxy"
Alexandru Avadanii [Tue, 6 Mar 2018 16:29:20 +0000 (16:29 +0000)]
Merge "[keepalived] Check proccess id of nginx on proxy"

6 years ago[keepalived] Check proccess id of nginx on proxy 63/53163/1
Michael Polenchuk [Tue, 6 Mar 2018 12:32:43 +0000 (16:32 +0400)]
[keepalived] Check proccess id of nginx on proxy

By default vrrp script seeks out haproxy process id, so change
check_pidof script arguments to "nginx" on proxy nodes.

Change-Id: I616bf90ba49fa8257d28d236dcf3b7c5598039f1
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
6 years agoMend opendaylight settings 61/53161/1
Michael Polenchuk [Tue, 6 Mar 2018 12:19:22 +0000 (16:19 +0400)]
Mend opendaylight settings

* class including order (default was used)
* disable root_helper_daemon (incompatible with UCA)
* turn off websocket for pseudo agent updates

Change-Id: I4d7971d393da184bdd55f65b4d3fd8d9e898543f
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
6 years ago[ovn] Fix cluster name in dummy baremetal scenario 35/53135/1
Alexandru Avadanii [Tue, 6 Mar 2018 02:31:50 +0000 (03:31 +0100)]
[ovn] Fix cluster name in dummy baremetal scenario

JIRA: FUEL-329

Change-Id: I56c8e027dc797a86848b73af30adbf40de119f85
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[ha] Add ovn scenario placeholder 27/53127/1
Alexandru Avadanii [Tue, 6 Mar 2018 01:43:23 +0000 (02:43 +0100)]
[ha] Add ovn scenario placeholder

- dummy copy of os-nosdn-nofeature-ha masquerading as
  os-ovn-nofeature-ha scenario placeholder;

JIRA: FUEL-329

Change-Id: Ic5e6d65cf057289bb13ce2fa157b6ba53d7dab80
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[reclass] Add missing neutron keyword in class uri 19/53119/1
Alexandru Avadanii [Mon, 5 Mar 2018 19:12:05 +0000 (20:12 +0100)]
[reclass] Add missing neutron keyword in class uri

Change-Id: I71fdc7ccd84a0700333734b5144a4281b53cf25b
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years agoAlign opendaylight settings with upstream 07/53107/2
Michael Polenchuk [Mon, 5 Mar 2018 16:47:05 +0000 (20:47 +0400)]
Align opendaylight settings with upstream

Change-Id: If7d51555bc13dbcaa63f93ab1993f3655e2ce643
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
6 years ago[jump req] Move pkg installation to lib.sh 63/53063/1
Alexandru Avadanii [Sun, 4 Mar 2018 02:50:01 +0000 (03:50 +0100)]
[jump req] Move pkg installation to lib.sh

Change-Id: I687b73b256aca78c9d41d4bcd49bfbde51278b51
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[deploy.sh] Factor out jump bridge parsing to j2 61/53061/1
Alexandru Avadanii [Sat, 3 Mar 2018 19:16:43 +0000 (20:16 +0100)]
[deploy.sh] Factor out jump bridge parsing to j2

Change-Id: Ie4d8e70866d533d195a6e80cdfecbdb00a3027ce
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[submodule] Bump Pharos for IDF updates 41/53041/1
Alexandru Avadanii [Sat, 3 Mar 2018 18:41:56 +0000 (19:41 +0100)]
[submodule] Bump Pharos for IDF updates

Change-Id: I9e71d9006bad53cc79805ed9255b53b6c5705725
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[j2 parsing] Adopt new generate_config features 17/53017/5
Alexandru Avadanii [Thu, 8 Feb 2018 19:35:44 +0000 (20:35 +0100)]
[j2 parsing] Adopt new generate_config features

- bump Pharos git submodule for j2 'do' extension + batch mode;
- adopt j2 'do' in our templates;
- use int filter for 'native' vlan check;
- lib.sh: adopt `-i` to remove `ln` hack for net_map.j2;
- lib.sh: adopt `-b` to speedup template parsing;

NOTE: Bumping Pharos will also bring in the latest changes in
pod_config.yml.j2, which include massive IP shifts and updates.

JIRA: FUEL-335

Change-Id: I7d3a997b3d8659d5f09f867870fb3a148c1ec6df
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years agoMerge "Conform network scheme to tagged public interface"
Alexandru Avadanii [Fri, 2 Mar 2018 16:37:51 +0000 (16:37 +0000)]
Merge "Conform network scheme to tagged public interface"

6 years agoMerge "[ovs/dpdk] [noha] Do not add private nic to ifaces"
Alexandru Avadanii [Fri, 2 Mar 2018 16:37:22 +0000 (16:37 +0000)]
Merge "[ovs/dpdk] [noha] Do not add private nic to ifaces"

6 years agoConform network scheme to tagged public interface 57/52457/3
Michael Polenchuk [Thu, 22 Feb 2018 14:47:28 +0000 (18:47 +0400)]
Conform network scheme to tagged public interface

Change-Id: I503c8ad32900406e1fa375cec9a91b454889d8bf
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
6 years agoInstall missing python module of jsonschema 67/52967/1
Michael Polenchuk [Fri, 2 Mar 2018 07:42:12 +0000 (11:42 +0400)]
Install missing python module of jsonschema

Change-Id: Ib903863a7a46008c93ee795083712a50a022a41d
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
6 years agoMerge "lib.sh: Validate pdf/idf with pharos schema"
Alexandru Avadanii [Thu, 1 Mar 2018 16:57:19 +0000 (16:57 +0000)]
Merge "lib.sh: Validate pdf/idf with pharos schema"

6 years ago[ovs/dpdk] [noha] Do not add private nic to ifaces 95/52795/2
Alexandru Avadanii [Wed, 28 Feb 2018 03:12:10 +0000 (04:12 +0100)]
[ovs/dpdk] [noha] Do not add private nic to ifaces

All settings specific to private nic are handled by linux.network.dpdk
but since the private nic's `interface.type` is currently 'eth', it is
not filtered out from /etc/network/interfaces.

To prevent this, define `interface.type` as a dummy value containing the
'dpdk' substring.

Change-Id: I565153ee80698572209e12b4eec5f44f9416d945
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years agolib.sh: Validate pdf/idf with pharos schema 43/52843/4
Guillermo Herrero [Wed, 28 Feb 2018 15:30:19 +0000 (16:30 +0100)]
lib.sh: Validate pdf/idf with pharos schema

Run the pharos yaml schema validation for configuration files
before expanding them

JIRA: FUEL-341

Change-Id: Ia1d69f53265876683a1b6674665a9594ba7dae16
Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
6 years agoClean up upstreamed patches 29/52829/1
Michael Polenchuk [Wed, 28 Feb 2018 14:10:17 +0000 (18:10 +0400)]
Clean up upstreamed patches

Change-Id: Icee56da3720f0926e42390965581639f6a344b77
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
6 years ago[submodule] Bump Pharos git repo for IDF updates 95/52695/1
Alexandru Avadanii [Tue, 27 Feb 2018 03:02:37 +0000 (04:02 +0100)]
[submodule] Bump Pharos git repo for IDF updates

Change-Id: I8d526d51a3e18652c59bad9d7c3c384aa6583566
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[patch] cleanup: Drop LVM filter disable 77/52677/2
Alexandru Avadanii [Mon, 26 Feb 2018 17:40:01 +0000 (18:40 +0100)]
[patch] cleanup: Drop LVM filter disable

Now we explicitly add a LVM PV on /dev/sda{1,2} for Cinder storage,
so we can safely drop the patch disabling LVM volume filtering.
If we later move the PV to a different disk, we can just add the VG
and LV definitions to linux:storage via reclass, and Salt will skip
setting them up (as they're already created by MaaS), yet keep the
filtering sane.

While at it, fix 'nova_cpu_pinning' param expr; 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.

Fixes: 672ae12

Change-Id: Ieb41635ddeb630543d7e4d1079f45d636d9a43af
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[ovs/dpdk] Parameterize node-specific compute args 91/52491/7
Cristina Pauna [Wed, 21 Feb 2018 14:50:12 +0000 (16:50 +0200)]
[ovs/dpdk] Parameterize node-specific compute args

- node-specific parameters (nova pinning, hugepages, dpdk) should be
  configurable via IDF, on a per-node basis;
- keep default settings for lf-pod2, with and without DPDK,
  override them for virtual deploys via local-virtual1 IDF;
- leave neutron_tenant_* vars hardcoded for now, as they are required
  on both ctl and cmp nodes - this way we'll deal stricly with
  cmp params, so we can nicely pass them via config.yml to reclass
  per-node (and not per-role), allowing mixed computes later;
- add compute params for ovs/odl-noha, preparing them for
  deployment on baremetal later.

JIRA: ARMBAND-343

Change-Id: I89a58b9565679ab3882d85f07ae817690ae85c67
Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
6 years ago[ovs/dpdk] Add opnfv.route_wrapper sls 57/52557/3
Alexandru Avadanii [Fri, 23 Feb 2018 21:10:33 +0000 (22:10 +0100)]
[ovs/dpdk] Add opnfv.route_wrapper sls

- fix `route-br-ex` if-up.d script failing when route already exists
  by adding a wrapper around distro's '/sbin/route' binary in
  '/usr/local/sbin/route', exploiting default order in Ubuntu PATH;
- fix 'br-prv' duplicate entry in 'interfaces.d/ifcfg-br-prv' and
  'interfaces' caused by upstream bug [1];
- add barrier waiting for all baremetal nodes online before attempting
  reboot, trying to catch rare failures which are undetectable in logs
  as both a succesful reboot and a disconneted minion report 'n/c';

With the above in place, networking service should no longer fail
to start on cmp nodes w/ DPDK.

[1] https://github.com/saltstack/salt/issues/40262

Change-Id: I6d4895376ce323c14c997e6c9af2ea3eeeee0184
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[salt.sh] Add explicit apt-get update 99/52599/1
Alexandru Avadanii [Sun, 25 Feb 2018 16:47:42 +0000 (17:47 +0100)]
[salt.sh] Add explicit apt-get update

Change-Id: I17e66457f90818bad4d746300bb49e9d5179c239
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[MaaS] Force Maas to use a fixed ip packet size 97/51397/10
Charalampos Kominos [Wed, 31 Jan 2018 12:59:48 +0000 (13:59 +0100)]
[MaaS] Force Maas to use a fixed ip packet size

Maas uses a tftp library during commisioning which in turn uses another
library which tries to find the best packet size to use. For some reason
during commisioning the library uses smaller sizes than the
infrastructure can handle and therefore takes a lot of time to deploy.

JIRA: ARMBAND-351

Change-Id: I9b3083a059c04b118e8b7f0f2723af67d96d2aad
Signed-off-by: Charalampos Kominos <charalampos.kominos@enea.com>
6 years ago[noHA] Add dedicated cinder volume for virtual cmp 41/52441/4
Alexandru Avadanii [Thu, 22 Feb 2018 02:02:05 +0000 (03:02 +0100)]
[noHA] Add dedicated cinder volume for virtual cmp

Replace loop device LVM-backed cinder volume with a dedicated
/dev/vdb drive.
This is another small step towards bringing noHA to baremetal.

Change-Id: I80f9c2bee42e933a36ab7a8f9b4c5247d1652b42
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[HA] [cinder] Fix rootfs part name for sda > 2TB 37/52437/2
Alexandru Avadanii [Thu, 22 Feb 2018 01:02:45 +0000 (02:02 +0100)]
[HA] [cinder] Fix rootfs part name for sda > 2TB

On systems with more than 2TB on /dev/sda, MaaS automatically creates
a 1MB partition with bios_grub label as /dev/sda1.
Account for this and expect rootfs to reside on /dev/sda2 (assume
all compute nodes have the same behavior wrt this issue).

Ideally, later we will switch to explicit partitioning via MaaS, or to
a new baremetal provisioner like Ironic.

Requires bumping Pharos git submodule to pick up the new j2 filter.

Fixes: f6f8a56

JIRA: FUEL-330

Change-Id: I12f5046cf69bf2f52c8b8dc331b90048df643646
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[HA] [cinder] Switch loop to free space on sda 83/52283/6
Alexandru Avadanii [Sat, 17 Feb 2018 23:30:20 +0000 (00:30 +0100)]
[HA] [cinder] Switch loop to free space on sda

On cmp nodes, we assing 30G (fixed) to rootfs, use the rest for
cinder.

Note: AArch64 gets one extra partition (the EFI System Partition or
ESP) on /dev/sda1 via MaaS.

JIRA: FUEL-330

Change-Id: I2a36107d074532b627bd2349cafc0c8ee61f500f
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[salt.sh] Armband extra repo for forked reclass 09/52309/4
Alexandru Avadanii [Mon, 19 Feb 2018 01:44:12 +0000 (02:44 +0100)]
[salt.sh] Armband extra repo for forked reclass

- add Armband nightly/extra DEB repository;
- install forked and updated reclass 1.5.2 which includes:
  * better error reporting;
  * support for deleting existing keys during list interpolation;
  * various other improvements and optimizations;

While at it, update copyright year for patches.

JIRA: FUEL-345

Change-Id: I00d8b625fe191648e7ea34b3dd4c8375691384e6
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years agoReset kernel version to xenial image default one 57/52357/2
Michael Polenchuk [Tue, 20 Feb 2018 14:00:55 +0000 (18:00 +0400)]
Reset kernel version to xenial image default one

Virtual compute nodes goes to kernel panic during nova instances ops
under hwe kernel, so use the default one from xenial image.

Change-Id: Iae100b68208cc1fb9e43e45f385e762cdbd6573a
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
6 years ago[reclass] dbs, msg: Inherit only infra classes 25/52325/2
Alexandru Avadanii [Mon, 19 Feb 2018 19:19:03 +0000 (20:19 +0100)]
[reclass] dbs, msg: Inherit only infra classes

All other VCP nodes (mdb, prx, ctl etc.) inherit only the infra
subdir of each scenario, so apply the same to dbs, msg.

This should cut down some operations during reclass interpolation
for affected nodes, without any changes in output pillar data.

Change-Id: I77ae6e1d5658cba87fcd8c45a5f8f5e177e0eda9
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[reclass] Update copyright year 35/52335/1
Alexandru Avadanii [Mon, 19 Feb 2018 23:03:55 +0000 (00:03 +0100)]
[reclass] Update copyright year

Change-Id: Id1ca66938531e1d24ec0d44194f8b09643062944
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years agoMerge "[Horizon] Fix 'mcp' version check pattern"
Alexandru Avadanii [Mon, 19 Feb 2018 12:23:11 +0000 (12:23 +0000)]
Merge "[Horizon] Fix 'mcp' version check pattern"

6 years agoMerge "[MaaS] Add maas.machines.set_storage_layout sls"
Alexandru Avadanii [Mon, 19 Feb 2018 12:22:58 +0000 (12:22 +0000)]
Merge "[MaaS] Add maas.machines.set_storage_layout sls"

6 years agoMerge changes from topics 'lab-proxy-keyserver', 'maas-override-failed-testing'
Alexandru Avadanii [Mon, 19 Feb 2018 12:22:35 +0000 (12:22 +0000)]
Merge changes from topics 'lab-proxy-keyserver', 'maas-override-failed-testing'

* changes:
  [baremetal] Use upstream lab proxy for keyservers
  [MaaS] Override failed testing by default

6 years agoMerge "[patch] MaaS: mcp.rsa.pub to auth keys via pillar"
Alexandru Avadanii [Mon, 19 Feb 2018 12:22:19 +0000 (12:22 +0000)]
Merge "[patch] MaaS: mcp.rsa.pub to auth keys via pillar"

6 years ago[Horizon] Fix 'mcp' version check pattern 85/52285/1
Alexandru Avadanii [Sun, 18 Feb 2018 19:59:56 +0000 (20:59 +0100)]
[Horizon] Fix 'mcp' version check pattern

Previous commit used a pattern that is too generic and always matches
the substring 'mcp' vs the node hostname, not only pkg version.

Fixes: 4658acf

Change-Id: Ia4dcbbf7cdfa68574c86459217101d83d61add01
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[baremetal] Use upstream lab proxy for keyservers 75/51375/2
Alexandru Avadanii [Wed, 31 Jan 2018 01:12:51 +0000 (02:12 +0100)]
[baremetal] Use upstream lab proxy for keyservers

Proxy chainloading does not always work for keyserver requests, so:
- mv common.infra.lab_proxy_pdf common.include.lab_proxy_pdf;
- mv common.include.proxy common.include.maas_proxy;
- include lab_proxy_pdf after each maas_proxy, so if upstream_proxy
  is defined, it will override the MaaS proxy;

JIRA: FUEL-317

Change-Id: I63749be0d350ea73ea2cf6e629710766b14ecb73
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[MaaS] Add maas.machines.set_storage_layout sls 75/51875/3
Alexandru Avadanii [Thu, 8 Feb 2018 00:54:55 +0000 (01:54 +0100)]
[MaaS] Add maas.machines.set_storage_layout sls

On cmp nodes, allocate only 30GB (fixed for now) for / partition.
The rest of the disk(s) can later be allocated via salt-formula-linux.

JIRA: FUEL-330

Change-Id: Ie11c78791e60801719cd33475ff91fc003df5ffa
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[MaaS] Override failed testing by default 79/52279/3
Alexandru Avadanii [Sat, 17 Feb 2018 17:01:57 +0000 (18:01 +0100)]
[MaaS] Override failed testing by default

Some nodes fail automatic testing done by MaaS during commissioning,
although running the testing suites one more time manually works.
For now, just override all 'failed testing' nodes unconditionally.

JIRA: FUEL-333

Change-Id: I13d3ee3d82550524480aa53aa8752ab90aa940cd
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years agoMerge "reclass: maas: Dynamic machine definitions"
Alexandru Avadanii [Sat, 17 Feb 2018 19:18:56 +0000 (19:18 +0000)]
Merge "reclass: maas: Dynamic machine definitions"

6 years agoSet nova disk cachemodes to file directsync 31/52231/1
Michael Polenchuk [Fri, 16 Feb 2018 09:20:41 +0000 (13:20 +0400)]
Set nova disk cachemodes to file directsync

Set nova/libvirt disk cache modes to file directsync to bypass the
host page cache & prevent instance's kernel panic due to absent
/dev partition. Caching mode directsync effectively turns all guest
I/O operations into direct I/O operations on the host, which is the
NFS client (virtuals) or GlusterFS (baremetals).
Also return back to hwe kernel as a golden mean between GA & Edge ones.

Change-Id: I51ab7d0ee71c214ff16b756cfee16e918738b6fd
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
6 years agoFix check if node type is baremetal for novcp 99/52199/2
Delia Popescu [Thu, 15 Feb 2018 16:06:08 +0000 (18:06 +0200)]
Fix check if node type is baremetal for novcp

Fixes: 86c8109

Change-Id: I0a947bd7db5dd7cb830cc932f5a0d16831551923
Signed-off-by: Delia Popescu <delia.popescu@enea.com>
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years agoMask opendaylight service 83/52183/1
Michael Polenchuk [Thu, 15 Feb 2018 09:19:33 +0000 (13:19 +0400)]
Mask opendaylight service

In order to avoid using cache data with initial/outdated
configuration, mask opendaylight service before package
installation.

JIRA: FUEL-344
Change-Id: I71eb0b0a5af93d6d21698e76587b32098aba96b4
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
6 years agoMerge "[docs] Temp dir permission requirements"
Alexandru Avadanii [Wed, 14 Feb 2018 12:46:56 +0000 (12:46 +0000)]
Merge "[docs] Temp dir permission requirements"

6 years ago[patch] MaaS: mcp.rsa.pub to auth keys via pillar 21/52121/1
Alexandru Avadanii [Tue, 13 Feb 2018 02:34:10 +0000 (03:34 +0100)]
[patch] MaaS: mcp.rsa.pub to auth keys via pillar

Drop one questionable patch responsible for MaaS node authorized
keys to include mcp.rsa.pub by reading the contents of authorized
keys on mas01, assuming mcp.rsa.pub will be on the first line.

Instead, export the contents of the public key using a shell env
var during deploy, which gets expanded via maas_pdf j2 template
into a reclass param, leveraging existing salt-formula-maas sshprefs
mechanism for delivering the key to MaaS.

Since we require the public key to exist before expanding templates,
move `generate_ssh_key` call outside the current infrastructure
handling block, allowing it to execute during all `deploy.sh` calls,
even for dry-runs.

Change-Id: I0f53b0f764a2fafd292e0ffd399c284acf61bd30
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years agoreclass: maas: Dynamic machine definitions 19/52119/1
Alexandru Avadanii [Sun, 4 Feb 2018 03:42:58 +0000 (04:42 +0100)]
reclass: maas: Dynamic machine definitions

Refactor maas machine definition flow from going through variables
in pod_config.yaml to directly handling it in Fuel using a new j2
template.
This prepares for future improvements allowing a dynamic compute
node count, as well as parameterizing new values via j2.

For now, node roles and count are still statically mapped to PDF
nodes.

JIRA: FUEL-319

Change-Id: I770d82987fcb99792f9d5bc0857ab513f5cd3731
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[docs] Temp dir permission requirements 57/51957/3
Cristina Pauna [Fri, 9 Feb 2018 12:50:25 +0000 (14:50 +0200)]
[docs] Temp dir permission requirements

JIRA: FUEL-342

Change-Id: I35efc993647c63779107d5f5604e58b124cdcf69
Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
6 years agoMerge "[centos jump] Add more missing required packages"
Alexandru Avadanii [Tue, 13 Feb 2018 15:32:36 +0000 (15:32 +0000)]
Merge "[centos jump] Add more missing required packages"

6 years ago[centos jump] Add more missing required packages 65/51965/1
Alexandru Avadanii [Thu, 8 Feb 2018 18:03:29 +0000 (19:03 +0100)]
[centos jump] Add more missing required packages

- gcc is required for NBD kernel module build;
- gdisk is required for resizing rootfs in nbd-mounted chroot;

Change-Id: I8863c126b75ce3a15998c03d2d159f53f5006f5d
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years agoMerge "[jump] Add simple check for required Linux bridges"
Alexandru Avadanii [Fri, 9 Feb 2018 15:40:52 +0000 (15:40 +0000)]
Merge "[jump] Add simple check for required Linux bridges"

6 years agosalt.sh: Fix one more broken online check 39/51939/1
Alexandru Avadanii [Fri, 9 Feb 2018 02:18:58 +0000 (03:18 +0100)]
salt.sh: Fix one more broken online check

Fixes: 5f95f52

Change-Id: I53e08a89b2e873829a78ff75c0f3532329ef87a3
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[virsh net] Fix virtual node check for public net 67/51867/1
Alexandru Avadanii [Wed, 7 Feb 2018 21:40:30 +0000 (22:40 +0100)]
[virsh net] Fix virtual node check for public net

Jinja variables set inside loops do not live outside current
iteration, so use a dictionary.update to work around that.

Fixes: 3d2c66e

Change-Id: I2bef64dddab080486a71952465edc4e528ae9e17
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[states] Fix broken online check for bm, vcp nodes 61/51861/3
Alexandru Avadanii [Wed, 7 Feb 2018 19:03:09 +0000 (20:03 +0100)]
[states] Fix broken online check for bm, vcp nodes

Previous commit replacing explicit loops with `wait_for` failed to
properly escape a nested variable, leading to deploy failure.

Also, the logic was flawed, not breaking for offline nodes, rendering
the whole barrier check useless.

Fixes: 1a0e8e7e

Change-Id: I038dbf90fb53c6b61da2e5c9b6867e31d78867af
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[jump] Add simple check for required Linux bridges 27/51827/2
Alexandru Avadanii [Wed, 7 Feb 2018 01:31:52 +0000 (02:31 +0100)]
[jump] Add simple check for required Linux bridges

- MaaS requires PXE/admin to be a Linux bridge;
- if virtual nodes are present, they should be hooked to a proper
  Linux bridge for the Public network, but only throw a warning if
  not (and create a mock public virsh network instead);
- if both virtual and baremetal nodes are present, Public bridge is
  indirectly mandatory (we can't mock it);

JIRA: FUEL-339

Change-Id: Idfe99d66c49eadc56cb3d94ca4db3467fb76d388
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years agoMerge "[virtual] Rename all to drop virtual prefix"
Alexandru Avadanii [Wed, 7 Feb 2018 14:53:12 +0000 (14:53 +0000)]
Merge "[virtual] Rename all to drop virtual prefix"

6 years agoMerge "[hybrid] Merge config/scenario/{baremetal,virtual}"
Alexandru Avadanii [Wed, 7 Feb 2018 14:53:05 +0000 (14:53 +0000)]
Merge "[hybrid] Merge config/scenario/{baremetal,virtual}"

6 years agoMerge "[states] maas, vcp: Use `wait_for` in online check"
Alexandru Avadanii [Wed, 7 Feb 2018 14:52:57 +0000 (14:52 +0000)]
Merge "[states] maas, vcp: Use `wait_for` in online check"

6 years agoMerge "Add NOVCP HA OVS scenario (baremetal, virtual)"
Alexandru Avadanii [Wed, 7 Feb 2018 14:52:46 +0000 (14:52 +0000)]
Merge "Add NOVCP HA OVS scenario (baremetal, virtual)"

6 years agoSwitch off broken sphinx state 43/51843/1
Michael Polenchuk [Wed, 7 Feb 2018 12:49:04 +0000 (16:49 +0400)]
Switch off broken sphinx state

Deactivate documentation related optional state
until it get fixed in upstream.

Change-Id: I5242ed307548c4f37f81d271a1f4f6bee9903f4e
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
6 years agoMerge changes from topic 'fix-public-bridge'
Michael Polenchuk [Wed, 7 Feb 2018 07:51:47 +0000 (07:51 +0000)]
Merge changes from topic 'fix-public-bridge'

* changes:
  [virtual] Add missing ODL dhcp_int
  [virsh net] public: rm addr cfg for pure baremetal

6 years agoMerge "[baremetal] cleanup: rm cloud-init iface config"
Michael Polenchuk [Wed, 7 Feb 2018 07:51:24 +0000 (07:51 +0000)]
Merge "[baremetal] cleanup: rm cloud-init iface config"

6 years ago[baremetal] cleanup: rm cloud-init iface config 59/49759/2
Alexandru Avadanii [Fri, 29 Dec 2017 13:22:00 +0000 (14:22 +0100)]
[baremetal] cleanup: rm cloud-init iface config

Upstream commit [1] now handles cloud init interface configuration
cleanup, so drop our explicit config from reclass.

[1] https://github.com/salt-formulas/salt-formula-linux/commit/b333d284

Change-Id: Ifd624f1e884d0d884513a3a7c3e18ffe3f00949a
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[virtual] Rename all to drop virtual prefix 85/51785/1
Alexandru Avadanii [Mon, 5 Feb 2018 17:31:18 +0000 (18:31 +0100)]
[virtual] Rename all to drop virtual prefix

JIRA: FUEL-322

Change-Id: I99c4b1774a7c3afbc834a6f6e8468f7baf1bc329
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[hybrid] Merge config/scenario/{baremetal,virtual} 43/51643/5
Alexandru Avadanii [Sun, 4 Feb 2018 20:16:07 +0000 (21:16 +0100)]
[hybrid] Merge config/scenario/{baremetal,virtual}

Instead of classifying scenarios by underlying machine type, switch
to HA/NOHA differentiantion only.

This allows us to add support for hybrid scenarios (with some virtual
and some baremetal nodes in the same cluster).

To facilitate this, we will template the scenario files, which is a
small step towards SDF (Scenario Descriptor File) definition and
adoption later.

JIRA: FUEL-338

Change-Id: If5787991869a3105d82c27ffa0a86ac79b4b08ba
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[states] maas, vcp: Use `wait_for` in online check 41/51641/5
Alexandru Avadanii [Sun, 4 Feb 2018 05:47:26 +0000 (06:47 +0100)]
[states] maas, vcp: Use `wait_for` in online check

Change-Id: I7b583c354843f0116a65b3a31f3be4589087b8a5
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years agoAdd NOVCP HA OVS scenario (baremetal, virtual) 65/48765/15
Alexandru Avadanii [Tue, 28 Nov 2017 23:06:44 +0000 (00:06 +0100)]
Add NOVCP HA OVS scenario (baremetal, virtual)

Add a new class of scenarios, based on existing baremetal HA
scenarios, but instead of having a virtualized control plane (VCP),
all Openstack controller services will run directly on the cluster
nodes.
This change adds the common scaffolding, as well as the OVS scenario.

The new scenario(s) can be used on full-baremetal clusters, soon on
full-virtual clusters and later on hybrid (virt + bare) clusters.
This change defines old (current) style scenario definitions for
both baremetal and virtual, both named:
- os-nosdn-nofeature-novcp-ha;

Prerequisites:
1. Merge-able by name reclass.storage.node definitions
   Each cluster (e.g. database, telemetry) adds its own set of
   reclass storage node defitions, which for novcp scenarios should
   be merged into a single node (kvm) based on the 'name' property.
   This is not currently supported by upstream reclass 'node.sls'
   high state, so add support for it via an early patch (required
   before salt-master-init.sh tries to handle reclass.storage).
2. common reclass classes for novcp
   Some of the classes in `baremetal-...-common-ha` are not fit for
   novcp as they define VCP-specific config/inheritance, so add new
   versions of said classes with novcp in mind or adapt old classes:
   - parameterize ctl hostname in `openstack_compute.yml`;
   - new `openstack_control_novcp.yml`;
   - new `openstack_init_novcp.yml`;
3. Handle hard set names in state files for baremetal nodes
   Some of our state files (e.g. maas) hardcodes baremetal node names
   to 'kvm', 'cmp', so we need to align the names in novcp scenario
   with these values to re-use the maas state. As a future improvement
   we should parameterize these names in all state files.
   As a consequence, our baremetal controller nodes will also use
   'kvm*' hostnames (instead of 'ctl*').
4. Add 'noifupdown' to all interfaces on kvm nodes to prevent duplicate
   IPs/routes created at *any* ifup due to /etc/network/route-br-ex.
   Patch salt-formula-linux to skip network restart on 'noifupdown',
   also when routes are present on that interface.

JIRA: FUEL-310

Change-Id: Ic67778f63e5ee0334dbfe9547c7109ec1a938d61
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[virtual] Add missing ODL dhcp_int 83/51783/2
Alexandru Avadanii [Tue, 6 Feb 2018 16:55:04 +0000 (17:55 +0100)]
[virtual] Add missing ODL dhcp_int

- add missing network definitions for ODL node's 1st interface;
- add missing comments for `notify` global functions;
- fix or silence shellcheck issues;

JIRA: FUEL-322

Change-Id: Ie3341d29ab12ddf432db603ad865259afb54714e
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[virsh net] public: rm addr cfg for pure baremetal 81/51781/1
Alexandru Avadanii [Tue, 6 Feb 2018 19:17:36 +0000 (20:17 +0100)]
[virsh net] public: rm addr cfg for pure baremetal

To prevent adding a gratuitous requirement on public being a real
Linux bridge on the jumpserver when baremetal nodes are present,
stop configuring any IP address information for the public virsh
network, allowing us to keep mocking it like we did before L3
information was read from IDF.

JIRA: FUEL-339

Change-Id: Id09ecac14825a80a0770c5969afad79b0235e08e
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[HA] Use cluster_public_host for SSL cert fetch 75/51775/2
Alexandru Avadanii [Tue, 6 Feb 2018 03:51:37 +0000 (04:51 +0100)]
[HA] Use cluster_public_host for SSL cert fetch

For VCP-enabled scenarios, `cluster_public_host` and
`cluster_vip_address` both point to the public VIP of the cluster.
However, for upcoming NOVCP scenarios, `cluster_vip_address` resides
inside the management segment, so use `cluster_public_host` instead.

JIRA: FUEL-310

Change-Id: I13ef482e2c3116c991dfe91be81d0964f140f8e9
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years agoMerge "[apt-mk] Switch back to nightly"
Alexandru Avadanii [Tue, 6 Feb 2018 15:45:45 +0000 (15:45 +0000)]
Merge "[apt-mk] Switch back to nightly"

6 years ago[apt-mk] Switch back to nightly 71/51771/1
Alexandru Avadanii [Tue, 6 Feb 2018 15:21:14 +0000 (16:21 +0100)]
[apt-mk] Switch back to nightly

Revert "salt: Use apt-mk 'stable' distribution"
Revert "reclass: apt_mk_version: stable"

This reverts commit d1b6119e288a31e015573363ce77790fec8684df.
This reverts commit 4563ea7d62238e8273d840a8d9c6c1e179ca584e.

Change-Id: I383db1f78a087045086096cbc674260b985fd913
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[Horizon] Limit css fixup to Ubuntu package 35/51735/1
Alexandru Avadanii [Mon, 5 Feb 2018 21:35:21 +0000 (22:35 +0100)]
[Horizon] Limit css fixup to Ubuntu package

Horizon package from Mirantis mcp-repos does not require the fixup,
so limit its application to non-mcp packages.
Required for upcoming NOVCP scenarios, where we also have mcp-repos
APT source on the proxy nodes.

JIRA: FUEL-324
JIRA: FUEL-310

Change-Id: I4399af803c0a17e0aa8f3d7a7330e501a5eedf55
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years agolib.sh: modprobe br_netfilter, don't bail on err 33/51733/1
Alexandru Avadanii [Mon, 5 Feb 2018 23:02:24 +0000 (00:02 +0100)]
lib.sh: modprobe br_netfilter, don't bail on err

Some sysadmins or distro defaults might blacklist br_netfilter, or
it might not be loaded at deploy start, account for these corner
cases too.

JIRA: FUEL-334

Change-Id: I3ca6cb3848df8d2af1625ff4e3816efe8b320886
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[baremetal] Rename all to drop baremetal prefix 37/51637/4
Alexandru Avadanii [Wed, 31 Jan 2018 23:28:17 +0000 (00:28 +0100)]
[baremetal] Rename all to drop baremetal prefix

A few things differ between baremetal and virtual nodes:
- provisioning method;
- network setup;

Since now we support completely dynamic network config based on PDF +
IDF, as well as dynamic provisioning of VMs on jumpserver (as virtual
cluster nodes), respectively MaaS-driven baremetal provisioning, let's
drop the 'baremetal-' prefix from cluster model names and prepare for
unified scenarios.

Note that some limitations still apply, e.g. virtual nodes are spawned
only on jumpserver (localhost) for now.

JIRA: FUEL-310

Change-Id: If20077ac37c6f15961468abc58db7e16f2c29260
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[virtual] PDF-based network defs for cluster nodes 69/51269/12
Alexandru Avadanii [Sat, 27 Jan 2018 22:59:50 +0000 (23:59 +0100)]
[virtual] PDF-based network defs for cluster nodes

Decouple virtual cluster nodes (ctl, gtw etc.) from opnfv_fn_* vars
in favor of parsing PDF/IDF.
This is the first step towards unifying baremetal and virtual network
definition templates, as well as allowing virtual nodes to run on a
remote hypervisor (and eventually with a different arch).

opnfv_fn_* vars will still be used for infra VMs spawned on FN (cfg01
and optionally mas01).

Adopt new 'net_map.j2' from Pharos submodule for new templates (virt),
as well as old ones (baremetal).

JIRA: FUEL-322

Change-Id: I150c2416566bbe42ea11cd00f12a8a7bf96776c2
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[virtual] Parameterize cluster model based on PDF 57/51257/10
Alexandru Avadanii [Sat, 27 Jan 2018 06:13:08 +0000 (07:13 +0100)]
[virtual] Parameterize cluster model based on PDF

- 10.1.0.0/24 (internal):
  * 10.1.0.101    -> opnfv_openstack_compute_node01_tenant_address
  * 10.1.0.124    -> opnfv_openstack_gateway_node01_tenant_address

- 172.16.10.0/24 (mgmt):
  * 172.16.10.11  -> opnfv_openstack_control_node01_address
  * 172.16.10.100 -> opnfv_infra_config_address
  * 172.16.10.101 -> opnfv_openstack_compute_node01_control_address
  * 172.16.10.111 -> opnfv_opendaylight_server_node01_single_address
  * 172.16.10.124 -> opnfv_openstack_gateway_node01_address

- 10.16.0.0/24 (public):
  * 10.16.0.11    -> opnfv_openstack_control_node01_external_address
  * 10.16.0.101   -> opnfv_openstack_compute_node01_external_address
  * 10.16.0.124   -> opnfv_openstack_gateway_node01_external_address

To re-use DPDK config baremetal template, move:
- cluster.baremetal-mcp-pike-ovs-dpdk-ha.infra.config_pdf
+ cluster.all-mcp-arch-common.infra.config_dpdk_pdf

Drop unused 'ceilometer_graphite_publisher_host' (172.16.10.107).

JIRA: FUEL-322

Change-Id: I3aef3415bd696a7ae5b566af12af4733a50c2135
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[virtual] Change IP addrs to align with baremetal 55/51255/10
Alexandru Avadanii [Sat, 27 Jan 2018 05:49:12 +0000 (06:49 +0100)]
[virtual] Change IP addrs to align with baremetal

To be able to re-use pod_config.yaml parameters generated based on
PDF for both baremetal and virtual scenarios without forking it,
we first need to align the IP addresses used in virtual deployments.
Currently hard set values will be parameterized in an ulterior
change.

- 10.1.0.0/24 (internal):
  * 105 -> 101 (cmp01); 106 -> 102 (cmp02);
  * 110 -> 124 (gtw01);

- 172.16.10.0/24 (mgmt):
  * 101 ->  11 (ctl01);
  * 105 -> 101 (cmp01); 106 -> 102 (cmp02);
  * 110 -> 124 (gtw01);

- 10.16.0.0/24 (public):
  * 101 ->  11 (ctl01);
  * 105 -> 101 (cmp01); 106 -> 102 (cmp02);
  * 110 -> 124 (gtw01);

JIRA: FUEL-322

Change-Id: I5d5def4e92c3462f1a34f73dde65ef7a262a5d62
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[virtual] Split 'pxebr' from 'mcpcontrol' net 19/51619/5
Alexandru Avadanii [Mon, 29 Jan 2018 05:02:10 +0000 (06:02 +0100)]
[virtual] Split 'pxebr' from 'mcpcontrol' net

- add new virsh managed network 'pxebr' (to mimic baremetal behavior
  on virtual PODs, this will be the equivalent of PXE/admin network);
- connect 'pxebr' to 3rd interface for cfg01, mas01 for all deploys
  (used to be baremetal-specific), replacing 'internal';
- keep 'mcpcontrol' connected only to 'cfg01' (+ 'mas01' if present)
  for initial infrastructure bring-up (1st interface);
- switch all virtual cluster nodes to 'pxebr' (1st interface);
- use 'pxebr' for all Salt cluster nodes traffic, 'mcpcontrol' only
  for mas01<=>cfg01 Salt traffic;
- convert <user-data.template> to jinja2 and expand it based on PDF
  instead of using `envsubst`;
- split <user-data.sh.j2> into two versions, one for each network
  used for Salt traffic;
- ci/deploy.sh: Read scenario data before template parsing for
  cluster domain variable, needed in virsh network def;
- leave docs diagram refresh to later after all possible deploy types
  have settled;
- limit keyserver proxy usage to nodes where the configured http proxy
  matches the first nameserver (true for all MaaS-provisioned nodes),
  so we can re-use the same pillar for FN VMs and baremetal nodes;
- add PXE/admin IP on cfg01's 3rd interface and switch other vnodes
  `salt_master_host` to point to it;

JIRA: FUEL-322

Change-Id: Ie4f7aedddf2ef81046f1127b377d88dce79f0fda
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[FN VM] Reboot VMs on jump, wait for all online 39/51639/3
Alexandru Avadanii [Mon, 5 Feb 2018 02:28:45 +0000 (03:28 +0100)]
[FN VM] Reboot VMs on jump, wait for all online

- apply `linux` state on cfg01 first, so PXE/admin IP is added and
  FN VM minions are available;
- add barrier and wait for all FN VMs to register with cfg01;
- use batch-mode execution while applying `linux.network` on FN VMs;
- retry all states executed via <salt.sh> on FN VMs;

JIRA: FUEL-310

Change-Id: I72e1c565370072500df1d486fe76e6315f583c75
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[PDF] Switch to generate_config, unify templates 53/51253/8
Alexandru Avadanii [Fri, 26 Jan 2018 20:59:28 +0000 (21:59 +0100)]
[PDF] Switch to generate_config, unify templates

- move bash template handling (previously expanded via `envsubst`)
  to lib.sh;
- move j2 template handling to lib.sh;
- move virsh network templates to 'mcp/scripts/virsh_net' subdir;
- switch virsh network templates from `envsubst` expansion to j2 and
  leverage generate_config.py, similar to PDF Fuel installer adapter;
- add relevant runtime env vars (e.g. SALT_MASTER, MAAS_IP) on the fly
  to PDF, to consume them in templates like params coming from PDF;
- parameterize virsh network definitions based on PDF (mgmt, public);

JIRA: FUEL-322

Change-Id: Ib94e78fc4f25797b9354a0552e884104da5d0003
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years agodeploy.sh: Move notify() to globals.sh 51/51251/7
Alexandru Avadanii [Fri, 26 Jan 2018 02:50:10 +0000 (03:50 +0100)]
deploy.sh: Move notify() to globals.sh

Extend `notify` to 4 variants:

- notify_i = inline (no newline) colored output;
- notify   = `notify_i` + trailing '\n';
- notify_n = `notify` + extra '\n' before and after;
- notify_e = `notify` + stderr output + exit;

This allows us to remove '\n' and cleanup the code a bit.
While at it, fix some 'NOTE' messages going to stderr instead of
stdout.

Change-Id: I682e3344ae9e307c4a68ab31c7766bc91b12ee58
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years agodeploy.sh: Make PDF, IDF mandatory for all deploys 49/51249/7
Alexandru Avadanii [Fri, 26 Jan 2018 02:32:16 +0000 (03:32 +0100)]
deploy.sh: Make PDF, IDF mandatory for all deploys

- hard requiremenet of PDF/IDF configuration for all deployments;
- expand j2 templates for virtual deploys too;

Since until now we used the same model for *all* virtual PODs, one
of the PDF/IDF sets for existing vPODs (e.g. ericsson-virtual3) can
be re-used practically on any host, without defining new vPODs.

JIRA: FUEL-322

Change-Id: Iac6aab91b6958d0e5e175ed142da6aafadc6fac6
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[vPDF] Use local-virtual1, unify pkg requirements 45/51245/14
Alexandru Avadanii [Fri, 26 Jan 2018 02:04:32 +0000 (03:04 +0100)]
[vPDF] Use local-virtual1, unify pkg requirements

Until PDF/IDF land in Pharos for all our virtual PODs, use a common
vPDF we already provide as an example to mimic the old hardcoded
behavior while leveraging PDF/IDF parameterization.

As a consequence, python requirements previously only needed for
baremetal should now also be installed for virtual deploys too.

JIRA: FUEL-322

Change-Id: Ied1c907275285a9086450a15491ae516a0db1be2
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[vPDF] Add experimental vPOD lab config 17/51617/3
Alexandru Avadanii [Sat, 3 Feb 2018 20:32:35 +0000 (21:32 +0100)]
[vPDF] Add experimental vPOD lab config

JIRA: FUEL-322

Change-Id: I1482badbbbf66b4855faf6daf486520fc71e09b0
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[baremetal] Retire example pod_config.yaml 15/51615/2
Alexandru Avadanii [Sat, 3 Feb 2018 17:12:54 +0000 (18:12 +0100)]
[baremetal] Retire example pod_config.yaml

It is easier to just generate the `pod_config.yaml` file than to
maintain it, so let's remove it.

While at it, link sample PDF/IDF inside pharos git submodule, so we
don't have to pass a different lab-config URI to use the sample.

To generate pod_config.yml for the sample PDF/IDF:
$ ./ci/deploy.sh -l local -p pod1 -s os-odl-nofeature-ha -d
$ cat mcp/deploy/images/pod_config.yml

JIRA: FUEL-322

Change-Id: If5898f92ef54bebc31d57f9632959e9093a89250
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[PDF] pod1: Refresh PDF, IDF examples 13/51613/2
Alexandru Avadanii [Sat, 3 Feb 2018 17:09:28 +0000 (18:09 +0100)]
[PDF] pod1: Refresh PDF, IDF examples

Sync latest changes from pharos git repo for our sample PDF/IDF:
- move net_config from PDF to IDF;
- minor cleanup;

JIRA: FUEL-322

Change-Id: If6865ac61a4942a1dd5daf7081fd8faa67e0e7bf
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years agoMerge "[baremetal] Fix: wrong nic name idf index"
Alexandru Avadanii [Sat, 3 Feb 2018 16:43:08 +0000 (16:43 +0000)]
Merge "[baremetal] Fix: wrong nic name idf index"

6 years ago[baremetal] Fix: wrong nic name idf index 97/51497/1
Guillermo Herrero [Fri, 2 Feb 2018 14:43:56 +0000 (15:43 +0100)]
[baremetal] Fix: wrong nic name idf index

This was only affecting pod deployments with
different board models, under the current limited
support:
- 3 KVMs will be same model and have the same NIC names
- 2 Compute nodes will be the same model and have same NIC names

For the computes nodes, br-mesh NIC name was wrong due
to incorrect idf mapping

Change-Id: I9685b35cb23b03be9fc0e6fe16c0712a9ad70e19
Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
6 years agoMerge "deploy.sh: Disable net.bridge.bridge-nf-call"
Michael Polenchuk [Fri, 2 Feb 2018 07:57:23 +0000 (07:57 +0000)]
Merge "deploy.sh: Disable net.bridge.bridge-nf-call"

6 years agoRevert "[FN VMs] remove graphics" 81/51481/1
Alexandru Avadanii [Thu, 1 Feb 2018 23:10:03 +0000 (00:10 +0100)]
Revert "[FN VMs] remove graphics"

RHEL family virtualization tools reserve 02:00 PCI slot for VGA, even
if 'nographics' is specified when creating the VM (in case the user
wants to later hook a video card, which usually *requires* PCI slot2).

Debian systems do not follow this rule (tested with libvirt 1.x, 2.x,
3.x), hence 1st NIC lands on PCI slot 2 (and get eth name 'ens2').

To align the behavior across all possible jumpserver distros, bring
back the virtio video.

This reverts commit 738f6c3b68d1179de1ff790f9e72c25f10874da4.

Change-Id: Ifd855c12e04aec1ff0ab047b13f8081365741889
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years agodeploy.sh: Disable net.bridge.bridge-nf-call 77/51477/2
Alexandru Avadanii [Thu, 1 Feb 2018 19:34:53 +0000 (20:34 +0100)]
deploy.sh: Disable net.bridge.bridge-nf-call

JIRA: FUEL-334

Change-Id: I6d2499053dcfb7f99593fcd5c948b569bdcb9c9b
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years ago[baremetal] Allow MaaS timeouts to be set via IDF 71/51471/2
Alexandru Avadanii [Thu, 1 Feb 2018 17:10:23 +0000 (18:10 +0100)]
[baremetal] Allow MaaS timeouts to be set via IDF

Bump Pharos git submodule to pick up support for MaaS timeout
parameterization, as well as new IDF for lf-pod2.

Drop arch-specific MaaS timeouts, as they are now configurable
on a per-POD basis.

Sample usage (via IDF):

idf:
  fuel:
    maas:
      # MaaS timeouts (in minutes)
      timeout_comissioning: 10
      timeout_deploying: 15

Change-Id: I8fafa336b0bc64d705f6c2e40fc3dfb85672fb15
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
6 years agoTurn off Retpoline and KPTI protection 95/51395/2
Michael Polenchuk [Wed, 31 Jan 2018 10:38:16 +0000 (14:38 +0400)]
Turn off Retpoline and KPTI protection

Based on Canonical research (https://goo.gl/QJykMa) there is
low-risk of attack for private clouds environments, therefore
turn off the related kernel patches & regain performance back.

Change-Id: I661fa127241e327b07d21a29d58d584997607123
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
6 years agoMerge "[patch] Group APT calls for salt formula install"
Michael Polenchuk [Wed, 31 Jan 2018 08:21:04 +0000 (08:21 +0000)]
Merge "[patch] Group APT calls for salt formula install"

6 years agoMerge "[VCP] Catch 'no response' when adding ssh auth key"
Michael Polenchuk [Wed, 31 Jan 2018 08:20:16 +0000 (08:20 +0000)]
Merge "[VCP] Catch 'no response' when adding ssh auth key"

6 years ago[VCP] Catch 'no response' when adding ssh auth key 73/51373/1
Alexandru Avadanii [Tue, 30 Jan 2018 23:56:35 +0000 (00:56 +0100)]
[VCP] Catch 'no response' when adding ssh auth key

On rare occassions, one or more minions might fail to respond in due
time, so catch 'no reponse' using `wait_for`.

Change-Id: I8e6b0dc44a39e79c2874ff9a657e152620ba3f13
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>