diff --git a/devsetup/Makefile b/devsetup/Makefile index 1cf5aee..208dcf4 100644 --- a/devsetup/Makefile +++ b/devsetup/Makefile @@ -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 @@ -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} @@ -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} diff --git a/devsetup/scripts/standalone.sh b/devsetup/scripts/standalone.sh index 90d8ac6..237c228 100755 --- a/devsetup/scripts/standalone.sh +++ b/devsetup/scripts/standalone.sh @@ -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} @@ -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}" @@ -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 diff --git a/devsetup/scripts/tripleo.sh b/devsetup/scripts/tripleo.sh index 509bcaa..42d3021 100755 --- a/devsetup/scripts/tripleo.sh +++ b/devsetup/scripts/tripleo.sh @@ -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" @@ -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}" @@ -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 diff --git a/devsetup/standalone/hugepages.yaml b/devsetup/standalone/hugepages.yaml new file mode 100644 index 0000000..f294e84 --- /dev/null +++ b/devsetup/standalone/hugepages.yaml @@ -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" diff --git a/devsetup/standalone/openstack.sh b/devsetup/standalone/openstack.sh index 21d758b..285565c 100755 --- a/devsetup/standalone/openstack.sh +++ b/devsetup/standalone/openstack.sh @@ -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} @@ -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 <> standalone_parameters.yaml SwiftReplicas: 3 diff --git a/devsetup/standalone/role.j2 b/devsetup/standalone/role.j2 index c6ea38f..a85592b 100644 --- a/devsetup/standalone/role.j2 +++ b/devsetup/standalone/role.j2 @@ -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 diff --git a/devsetup/tripleo/hugepages.yaml b/devsetup/tripleo/hugepages.yaml new file mode 120000 index 0000000..d6cc8b9 --- /dev/null +++ b/devsetup/tripleo/hugepages.yaml @@ -0,0 +1 @@ +../standalone/hugepages.yaml \ No newline at end of file diff --git a/devsetup/tripleo/tripleo_install.sh b/devsetup/tripleo/tripleo_install.sh index c6148db..dcd7a1c 100755 --- a/devsetup/tripleo/tripleo_install.sh +++ b/devsetup/tripleo/tripleo_install.sh @@ -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"