Skip to content

Commit

Permalink
Add tripleo params to config hugepages
Browse files Browse the repository at this point in the history
Use a simple single sized 2Mx257 pages that fit
the flavor of test VM used in adoption CI.

Disable hugepages when TLSe enabled as freeipa-server-container
does not survive a host reboot required to apply kernel args.

Signed-off-by: Bohdan Dobrelia <[email protected]>
  • Loading branch information
bogdando committed Dec 6, 2024
1 parent e9ff886 commit d18fbb0
Show file tree
Hide file tree
Showing 8 changed files with 36 additions and 1 deletion.
3 changes: 3 additions & 0 deletions devsetup/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ HEAT_SERVICE_ENABLED ?= true
EDPM_TOTAL_NODES ?= 1
RH_REGISTRY_USER ?= ""
RH_REGISTRY_PWD ?= ""
EDPM_CONFIGURE_HUGEPAGES ?= false
EDPM_COMPUTE_CEPH_ENABLED ?= true
EDPM_COMPUTE_CELLS ?= 1
EDPM_COMPUTE_CEPH_NOVA ?= true
Expand Down Expand Up @@ -493,6 +494,7 @@ tripleo_deploy: export COMPUTE_CELLS=${EDPM_COMPUTE_CELLS}
tripleo_deploy: export REGISTRY_USER ?= ${RH_REGISTRY_USER}
tripleo_deploy: export REGISTRY_PWD ?= ${RH_REGISTRY_PWD}
tripleo_deploy: export COMPUTE_CEPH_ENABLED=${EDPM_COMPUTE_CEPH_ENABLED}
tripleo_deploy: export CONFIGURE_HUGEPAGES=${EDPM_CONFIGURE_HUGEPAGES}
tripleo_deploy: export COMPUTE_CEPH_NOVA=${EDPM_COMPUTE_CEPH_NOVA}
tripleo_deploy: export TRIPLEO_NETWORKING=${EDPM_CONFIGURE_NETWORKING}
tripleo_deploy: export TRIPLEO_ATTACH_EXTNET=${EDPM_ATTACH_EXTNET}
Expand All @@ -519,6 +521,7 @@ standalone_deploy: export MANILA_ENABLED=${MANILA_SERVICE_ENABLED}
standalone_deploy: export HEAT_ENABLED=${HEAT_SERVICE_ENABLED}
standalone_deploy: export CLOUD_DOMAIN=${DNS_DOMAIN}
standalone_deploy: export COMPUTE_CEPH_ENABLED=${EDPM_COMPUTE_CEPH_ENABLED}
standalone_deploy: export CONFIGURE_HUGEPAGES=${EDPM_CONFIGURE_HUGEPAGES}
standalone_deploy: export COMPUTE_CEPH_NOVA=${EDPM_COMPUTE_CEPH_NOVA}
standalone_deploy: export COMPUTE_SRIOV_ENABLED=${EDPM_COMPUTE_SRIOV_ENABLED}
standalone_deploy: export COMPUTE_DHCP_AGENT_ENABLED=${EDPM_COMPUTE_DHCP_AGENT_ENABLED}
Expand Down
3 changes: 3 additions & 0 deletions devsetup/scripts/standalone.sh
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ CLEANUP_DIR_CMD=${CLEANUP_DIR_CMD:-"rm -Rf"}
EDPM_COMPUTE_VCPUS=${COMPUTE_VCPUS:-8}
EDPM_COMPUTE_RAM=${COMPUTE_RAM:-20}
EDPM_COMPUTE_DISK_SIZE=${COMPUTE_DISK_SIZE:-70}
EDPM_CONFIGURE_HUGEPAGES=${CONFIGURE_HUGEPAGES:-false}
EDPM_COMPUTE_CEPH_ENABLED=${COMPUTE_CEPH_ENABLED:-true}
EDPM_COMPUTE_CEPH_NOVA=${COMPUTE_CEPH_NOVA:-true}
EDPM_COMPUTE_SRIOV_ENABLED=${COMPUTE_SRIOV_ENABLED:-true}
Expand Down Expand Up @@ -123,6 +124,7 @@ __EOF__
export HOST_PRIMARY_RESOLV_CONF_ENTRY=${HOST_PRIMARY_RESOLV_CONF_ENTRY}
export INTERFACE_MTU=${INTERFACE_MTU:-1500}
export NTP_SERVER=${NTP_SERVER:-"pool.ntp.org"}
export EDPM_CONFIGURE_HUGEPAGES=${EDPM_CONFIGURE_HUGEPAGES:-false}
export EDPM_COMPUTE_CEPH_ENABLED=${EDPM_COMPUTE_CEPH_ENABLED:-true}
export EDPM_COMPUTE_CEPH_NOVA=${EDPM_COMPUTE_CEPH_NOVA:-true}
export CEPH_ARGS="${CEPH_ARGS:--e \$HOME/deployed_ceph.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/cephadm/cephadm-rbd-only.yaml}"
Expand Down Expand Up @@ -241,6 +243,7 @@ scp $SSH_OPT ${MY_TMP_DIR}/net_config.yaml root@$IP:/tmp/net_config.yaml
scp $SSH_OPT ${MY_TMP_DIR}/network_data.yaml root@$IP:/tmp/network_data.yaml
scp $SSH_OPT ${MY_TMP_DIR}/deployed_network.yaml root@$IP:/tmp/deployed_network.yaml
scp $SSH_OPT ${MY_TMP_DIR}/Standalone.yaml root@$IP:/tmp/Standalone.yaml
scp $SSH_OPT ${SCRIPTPATH}/../standalone/hugepages.yaml root@$IP:hugepages.yaml
[[ "$EDPM_COMPUTE_CEPH_ENABLED" == "true" ]] && scp $SSH_OPT standalone/ceph.sh root@$IP:/tmp/ceph.sh
scp $SSH_OPT standalone/openstack.sh root@$IP:/tmp/openstack.sh
scp $SSH_OPT standalone/post_config/ironic.sh root@$IP:/tmp/ironic_post.sh
Expand Down
3 changes: 3 additions & 0 deletions devsetup/scripts/tripleo.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ MANILA_ENABLED=${MANILA_ENABLED:-true}
OCTAVIA_ENABLED=${OCTAVIA_ENABLED:-false}
TELEMETRY_ENABLED=${TELEMETRY_ENABLED:-true}
TLSE_ENABLED=${TLSE_ENABLED:-false}
EDPM_CONFIGURE_HUGEPAGES=${CONFIGURE_HUGEPAGES:-false}

