From c712355e4bae4ef2fc1b83e5603c0364dbd50a78 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Fri, 3 May 2019 15:50:06 -0600 Subject: [PATCH] Deprecate Keepalived service We don't deploy Keepalived in multi-node as our HA story is done with Pacemaker. Therefore, we don't use VRRP protocol that Keepalived provides to maintain the VIPs alive, so we don't really need this service. Instead, we can configure the VIPs on the br-ctlplane interface which already handled the local_ip. Now it also handles the configuration of public ip and admin ip. Keepalived is now deprecated and will be removed in the next cycle. blueprint replace-keepalived-undercloud Change-Id: I3192be07cb6c19d5e26cb4cddbe68213e7e48937 --- .../scenario000-multinode-containers.yaml | 1 - ci/environments/scenario000-standalone.yaml | 1 - ci/environments/scenario004-standalone.yaml | 1 - ci/environments/scenario010-standalone.yaml | 1 - .../keepalived-container-puppet.yaml | 4 +-- environments/docker-ha.yaml | 3 --- environments/nonha-arch.yaml | 1 - .../services/undercloud-keepalived.yaml | 4 +-- .../standalone/standalone-tripleo.yaml | 1 - environments/undercloud.yaml | 1 - .../undercloud/undercloud-minion.yaml | 1 - net-config-standalone.j2.yaml | 26 ++++++++++++++++++- net-config-undercloud.j2.yaml | 26 ++++++++++++++++++- ...eepalived_deprecated-e0b20da2d51714b7.yaml | 6 +++++ roles/CellController.yaml | 1 - roles/Controller.yaml | 1 - roles/ControllerAllNovaStandalone.yaml | 1 - roles/ControllerNoCeph.yaml | 1 - roles/ControllerNovaStandalone.yaml | 1 - roles/ControllerOpenstack.yaml | 1 - roles/ControllerSriov.yaml | 1 - roles/ControllerStorageDashboard.yaml | 1 - roles/ControllerStorageNfs.yaml | 1 - roles/Standalone.yaml | 1 - roles/Undercloud.yaml | 1 - roles_data.yaml | 1 - roles_data_undercloud.yaml | 1 - sample-env-generator/standalone.yaml | 3 --- sample-env-generator/undercloud-minion.yaml | 1 - 29 files changed, 60 insertions(+), 34 deletions(-) rename deployment/{ => deprecated}/keepalived/keepalived-container-puppet.yaml (98%) create mode 100644 releasenotes/notes/keepalived_deprecated-e0b20da2d51714b7.yaml diff --git a/ci/environments/scenario000-multinode-containers.yaml b/ci/environments/scenario000-multinode-containers.yaml index 6ddbc2a700..0f2ac927a5 100644 --- a/ci/environments/scenario000-multinode-containers.yaml +++ b/ci/environments/scenario000-multinode-containers.yaml @@ -16,7 +16,6 @@ parameter_defaults: - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::OsloMessagingRpc - OS::TripleO::Services::OsloMessagingNotify - - OS::TripleO::Services::Keepalived - OS::TripleO::Services::Memcached - OS::TripleO::Services::Podman - OS::TripleO::Services::Snmp diff --git a/ci/environments/scenario000-standalone.yaml b/ci/environments/scenario000-standalone.yaml index 5f952de08d..3fd1295eae 100644 --- a/ci/environments/scenario000-standalone.yaml +++ b/ci/environments/scenario000-standalone.yaml @@ -72,7 +72,6 @@ resource_registry: OS::TripleO::Services::IronicNeutronAgent: OS::Heat::None OS::TripleO::Services::IronicPxe: OS::Heat::None OS::TripleO::Services::Iscsid: OS::Heat::None - OS::TripleO::Services::Keepalived: OS::Heat::None # OS::TripleO::Services::Keystone: OS::Heat::None OS::TripleO::Services::LiquidioCompute: OS::Heat::None OS::TripleO::Services::Logging::BarbicanApi: OS::Heat::None diff --git a/ci/environments/scenario004-standalone.yaml b/ci/environments/scenario004-standalone.yaml index 935e697351..52b89a12f9 100644 --- a/ci/environments/scenario004-standalone.yaml +++ b/ci/environments/scenario004-standalone.yaml @@ -26,7 +26,6 @@ resource_registry: OS::TripleO::Services::Clustercheck: ../../deployment/pacemaker/clustercheck-container-puppet.yaml OS::TripleO::Services::MySQL: ../../deployment/database/mysql-pacemaker-puppet.yaml OS::TripleO::Services::LoginDefs: ../../deployment/login-defs/login-defs-baremetal.yaml - OS::TripleO::Services::Keepalived: OS::Heat::None # Some infra instances don't pass the ping test but are otherwise working. # Since the OVB jobs also test this functionality we can shut it off here. OS::TripleO::AllNodes::Validation: ../common/all-nodes-validation-disabled.yaml diff --git a/ci/environments/scenario010-standalone.yaml b/ci/environments/scenario010-standalone.yaml index a5e174b343..f9c455e216 100644 --- a/ci/environments/scenario010-standalone.yaml +++ b/ci/environments/scenario010-standalone.yaml @@ -3,7 +3,6 @@ resource_registry: OS::TripleO::Services::CephMon: ../../deployment/ceph-ansible/ceph-mon.yaml OS::TripleO::Services::CephOSD: ../../deployment/ceph-ansible/ceph-osd.yaml OS::TripleO::Services::CephClient: ../../deployment/ceph-ansible/ceph-client.yaml - OS::TripleO::Services::Keepalived: OS::Heat::None OS::TripleO::Services::OsloMessagingRpc: ../../deployment/rabbitmq/rabbitmq-messaging-rpc-pacemaker-puppet.yaml OS::TripleO::Services::OsloMessagingNotify: ../../deployment/rabbitmq/rabbitmq-messaging-notify-shared-puppet.yaml # Some infra instances don't pass the ping test but are otherwise working. diff --git a/deployment/keepalived/keepalived-container-puppet.yaml b/deployment/deprecated/keepalived/keepalived-container-puppet.yaml similarity index 98% rename from deployment/keepalived/keepalived-container-puppet.yaml rename to deployment/deprecated/keepalived/keepalived-container-puppet.yaml index 1fb54baddb..85d26a3df9 100644 --- a/deployment/keepalived/keepalived-container-puppet.yaml +++ b/deployment/deprecated/keepalived/keepalived-container-puppet.yaml @@ -1,7 +1,7 @@ heat_template_version: rocky description: > - OpenStack containerized Keepalived service + DEPRECATED - OpenStack containerized Keepalived service parameters: ContainerKeepalivedImage: @@ -76,7 +76,7 @@ conditions: resources: ContainersCommon: - type: ../containers-common.yaml + type: ../../containers-common.yaml outputs: role_data: diff --git a/environments/docker-ha.yaml b/environments/docker-ha.yaml index 2fcedb2465..38cb33f899 100644 --- a/environments/docker-ha.yaml +++ b/environments/docker-ha.yaml @@ -10,9 +10,6 @@ resource_registry: OS::TripleO::Tasks::ControllerPreConfig: OS::Heat::None OS::TripleO::Tasks::ControllerPostConfig: OS::Heat::None - # Services that are disabled for HA deployments with pacemaker - OS::TripleO::Services::Keepalived: OS::Heat::None - # HA Containers managed by pacemaker OS::TripleO::Services::CinderVolume: ../deployment/cinder/cinder-volume-pacemaker-puppet.yaml OS::TripleO::Services::Clustercheck: ../deployment/pacemaker/clustercheck-container-puppet.yaml diff --git a/environments/nonha-arch.yaml b/environments/nonha-arch.yaml index 65b1517267..c5bdddfa67 100644 --- a/environments/nonha-arch.yaml +++ b/environments/nonha-arch.yaml @@ -6,6 +6,5 @@ resource_registry: OS::TripleO::Services::HAproxy: ../deployment/haproxy/haproxy-container-puppet.yaml OS::TripleO::Services::Redis: ../deployment/database/redis-container-puppet.yaml OS::TripleO::Services::MySQL: ../deployment/database/mysql-container-puppet.yaml - OS::TripleO::Services::Keepalived: ../deployment/keepalived/keepalived-container-puppet.yaml OS::TripleO::Services::Pacemaker: OS::Heat::None OS::TripleO::Services::PacemakerRemote: OS::Heat::None diff --git a/environments/services/undercloud-keepalived.yaml b/environments/services/undercloud-keepalived.yaml index 6d25b90410..cf7ddc8d01 100644 --- a/environments/services/undercloud-keepalived.yaml +++ b/environments/services/undercloud-keepalived.yaml @@ -1,4 +1,4 @@ -# DEPRECATED. This file will be removed in the Stein release as it is no longer +# DEPRECATED. This file will be removed in the U release as it is no longer # needed resource_registry: - OS::TripleO::Services::Keepalived: ../../deployment/keepalived/keepalived-container-puppet.yaml + OS::TripleO::Services::Keepalived: ../../deployment/deprecated/keepalived/keepalived-container-puppet.yaml diff --git a/environments/standalone/standalone-tripleo.yaml b/environments/standalone/standalone-tripleo.yaml index d862c15aec..d8e52d5729 100644 --- a/environments/standalone/standalone-tripleo.yaml +++ b/environments/standalone/standalone-tripleo.yaml @@ -90,7 +90,6 @@ resource_registry: OS::TripleO::Services::IronicInspector: OS::Heat::None OS::TripleO::Services::IronicNeutronAgent: OS::Heat::None OS::TripleO::Services::IronicPxe: OS::Heat::None - OS::TripleO::Services::Keepalived: OS::Heat::None OS::TripleO::Services::ManilaApi: OS::Heat::None OS::TripleO::Services::ManilaBackendCephFs: OS::Heat::None OS::TripleO::Services::ManilaBackendIsilon: OS::Heat::None diff --git a/environments/undercloud.yaml b/environments/undercloud.yaml index 49677ca3f4..fe407fbcda 100644 --- a/environments/undercloud.yaml +++ b/environments/undercloud.yaml @@ -64,7 +64,6 @@ resource_registry: # Undercloud HA services OS::TripleO::Services::HAproxy: OS::Heat::None - OS::TripleO::Services::Keepalived: OS::Heat::None parameter_defaults: # ensure we enable ip_forward before docker gets run diff --git a/environments/undercloud/undercloud-minion.yaml b/environments/undercloud/undercloud-minion.yaml index 9e68931046..fa56e34814 100644 --- a/environments/undercloud/undercloud-minion.yaml +++ b/environments/undercloud/undercloud-minion.yaml @@ -101,7 +101,6 @@ resource_registry: OS::TripleO::Services::IronicNeutronAgent: OS::Heat::None OS::TripleO::Services::IronicPxe: OS::Heat::None OS::TripleO::Services::Iscsid: OS::Heat::None - OS::TripleO::Services::Keepalived: OS::Heat::None OS::TripleO::Services::Keystone: OS::Heat::None OS::TripleO::Services::LiquidioCompute: OS::Heat::None OS::TripleO::Services::Logging::BarbicanApi: OS::Heat::None diff --git a/net-config-standalone.j2.yaml b/net-config-standalone.j2.yaml index 9c70350912..d0d183398d 100644 --- a/net-config-standalone.j2.yaml +++ b/net-config-standalone.j2.yaml @@ -1,7 +1,8 @@ heat_template_version: rocky description: > Software Config to drive os-net-config for a simple bridge configured with a - static IP address for the ctlplane network. + static IP address for the ctlplane network with optionally the admin and + public IPs too. parameters: ControlPlaneIp: default: '' @@ -81,11 +82,16 @@ parameters: tripleoclient to provide an easy means to pass in custom net configs for a standalone node. type: json + DeployedServerPortMap: + default: {} + type: json conditions: standalone_net_config_override: not: equals: [{get_param: StandaloneNetConfigOverride}, {}] + control_virtual_ip_unset: {equals : [{get_param: [DeployedServerPortMap, 'control_virtual_ip', fixed_ips, 0, ip_address]}, '']} + public_virtual_ip_unset: {equals : [{get_param: [DeployedServerPortMap, 'public_virtual_ip', fixed_ips, 0, ip_address]}, '']} resources: OsNetConfigImpl: @@ -121,6 +127,24 @@ resources: - / - - get_param: ControlPlaneIp - get_param: ControlPlaneSubnetCidr + - + if: + - control_virtual_ip_unset + - {} + - ip_netmask: + list_join: + - / + - - {get_param: [DeployedServerPortMap, 'control_virtual_ip', fixed_ips, 0, ip_address]} + - {str_split: ['/', {get_param: [DeployedServerPortMap, 'control_virtual_ip', subnets, 0, cidr]}, 1]} + - + if: + - public_virtual_ip_unset + - {} + - ip_netmask: + list_join: + - / + - - {get_param: [DeployedServerPortMap, 'public_virtual_ip', fixed_ips, 0, ip_address]} + - {str_split: ['/', {get_param: [DeployedServerPortMap, 'public_virtual_ip', subnets, 0, cidr]}, 1]} routes: {get_param: ControlPlaneStaticRoutes} members: - type: interface diff --git a/net-config-undercloud.j2.yaml b/net-config-undercloud.j2.yaml index 04b1e99e84..e937588459 100644 --- a/net-config-undercloud.j2.yaml +++ b/net-config-undercloud.j2.yaml @@ -1,7 +1,8 @@ heat_template_version: rocky description: > Software Config to drive os-net-config for a simple bridge configured with a - static IP address for the ctlplane network. + static IP address for the ctlplane network with optionally the admin and + public IPs too. parameters: ControlPlaneIp: default: '' @@ -77,11 +78,16 @@ parameters: default: {} description: Custom JSON data to be used to override the os-net-config data in this template. This is meant to be used by net_config_override parameter in tripleoclient to provide an easy means to pass in custom net configs for the Undercloud. type: json + DeployedServerPortMap: + default: {} + type: json conditions: undercloud_net_config_override: not: equals: [{get_param: UndercloudNetConfigOverride}, {}] + control_virtual_ip_unset: {equals : [{get_param: [DeployedServerPortMap, 'control_virtual_ip', fixed_ips, 0, ip_address]}, '']} + public_virtual_ip_unset: {equals : [{get_param: [DeployedServerPortMap, 'public_virtual_ip', fixed_ips, 0, ip_address]}, '']} resources: OsNetConfigImpl: @@ -116,6 +122,24 @@ resources: - / - - get_param: ControlPlaneIp - get_param: ControlPlaneSubnetCidr + - + if: + - control_virtual_ip_unset + - {} + - ip_netmask: + list_join: + - / + - - {get_param: [DeployedServerPortMap, 'control_virtual_ip', fixed_ips, 0, ip_address]} + - {str_split: ['/', {get_param: [DeployedServerPortMap, 'control_virtual_ip', subnets, 0, cidr]}, 1]} + - + if: + - public_virtual_ip_unset + - {} + - ip_netmask: + list_join: + - / + - - {get_param: [DeployedServerPortMap, 'public_virtual_ip', fixed_ips, 0, ip_address]} + - {str_split: ['/', {get_param: [DeployedServerPortMap, 'public_virtual_ip', subnets, 0, cidr]}, 1]} routes: {get_param: ControlPlaneStaticRoutes} members: - type: interface diff --git a/releasenotes/notes/keepalived_deprecated-e0b20da2d51714b7.yaml b/releasenotes/notes/keepalived_deprecated-e0b20da2d51714b7.yaml new file mode 100644 index 0000000000..512c5a7f5f --- /dev/null +++ b/releasenotes/notes/keepalived_deprecated-e0b20da2d51714b7.yaml @@ -0,0 +1,6 @@ +--- +deprecations: + - | + Keepalived service is deprecated in Train and will be removed in the next + cycle. The VIPs are now created by os-net-config for both the Undercloud + and Standalone. If you need HA VIPs, please deploy Pacemaker. diff --git a/roles/CellController.yaml b/roles/CellController.yaml index 1bb55b9a51..bdcef94b5c 100644 --- a/roles/CellController.yaml +++ b/roles/CellController.yaml @@ -35,7 +35,6 @@ - OS::TripleO::Services::HAproxy - OS::TripleO::Services::Ipsec - OS::TripleO::Services::Iscsid - - OS::TripleO::Services::Keepalived - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs - OS::TripleO::Services::MetricsQdr diff --git a/roles/Controller.yaml b/roles/Controller.yaml index a3ab7a85d8..903089bb4a 100644 --- a/roles/Controller.yaml +++ b/roles/Controller.yaml @@ -101,7 +101,6 @@ - OS::TripleO::Services::IronicPxe - OS::TripleO::Services::IronicNeutronAgent - OS::TripleO::Services::Iscsid - - OS::TripleO::Services::Keepalived - OS::TripleO::Services::Kernel - OS::TripleO::Services::Keystone - OS::TripleO::Services::LoginDefs diff --git a/roles/ControllerAllNovaStandalone.yaml b/roles/ControllerAllNovaStandalone.yaml index f58104b48a..c102cee10b 100644 --- a/roles/ControllerAllNovaStandalone.yaml +++ b/roles/ControllerAllNovaStandalone.yaml @@ -73,7 +73,6 @@ - OS::TripleO::Services::IronicInspector - OS::TripleO::Services::IronicPxe - OS::TripleO::Services::Iscsid - - OS::TripleO::Services::Keepalived - OS::TripleO::Services::Kernel - OS::TripleO::Services::Keystone - OS::TripleO::Services::LoginDefs diff --git a/roles/ControllerNoCeph.yaml b/roles/ControllerNoCeph.yaml index 5bbaa2e6f1..1f80754059 100644 --- a/roles/ControllerNoCeph.yaml +++ b/roles/ControllerNoCeph.yaml @@ -93,7 +93,6 @@ - OS::TripleO::Services::IronicPxe - OS::TripleO::Services::IronicNeutronAgent - OS::TripleO::Services::Iscsid - - OS::TripleO::Services::Keepalived - OS::TripleO::Services::Kernel - OS::TripleO::Services::Keystone - OS::TripleO::Services::LoginDefs diff --git a/roles/ControllerNovaStandalone.yaml b/roles/ControllerNovaStandalone.yaml index d02765b082..6f605ecd78 100644 --- a/roles/ControllerNovaStandalone.yaml +++ b/roles/ControllerNovaStandalone.yaml @@ -77,7 +77,6 @@ - OS::TripleO::Services::IronicPxe - OS::TripleO::Services::IronicNeutronAgent - OS::TripleO::Services::Iscsid - - OS::TripleO::Services::Keepalived - OS::TripleO::Services::Kernel - OS::TripleO::Services::Keystone - OS::TripleO::Services::LoginDefs diff --git a/roles/ControllerOpenstack.yaml b/roles/ControllerOpenstack.yaml index 977d66af39..b3da633445 100644 --- a/roles/ControllerOpenstack.yaml +++ b/roles/ControllerOpenstack.yaml @@ -78,7 +78,6 @@ - OS::TripleO::Services::IronicInspector - OS::TripleO::Services::IronicPxe - OS::TripleO::Services::Iscsid - - OS::TripleO::Services::Keepalived - OS::TripleO::Services::Kernel - OS::TripleO::Services::Keystone - OS::TripleO::Services::LoginDefs diff --git a/roles/ControllerSriov.yaml b/roles/ControllerSriov.yaml index 892bcee28d..b6c3c0858d 100644 --- a/roles/ControllerSriov.yaml +++ b/roles/ControllerSriov.yaml @@ -102,7 +102,6 @@ - OS::TripleO::Services::IronicPxe - OS::TripleO::Services::IronicNeutronAgent - OS::TripleO::Services::Iscsid - - OS::TripleO::Services::Keepalived - OS::TripleO::Services::Kernel - OS::TripleO::Services::Keystone - OS::TripleO::Services::LoginDefs diff --git a/roles/ControllerStorageDashboard.yaml b/roles/ControllerStorageDashboard.yaml index 0ecac5caec..774ac3669f 100644 --- a/roles/ControllerStorageDashboard.yaml +++ b/roles/ControllerStorageDashboard.yaml @@ -102,7 +102,6 @@ - OS::TripleO::Services::IronicPxe - OS::TripleO::Services::IronicNeutronAgent - OS::TripleO::Services::Iscsid - - OS::TripleO::Services::Keepalived - OS::TripleO::Services::Kernel - OS::TripleO::Services::Keystone - OS::TripleO::Services::LoginDefs diff --git a/roles/ControllerStorageNfs.yaml b/roles/ControllerStorageNfs.yaml index 5c7af61702..e43cd02006 100644 --- a/roles/ControllerStorageNfs.yaml +++ b/roles/ControllerStorageNfs.yaml @@ -103,7 +103,6 @@ - OS::TripleO::Services::IronicPxe - OS::TripleO::Services::IronicNeutronAgent - OS::TripleO::Services::Iscsid - - OS::TripleO::Services::Keepalived - OS::TripleO::Services::Kernel - OS::TripleO::Services::Keystone - OS::TripleO::Services::LoginDefs diff --git a/roles/Standalone.yaml b/roles/Standalone.yaml index faea76361b..9d7603a96d 100644 --- a/roles/Standalone.yaml +++ b/roles/Standalone.yaml @@ -96,7 +96,6 @@ - OS::TripleO::Services::IronicNeutronAgent - OS::TripleO::Services::IronicPxe - OS::TripleO::Services::Iscsid - - OS::TripleO::Services::Keepalived - OS::TripleO::Services::Kernel - OS::TripleO::Services::Keystone - OS::TripleO::Services::LoginDefs diff --git a/roles/Undercloud.yaml b/roles/Undercloud.yaml index 2b3790414c..ffa0834c02 100644 --- a/roles/Undercloud.yaml +++ b/roles/Undercloud.yaml @@ -49,7 +49,6 @@ - OS::TripleO::Services::IronicNeutronAgent - OS::TripleO::Services::IronicPxe - OS::TripleO::Services::Iscsid - - OS::TripleO::Services::Keepalived - OS::TripleO::Services::Kernel - OS::TripleO::Services::Keystone - OS::TripleO::Services::LoginDefs diff --git a/roles_data.yaml b/roles_data.yaml index 815028c508..1c14fff853 100644 --- a/roles_data.yaml +++ b/roles_data.yaml @@ -104,7 +104,6 @@ - OS::TripleO::Services::IronicPxe - OS::TripleO::Services::IronicNeutronAgent - OS::TripleO::Services::Iscsid - - OS::TripleO::Services::Keepalived - OS::TripleO::Services::Kernel - OS::TripleO::Services::Keystone - OS::TripleO::Services::LoginDefs diff --git a/roles_data_undercloud.yaml b/roles_data_undercloud.yaml index c315f90ac8..dae982bf04 100644 --- a/roles_data_undercloud.yaml +++ b/roles_data_undercloud.yaml @@ -52,7 +52,6 @@ - OS::TripleO::Services::IronicNeutronAgent - OS::TripleO::Services::IronicPxe - OS::TripleO::Services::Iscsid - - OS::TripleO::Services::Keepalived - OS::TripleO::Services::Kernel - OS::TripleO::Services::Keystone - OS::TripleO::Services::LoginDefs diff --git a/sample-env-generator/standalone.yaml b/sample-env-generator/standalone.yaml index 7fb88e816e..5259ab0cf6 100644 --- a/sample-env-generator/standalone.yaml +++ b/sample-env-generator/standalone.yaml @@ -74,9 +74,6 @@ environments: # Install tmpwatch OS::TripleO::Services::Tmpwatch: ../../deployment/logrotate/tmpwatch-install.yaml - # Disable non-openstack services that are enabled by default - OS::TripleO::Services::Keepalived: OS::Heat::None - # Aodh OS::TripleO::Services::AodhApi: OS::Heat::None OS::TripleO::Services::AodhEvaluator: OS::Heat::None diff --git a/sample-env-generator/undercloud-minion.yaml b/sample-env-generator/undercloud-minion.yaml index 356deba4b3..beaed65dce 100644 --- a/sample-env-generator/undercloud-minion.yaml +++ b/sample-env-generator/undercloud-minion.yaml @@ -121,7 +121,6 @@ environments: OS::TripleO::Services::IronicNeutronAgent: OS::Heat::None OS::TripleO::Services::IronicPxe: OS::Heat::None OS::TripleO::Services::Iscsid: OS::Heat::None - OS::TripleO::Services::Keepalived: OS::Heat::None OS::TripleO::Services::Keystone: OS::Heat::None OS::TripleO::Services::LiquidioCompute: OS::Heat::None OS::TripleO::Services::Logging::BarbicanApi: OS::Heat::None