aboutsummaryrefslogtreecommitdiffstats
path: root/mcp/config/states
AgeCommit message (Collapse)AuthorFilesLines
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 Avadanii8-16/+64
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 Avadanii3-50/+45
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-02Align salt version & reposMichael Polenchuk1-4/+0
Change-Id: If7cb8473f5c290d1d5f22fce5567f7b8da24fd9f Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.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>
2017-09-25Merge "states: maas: Dynamic node count in stop condition"Alexandru Avadanii1-1/+4
2017-09-25Run packages upgrade on openstack nodes onlyMichael Polenchuk1-2/+2
Change-Id: I53ac0be519df1bb39a6a56e236285fce95228bd4 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-09-24states: maas: Dynamic node count in stop conditionMichael Polenchuk1-1/+4
Change-Id: I7fe8d0c77a1d62e2214fb1089651a639303dd20e Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-09-23Workaround VCP minions timeout post pkg.upgradeAlexandru Avadanii1-2/+4
pkg.upgrade was enabled for all salt minions, including VCP VMs, which take longer to perform the operation, probably due to an older set of packages in the Ubuntu disk image we use. One way to work around this is to switch to UCA Xenial image, and let Salt pre-provising salt minion on it, but that adds deploy time delay and has caused issues in the past (should be ok now). Alternatively, we can retry the pkg.upgrade until all minions respond, before moving on with the state execution. This prevents silently skipping the next salt calls (e.g. installing keepalived). Note that the issue did not manifest for OVD-DPDK, where after pkg.upgrade, DPDK is installed, giving VCP VMs enough time to return. While at it, retry 'salt.control' state apply too (non-critical, but it fails every once in a while). Fixes: 87310fb Change-Id: I97acc2b23206a55d72f7e6583ca42127fdbacc16 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-09-22states: maas: Add 30s delay in re-deploy attemptAlexandru Avadanii1-0/+2
Occasionaly, MaaS fails to provision/deploy some nodes, in which case we try marking them as broken, then fixed (to put them again in 'ready' state); before re-attempting the MaaS deploy operation. However, this leads to 'Error: Internal server error' when deploy function is called right after transitioning the node to 'ready' state. Add a delay of 30 seconds before re-attempting the failed operation. Change-Id: Ia9ecec67639387e4a29feab3114e1741c554a2cb Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-09-22Adjust memory allocation sizeMichael Polenchuk1-0/+3
* [baremetal] add memory to contollers & salt master * tune up sysctl vm.dirty* for compute nodes * upgrade packages to get the latest versions (https://bugs.launchpad.net/cinder/+bug/1641312) Change-Id: I9ad22206f2f3f11e1da3f93c7a0931c592adf1cf Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-09-13Merge "[virtual] Setup nfs for nova instances"Alexandru Avadanii1-0/+4
2017-09-13[baremetal] Setup glusterfs for nova instancesMichael Polenchuk1-1/+1
Live-migration feature requires shared storage on compute nodes, so configure glusterfs volume for nova instances. Change-Id: Id6b9b5aad89f5b4aefbef71e4ba7247a441873b0 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-09-13[virtual] Setup nfs for nova instancesMichael Polenchuk1-0/+4
Configure nfs shared storage for nova instances to support live migration feature. Change-Id: I777d5725e45d03325507d3ecc8dd59a28cbc188f Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-09-12reclass, states: Parametrize runtime configurationAlexandru Avadanii1-2/+1
mcpcontrol virsh network, as well as MaaS PXE network are installer specific, and not POD specific. Therefore, these should be easily parametrized without the PDF, using only installer inputs (e.g. env vars passed via Jenkins). - add new <all-mcp-ocata-common.opnfv.runtime> reclass class; - parametrize at runtime new reclass class based on global vars; - factor out MaaS deploy address / config using new mechanism; - parametrize at runtime virsh network definitions based on template; - add new "maas.pxe_route" sls for configuring routing on cfg01; - replace env vars with the new sls in "maas" state; NOTE: baremetal parametrization will be handled later. Change-Id: Ifd61143d818fb088b3f4395388ba769bbc49156e Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-09-11salt master, maas: Move mcpcontrol to 10.20.0.0/24Alexandru Avadanii1-1/+1
Use INSTALLER_IP Jenkins param instead of SALT_MASTER_IP, allowing us to drop SALT_MASTER_IP completely from releng. mcpcontrol IP changes: - 192.168.10.100 becomes 10.20.0.2 (align with legacy Fuel master); - 192.168.10.3 becomes 10.20.0.3 (baremetal MaaS address); JIRA: FUEL-285 Change-Id: I6e2d44c3a8b43846196bd64191735214167a76ce Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-09-11Merge "os_cacert: Parametrize VIP used in path by cp.push"Michael Polenchuk1-1/+4
2017-09-10os_cacert: Parametrize VIP used in path by cp.pushAlexandru Avadanii1-1/+4
JIRA: FUEL-274 Change-Id: Ia77948ba3e99c47aa86fcca20c67d80e2e761208 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-09-08bash scripts: Fix remaining shellcheck warn/errsAlexandru Avadanii2-3/+8
Fix/silence all shellcheck errors, except for scripts in <prototypes/sfc_tacker>. Change-Id: Idc317cdba0f69b78299f2d3665e72ffc19dd8af5 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-09-08[ovs/dpdk] Mend dpdk settingsMichael Polenchuk1-0/+9
* add vcpus to virtual compute * re-pin dpdk core & pmds * switch to UCA repos * disable apt-daily cron job Change-Id: Ia23100b846d8954e3d5e8a264a6b8518402b2fa6 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-09-06Initialize mongodb clusterMichael Polenchuk1-1/+5
* wait for mongodb service ready state * run rs.initiate() to start a replication set Change-Id: Ia9d2357d2ce0e9ba92a6be3d8b6c068efaa10822 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-09-05[baremetal] Enable ceilometer/aodh servicesMichael Polenchuk1-0/+5
Change-Id: I34706afbdbcbdaace0b0ae6c2c2e8cb932812d4e Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-08-30Fix ssl cert upload pathMichael Polenchuk1-2/+2
JIRA: FUEL-274 Change-Id: I8e947009399a995474ed0088d56da04755d278df Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-08-30states: maas: Retry linux state if no responseAlexandru Avadanii1-1/+2
JIRA: FUEL-283 Change-Id: Ie85af8c12163fac28cb8826aa8902a4ff3dec623 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-08-29[virtual] Apply ceilometer/aodh servicesMichael Polenchuk1-0/+5
* run ceilometer/aodh states * wrap common virtual cluster options * get the source image based on timestamps Change-Id: I88f1d63ed4a94eba4ec0a9cf33d36d51c75ae355 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-08-28Sync os cacert from proxy to salt masterMichael Polenchuk1-0/+3
JIRA: FUEL-274 Change-Id: I2c8161b24cb18a0d1f9dc6fd509ce18af7ea8cf5 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-08-28[baremetal] Add required user on vcp nodesMichael Polenchuk1-6/+6
* add user of "ubuntu" so that functest gets cluster credentials * reduce cpu resources for vcp nodes in nofeature scenario * tune salt targets for maas state * specify ntp servers Change-Id: I433a1de1cd2c69c6747c62c3359f5485dee3bfa4 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-08-24[baremetal] Bring in ovs/dpdk scenarioMichael Polenchuk2-2/+2
Change-Id: Ia0d828fa31549a12b6740e0edeeba2ab13a9b998 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-08-24Merge "MaaS: commissioning/deployment retry"Michael Polenchuk1-17/+46
2017-08-23MaaS: commissioning/deployment retryAlexandru Avadanii1-17/+46
While at it, parametrize max attempt number in maas state's "wait_for", and reduce retries count for certain simpler tasks. Change-Id: I3ac2877719cdd32613bcf41186ebbb9f3f3aee93 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-08-23ci/deploy.sh, states: bash debug, continue on errAlexandru Avadanii7-0/+18
Since we don't `set -e` in state files, applying each state will always succeed unless the last instruction in the state fails. Make this uniform by always succeeding in applying the state. While at it, enable bash debugging logs, for better readability of deploy log files. Change-Id: I3cf4886f6d73c6fd1380df1a4e1413334bec1701 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-08-23Merge "states/network: parametrize Openstack public net"Michael Polenchuk1-3/+25
2017-08-23states/maas: Add mcp.rsa.pub to authorized_keysAlexandru Avadanii1-1/+4
Add our mcp.rsa.pub RSA key to all nodes, including VCP VMs. This is required for functest to be able to fetch openrc. While at it, add retry wrappers for more VCP VM state.sls calls. Change-Id: I34f79848c52e36de8d981055880321a081420874 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> Signed-off-by: Guillermo Herrero <Guillermo.Herrero@enea.com>
2017-08-22states/network: parametrize Openstack public netAlexandru Avadanii1-3/+25
Determine public network based on public IPs of compute nodes. Change-Id: I5a6b29a0458b0b839f8fdb3e32616a41d7a621f7 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-08-22Shift vcp nodes interfacesMichael Polenchuk2-2/+5
* shift vcp nodes interfaces since names started from ens2 * add extra salt sync before vcp start up * run rabbitmq state on 1st node beforehand then the rest Change-Id: Ic2c174c288a5e89f2f28c0d9aa573340190a61d3 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-08-22baremetal: HA: Standalone openstack_ha stateAlexandru Avadanii1-0/+30
Replicate all calls from "openstack" state to "openstack_ha", while adjusting minor parameters for HA, based on [1]. [1] https://docs.mirantis.com/mcp/1.0/mcp-deployment-guide/\ deploy-mcp-cluster-manually.html Change-Id: Iaf2262fa9c54f2401b69635ff46329ffb856f802 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-08-22states: maas: Retry applying VCP VMs linux stateAlexandru Avadanii1-1/+1
Running a heavy state like `linux` on all nodes (including VCP VMs) might time out the first time on slower systems. Change-Id: I21a3ad380afafa833f59e14da86aff92e254e9c7 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-08-21Cleanup outdated salt keysMichael Polenchuk1-0/+3
Remove keys that are left over from the previous deployment to avoid interfere with the new ones. Change-Id: I0dfa9782cbce9a8e8b7c1efe5954c8ffe85996f9 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-08-21Check out all vcp nodes are availableMichael Polenchuk1-0/+11
Change-Id: I86bb27b323152440e8a885dbf867da433a288dae Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-08-19maas state: Add debug output to grep query loopsAlexandru Avadanii1-3/+3
Change-Id: Ic47a9dd2d5a4cccc9c4330509d81aba82f777084 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-08-18linux.network: Fix noifupdown in linux/map.jinjaAlexandru Avadanii1-2/+3
Previous changes attempted to add 'noifupdown' support, but failed to spell it correctly. Fix the typo and also edit the 'maas' state to use simple `salt state.apply` instead of `cmd.run 'salt-call'`. Change-Id: If9889dee896fa100febe0372fe2c4173fc223ee3 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-08-18Apply network config on kvm nodesMichael Polenchuk1-4/+5
* re-assign ip from interface to bridge - install bridge utils - make a reboot straight away after network config * change image source for vcp Change-Id: I34506ee161337b5d3a4088cfdf3c082d99ccb695 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-08-17Bring in baremetal supportAlexandru Avadanii2-0/+68
- ci/deploy.sh: fail if default scenario file is missing; - start by copying reclass/classes/cluster/virtual-mcp-ocata-ovs as classes/cluster/baremetal-mcp-ocata-ovs; - add new state (maas) that will handle MaaS configuration; - Split PXE network in two for baremetal: * rename old "pxe" virtual network to "mcpcontrol", make it non-configurable and identical for baremetal/virtual deploys; * new "pxebr" bridge is dedicated for MaaS fabric network, which comes with its own DHCP, TFTP etc.; - Drop hardcoded PXE gateway & static IP for MaaS node, since "mcpcontrol" remains a NAT-ed virtual network, with its own DHCP; - Keep internet access available on first interfaces for cfg01/mas01; - Align MaaS IP addrs (all x.y.z.3), add public IP for easy debug via MaaS dashboard; - Add static IP in new network segment (192.168.11.3/24) on MaaS node's PXE interface; - Set MaaS PXE interface MTU 1500 (weird network errors with jumbo); - MaaS node: Add NAT iptables traffic forward from "mcpcontrol" to "pxebr" interfaces; - MaaS: Add harcoded lf-pod2 machine info (fixed identation in v6); - Switch our targeted scenario to HA; * scenario: s/os-nosdn-nofeature-noha/os-nosdn-nofeature-ha/ - maas region: Use mcp.rsa.pub from ~ubuntu/.ssh/authorized_keys; - add route for 192.168.11.0/24 via mas01 on cfg01; - fix race condition on kvm nodes network setup: * add "noifupdown" support in salt formula for linux.network; * keep primary eth/br-mgmt unconfigured till reboot; TODO: - Read all this info from PDF (Pod Descriptor File) later; - investigate leftover references to eno2, eth3; - add public network interfaces config, IPs; - improve wait conditions for MaaS commision/deploy; - report upstream breakage in system.single; Change-Id: Ie8dd584b140991d2bd992acdfe47f5644bf51409 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> Signed-off-by: Guillermo Herrero <Guillermo.Herrero@enea.com> Signed-off-by: Charalampos Kominos <Charalampos.Kominos@enea.com> Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-07-15mcp: openstack: Install & configure horizonAlexandru Avadanii1-0/+2
Change-Id: I2f6b136efebfee95a9a192c40afb88d20bbacef0 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-07-13Tune network sysctl optionsMichael Polenchuk1-1/+1
* tune net/tcp opts * handle vcpus setting for vms * fix tempest issue with public subnets visible * set reclass data source to local to avoid git clone Change-Id: Ibac9eba8234ebb20854c03b399405968cb2069e8 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-07-11Apply upstream patchesMichael Polenchuk1-0/+1
For opendaylight support: * neutron formula * reclass system model Plus missing apply of haproxy state. Change-Id: Ic9e3672b51d5331656d636c44c3f891e49437e23 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-07-10Align reclass cluster model of dpdk scenarioMichael Polenchuk1-3/+5
Change-Id: I4fc0c0e040c97e91c79aae2f0142fb6f025081f2 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-07-06Enable cinder volume serviceMichael Polenchuk2-16/+18
Change-Id: I29ad8fc0e504779184fdf3795dc82ce1b031dbf8 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>