if [[ ! -f $SSH_KEY_FILE ]]; then
echo "$SSH_KEY_FILE is missing"
Expand Down Expand Up @@ -89,6 +90,7 @@ export INTERFACE_MTU=${INTERFACE_MTU:-1500}
export NTP_SERVER=${NTP_SERVER:-"pool.ntp.org"}
export IP=${IP}
export GATEWAY=${GATEWAY}
export EDPM_CONFIGURE_HUGEPAGES=${EDPM_CONFIGURE_HUGEPAGES:-false}
export EDPM_COMPUTE_CEPH_ENABLED=${COMPUTE_CEPH_ENABLED:-false}
export EDPM_COMPUTE_CEPH_NOVA=${COMPUTE_CEPH_NOVA:-false}
export CEPH_ARGS="${CEPH_ARGS:--e \$HOME/deployed_ceph.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/cephadm/cephadm-rbd-only.yaml}"
Expand Down Expand Up @@ -247,6 +249,7 @@ scp $SSH_OPT ${SCRIPTPATH}/../tripleo/hieradata_overrides_undercloud.yaml zuul@$
scp $SSH_OPT ${SCRIPTPATH}/../tripleo/undercloud-parameter-defaults.yaml zuul@$IP:undercloud-parameter-defaults.yaml
scp $SSH_OPT ${MY_TMP_DIR}/undercloud.conf zuul@$IP:undercloud.conf
scp $SSH_OPT ${SCRIPTPATH}/../tripleo/nova_noceph.yaml zuul@$IP:nova_noceph.yaml
scp $SSH_OPT ${SCRIPTPATH}/../tripleo/hugepages.yaml zuul@$IP:hugepages.yaml
if [ $EDPM_COMPUTE_CELLS -gt 1 ]; then
for cell in $(seq 0 $(( EDPM_COMPUTE_CELLS - 1))); do
scp $SSH_OPT ${MY_TMP_DIR}/vips_data${cell}.yaml zuul@$IP:vips_data${cell}.yaml
Expand Down
14 changes: 14 additions & 0 deletions devsetup/standalone/hugepages.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
parameter_defaults:
NovaSchedulerEnabledFilters:
- ComputeFilter
- ComputeCapabilitiesFilter
- ImagePropertiesFilter
- ServerGroupAntiAffinityFilter
- ServerGroupAffinityFilter
- PciPassthroughFilter
- NUMATopologyFilter
StandaloneParameters:
NovaReservedHugePages: ["node:0,size:2MB,count:1"]
KernelArgsDeferReboot: true
KernelArgs: "default_hugepagesz=2M hugepagesz=2M hugepages=258"
7 changes: 6 additions & 1 deletion devsetup/standalone/openstack.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
# under the License.
set -ex

