aboutsummaryrefslogtreecommitdiffstats
path: root/mcp
AgeCommit message (Collapse)AuthorFilesLines
2017-11-27Add pre-{install,purge} support for base imageAlexandru Avadanii4-6/+163
Extend <lib.sh> and its invocation from <ci.deploy.sh> with support for modifying foundation node VMs base image prior to using it with: - additional APT GPG keys; - additional APT repos; - packages to pre-install; - packages to pre-remove; - (non-configurable) cloud init datasource via NoCloud only, so VCP VMs won't wait for metadata service; While at it, re-use the resulting image as a base for another round of pre-patching (same operations as above are supported) to provide a base image for VCP VMs. Add AArch64-specific configuration based on new mechanisms: - pre-install linux-image-generic-hwe-16.04-edge (and headers) for foundation node and VCP (common) image (also requires new repo and its key); - pre-install cloud-init for VCP image (it should already be installed, but script needs non-empty config for VCP to create the VCP image and transfer it over to Salt Master); NOTE: cloud-init is required on VCP VMs for DHCP on 1st iface. JIRA: FUEL-309 Change-Id: I7dcaf0ffd9c57009133c6d339496ec831ab14375 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-11-27Align options of glusterfs nova_instances volumeMichael Polenchuk2-3/+4
Change-Id: If0558afd37f16678290353fa9c5e6c4163f814a0 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-11-27Merge "[baremetal] MaaS: Fix adding mcp.rsa.pub"Michael Polenchuk1-3/+6
2017-11-27Merge "[baremetal] Retry cinder.controller on failure"Michael Polenchuk1-1/+1
2017-11-27Merge "Revert "Apply apache state on proxy nodes""Michael Polenchuk2-9/+0
2017-11-27[baremetal] MaaS: Fix adding mcp.rsa.pubAlexandru Avadanii1-3/+6
Upstream salt-formula-maas change [1] gated applying "maas_sshprefs" low state by `region.sshprefs` being declared in reclass, which is not true for our model. Mend our region.sls patch to pass mcp.rsa.pub to MaaS unconditionally. This fixes baremetal SSH login with mcp.rsa. While at it, fix duplicate SSH key upload on MaaS state retry. JIRA: FUEL-281 [1] https://github.com/salt-formulas/salt-formula-maas/commit/ec61dd6 Change-Id: I93941a689058f9f48f34861898fbe3ee6ce4e2b4 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-11-26[baremetal] Retry cinder.controller on failureAlexandru Avadanii1-1/+1
Occasionally, cinderng.volume_type_present errors with: ClientException: Service Unavailable (HTTP 503) Instead of retrying the whole state file, use `wait_for` macro to retry only this high state up to 5 times. Change-Id: Ib9ef017aca737e53c853007c13107d56d856c016 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-11-25Bring in newer glusterfs for mtime unsplit brainAlexandru Avadanii3-0/+6
Recent commit 8ba3a1a (Switch nofeature-ha compute nodes to UCA repo) bumped the reclass/system submodule and brought in upstream commit 2ee306b (Glusterfs: use automatic mtime-based split-brain resolution) which requires support for "cluster.favorite-child-policy", not available in Glusterfs 3.7.x available in Ubuntu Xenial. NOTE: UCA does not provide glusterfs for "Ocata", only for "Pike"+. Instead of reverting the commit switching to mtime brain un-split, bump glusterfs to a version that is not EOL (3.10) using their official PPA. Change-Id: I4606dda2f3d4b7563eea793cc8e5d1380f336f24 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-11-24Revert "Apply apache state on proxy nodes"Alexandru Avadanii2-9/+0
Upstream fixed the salt-formula-horizon in commit 95387ec, by defining 8078 (and only that) port in Apache's ports.conf. This fixes the port 80 overlap, so running the `apache` high state after the `horizon` high state not only is unnecessary now, but also would lead to new breakage, since `apache` state would overwrite the ports.conf (removing 8078 and adding 80), i.e. creating a new port conflict and breaking Horizon port completely. This reverts commit eb4645206d6d74992fca3b8726ee2eebca97205f. Conflicts: mcp/config/states/openstack_ha mcp/reclass/classes/cluster/baremetal-mcp-ocata-common/openstack_proxy.yml Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> Change-Id: Iea8f0bd90ee8d12f399aad16247dda274d6a907a
2017-11-24Switch nofeature-ha compute nodes to UCA repoMichael Polenchuk8-7/+36
Employ UCA repo on computes nodes for nosdn-nofeature-ha scenario as well to prevent a regression (creation of ports failed for 1+n instances) of neutron ovs agent from mcp/openstack repos. Change-Id: Ie65ae122096c0d3a93c09d46191787a934bd7d4f Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-11-23salt.sh: Rework `git -C` for older git compatAlexandru Avadanii1-1/+1
CentOS 7.4 provides git 1.8.3, while `git -C` support was introduced in 1.8.5, so rework <salt.sh> to not rely on this parameter. Change-Id: Ied88466b2b3d91a3317922fa08f60afe934358a0 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-11-23[baremetal] Fix maas_subnets without maas_fabricsAlexandru Avadanii2-0/+32
Change-Id: I603b39d46d3f2f2448b8f9746ad0745e416bbee7 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-11-22Merge "ci/deploy.sh: Add new `-E` arg for env erase"Alexandru Avadanii4-13/+66
2017-11-22[virtual] Apply nova controller state twiceMichael Polenchuk1-0/+4
In order to complete broken database sync run nova state on controller one more time. Change-Id: I761f26667ebb531b848a62e096f3d79f588d9f24 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-11-21ci/deploy.sh: Add new `-E` arg for env eraseAlexandru Avadanii4-13/+66
NOTE: In order to undefine VCP VMs with NVRAM (e.g. AArch64 VMs using AAVMF), an additional parameter should be passed to libvirt by Salt virt core module (equivalent to `virsh undefine --nvram`). While at it, pass CI_DEBUG, ERASE_ENV enviroment variables to state execution, and stop force-applying patches. Also refactor the rsync between foundation node and Salt master, so the whole git repo is copied as </root/opnfv>, and <root/fuel> becomes a link to it; useful for Armband, where 'fuel' is a git submodule. Fix .git paths after rsync, so git submodules work as expected in cfg01 repos. JIRA: FUEL-307 Change-Id: Ic62f03e786581c019168c50ccc50107238021d7f Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-11-21Merge "[baremetal] public gateway setup on prx nodes"Michael Polenchuk18-114/+110
2017-11-20[baremetal] public gateway setup on prx nodesGuillermo Herrero18-114/+110
- prx: add route for public traffic to public interface - prx: add route towards salt master through maas - remove dashboard class from proxy node (already implements horizon) - remove dashboard (and benchmark) class definitions (no longer used) - (temporary) backport Pharos change for adapter template JIRA: FUEL-305 Change-Id: Ia14a18ac0123c1134d8d99dc43da9a1f770001d0 Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
2017-11-18patches: linux.storage.lvm: Disable filterAlexandru Avadanii2-0/+36
JIRA: FUEL-304 Change-Id: I52ae89f933f976b678b27f79e2ad67c3699ef8ec Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-11-17Merge "[baremetal] MaaS: Remove curtin netconfig via Salt"Alexandru Avadanii3-2/+7
2017-11-16Merge "[baremetal] Retry keystone.client state on failure"Alexandru Avadanii1-1/+1
2017-11-16Merge "Update opendaylight/neutron patch"Michael Polenchuk4-124/+42
2017-11-16Merge "[baremetal] Re-assign mgmt network to proxy nodes"Michael Polenchuk11-12/+68
2017-11-15[baremetal] Retry keystone.client state on failureAlexandru Avadanii1-1/+1
JIRA: FUEL-306 Change-Id: I648545890c1f7dc59176beac1a0593aed54079cb Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> Signed-off-by: Delia Popescu <delia.popescu@enea.com>
2017-11-15Merge "Enable neutron trunk ports"Alexandru Avadanii5-0/+11
2017-11-15Enable neutron trunk portsMichael Polenchuk5-0/+11
The network trunk service allows multiple networks to be connected to an instance using a single virtual NIC. JIRA: FUEL-303 Change-Id: Id9e7c122bc1a32a59f18167e332ceaaa3897b5ef Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-11-15Update opendaylight/neutron patchMichael Polenchuk4-124/+42
Align opendaylight support patch with latest neutron formula. Employ native ML2 backend/engine option as is instead of bringing in the "opendaylight" keyword into reclass model. Unfreeze the maas & neutron formulas versions. Change-Id: I2807dcf9f83b01d453bca6453524f840c378972f Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-11-14[baremetal] Re-assign mgmt network to proxy nodesAlexandru Avadanii11-12/+68
- extend arch-specific list of predefined VM iface names (2 -> 3); - add extra vnet iface for prx0* VCP VMs, connected to br-ctl (mgmt); - add mgmt address to pod_config.yml template (and sample); - add mgmt address to reclass.storage prx nodes; JIRA: FUEL-302 Change-Id: I17ce65eade7f69219fc27264363364e3c47d8f3f Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-11-13[baremetal] SaltStack Deployment DocumentationAlexandru Avadanii1-1/+1
Generate documentation automatically using `reclass-doc`. nginx is already configured to serve said documentation on proxy's public VIP on port 8090. Change-Id: If2aef646a0ec44d5cc7e9d425e565e5c0aa581b3 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-11-13[baremetal] MaaS: Remove curtin netconfig via SaltAlexandru Avadanii3-2/+7
JIRA: FUEL-301 Change-Id: Id6b2b423b8045c581fa5c02133cf91702d9915c9 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-11-12[baremetal] prx: Fix empty Apache module listAlexandru Avadanii1-1/+2
On low state expansion, apache.server.modules is iterated, and since reclass transforms '~' into 'null', an exception is thrown. Use an empty string instead (different type will still ensure reclass overrides variables from apache service instead of merging the lists). While at it, add missing version 'latest' for mod-wsgi pkg. Change-Id: I7913483b6a1be545b96de2958c39840940d9c557 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-11-12salt formulas: Pin via reclass instead of salt.shAlexandru Avadanii5-16/+19
Previous commit pinned the salt-formula-package by installing a specific version after OPNFV-specific patches were applied by `patch.sh`. To prevent patch bypass, move the pin to reclass model. While at it, also move salt-formula-neutron pinning to reclass to bypass wrong minimum length of 2 for version-pinned formula pkgs. Change-Id: I35c2773c130d79ec919685cd771311d6c11e11a8 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-11-11salt.sh: Pin MaaS formula to last known stable verAlexandru Avadanii1-0/+3
Recent upstream changes broke MaaS machine status parsing. Pin the formula to the previous version until upstream provides a fixed package or a repo snapshot baseline. Change-Id: I26ebd60f40812ae47da0ca28d19c9fdcac7920da Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-11-10Apply apache state on proxy nodesMichael Polenchuk2-0/+9
Apache module will take care of ports.conf file to prevent bind socket conflict between apache & nginx services. Change-Id: Ia76ec356002e1db0dabd20d8f355a1b16fc07b30 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-11-09Handle vlan package to avoid downgradeMichael Polenchuk1-2/+9
Change-Id: Ic81507f3f7b3fec593b507e0c534434e8489b01b Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-11-08Merge "lib.sh: Cleanup previous /boot/efi contents"Alexandru Avadanii1-1/+2
2017-11-08lib.sh: Cleanup previous /boot/efi contentsAlexandru Avadanii1-1/+2
Some UEFI firmwares insist on scanning removable drives, even when boot entries were deleted from UEFI boot list (board flash). To work around this, remove contents of </boot/efi/*>, so scanning won't identify any valid EFI binaries. Another option would be erasing partition tables, but identifying the underlying disk(s) is more complicated, especially when using LVM/RAID etc. Change-Id: I9949b99b139b1642e3bd8f04de3bd5ef74d1ecc5 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-11-07MaaS: Fix conflicting curtin network configAlexandru Avadanii1-0/+1
JIRA: FUEL-301 Change-Id: I9de98fb961fd1d480b45a774de61ad6a93e9addf Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-11-07Merge "[maas] Conform regex to machines status output"Alexandru Avadanii1-3/+3
2017-11-07[maas] Conform regex to machines status outputMichael Polenchuk1-3/+3
Change-Id: Icc30d27951abb1e231c9269c6293782a39e08fb6 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-11-07Revert "Freeze the galera formula to avoid update"Michael Polenchuk1-4/+0
This reverts commit f49340e1aac3f5e8bb009a9d0d35aa6fedba7384. Version has been set back to 5.6 in upstream. Change-Id: I06d6865e59cfbc5055322eb31cbb237075ebdcb1 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-11-03Merge "Enable glance v1 api for orchestra tests"Alexandru Avadanii1-0/+4
2017-11-03salt modules: debian_ip: Accept uppercase ifacesAlexandru Avadanii1-0/+3
Since VMs are not affected by this limitation, only apply the fixup to baremetal nodes. JIRA: FUEL-299 Change-Id: Ib94c481627538d900295df03b8c8fdc7b61cd718 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-11-03Enable glance v1 api for orchestra testsMichael Polenchuk1-0/+4
Change-Id: Ia896c3f9fcd96dd498eef6d1f83d46e29df0cd6b Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-10-31Freeze the galera formula to avoid updateMichael Polenchuk1-0/+4
Change-Id: Ibf03a7dc2ed58a749476ae0bdc6cad2bba8783fb Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-10-31Connect proxy nodes to public networkMichael Polenchuk3-1/+17
cloudify vnf requires public enpoints to be available from instance with manager, so connect nodes w/ nginx to routed public network. JIRA: FUEL-286 Change-Id: Id0caa699519b9b46dad51deac6955afe6a0050de Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-10-30[virtual] Horizon: server: secure = FalseAlexandru Avadanii1-0/+4
Horizon login fails due to CSRF_COOKIE_SECURE being set when no SSL is available. JIRA: FUEL-297 Change-Id: I23f8ee86dbf5a909c75cfcc217a2ab6e4dca7324 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-28lib.sh: rm Ubuntu boot entry on EFI systemsAlexandru Avadanii1-0/+10
On EFI-enabled systems, grub-install from grub-efi-* package installs a boot entry named "ubuntu". MaaS relies on IPMI to set boot order to PXE first; however on systems with buggy firmware or without full IPMI support, that fails, leading to booting Ubuntu from hard disk instead. Work around this by clearing any previous Ubuntu boot entry from board flash, before starting a new baremetal deploy. NOTE: This only runs against nodes that are online from a previous deploy. Closes: ARMBAND-47 Change-Id: I1c4ece09e42845ce2a1b7119ec69e46e5ca12376 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-27patches: pharos: Dynamic PXE interface indexAlexandru Avadanii1-0/+48
Change-Id: I7eae35c2e040cf316af45fd420ba6611abb2fa4b Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-27patches: pharos: IPMI: Trim netmask from IPAlexandru Avadanii1-0/+63
ericsson-pod1 uses 'IP/netmask' format for IPMI IPs in its PDF, which is part of PDF spec, so update our installer adapter template accordingly. This change will be reverted once the patch is merged upstream in Pharos OPNFV git repo. Change-Id: Ie97177444f0445501fc0a7b131569ff1af6fee3c Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-27Merge "lib.sh: Fix compatibility with bash 4.2"Alexandru Avadanii1-16/+16