Add cmps and storage network settings for SI MOCK lab
- if the network with CONTROL_NETWORK_CIDR is not
configured at the start of the script, CONTROL_IP_ADDRESS
got the 'src' instead of IP address because:
$ ip route get ${CONTROL_NETWORK_CIDR%/*}
172.16.51.0 via 172.16.50.1 dev enp8s0f0 src 172.16.50.21 uid 0
Ensure that the CONTROL_IP_ADDRESS will be empty in case
if control network is not configured yet (no 'via' in the route).
Fail in case
- split the function "prepare_metadata_files" on two functions:
"prepare_metadata_files" and "collect_ceph_metadata"
- "prepare_metadata_files" function should be executed
at the very beginning to prepare configs before
any other service is set up
- "network_config" function must be executed right after
"prepare_metadata_files" to initialize the correct
CONTROL_IP_ADDRESS in case if this address is not from
the PXE interface and is not available until network
configuration is completed
- add "disable-rp-filter" function to allow different
networks on the same node
https: //mirantis.jira.com/browse/PRODX-2630
Change-Id: I9f28f8f4b60efce64eecf7eb70cf75746892424e
diff --git a/de/heat-templates/env/bmt410-mstr3-wrkr3-cmp0-gtw0-osd3.yaml b/de/heat-templates/env/bmt410-mstr3-wrkr3-cmp0-gtw0-osd3.yaml
index ec785e9..bb1ffb3 100644
--- a/de/heat-templates/env/bmt410-mstr3-wrkr3-cmp0-gtw0-osd3.yaml
+++ b/de/heat-templates/env/bmt410-mstr3-wrkr3-cmp0-gtw0-osd3.yaml
@@ -11,14 +11,14 @@
ucp_flavor: si-bm-410-128-16-hdd0-ssd2x1t
masters_flavor: si-bm-410-128-16-hdd0-ssd2x1t
workers_flavor: si-bm-410-128-32-hdd0-ssd2x1t
- cmps_flavor: oscore-bm-lab-01
+ cmps_flavor: si-bm-410-128-16-hdd0-ssd1x500g
gtws_flavor: oscore-bm-lab-01
lmas_flavor: oscore-bm-lab-01
osds_flavor: si-bm-410-64-16-hdd2x2t-ssd1x500g
spares_flavor: si-bm-410-64-16-hdd2x2t-ssd1x500g
masters_size: 2 # UCP nodes
worker_size: 3 # OpenStack controller nodes
- cmp_size: 0
+ cmp_size: 3
gtw_size: 0
lma_size: 0
osd_size: 3
@@ -26,18 +26,23 @@
ucp_boot_timeout: 1200
cluster_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCp0evjOaK8c8SKYK4r2+0BN7g+8YSvQ2n8nFgOURCyvkJqOHi1qPGZmuN0CclYVdVuZiXbWw3VxRbSW3EH736VzgY1U0JmoTiSamzLHaWsXvEIW8VCi7boli539QJP0ikJiBaNAgZILyCrVPN+A6mfqtacs1KXdZ0zlMq1BPtFciR1JTCRcVs5vP2Wwz5QtY2jMIh3aiwkePjMTQPcfmh1TkOlxYu5IbQyZ3G1ahA0mNKI9a0dtF282av/F6pwB/N1R1nEZ/9VtcN2I1mf1NW/tTHEEcTzXYo1R/8K9vlqAN8QvvGLZtZduGviNVNoNWvoxaXxDt8CPv2B2NCdQFZp
public_net_id: 'physnet1-410'
- control_network_cidr: '172.16.50.0/25'
+ control_network_cidr: '172.16.50.128/25'
private_floating_network_cidr: '172.16.51.0/25'
private_floating_network_pool_start: '172.16.51.10'
private_floating_network_pool_end: '172.16.51.30'
private_floating_network_ipam_pool_start: '172.16.51.31'
private_floating_network_ipam_pool_end: '172.16.51.62'
private_floating_network_gateway: '172.16.51.1'
+ metallb_address_pools: [ '172.16.51.130-172.16.51.250' ]
private_floating_interface: 'os-floating'
+ storage_frontend_interface: 'ceph-control'
+ storage_backend_interface: 'ceph-replica'
tunnel_interface: 'os-tenant'
live_migration_interface: 'os-tenant'
- #master_metadata: {"labels": {"role": "stacklight", "stacklight": "enabled"}}
- worker_metadata: {"labels": {"openstack-control-plane":"enabled", "openstack-compute-node":"enabled", "openvswitch":"enabled", "gateway": "enabled"}}
+ ucp_metadata: {"role":"ucp", "labels": {"role": "stacklight", "stacklight": "enabled"}}
+ master_metadata: {"role":"master", "labels": {"role": "stacklight", "stacklight": "enabled"}}
+ worker_metadata: {"labels": {"openstack-control-plane":"enabled", "openvswitch":"enabled", "openstack-gateway": "enabled"}}
+ cmp_metadata: {"labels": {"openstack-compute-node":"enabled","openvswitch":"enabled"}}
osd_metadata: {"labels": {"role": "ceph-osd-node"}}
spare_metadata: {"labels": {"role": "spare-node"}}
@@ -45,7 +50,7 @@
hardware_metadata: |
'0c:c4:7a:33:26:7c':
write_files:
- - path: '/etc/netplan/99-cz7714.yaml'
+ - path: '/etc/netplan/99-cz7714-osd.yaml'
content: |
network:
version: 2
@@ -75,25 +80,36 @@
k8s-control:
id: 411
link: bond0
+ addresses:
+ - 172.16.50.130/25
os-floating:
id: 412
link: bond1
+ addresses:
+ - {{ PUBLIC_INTERFACE_IP }}/{{ PUBLIC_INTERFACE_NETMASK }}
k8s-metallb:
id: 413
link: bond0
- k8s-dataplane:
+ management:
id: 414
link: bond0
- os-storage:
+ ceph-control:
id: 415
link: bond1
+ addresses:
+ - {{ STORAGE_FRONTEND_INTERFACE_IP }}/{{ STORAGE_FRONTEND_NETWORK_NETMASK }}
os-tenant:
id: 416
link: bond1
+ ceph-replica:
+ id: 417
+ link: bond1
+ addresses:
+ - {{ STORAGE_BACKEND_INTERFACE_IP }}/{{ STORAGE_BACKEND_NETWORK_NETMASK }}
'0c:c4:7a:33:26:6e':
write_files:
- - path: '/etc/netplan/99-cz7725.yaml'
+ - path: '/etc/netplan/99-cz7725-osd.yaml'
content: |
network:
version: 2
@@ -123,25 +139,36 @@
k8s-control:
id: 411
link: bond0
+ addresses:
+ - 172.16.50.131/25
os-floating:
id: 412
link: bond1
+ addresses:
+ - {{ PUBLIC_INTERFACE_IP }}/{{ PUBLIC_INTERFACE_NETMASK }}
k8s-metallb:
id: 413
link: bond0
- k8s-dataplane:
+ management:
id: 414
link: bond0
- os-storage:
+ ceph-control:
id: 415
link: bond1
+ addresses:
+ - {{ STORAGE_FRONTEND_INTERFACE_IP }}/{{ STORAGE_FRONTEND_NETWORK_NETMASK }}
os-tenant:
id: 416
link: bond1
+ ceph-replica:
+ id: 417
+ link: bond1
+ addresses:
+ - {{ STORAGE_BACKEND_INTERFACE_IP }}/{{ STORAGE_BACKEND_NETWORK_NETMASK }}
'0c:c4:7a:33:26:6a':
write_files:
- - path: '/etc/netplan/99-cz7725.yaml'
+ - path: '/etc/netplan/99-cz7726-osd.yaml'
content: |
network:
version: 2
@@ -171,25 +198,36 @@
k8s-control:
id: 411
link: bond0
+ addresses:
+ - 172.16.50.132/25
os-floating:
id: 412
link: bond1
+ addresses:
+ - {{ PUBLIC_INTERFACE_IP }}/{{ PUBLIC_INTERFACE_NETMASK }}
k8s-metallb:
id: 413
link: bond0
- k8s-dataplane:
+ management:
id: 414
link: bond0
- os-storage:
+ ceph-control:
id: 415
link: bond1
+ addresses:
+ - {{ STORAGE_FRONTEND_INTERFACE_IP }}/{{ STORAGE_FRONTEND_NETWORK_NETMASK }}
os-tenant:
id: 416
link: bond1
+ ceph-replica:
+ id: 417
+ link: bond1
+ addresses:
+ - {{ STORAGE_BACKEND_INTERFACE_IP }}/{{ STORAGE_BACKEND_NETWORK_NETMASK }}
'0c:c4:7a:34:92:94':
write_files:
- - path: '/etc/netplan/99-cz7725.yaml'
+ - path: '/etc/netplan/99-cz7727-spare.yaml'
content: |
network:
version: 2
@@ -219,25 +257,36 @@
k8s-control:
id: 411
link: bond0
+ addresses:
+ - 172.16.50.133/25
os-floating:
id: 412
link: bond1
+ addresses:
+ - {{ PUBLIC_INTERFACE_IP }}/{{ PUBLIC_INTERFACE_NETMASK }}
k8s-metallb:
id: 413
link: bond0
- k8s-dataplane:
+ management:
id: 414
link: bond0
- os-storage:
+ ceph-control:
id: 415
link: bond1
+ addresses:
+ - {{ STORAGE_FRONTEND_INTERFACE_IP }}/{{ STORAGE_FRONTEND_NETWORK_NETMASK }}
os-tenant:
id: 416
link: bond1
+ ceph-replica:
+ id: 417
+ link: bond1
+ addresses:
+ - {{ STORAGE_BACKEND_INTERFACE_IP }}/{{ STORAGE_BACKEND_NETWORK_NETMASK }}
'0c:c4:7a:aa:e0:9e':
write_files:
- - path: '/etc/netplan/99-cz7725.yaml'
+ - path: '/etc/netplan/99-cz10095-os-control.yaml'
content: |
network:
version: 2
@@ -267,25 +316,31 @@
k8s-control:
id: 411
link: bond0
+ addresses:
+ - 172.16.50.134/25
os-floating:
id: 412
link: bond1
+ addresses:
+ - {{ PUBLIC_INTERFACE_IP }}/{{ PUBLIC_INTERFACE_NETMASK }}
k8s-metallb:
id: 413
link: bond0
- k8s-dataplane:
+ management:
id: 414
link: bond0
- os-storage:
+ ceph-control:
id: 415
link: bond1
+ addresses:
+ - {{ STORAGE_FRONTEND_INTERFACE_IP }}/{{ STORAGE_FRONTEND_NETWORK_NETMASK }}
os-tenant:
id: 416
link: bond1
'0c:c4:7a:aa:e0:9c':
write_files:
- - path: '/etc/netplan/99-cz7725.yaml'
+ - path: '/etc/netplan/99-cz10096-os-control.yaml'
content: |
network:
version: 2
@@ -315,25 +370,31 @@
k8s-control:
id: 411
link: bond0
+ addresses:
+ - 172.16.50.135/25
os-floating:
id: 412
link: bond1
+ addresses:
+ - {{ PUBLIC_INTERFACE_IP }}/{{ PUBLIC_INTERFACE_NETMASK }}
k8s-metallb:
id: 413
link: bond0
- k8s-dataplane:
+ management:
id: 414
link: bond0
- os-storage:
+ ceph-control:
id: 415
link: bond1
+ addresses:
+ - {{ STORAGE_FRONTEND_INTERFACE_IP }}/{{ STORAGE_FRONTEND_NETWORK_NETMASK }}
os-tenant:
id: 416
link: bond1
'0c:c4:7a:aa:78:2c':
write_files:
- - path: '/etc/netplan/99-cz7725.yaml'
+ - path: '/etc/netplan/99-cz10097-os-control.yaml'
content: |
network:
version: 2
@@ -363,25 +424,31 @@
k8s-control:
id: 411
link: bond0
+ addresses:
+ - 172.16.50.136/25
os-floating:
id: 412
link: bond1
+ addresses:
+ - {{ PUBLIC_INTERFACE_IP }}/{{ PUBLIC_INTERFACE_NETMASK }}
k8s-metallb:
id: 413
link: bond0
- k8s-dataplane:
+ management:
id: 414
link: bond0
- os-storage:
+ ceph-control:
id: 415
link: bond1
+ addresses:
+ - {{ STORAGE_FRONTEND_INTERFACE_IP }}/{{ STORAGE_FRONTEND_NETWORK_NETMASK }}
os-tenant:
id: 416
link: bond1
'0c:c4:7a:aa:78:7a':
write_files:
- - path: '/etc/netplan/99-cz7725.yaml'
+ - path: '/etc/netplan/99-cz10098-ucp-control.yaml'
content: |
network:
version: 2
@@ -411,25 +478,24 @@
k8s-control:
id: 411
link: bond0
+ addresses:
+ # Hardcoded IP for the UCP node (when UCP_MASTER_HOST is empty), to replace PXE with k8s_control IP
+ - {% if UCP_MASTER_HOST == "" %}172.16.50.254/25{% else %}172.16.50.137/25{% endif %}
os-floating:
id: 412
link: bond1
+ addresses:
+ - {{ PUBLIC_INTERFACE_IP }}/{{ PUBLIC_INTERFACE_NETMASK }}
k8s-metallb:
id: 413
link: bond0
- k8s-dataplane:
+ management:
id: 414
link: bond0
- os-storage:
- id: 415
- link: bond1
- os-tenant:
- id: 416
- link: bond1
'0c:c4:7a:aa:e0:98':
write_files:
- - path: '/etc/netplan/99-cz7725.yaml'
+ - path: '/etc/netplan/99-cz10099-ucp-control.yaml'
content: |
network:
version: 2
@@ -459,47 +525,147 @@
k8s-control:
id: 411
link: bond0
+ addresses:
+ # Hardcoded IP for the UCP node (when UCP_MASTER_HOST is empty), to replace PXE with k8s_control IP
+ - {% if UCP_MASTER_HOST == "" %}172.16.50.254/25{% else %}172.16.50.138/25{% endif %}
os-floating:
id: 412
link: bond1
+ addresses:
+ - {{ PUBLIC_INTERFACE_IP }}/{{ PUBLIC_INTERFACE_NETMASK }}
k8s-metallb:
id: 413
link: bond0
- k8s-dataplane:
+ management:
id: 414
link: bond0
- os-storage:
+
+ '0c:c4:7a:aa:78:7c':
+ write_files:
+ - path: '/etc/netplan/99-cz10100-ucp-control.yaml'
+ content: |
+ network:
+ version: 2
+ ethernets:
+ eno1:
+ dhcp4: false
+ ens4f1:
+ dhcp4: false
+ ens4f2:
+ dhcp4: false
+ ens4f3:
+ dhcp4: false
+ bonds:
+ bond0:
+ dhcp4: no
+ interfaces: [eno1, ens4f1]
+ parameters:
+ mode: active-backup
+ mii-monitor-interval: 1
+ bond1:
+ dhcp4: no
+ interfaces: [ens4f2, ens4f3]
+ parameters:
+ mode: active-backup
+ mii-monitor-interval: 1
+ vlans:
+ k8s-control:
+ id: 411
+ link: bond0
+ addresses:
+ # Hardcoded IP for the UCP node (when UCP_MASTER_HOST is empty), to replace PXE with k8s_control IP
+ - {% if UCP_MASTER_HOST == "" %}172.16.50.254/25{% else %}172.16.50.139/25{% endif %}
+ os-floating:
+ id: 412
+ link: bond1
+ addresses:
+ - {{ PUBLIC_INTERFACE_IP }}/{{ PUBLIC_INTERFACE_NETMASK }}
+ k8s-metallb:
+ id: 413
+ link: bond0
+ management:
+ id: 414
+ link: bond0
+
+ '0c:c4:7a:55:6a:28':
+ write_files:
+ - path: '/etc/netplan/99-cz7636-os-compute.yaml'
+ content: |
+ network:
+ version: 2
+ ethernets:
+ enp3s0f0:
+ dhcp4: false
+ enp3s0f1:
+ dhcp4: false
+ enp3s0f2:
+ dhcp4: false
+ enp3s0f3:
+ dhcp4: false
+ bonds:
+ bond0:
+ dhcp4: no
+ interfaces: [enp3s0f0, enp3s0f1]
+ parameters:
+ mode: active-backup
+ mii-monitor-interval: 1
+ bond1:
+ dhcp4: no
+ interfaces: [enp3s0f2, enp3s0f3]
+ parameters:
+ mode: active-backup
+ mii-monitor-interval: 1
+ vlans:
+ k8s-control:
+ id: 411
+ link: bond0
+ addresses:
+ - 172.16.50.140/25
+ os-floating:
+ id: 412
+ link: bond1
+ addresses:
+ - {{ PUBLIC_INTERFACE_IP }}/{{ PUBLIC_INTERFACE_NETMASK }}
+ k8s-metallb:
+ id: 413
+ link: bond0
+ management:
+ id: 414
+ link: bond0
+ ceph-control:
id: 415
link: bond1
+ addresses:
+ - {{ STORAGE_FRONTEND_INTERFACE_IP }}/{{ STORAGE_FRONTEND_NETWORK_NETMASK }}
os-tenant:
id: 416
link: bond1
- '0c:c4:7a:aa:78:7c':
+ '0c:c4:7a:54:a2:5e':
write_files:
- - path: '/etc/netplan/99-cz7725.yaml'
+ - path: '/etc/netplan/99-cz7641-os-compute.yaml'
content: |
network:
version: 2
ethernets:
- eno1:
+ enp3s0f0:
dhcp4: false
- ens4f1:
+ enp3s0f1:
dhcp4: false
- ens4f2:
+ enp3s0f2:
dhcp4: false
- ens4f3:
+ enp3s0f3:
dhcp4: false
bonds:
bond0:
dhcp4: no
- interfaces: [eno1, ens4f1]
+ interfaces: [enp3s0f0, enp3s0f1]
parameters:
mode: active-backup
mii-monitor-interval: 1
bond1:
dhcp4: no
- interfaces: [ens4f2, ens4f3]
+ interfaces: [enp3s0f2, enp3s0f3]
parameters:
mode: active-backup
mii-monitor-interval: 1
@@ -507,22 +673,83 @@
k8s-control:
id: 411
link: bond0
+ addresses:
+ - 172.16.50.141/25
os-floating:
id: 412
link: bond1
+ addresses:
+ - {{ PUBLIC_INTERFACE_IP }}/{{ PUBLIC_INTERFACE_NETMASK }}
k8s-metallb:
id: 413
link: bond0
- k8s-dataplane:
+ management:
id: 414
link: bond0
- os-storage:
+ ceph-control:
id: 415
link: bond1
+ addresses:
+ - {{ STORAGE_FRONTEND_INTERFACE_IP }}/{{ STORAGE_FRONTEND_NETWORK_NETMASK }}
os-tenant:
id: 416
link: bond1
+ '0c:c4:7a:54:a0:50':
+ write_files:
+ - path: '/etc/netplan/99-cz7642-os-compute.yaml'
+ content: |
+ network:
+ version: 2
+ ethernets:
+ enp3s0f0:
+ dhcp4: false
+ enp3s0f1:
+ dhcp4: false
+ enp3s0f2:
+ dhcp4: false
+ enp3s0f3:
+ dhcp4: false
+ bonds:
+ bond0:
+ dhcp4: no
+ interfaces: [enp3s0f0, enp3s0f1]
+ parameters:
+ mode: active-backup
+ mii-monitor-interval: 1
+ bond1:
+ dhcp4: no
+ interfaces: [enp3s0f2, enp3s0f3]
+ parameters:
+ mode: active-backup
+ mii-monitor-interval: 1
+ vlans:
+ k8s-control:
+ id: 411
+ link: bond0
+ addresses:
+ - 172.16.50.142/25
+ os-floating:
+ id: 412
+ link: bond1
+ addresses:
+ - {{ PUBLIC_INTERFACE_IP }}/{{ PUBLIC_INTERFACE_NETMASK }}
+ k8s-metallb:
+ id: 413
+ link: bond0
+ management:
+ id: 414
+ link: bond0
+ ceph-control:
+ id: 415
+ link: bond1
+ addresses:
+ - {{ STORAGE_FRONTEND_INTERFACE_IP }}/{{ STORAGE_FRONTEND_NETWORK_NETMASK }}
+ os-tenant:
+ id: 416
+ link: bond1
+
+
functions_override: |
function network_config {
@@ -532,5 +759,11 @@
netplan --debug apply
sleep 15
- ip a a ${PUBLIC_INTERFACE_IP}/${PUBLIC_INTERFACE_NETMASK} dev ${PUBLIC_INTERFACE}
+ # Re-init the variables related to the just configured k8s-control network
+ CONTROL_IP_ADDRESS=$(ip route get ${CONTROL_NETWORK_CIDR%/*} | head -n1 | fgrep -v ' via ' | awk '/ src / {print $6}')
+
+ #UCP_MASTER_HOST=${UCP_MASTER_HOST:-${CONTROL_IP_ADDRESS}}
+ # Hardcoded IP for the UCP node because the servers output contain PXE IP instead of k8s_control IP
+ UCP_MASTER_HOST=172.16.50.254
+ UCP_IP_ADDRESS=${UCP_IP_ADDRESS:-$CONTROL_IP_ADDRESS}
}