Thursday 2 April 2020

Re: RFC: Ubuntu HA resource-agents supportability

On Tue, 2020-03-31 at 02:09 -0300, Rafael David Tinoco wrote:
> Hello,
>
> As many as you know I'm currently revamping Ubuntu High Availability
> Packages
>
> For 20.04, considered HA (or HA related) packages are:
>
> - Core packages:
>
> - libqb
> - kronosnet
> - corosync
> - pacemaker
> - resource-agents
> - fence-agents
> - crmsh
> - cluster-glue
> - drbd-utils
> - dlm
> - gfs2-utils
>
> - "Deprecated" packages:
>
> - heartbeat
> - keepalived

keepalived is used by OpenStack Neutron. In this context what would
"deprecated" mean?.

apt-rdepends -r keepalived
Reading package lists... Done
Building dependency tree
Reading state information... Done
keepalived
Reverse Depends: neutron-l3-agent
(2:16.0.0~b3~git2020032420.a0e1b5804e-0ubuntu3)
neutron-l3-agent

> - ocfs2-tools
>
> - Not in "main" packages:
>
> - pcs (will likely replace crmsh in near future)
> - csync2
> - corosync-qdevice
> - fence-virt
> - sbd
> - booth
>
> - Related packages:
>
> - multipath-tools
> - open-iscsi
> - sg3-utils
> - targetcli-fb
> - tgt (we're trying to deprecate in favor of LIO)
> - lvm2
>
> For now, until Beta Freeze, we've been trying to catch up with
> upstream
> latest
> releases and, from now on, I'm going through existing opened bugs and
> addressing
> them with latest fixes (from upstream) + any needed fix to address
> the bugs
> (done to kronosnet, with FFE opened, and corosync, about to merge
> fixes to
> it).
>
> Next step is to document in Server Guide all supported scenarios for
> HA
> related
> packages. The intention here is to describe exact set of scenarios
> that we
> know
> are good for the perfect behavior of clustering software AND which
> scenarios
> we
> cannot support.
>
> OBS: This includes the need, or not, to have odd number of
> nodes/votes, to
> have
> or not proper fencing mechanisms (and which fencing mechanisms to
> support)
> AND,
> finally, what *resource agents* to support.
>
> I'll probably ask other feedback soon, but, for this moment, I'm
> asking
> comments
> for the list of resource agents bellow. I tried to split and explain
> what
> the
> resources are used for and if they are supported in Ubuntu or not (or
> if the
> related managed service is in [main] or in [universe]).
>
> So please, take some time to provide feedback about this list,
> whether we
> should
> move resources from one category to the other. *NOTE* that I'm not
> giving
> the
> "fence agents" list yet. That will be another list.
>
> I'm particularly interested in feedback from @jamespage and @ddstreet
> as
> they
> probably have good intel about resources usage BUT anyone is welcome
> to
> provide
> comments!
>
> Thank you very much in advance!
>
> #### RFC: Ubuntu HA resource-agents supportability
>
> #
> ## FULLY SUPPORTED (managed service is likely in main or is important
> enough)
> #
>
> # trivial agents
>
> Delay - test resource for introducing delay
> MailTo - sends email to a sysadmin whenever a
> takeover
> occurs
> ClusterMon - runs crm_mon to a html page from time to
> time
> HealthCPU - measures CPU idling and updates #health-cpu
> attr
> HealthIOWait - measures CPU idling and updates #health-
> iowait
> attr
> HealthSMART - measures CPU idling and updates #health-
> smart attr
>
> # services
>
> apache - apache web server instance
> dovecot - dovecot IMAP/POP3 server instance
> dhcpd - chrooted ISC dhcp server instance
> mysql - MySQL database instance
> mysql-proxy - MySQL proxy instance
> named - bind/named server instance
> nfsnotify - nfs sm-notify reboot notifications daemon
> nfsserver - nfs server resource
> nginx - Nginx web/proxy server instance
> postfix - postfix mail server instance
> rabbitmq-cluster - cloned rabbitmq cluster instance
> remote - pacemaker remote resource agent
> rsyncd - rsyncd instance
> rsyslog - rsyslogd instance
> slapd - stand-alone LDAP daemon instance
> Squid - squid proxy server instance
> vsftpd - vsftpd server instance
>
> # storage
>
> Raid1 - software RAID (MD) devices on shared
> storage
> iscsi - local iscsi initiator and its conns to
> targets
> iSCSILogicalUnit - iSCSI logical units
> iSCSITarget - iSCSI target export agent (implementation:
> tgt,
> lio)
> LVM - LVM volume as an HA resource
> LVM-activate - LVM activation/deact work for a given VG
> (lvmlockd+LVM-activate OR clvm+LVM-
> activate)
> Filesystem - filesystem on a shared storage medium
> symlink - symbolic link
> ZFS - ZFS pools import/export
>
> # locking & reservations
>
> controld - distributed lock manager for clustered FSs
> clvm - clvmd daemon (cluster logical vol manager)
> lvmlockd - agent manages the lvmlockd daemon.
> mpathpersist - SCSI persistent reservations on mpath devs
> sg_persist - master/slave resource for SCSI3
> reservations
>
> # networking
>
> Route - network routes
> iface-bridge - bridge network interfaces
> iface-vlan - vlan network interfaces
> IPaddr2 - virtual IPv4 and IPv6 addresses
> ipsec - ipsec tunnels for VIPs
> IPsrcaddr - preferred source address modification
> IPv6addr - IPv6 aliases
> conntrackd - conntrackd instance
> SendArp - send gratuitous ARP for IP address
> VIPArip - virtual IP address through RIP2
> ifspeed - monitor action runs -> updates CIB with if
> speed
>
> # virtualization
>
> VirtualDomain - manages virtual domains through libvirt
> (virtual machine only)
>
> # containers
>
> docker - docker container resource agent
> lxc - allows LXC containers to be managed by the
> cluster
>
> #
> ## BEST EFFORT SUPPORT (managed service is likely in universe or is
> interesting)
> #
>
> # trivial agents
>
> anything - generic agent to manage virtually
> *anything*
> Dummy - testing dummy resource agent (template for
> RA
> writers)
> AudibleAlarm - audible beeps at interval
> Stateful - example agent that supports two states
> WinPopup - sends a SMB notification msg (popup) to a
> host
>
> # services
>
> asterisk - asterisk PBX
> CTDB - clustered samba (for needed clustered
> underlying)
> dnsupdate - ip take-over via dynamic dns updates
> exportfs - nfs exports (not the nfs server)
> fio - fio instance
> galera - galera instance
> garbd - galera arbitrator instance
> jboss - JBoss application server instance
> jira - JIRA server instance
> kamailio - kamailio SIP proxy/registrar instance
> mariadb - MariaDB master/slave instance
> nagios - nagios instance
> ovsmonitor - clone resource to monitor network bonds on
> diff
> nodes
> pgagent - pgagent instance
> pgsql - pgsql database instance
> pound - pound reverse proxy load-bal server
> instance
> proftpd - proftpd instance
> Pure-FTPd - pure-ftpd instance
> redis - redis server (supports master/slave
> replicas)
> instance
> syslog-ng - syslog-ng instance
> tomcat - tomcat servlet environment instance
> varnish - varnish instance
>
> # storage
>
> AoEtarget - ata over ethernet
>
> # networking
>
> IPaddr - virtual IPv4 addresses
> ocf:pacemaker:ping - records in CIB number of nodes host can
> connect to
> portblock - temporarily block/unblock access to tcp/udp
> ports
>
> # openstack
>
> openstack-cinder-volume - attach cinder vol to an instance (os-info
> <->)
> openstack-floating-ip - move a floating IP from an instance to
> another
>
> # registration (CIB)
>
> lxd-info - nr of lxd containers running in CIB
> machine-info - records various node attributes in CIB
> NodeUtilization - cpu, host mem, hypervisor mem etc... into
> CIB
> openstack-info - records attributes of a node into CIB
> SysInfo - records various node attributes into CIB
> SystemHealth - monitors health of system using IPMI
> attribute - sets node attr one way when started and
> vice-versa
>
> #
> ## COMMUNITY SUPPORT (bugs opened here will be forwarded to upstream
> directly)
> #
>
> # services
>
> SphinxSearchDaemon - sphix search daemon
> Xinetd - start/stop services managed by xinetd
> zabbixserver - zabbix server instance
>
> # storage
>
> o2cb - oracle cluster filesystem userspace daemon
> (oracle)
> sfex - excl access to shared storage using SF-EX
>
> # virtualization
>
> aliyun-vpc-move-ip - move ip within a vpc of the aliyum ecs
> (alibaba)
> awseip - manages aws elastic IP address (aws)
> awsvip - manages aws secondary private ip addresses
> (aws)
> aws-vpc-move-ip - move ip within a vpc of the aws ec2 (aws)
> aws-vpc-route53 - update route53 vpc record for aws ec2 (aws)
> azure-events - monitor for scheduled events for azure vm
> (azure)
> azure-lb - answers azure load balancer health probe
> req
> (azure)
> gcp-vpc-move-ip - floating ip address within a GCP VPC
> (google)
> ManageVE - openVZ virtual environment (virtuozzo)
> minio - minio server instance
> podman - creates/launches podman containers
> rkt - creates/launches container based on
> supplied image
>
> #
> ## UNSUPPORTED (Ubuntu does not support it)
> #
>
> db2 - manages IBM DB2 LUW databases (IBM)
> eDir88 - Novell eDirectory directory server instance
> (novell)
> ICP - ICP vortex clustered host drive (intel)
> ids - IBM informix dynamic server (IDS) (IBM)
> SAPDatabase - SAP database (of any type) instance agent
> (SAP)
> SAPInstance - SAP application server instances agent
> (SAP)
> ServeRAID - enables/disables shared serveRAID merge
> groups
> (IBM)
> ManageRAID - raid devices (/etc/conf.d/HB-ManageRAID)
> oraasm - oracle asm agent, uses ohasd for asm disk
> grp
> (oracle)
> oracle - oracle database instance (oracle)
> oralsnr - oracle TNS listener (oracle)
> sybaseASE - sybase ASE failover instance (Sybase)
> vdo-vol -
> https://bugs.launchpad.net/ubuntu/+bug/1869825
> WAS - websphere application server instance (IBM)
> WAS6 - websphere application server instance (IBM)
> Xen - xen unprivileged domains
>
> #
> ## DEPRECATED (do not use)
> #
>
> Evmsd - clustered evms vol mgmt (evms is not
> maintained)
> EvmsSCC - clustered evms vol mgmt (evms is not
> maintained)
> LinuxSCSI - enables/disables scsi devs through kernel
> scsi
> hotplug
> scsi2reservation - SCSI-2 reservation agent (depends on
> "scsi_reserve")
> ocf:heartbeat:pingd - monitors connectivity to specific hosts
> ocf:pacemaker:pingd - replaced by pacemaker:ping (this is broken)
> vmware - control vmware server 2.0 virtual machines
> (2009)
>
>
>
--
Felipe Reyes
Software Sustaining Engineer @ Canonical
# Email: felipe.reyes@canonical.com (GPG:0x9B1FFF39)
# Launchpad: ~freyes | IRC: freyes


--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel