aboutsummaryrefslogtreecommitdiffstats
path: root/mcp/config
AgeCommit message (Collapse)AuthorFilesLines
2017-12-04states: Rename openstack, add baremetal_initAlexandru Avadanii9-25/+41
To align with new cluster naming convention, rename 'openstack' state file to 'openstack_noha'. While at it, factor out baremetal setup from 'virtual_control_plane' into a new state that will be reused in upcoming scenarios, remove useless sync_all (automatically done after node reboot). FUEL-310 Change-Id: I6d7e5db8f09305f2fd8eeca0199a2e85b08d2202 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-12-04Rename reclass models to add "-ha" or "-noha"Alexandru Avadanii3-3/+3
Parse all reclass j2 templates, not only common + current scenario (useful when adding new scenarios later). JIRA: FUEL-310 Change-Id: I8e87af702f83c42cb8f766bf6f121449aa5f2c26 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-12-01[virtual] Update dpdk scenario with pikeMichael Polenchuk1-5/+2
Change-Id: I879f565fe17539a54770fa22a6088c6493524e0c Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-11-29Merge "AArch64: base image: pre-install salt-minion"Michael Polenchuk1-0/+2
2017-11-28[baremetal] Fix prx stale route via MaaS DHCPAlexandru Avadanii1-0/+3
Although we add default routes via public network and disable DHCP client from setting new routes, until we reboot the prx* nodes we still have the stale route originally set at initial boot. Change-Id: Ib8e5fb67c7da00684e0ac21984fc4661d3820d83 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-11-28[virtual] Update openstack version to pikeMichael Polenchuk4-5/+7
Change-Id: I1df0228cb44bf9122aaf93dd25fc16a0d26a5240 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-11-27AArch64: base image: pre-install salt-minionAlexandru Avadanii1-0/+2
While at it, rename apt repo in foundation node user-data template from "salt" to "saltstack", to align with reclass model naming. Change-Id: I5b216492349ae187b568884b1ab4046c52b1c6b2 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-11-27Add pre-{install,purge} support for base imageAlexandru Avadanii1-0/+18
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-27Merge "[baremetal] Retry cinder.controller on failure"Michael Polenchuk1-1/+1
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-24Revert "Apply apache state on proxy nodes"Alexandru Avadanii1-1/+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 Polenchuk2-4/+1
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-22Merge "ci/deploy.sh: Add new `-E` arg for env erase"Alexandru Avadanii2-0/+27
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 Avadanii2-0/+27
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-20[baremetal] public gateway setup on prx nodesGuillermo Herrero1-1/+4
- 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-17Merge "[baremetal] MaaS: Remove curtin netconfig via Salt"Alexandru Avadanii1-2/+0
2017-11-16Merge "[baremetal] Retry keystone.client state on failure"Alexandru Avadanii1-1/+1
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-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 Avadanii1-2/+0
JIRA: FUEL-301 Change-Id: Id6b2b423b8045c581fa5c02133cf91702d9915c9 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-11-10Apply apache state on proxy nodesMichael Polenchuk1-0/+1
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-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-07[maas] Conform regex to machines status outputMichael Polenchuk1-3/+3
Change-Id: Icc30d27951abb1e231c9269c6293782a39e08fb6 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-26Run aodh state one by oneMichael Polenchuk1-1/+1
Apply aodh state in consecutive order to avoid a race condition with database synchronization. Change-Id: I4684fbeaaba2c9780084e0a64fe6453bccfb67e0 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-10-21Catch expected failuresMichael Polenchuk2-2/+2
* neutron on computes (dpdk case: void state) * mongodb server (incomplete initialization) Change-Id: I3dd3266b5c2d1b155981f725e15742cd38ed899d Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-10-20[vcp] Increase timeout till VCP VMs onlineAlexandru Avadanii1-1/+1
Change-Id: I95c284cbf374194694360bffbeaf6770db6111bf Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-19[virtual] Rise memory for ovs/dpdk scenarioMichael Polenchuk1-2/+2
Let's add more hugepages/memory to the compute nodes since snaps_smoke required 2Gb flavor for tests. Change-Id: If52f30d53a6469abeca67aaf2bdee551542d1653 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-10-19[baremetal] Remove infinite loops from node checksAlexandru Avadanii2-5/+10
Change-Id: I7a21c30d49aecca948f45535fec164c2f643450e Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-19[baremetal] cmp: run linux.network before rebootAlexandru Avadanii1-0/+1
The recent addition of `linux.system`, combined with `system.reboot` for the baremetal compute nodes leaves compute nodes unconfigured after reboot. Run `system.network` too, but expect a failure (only for DPDK, which requires hugepages to be already active, hence a prior reboot). Fixes: 64920b8 Change-Id: I8c73b24ae15e1f87dee64ae2aba7af86db1e942f Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-19[baremetal] maas state: Wait for all nodes onlineAlexandru Avadanii1-0/+13
After MaaS reports baremetal provisioning finished successfully, check that all nodes are online before attempting a `sync_all`. Change-Id: I6ba4b3e4ba5b5258ace4da8c39e0fc77354885e3 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-19[baremetal] maas state: Retry sync_all on failureAlexandru Avadanii1-1/+1
Change-Id: Ib4aa3f2cb4fc7129d502b4332cd7fedd83a0e1fe Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-18[baremetal] PDF-based network configAlexandru Avadanii1-0/+23
This change extends current PDF/IDF support with: - dynamic interface / vlan definition; - dynamic interface and/or bridge allocation of installer networks on top of interfaces (physical or vlans); This allows us to drop hardcoded interface names and vlan / bridge configuration in favor of a runtime determined model based on PDF/IDF. For now, we duplicate common jinja variable definitions in each template, but this will later be moved to a common include file. JIRA: FUEL-275 Change-Id: Ia80a66dbdf898b0bd0a4fb99d069ce9ebe33fa65 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-16[baremetal] Fix DPDK by running linux.system firstAlexandru Avadanii1-2/+4
DPDK scenario requires hugepages to be set up and enabled before configuring OVS ports, so apply `linux.system` on compute nodes and reboot them before attempting to run `linux.network` state. Change-Id: I2b685361b07727a4740a3676c5f219a6443d1cf2 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-16Return back glusterfs client stateMichael Polenchuk1-1/+1
In order to set properly keystone fernet keys, apply glusterfs client state before second keystone server state. Also leave out user/group settings for glusterfs volume of nova instances as it will be set later by nova compute packages themselves. Change-Id: I069e37c67f08c51ed29f45cf6f92d4a00a1ac97b Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-10-15states: Break on error, retry states up to 5 timesAlexandru Avadanii8-10/+26
While applying scenario states, break on error, and retry failed state up to 5 times. Apply the same behavior for `salt.sh`. Add new deploy parameter, '-D', backed up by 'CI_DEBUG' env var, which gates deploy sh scripts logging (set -x). Also extend '-f' deploy parameter, allowing it to be specified more than once; the first occurence will skip infra VM creation, but still sync reclass & other config from local repo, while a second occurence will also disable config sync. To prevent glusterfs client state from failing due to non-existent nova user/group, move it after nova:compute's nova state is applied. Change-Id: I234e126e16be0e133d878957bd88fed946955de8 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-14Add license headers where missingAlexandru Avadanii20-18/+134
While at it, compact 'set' into bash shebang where possible and add `make patches-copyright` target to simplify adding patch license headers. Change-Id: I0c841de72e5709e5eef915a52c5ec4a7fc0f7c37 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-14Drop infinite loops in favor of finite wait_forAlexandru Avadanii4-7/+14
While at it, fix some shellcheck warnings, and s/fgrep/grep -F/g. Change-Id: I093b7b4c196731b1ecc0c27a4111955b2e412762 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-14states: Split virtual_control_plane from maasAlexandru Avadanii6-50/+48
We should eventually also support baremetal deploys without a virtualized control plane (VCP), so decouple MaaS provisioning from VCP provisioning. While at it, move "wait_for" bash function from maas state to common library file, lib.sh. Change-Id: I32c33135655cb6aceae901a5f92b51265a8c84b4 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-06Update opendaylight version to nitrogenMichael Polenchuk1-0/+1
* use pseudo agentdb port binding controller instead of the deprecated network topology one * disable superfluous l2population mechanism driver * tidy up the duplicated haproxy neutron listen opts * straighten karaf features list * update jetty config Change-Id: Ifacf8de11eb56ab72df13a312151a510b280dea2 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-10-04Merge "Identify jump host bridges based on IDF / PDF nets"Alexandru Avadanii1-0/+12
2017-10-04[ovs/dpdk] Add missing rootwrap sudoers policyMichael Polenchuk1-0/+1
Append required sudoers rule since uca package version of neutron has no policy for neutron-rootwrap-daemon. Change-Id: Id8ea5b1b6aadb9eca879d72ce4d158a7bc01060e Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-10-03Identify jump host bridges based on IDF / PDF netsAlexandru Avadanii1-0/+12
- minor refactor of runtime templates parsing to allow var expansion; - parse <pod_config.yml> into shell vars, match dynamically networks from PDF to IP addresses on bridges of current jumphost; - keep old '-B' parameter in <ci/deploy.sh>, use it for providing fallback values in case there's no bridge name specified via IDF and no IP on the jumphost for one or more of the PDF networks; - re-enable dry-run to ease testing of the above; - add sample 'idf-pod1.yaml' to <mcp/config/labs/local>; The new behavior will try to determine the jump host bridge names: 1. Based on IDF mapping, if available 2. Based on PDF network matching with IP addrs on jumphost; 3. Fallback to values passed via '-B'; 4. Fallback to default values hardcoded in the deploy script; Later, we will drop MaaS network env vars in favor of PDF vars, once the PDF template is generating them. Change-Id: If9cd65d310c02965b2e2bfa06a0d7e0f97f1dd48 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-02Align salt version & reposMichael Polenchuk1-4/+0
Change-Id: If7cb8473f5c290d1d5f22fce5567f7b8da24fd9f Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-09-27PDF parsing supportAlexandru Avadanii1-0/+226
- add new git submodule pointing to OPNFV Pharos; - use Pharos 'generate_config.sh' to parse the PDF using the Fuel installer adapter and generate <pod_config.yml> dynamically; - build <pod_config.yml> outside current git repo and sync separately to prevent sensitive data leak; - add <pod1.yaml> PDF sample based on LF-POD2, should be used with 'ci/deploy.sh -l local -p pod1'; Change-Id: I4e1b95f180bcd5ade5d86f516628eb8edbe64b1c Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-09-26[virtual] Switch compute nodes to uca repoMichael Polenchuk2-4/+2
Test of snaps_health_check gets console output of instance, which is empty (https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1667033), therefore take affected packages of computes from UCA repo. Change-Id: I4e13a40dd47caf305efd9f393b3c3cf5a17ef312 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>