diff options
author | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2018-04-07 05:27:48 +0200 |
---|---|---|
committer | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2018-06-19 15:47:11 +0200 |
commit | 33c017d388bf0f9cef5199c186bec5b4fd01f767 (patch) | |
tree | 7a90ebe50f00224bb51dce6bc772b9ec9d8c5e8c /mcp/reclass/classes/cluster/mcp-common-noha | |
parent | 3dbd313cc111455f8cf88d0d072ec8a2f3c6f705 (diff) |
Enforce static configuration instead of DHCP
- noha: 'accept_policy: open_mode' to align with ha scenarios;
- s/cmp01/cmp001/g to align all scenarios and allow code reuse;
- rename network params: s/dhcp/mcpcontrol/g, cleanup;
- computes XDF data: drop 'opnfv_*' layer of params, cleanup;
- local vPDF: add comments with default roles by node index;
- parameterize all netmasks;
- drop unused address/netmask for 'proto: manual' interfaces;
- virsh_net: cleanup definitions, remove hardcodes, align IP on
jumpserver and DHCP range with MaaS for pxebr;
- maas: parameterize hardcoded '/24' cidr for PXE/admin, refactor
maas.region.machines parameterization;
- merge <all-mcp-arch-common/infra/config_*pdf.yaml.j2> templates;
- move reclass.storage definitions of compute nodes to common dir;
- drop 'openstack_compute_*' reclass params in favor of expanding
them via j2 directly in reclass.storage params;
- adopt `nm.cluster.has_*_nodes` where possible;
- obsolete `runtime.yml` from reclass model;
- refactor arch-specific reclass param selection;
- remove unused defaults in favor of mandatory IDF properties;
- noha: prepare for baremetal node support in cinder_lvm_devices;
- interfaces: add interface_mtu and 'noifupdown: true' everywhere;
- interfaces: use j2 macros to generate eth/vlan config;
- states cleanup: remove DHCP route disable workaround on prx/cmp;
- allow configuring NTP servers via:
`idf.fuel.network.ntp_strata_host{1,2}`;
- ovs_bridge: Allow setting gateway, dns-nameservers
- apache: Adjust module list for novcp class inheritance;
- glusterfs PPA: pin with same prio of MCP repos for novcp scenario;
JIRA: FUEL-319
JIRA: FUEL-326
JIRA: FUEL-337
Change-Id: Ia6ad64ba8cade85a75fb22c9a2505decc3834360
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Diffstat (limited to 'mcp/reclass/classes/cluster/mcp-common-noha')
-rw-r--r-- | mcp/reclass/classes/cluster/mcp-common-noha/infra/config.yml.j2 (renamed from mcp/reclass/classes/cluster/mcp-common-noha/infra/config.yml) | 41 | ||||
-rw-r--r-- | mcp/reclass/classes/cluster/mcp-common-noha/init_options.yml | 2 | ||||
-rw-r--r-- | mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute.yml | 2 | ||||
-rw-r--r-- | mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute_pdf.yml.j2 | 17 | ||||
-rw-r--r-- | mcp/reclass/classes/cluster/mcp-common-noha/openstack_control.yml | 2 | ||||
-rw-r--r-- | mcp/reclass/classes/cluster/mcp-common-noha/openstack_control_pdf.yml.j2 | 12 | ||||
-rw-r--r-- | mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway_pdf.yml.j2 | 12 | ||||
-rw-r--r-- | mcp/reclass/classes/cluster/mcp-common-noha/openstack_init.yml.j2 (renamed from mcp/reclass/classes/cluster/mcp-common-noha/openstack_init.yml) | 19 |
8 files changed, 51 insertions, 56 deletions
diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-common-noha/infra/config.yml.j2 index 0a2924bac..ac53e8225 100644 --- a/mcp/reclass/classes/cluster/mcp-common-noha/infra/config.yml +++ b/mcp/reclass/classes/cluster/mcp-common-noha/infra/config.yml.j2 @@ -5,34 +5,22 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +{%- import 'net_map.j2' as nm with context %} --- classes: - - service.git.client - - system.linux.system.single - - system.linux.system.repo.mcp.salt - - system.salt.master.api - - system.salt.master.pkg - - system.reclass.storage.salt - - system.salt.minion.ca.salt_master - system.mysql.client.single - - system.reclass.storage.system.openstack_compute_multi + - cluster.all-mcp-arch-common.infra.config_pdf parameters: _param: openstack_control_node01_hostname: ctl01 - reclass_data_repository: local - reclass_config_master: ${_param:opnfv_infra_config_pxe_address} - salt_master_environment_repository: "https://github.com/tcpcloud" - salt_master_environment_revision: master + reclass_config_master: ${_param:opnfv_infra_config_pxe_admin_address} single_address: ${_param:opnfv_infra_config_address} salt_master_host: 127.0.0.1 - salt_master_base_environment: prd salt_minion_ca_host: ${linux:network:fqdn} - # yamllint disable-line rule:line-length - salt_api_password_hash: "$6$sGnRlxGf$al5jMCetLP.vfI/fTl3Z0N7Za1aeiexL487jAtyRABVfT3NlwZxQGVhO7S1N8OwS/34VHYwZQA8lkXwKMN/GS1" linux: network: interface: - dhcp: + mcpcontrol_int: enabled: true type: eth proto: dhcp @@ -43,14 +31,14 @@ parameters: type: eth proto: static address: ${_param:single_address} - netmask: 255.255.255.0 - pxe: + netmask: ${_param:opnfv_net_mgmt_mask} + pxe_admin_int: enabled: true type: eth proto: static name: ${_param:opnfv_fn_vm_tertiary_interface} - address: ${_param:opnfv_infra_config_pxe_address} - netmask: 255.255.255.0 + address: ${_param:opnfv_infra_config_pxe_admin_address} + netmask: ${_param:opnfv_net_admin_mask} salt: master: file_recv: true @@ -58,8 +46,6 @@ parameters: command_timeout: 20 reclass: storage: - data_source: - engine: local node: openstack_control_node01: name: ${_param:openstack_control_node01_hostname} @@ -70,13 +56,4 @@ parameters: linux_system_codename: xenial salt_master_host: ${_param:reclass_config_master} single_address: ${_param:openstack_control_node01_address} - openstack_compute_node01: - params: - single_address: ${_param:opnfv_openstack_compute_node01_control_address} - tenant_address: ${_param:opnfv_openstack_compute_node01_tenant_address} - external_address: ${_param:opnfv_openstack_compute_node01_external_address} - openstack_compute_node02: - params: - single_address: ${_param:opnfv_openstack_compute_node02_control_address} - tenant_address: ${_param:opnfv_openstack_compute_node02_tenant_address} - external_address: ${_param:opnfv_openstack_compute_node02_external_address} + pxe_admin_address: ${_param:opnfv_openstack_control_node01_pxe_admin_address} diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/init_options.yml b/mcp/reclass/classes/cluster/mcp-common-noha/init_options.yml index 69aba92ad..462ab8312 100644 --- a/mcp/reclass/classes/cluster/mcp-common-noha/init_options.yml +++ b/mcp/reclass/classes/cluster/mcp-common-noha/init_options.yml @@ -24,5 +24,3 @@ parameters: openstack_message_queue_node03_address: ${_param:openstack_control_node03_address} openstack_gateway_address: ${_param:opnfv_openstack_gateway_node01_address} control_address: ${_param:openstack_control_address} - ntp_strata_host1: 1.se.pool.ntp.org - ntp_strata_host2: 0.se.pool.ntp.org diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute.yml b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute.yml index edd7f9f58..671f6eb07 100644 --- a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute.yml +++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute.yml @@ -21,7 +21,7 @@ parameters: _param: interface_mtu: 9000 linux_system_codename: xenial - ~cinder_lvm_devices: ['/dev/vdb'] + single_address: ${_param:control_address} nova: compute: libvirt_service: libvirtd diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute_pdf.yml.j2 index 64af148fd..aebd88828 100644 --- a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute_pdf.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute_pdf.yml.j2 @@ -10,6 +10,15 @@ --- parameters: _param: + # Should later be determined via PDF/IDF, AArch64 has ESP on /dev/sda1 +{%- if conf.nodes[nm.cmp001.idx].node.type == 'virtual' %} + ~cinder_lvm_devices: ['/dev/vdb'] +{%- elif conf.nodes[nm.cmp001.idx].node.arch == 'aarch64' or + conf.nodes[nm.cmp001.idx].disks.0.disk_capacity | storage_size_num | float > 2000000000000 %} + ~cinder_lvm_devices: ['/dev/sda2'] +{%- else %} + ~cinder_lvm_devices: ['/dev/sda1'] +{%- endif %} primary_interface: {{ nm.cmp001.nic_mgmt }} tenant_interface: {{ nm.cmp001.nic_private }} external_interface: {{ nm.cmp001.nic_public }} @@ -17,11 +26,13 @@ parameters: network: bridge: openvswitch interface: - dhcp_int: + pxe_admin_int: enabled: true name: {{ nm.cmp001.nic_admin }} - proto: dhcp + proto: static type: eth + address: ${_param:pxe_admin_address} + netmask: ${_param:opnfv_net_admin_mask} mtu: ${_param:interface_mtu} primary_interface: enabled: true @@ -39,6 +50,6 @@ parameters: type: bridge proto: static address: ${_param:single_address} - netmask: 255.255.255.0 + netmask: ${_param:opnfv_net_mgmt_mask} use_interfaces: - ${_param:primary_interface} diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control.yml b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control.yml index c4915c795..f458281ce 100644 --- a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control.yml +++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control.yml @@ -150,7 +150,7 @@ parameters: path: /srv/nova/instances host: nova: - host: ${_param:single_address}/24 + host: ${_param:single_address}/${_param:opnfv_net_mgmt_mask} params: - rw - no_root_squash diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control_pdf.yml.j2 index 8219637dc..b0b55afb9 100644 --- a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control_pdf.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control_pdf.yml.j2 @@ -11,22 +11,26 @@ parameters: linux: network: interface: - dhcp_int: + pxe_admin_int: enabled: true name: {{ nm.ctl01.nic_admin }} - proto: dhcp + proto: static type: eth + address: ${_param:pxe_admin_address} + netmask: ${_param:opnfv_net_admin_mask} single_int: enabled: true name: {{ nm.ctl01.nic_mgmt }} type: eth proto: static address: ${_param:single_address} - netmask: 255.255.255.0 + netmask: ${_param:opnfv_net_mgmt_mask} public_int: enabled: true name: {{ nm.ctl01.nic_public }} type: eth proto: static address: ${_param:cluster_public_host} - netmask: 255.255.255.0 + netmask: ${_param:opnfv_net_public_mask} + gateway: ${_param:opnfv_net_public_gw} + name_servers: {{ nm.dns_public }} diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway_pdf.yml.j2 index 7067d59a4..6bd61a2d4 100644 --- a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway_pdf.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway_pdf.yml.j2 @@ -16,11 +16,13 @@ parameters: network: bridge: openvswitch interface: - dhcp_int: + pxe_admin_int: enabled: true name: {{ nm.ctl01.nic_admin }} - proto: dhcp + proto: static type: eth + address: ${_param:pxe_admin_address} + netmask: ${_param:opnfv_net_admin_mask} mtu: ${_param:interface_mtu} primary_interface: enabled: true @@ -40,6 +42,8 @@ parameters: mtu: ${_param:interface_mtu} proto: manual type: eth + gateway: ${_param:opnfv_net_public_gw} + name_servers: {{ nm.dns_public }} br-floating: enabled: true type: ovs_bridge @@ -49,7 +53,7 @@ parameters: type: bridge proto: static address: ${_param:single_address} - netmask: 255.255.255.0 + netmask: ${_param:opnfv_net_mgmt_mask} mtu: ${_param:interface_mtu} use_interfaces: - ${_param:primary_interface} @@ -63,7 +67,7 @@ parameters: type: bridge mtu: ${_param:interface_mtu} address: ${_param:external_address} - netmask: 255.255.255.0 + netmask: ${_param:opnfv_net_public_mask} use_interfaces: - ${_param:external_interface} use_ovs_ports: diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_init.yml b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_init.yml.j2 index f76333374..a62057ac3 100644 --- a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_init.yml +++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_init.yml.j2 @@ -5,6 +5,7 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +{%- import 'net_map.j2' as nm with context %} --- parameters: _param: @@ -122,13 +123,13 @@ parameters: names: - gtw01 - gtw01.${_param:cluster_domain} - cmp01: - address: ${_param:opnfv_openstack_compute_node01_control_address} +{#- For compute nodes, expand values in-place, bypassing reclass param expansion #} +{%- for cmp in range(1, nm.cmp_nodes + 1) %} + {%- set h = 'cmp%03d' | format(cmp) %} + {%- set mgmt = nm.net_mgmt_hosts | length + nm.start_ip[nm.net_mgmt] + loop.index %} + {{ h }}: + address: {{ nm.net_mgmt | ipnet_hostaddr(mgmt) }} names: - - cmp01 - - cmp01.${_param:cluster_domain} - cmp02: - address: ${_param:opnfv_openstack_compute_node02_control_address} - names: - - cmp02 - - cmp02.${_param:cluster_domain} + - {{ h }} + - {{ h }}.${_param:cluster_domain} +{%- endfor %} |