Product SiteDocumentation Site

10.4.5. Bundle Primitive

A bundle may optionally contain one <primitive> resource (see Section 5.1, “What is a Cluster Resource?”). The primitive may have operations, instance attributes and meta-attributes defined, as usual.
If a bundle contains a primitive resource, the container image must include the Pacemaker Remote daemon, and at least one of ip-range-start or control-port must be configured in the bundle. Pacemaker will create an implicit ocf:pacemaker:remote resource for the connection, launch Pacemaker Remote within the container, and monitor and manage the primitive resource via Pacemaker Remote.
If the bundle has more than one container instance (replica), the primitive resource will function as an implicit clone (see Section 10.2, “Clones - Resources That Get Active on Multiple Hosts”) — a multistate clone if the bundle has masters greater than zero (see Section 10.3, “Multi-state - Resources That Have Multiple Modes”).

Important

Containers in bundles with a primitive must have an accessible networking environment, so that Pacemaker on the cluster nodes can contact Pacemaker Remote inside the container. For example, the Docker option --net=none should not be used with a primitive. The default (using a distinct network space inside the container) works in combination with ip-range-start. If the Docker option --net=host is used (making the container share the host’s network space), a unique control-port should be specified for each bundle. Any firewall must allow access to the control-port.