EDPM_CONFIGURE_HUGEPAGES=${EDPM_CONFIGURE_HUGEPAGES:-false}
EDPM_COMPUTE_CEPH_ENABLED=${EDPM_COMPUTE_CEPH_ENABLED:-true}
EDPM_COMPUTE_SRIOV_ENABLED=${EDPM_COMPUTE_SRIOV_ENABLED:-true}
EDPM_COMPUTE_DHCP_AGENT_ENABLED=${EDPM_COMPUTE_DHCP_AGENT_ENABLED:-true}
Expand Down Expand Up @@ -178,7 +179,11 @@ if [ "$EDPM_COMPUTE_SRIOV_ENABLED" = "true" ] ; then
ENV_ARGS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-sriov.yaml"
ENV_ARGS+=" -e $HOME/sriov_template.yaml"
fi

if [ "$EDPM_CONFIGURE_HUGEPAGES" = "true" ] ; then
# NOTE: cannot use both TLSe and hugepages as the node with freeipa cannot survive required reboot
if [ "$EDPM_CONFIGURE_HUGEPAGES" = "true" ] && [ "$TLSE_ENABLED" != "true" ] ; then
ENV_ARGS+=" -e $HOME/hugepages.yaml"
fi
if [ "$SWIFT_REPLICATED" = "true" ]; then
cat <<EOF >> standalone_parameters.yaml
SwiftReplicas: 3
Expand Down
1 change: 1 addition & 0 deletions devsetup/standalone/role.j2
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
- OS::TripleO::Services::AodhListener
- OS::TripleO::Services::AodhNotifier
- OS::TripleO::Services::AuditD
- OS::TripleO::Services::BootParams
- OS::TripleO::Services::BarbicanApi
- OS::TripleO::Services::BarbicanBackendDogtag
- OS::TripleO::Services::BarbicanBackendKmip
Expand Down
1 change: 1 addition & 0 deletions devsetup/tripleo/hugepages.yaml
5 changes: 5 additions & 0 deletions devsetup/tripleo/tripleo_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,11 @@ if [ "$TRIPLEO_ATTACH_EXTNET" = "false" ]; then
sed -i "/subnet: external_subnet/d" $ROLES_FILE
fi

# NOTE: cannot use both TLSe and hugepages as the node with freeipa cannot survive required reboot
if [ "$EDPM_CONFIGURE_HUGEPAGES" = "true" ] && [ "$TLSE_ENABLED" != "true" ] ; then
ENV_ARGS+=" -e $HOME/hugepages.yaml"
fi

if [ "$TLSE_ENABLED" = "true" ]; then
ENV_ARGS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/ssl/tls-everywhere-endpoints-dns.yaml"
ENV_ARGS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/services/haproxy-public-tls-certmonger.yaml"
Expand Down

0 comments on commit d18fbb0

Please sign in to comment.