summaryrefslogtreecommitdiffstats
path: root/mcp/reclass
AgeCommit message (Collapse)AuthorFilesLines
2018-01-01[baremetal] MaaS: Enable HTTP proxyAlexandru Avadanii7-1/+30
Instead of using NAT on the mas01 node for all cluster node outgoing traffic, use the MaaS built-in proxy for APT traffic to leverage its caching capabilities too. Also enable the proxy for salt minions, so they can access public keyservers et al. Cleanup public DNS from kvm nodes, interferes with MaaS proxy. Add example config for global env proxy, but don't enable it: - default environment settings - /etc/environment (via reclass); The MaaS proxy will not be used (at least for now) on nodes: - cfg01; - mas01; NOTE: We can't yet drop the maas.pxe_nat state completely, as certain Openstack services are still accessed via public addresses from ctl nodes. JIRA: FUEL-317 JIRA: FUEL-318 Change-Id: I6c5f6872bb94afb838580571080e808bc262fc68 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-12-31[baremetal] cmp: Add missing public gw (default)Alexandru Avadanii1-0/+5
When we dropped the default gw via mas01 NAT, we uncovered a bug, compute nodes do not have the proper public gw set up and used to reach public network via mas01, slowing everything down. Add gw similar to prx nodes. Fixes: d4ab072 Change-Id: I4343c31c376a7a223670cdd623366454396d8d92 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-12-29[netconfig] APT: Prefer ipv4 connections over ipv6Alexandru Avadanii2-0/+9
Ubuntu prefers ipv6 connections therefore in some networks, this breaks software updates (it does a AAAA DNS lookup before A record lookups). Let's prefer old style ipv4 connections over the new ipv6 in order to save some processing and resource utilization. Based on previous work from [1] (but without /etc/gai.conf, only APT). [1] https://review.openstack.org/#/c/462502/ JIRA: FUEL-321 Change-Id: Ic3dff3baa1c0be9ac95972557d6a2d26641bfe1b Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-12-28[patch] haproxy hostname parameterization upstreamAlexandru Avadanii1-0/+0
PR [1] was merged upstream. [1] https://github.com/Mirantis/reclass-system-salt-model/pull/298 Change-Id: I335ac265b0b0b625c2f488755c5d11710ab354c2 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-12-22Merge "[ovn] Weed out gateway node from reclass storage"Alexandru Avadanii4-5/+19
2017-12-22[vcp] Catch 'no response' of salt minion as wellMichael Polenchuk2-5/+0
Salt minion could return 'no response' and cause an unconfigured state of the vcp node(s), so catch this output after linux state as well. Also clean up excess route on proxy nodes. Change-Id: I3183fa09ff41a8f027ee789869bdae0c3962ab8f Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-12-22[ovn] Weed out gateway node from reclass storageMichael Polenchuk5-5/+19
Change-Id: I87efd87f8ac05ed9b3189e5dba80748e07c86d5d Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-12-21Bring in ovn based scenarioMichael Polenchuk12-1/+131
OVN based scenario doesn't require conventional gateway node since connectivity to external networks and routing occurs on compute nodes. Change-Id: I81e0d497170d5ffb067adf13b0e46290525f26a6 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-12-19[dpdk] Remove user/group setting for ovs rundirMichael Polenchuk1-0/+1
The proper patches have been merged into upstream (nova/neutron formulas, system reclass) to use a separate dir for vhost_user sockets. Change-Id: Iba8d8a9a05c5ab681b5b5ffbea786dca92704c82 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-12-19Set libvirt unix_sock_group as an optionMichael Polenchuk2-0/+1
Updated libvirt formula now supports group name as an option for unix socket parameter. Change-Id: I683e38971fe6c939fd09e95b805d611ddc596f28 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-12-18Merge "states: networks: Use role-based addressing"Alexandru Avadanii1-1/+1
2017-12-18Merge "[baremetal] cleanup: Remove unused gtw node data"Alexandru Avadanii2-23/+0
2017-12-18Merge "[baremetal] Move salt master IP to PXE/admin"Alexandru Avadanii6-4/+15
2017-12-18[maas] Set edge hwe kernel as a default minimumMichael Polenchuk1-6/+7
Change-Id: I360dcb675c90b6f20687979ebc493afe6682c821 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-12-18[baremetal] Move salt master IP to PXE/adminAlexandru Avadanii6-4/+15
Use PXE/admin network for salt traffic from/to all minions except cfg01, mas01. This allows us to drop the route to admin net from cfg01. Change-Id: Ic2526f1ff77afe5d92ced900971f4c8f78d2d8a2 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-12-18[baremetal] MaaS: Fix DHCP dynamic reserved rangeAlexandru Avadanii2-8/+9
- patch MaaS to default to `DHCP` instead of `AUTO` for physical PXE interfaces (all IPs will be handed out by MaaS DHCP *inside* the defined dynamic DHCP IP range); - reduce range to silence bogus MaaS warning about address exhaustion; - regenerate pod_config.yml.example to reflect the changes; - drop `opnfv_infra_maas_pxe_address` (duplicate of `opnfv_infra_maas_node01_deploy_address`); - add `opnfv_infra_config_pxe_address` for future usage; - while at it, fix missing patch copyright; JIRA: FUEL-316 Change-Id: I81fad333e77f7c8508cd2b2b267c7b39c130e3e1 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-12-16[baremetal] cleanup: Remove unused gtw node dataAlexandru Avadanii2-23/+0
Change-Id: I48f73caa0f7cae532d4d9b3f68e1d8de59f8dd9e Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-12-16states: networks: Use role-based addressingAlexandru Avadanii1-1/+1
JIRA: FUEL-310 Change-Id: Ice6d6bbb2d2ee8e21f2757b02056873d1a030ea3 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-12-14[baremetal] Move VCP iface config to own ymlAlexandru Avadanii28-91/+100
- move linux.network.interface definitions to their own classes, which also removes the previous requirement of defining {dhcp,single}_nic parameters in classes that don't actually use them; - drop now useless {dhcp,single}_nic parameters; - expand linux_{dhcp,single}_interface macros, since they cause issues with reclass dict-merge while attempting to override sub-vars (i.e. it's not possible to set 'enabled: false' via reclass interpolation); JIRA: FUEL-310 Change-Id: I29d921f545e761de335a60e242a4523d13b06c78 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-12-14Merge "[baremetal] idf support for different board types"Alexandru Avadanii1-1/+1
2017-12-14Return back repo with glusterfsMichael Polenchuk3-0/+6
Glusterfs 3.11 package from UCA repo has the bug#875651, which causes package instalation error due to timeout of glustereventsd service startup. Therefore get the latest version from PPA repo. Change-Id: Ia47d969e758c8689508dfd6b7fd2725514ea88c5 Co-Authored-By: Alexandru Avadanii <Alexandru.Avadanii@enea.com> Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-12-14[baremetal] idf support for different board typesGuillermo Herrero1-1/+1
This modification enables having different models of target nodes but restricts them to two groups of the same kind assuming: - 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 This is an ad-hoc change for arm-pod7. Will work for all other setups but the jinja2 logic should be evetually extended to support a per board approach, allowing any board to be any kind Change-Id: Ie994d661e3dbe5b9a33d290a850a6152cf320c86 Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
2017-12-14Revert "Horizon: service: Default to v2 API"Alexandru Avadanii2-2/+2
Pike Horizon packages contain the fix for full v3 compatibility. Also update the reclass models to use v3 API. JIRA: FUEL-284 This reverts commit 68ff467c4c2d9d0f201e2912c97616402f8109a3. Change-Id: I7795197100a67f892889eefce73252ec90d289cc Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-12-13[baremetal] Link br-ex as ovs portMichael Polenchuk1-24/+9
Add br-ex and physical public interface as ports directly to ovs bridge. Change-Id: I12c078d3e286af7c5fa3078cc055905c03cf600b Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-12-12Merge "[baremetal] Move all MaaS PXE net config to PDF"Alexandru Avadanii5-17/+10
2017-12-12Merge "[baremetal] Fixup pike deployment (2)"Alexandru Avadanii1-0/+5
2017-12-12[baremetal] Fixup pike deployment (2)Michael Polenchuk1-0/+5
* align dpdk packages list * add missing libvirtd group to vcp host nodes Change-Id: Ideab2b16ca0561035b225e58bf3d0c5653d303bb Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-12-12[baremetal] Set public vlan tag on ovs portMichael Polenchuk1-2/+4
Change-Id: Ia5a34d8d8a9649fc911198fed86aee51071ba568 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-12-11AArch64: s/ocata/pike/g in scenario defaultsAlexandru Avadanii1-2/+2
We hard set some repo URLs used for base image pre-building, so bump those to Pike, now that Armband repos for Pike are populated. JIRA: ARMBAND-335 Change-Id: Ibd7267b628985a3c7a33d9d8a93c824077c69f10 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-12-11[baremetal] Move all MaaS PXE net config to PDFAlexandru Avadanii5-17/+10
- s/opnfv_maas_pxe_/opnfv_infra_maas_pxe_/g to align with other vars; - patches: pharos: Add MaaS PXE network to installer adapter; - runtime.yml{,.template}: move to installer adapter, update pod_config.yml example; - drop MAAS_PXE_NETWORK global env var, now read strictly from PDF; JIRA: FUEL-313 Change-Id: I46d7510bd53fba7890c411d36bc28fd6ff6f3648 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-12-11Merge "[baremetal] cleanup: Parameterize VCP hostnames"Alexandru Avadanii5-15/+15
2017-12-11Merge "[baremetal] Fixup pike deployment"Alexandru Avadanii3-0/+14
2017-12-11Merge "pod_config: cleanup: Drop infra_compute_*_address"Alexandru Avadanii2-6/+0
2017-12-11[baremetal] cleanup: Parameterize VCP hostnamesAlexandru Avadanii5-15/+15
We already define the hostnames in a central location (openstack_init), so use the reclass params instead of hardcodes. Also handle hardcoded hostnames in system.haproxy.proxy.listen and system.mongodb.server.cluster. This will also simplify later changes for novcp scenarios. JIRA: FUEL-310 Change-Id: I2a8b4cd1fcb61a7c63f9047123d985bb688dca0a Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-12-11Revert "Bring in newer glusterfs for mtime unsplit brain"Michael Polenchuk3-6/+0
Since the uca/pike repo has version of 3.11 This reverts commit 8a867449217151f59766a74c6165ffc26c7f50b4. Change-Id: I5cc0d94b4a1b53b987fab03bc20466ee3c3eb8b2 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-12-11[baremetal] Fixup pike deploymentMichael Polenchuk3-0/+14
* up glusterfs.client state before actual volume usage * handle keystone server state * specify suitable nova packages list for uca repo (consoleproxy vs novncproxy) * upgrade vcp nodes to get proper cryptography library for keystone * align service names for libvirt & glusterfs Change-Id: Iaeb7d147e6d407bbeaec2d40fd81037c939c3fe0 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-12-11pod_config: cleanup: Drop infra_compute_*_addressAlexandru Avadanii2-6/+0
Our PDF installer adapter defines 3 unused reclass params that are misleading, so drop them (infra_compute_node{01,02,03}_address). Change-Id: I0ca49b73add543c8f03b14ed4d805ce55f973bb5 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-12-11[baremetal] Update openstack version to pikeMichael Polenchuk66-209/+167
Change-Id: If4208e937734df72b10aad259c65a2617ff5e19c Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-12-08[baremetal] Migrate public bridge to ovsMichael Polenchuk2-10/+25
Get rid of "ovs-to-linux" links, instead of this setup native ovs bridge for public interface and link it with neutron external bridge. Change-Id: I483881e78f22fc035107a622307d95761c4a5667 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-12-08[baremetal] PDF: Use net_admin for MaaS PXE netAlexandru Avadanii1-1/+1
While at it, fix another small issue where a variable (parameters__param_opnfv_maas_pxe_address) was used without being populated (defined in 'runtime.yml', which is not read using `parse_yaml`, like the scenario yml or the PDF expanded class, pod_config.yml). JIRA: FUEL-313 Change-Id: Iee88601d5420f55572bf90c8cf330afbedfb2e21 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-12-04virtual: Add infra/init.yml for each scenarioAlexandru Avadanii7-15/+47
Align our reclass model for virtual PODs with baremetal, by adding an infra init file for each scenario, setting up cluster_name via scenario infra init instead of scenario init. While at it, reduce redundancy by defining cluster_domain based on cluster_name via common infra init. JIRA: FUEL-310 Change-Id: I5e89c883853fa66cb1c1fc69ce5766ee136ac477 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-12-04PDF: reclass: Rename template file suffix to _pdfAlexandru Avadanii11-9/+6
Init is a generic suffix which also collides with pre-existing files. A distinct suffix (e.g. _pdf) should be used. JIRA: FUEL-310 Change-Id: I919a5394e7ff432ee86d10bafe889aeadb181649 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-12-04baremetal: openstack_proxy: Rename iface dictsAlexandru Avadanii1-3/+3
Later we will want to merge multiple openstack_* classes, which would try to merge the 'single', 'dhcp' interface definitions and fail due to mismstached types (proxy has 'dict' types while the rest do not). Let's rename the proxy iface definitions to prevent that. JIRA: FUEL-310 Change-Id: I1be18ddbbeae1bb3ee6de9bd783ee57b185cd477 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-12-04baremetal: Use common database_init, control_initAlexandru Avadanii8-256/+1
While at it, delete unused haproxy_openstack_api. JIRA: FUEL-310 Change-Id: I01953b01624fe3e9da8074239d20056f3762efc7 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-12-04Rename reclass models to add "-ha" or "-noha"Alexandru Avadanii81-96/+96
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 Polenchuk5-9/+7
Change-Id: I879f565fe17539a54770fa22a6088c6493524e0c Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-11-28[virtual] Update openstack version to pikeMichael Polenchuk45-111/+82
Change-Id: I1df0228cb44bf9122aaf93dd25fc16a0d26a5240 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-11-28Merge "Add pre-{install,purge} support for base image"Michael Polenchuk1-1/+1
2017-11-27[baremetal] VCP VM base img: Switch URL to AWS S3Alexandru Avadanii1-1/+1
Mirantis prebuilt base image for VCP VMs (used by salt.control on x86_64) has been moved to a new location on AWS S3. Change-Id: I9f4a858a1033c3c0a05cba0bd40a8ceac6075615 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-11-27Add pre-{install,purge} support for base imageAlexandru Avadanii1-1/+1
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>