octavia.amphorae.backends.agent.api_server package
updated: 2023-10-05 09:12
octavia.amphorae.backends.agent.api_server package
octavia.amphorae.backends.agent.api_server.amphora_info module
-
class AmphoraInfo(osutils)[source]
Bases: object
-
compile_amphora_details(extend_lvs_driver=None)[source]
-
compile_amphora_info(extend_lvs_driver=None)[source]
-
get_interface(ip_addr)[source]
octavia.amphorae.backends.agent.api_server.certificate_update module
-
upload_server_cert()[source]
octavia.amphorae.backends.agent.api_server.haproxy_compatibility module
-
get_haproxy_versions()[source]
Get major and minor version number from haproxy
- Returns major_version:
The major version digit
- Returns minor_version:
The minor version digit
-
process_cfg_for_version_compat(haproxy_cfg)[source]
octavia.amphorae.backends.agent.api_server.keepalived module
-
class Keepalived[source]
Bases: object
-
manager_keepalived_service(action)[source]
-
upload_keepalived_config()[source]
octavia.amphorae.backends.agent.api_server.keepalivedlvs module
-
class KeepalivedLvs[source]
Bases: LvsListenerApiServerBase
-
delete_lvs_listener(listener_id)[source]
Delete a LVS Listener from a amphora
- Parameters:
listener_id – The id of the listener
- Returns:
HTTP response with status code.
- Raises:
Exception – If unsupport initial system of amphora.
-
get_all_lvs_listeners_status()[source]
Gets the status of all UDP listeners
Gets the status of all UDP listeners on the amphora.
-
get_lvs_listener_config(listener_id)[source]
Gets the keepalivedlvs config
- Parameters:
listener_id – the id of the listener
-
manage_lvs_listener(listener_id, action)[source]
Gets the LVS Listener configuration details
- Parameters:
-
- Returns:
HTTP response with status code.
- Raises:
Exception – If the listener is failed to find.
-
upload_lvs_listener_config(listener_id)[source]
Upload the configuration for LVS.
- Parameters:
listener_id – The id of a LVS Listener
- Returns:
HTTP response with status code.
- Raises:
Exception – If any file / directory is not found or
fail to create.
octavia.amphorae.backends.agent.api_server.loadbalancer module
-
class Loadbalancer[source]
Bases: object
-
delete_certificate(lb_id, filename)[source]
-
delete_lb(lb_id)[source]
-
get_all_listeners_status(other_listeners=None)[source]
Gets the status of all listeners
This method will not consult the stats socket
so a listener might show as ACTIVE but still be
in ERROR
Currently type==SSL is also not detected
-
get_certificate_md5(lb_id, filename)[source]
-
get_haproxy_config(lb_id)[source]
Gets the haproxy config
- Parameters:
listener_id – the id of the listener
-
start_stop_lb(lb_id, action)[source]
-
upload_certificate(lb_id, filename)[source]
-
upload_haproxy_config(amphora_id, lb_id)[source]
Upload the haproxy config
- Parameters:
-
-
class Wrapped(stream_)[source]
Bases: object
-
get_md5()[source]
-
read(line)[source]
octavia.amphorae.backends.agent.api_server.lvs_listener_base module
-
class LvsListenerApiServerBase[source]
Bases: object
Base LVS Listener Server API
-
abstract delete_lvs_listener(listener_id)[source]
Delete a LVS Listener from a amphora
- Parameters:
listener_id – The id of the listener
- Returns:
HTTP response with status code.
- Raises:
Exception – If unsupport initial system of amphora.
-
abstract get_all_lvs_listeners_status()[source]
Gets the status of all LVS Listeners
This method will not consult the stats socket
so a listener might show as ACTIVE but still be
in ERROR
- Returns:
a list of LVS Listener status
- Raises:
Exception – If the listener pid located directory is not exist
-
abstract get_lvs_listener_config(listener_id)[source]
Gets the LVS Listener configuration details
- Parameters:
listener_id – the id of the LVS Listener
- Returns:
HTTP response with status code.
- Raises:
Exception – If the listener is failed to find.
-
get_subscribed_amp_compile_info()[source]
-
abstract manage_lvs_listener(listener_id, action)[source]
Gets the LVS Listener configuration details
- Parameters:
-
- Returns:
HTTP response with status code.
- Raises:
Exception – If the listener is failed to find.
-
abstract upload_lvs_listener_config(listener_id)[source]
Upload the configuration for LVS.
- Parameters:
listener_id – The id of a LVS Listener
- Returns:
HTTP response with status code.
- Raises:
Exception – If any file / directory is not found or
fail to create.
octavia.amphorae.backends.agent.api_server.osutils module
-
class BaseOS(os_name)[source]
Bases: object
-
classmethod bring_interface_up(interface, name)[source]
-
classmethod get_os_util()[source]
-
write_interface_file(interface, ip_address, prefixlen)[source]
-
write_port_interface_file(interface, fixed_ips, mtu)[source]
-
write_vip_interface_file(interface, vips, mtu, vrrp_info, fixed_ips=None)[source]
-
class CentOS(os_name)[source]
Bases: RH
-
classmethod is_os_name(os_name)[source]
-
class RH(os_name)[source]
Bases: BaseOS
-
cmd_get_version_of_installed_package(package_name)[source]
-
classmethod is_os_name(os_name)[source]
-
class Ubuntu(os_name)[source]
Bases: BaseOS
-
cmd_get_version_of_installed_package(package_name)[source]
-
classmethod is_os_name(os_name)[source]
octavia.amphorae.backends.agent.api_server.plug module
-
class Plug(osutils)[source]
Bases: object
-
build_vrrp_info(vrrp_ip, subnet_cidr, gateway, host_routes)[source]
-
plug_lo()[source]
-
plug_network(mac_address, fixed_ips, mtu=None, vip_net_info=None)[source]
-
plug_vip(vip, subnet_cidr, gateway, mac_address, mtu=None, vrrp_ip=None, host_routes=(), additional_vips=())[source]
-
render_vips(vips)[source]
octavia.amphorae.backends.agent.api_server.util module
-
exception ParsingError[source]
Bases: Exception
-
exception UnknownInitError[source]
Bases: Exception
-
config_path(lb_id)[source]
-
get_backend_for_lb_object(object_id)[source]
Returns the backend for a listener.
If the listener is a TCP based listener return ‘HAPROXY’.
If the listener is a UDP or SCTP based listener return ‘LVS’
If the listener is not identifiable, return None.
- Parameters:
listener_id – The ID of the listener to identify.
- Returns:
HAPROXY_BACKEND, LVS_BACKEND or None
-
get_haproxy_pid(lb_id)[source]
-
get_haproxy_vip_addresses(lb_id)[source]
Get the VIP addresses for a load balancer.
- Parameters:
lb_id – The load balancer ID to get VIP addresses from.
- Returns:
List of VIP addresses (IPv4 and IPv6)
-
get_keepalivedlvs_pid(listener_id)[source]
-
get_listeners()[source]
Get Listeners
- Returns:
An array with the ids of all listeners, e.g. [‘123’, ‘456’, …]
or [] if no listeners exist
-
get_loadbalancers()[source]
Get Load balancers
- Returns:
An array with the uuids of all load balancers,
e.g. [‘123’, ‘456’, …] or [] if no loadbalancers exist
-
get_lvs_listeners()[source]
-
get_os_init_system()[source]
-
haproxy_check_script_path()[source]
-
haproxy_dir(lb_id)[source]
-
haproxy_sock_path(lb_id)[source]
-
init_path(lb_id, init_system)[source]
-
install_netns_systemd_service()[source]
-
is_lb_running(lb_id)[source]
-
is_lvs_listener_running(listener_id)[source]
-
keepalived_backend_check_script_dir()[source]
-
keepalived_backend_check_script_path()[source]
-
keepalived_cfg_path()[source]
-
keepalived_check_script_path()[source]
-
keepalived_check_scripts_dir()[source]
-
keepalived_dir()[source]
-
keepalived_init_path(init_system)[source]
-
keepalived_log_path()[source]
-
keepalived_lvs_cfg_path(listener_id)[source]
-
keepalived_lvs_dir()[source]
-
keepalived_lvs_init_path(init_system, listener_id)[source]
-
keepalived_lvs_pids_path(listener_id)[source]
-
keepalived_pid_path()[source]
-
parse_haproxy_file(lb_id)[source]
-
pid_path(lb_id)[source]
-
run_systemctl_command(command, service)[source]
-
send_member_advertisements(fixed_ips: Iterable[Dict[str, str]])[source]
Sends advertisements for each fixed_ip of a list
This method will send either GARP (IPv4) or neighbor advertisements (IPv6)
for the addresses of the subnets of the members.
- Parameters:
fixed_ips – a list of dicts that contain ‘ip_address’ elements
- Returns:
None
-
send_vip_advertisements(lb_id)[source]
Sends address advertisements for each load balancer VIP.
This method will send either GARP (IPv4) or neighbor advertisements (IPv6)
for the VIP addresses on a load balancer.
- Parameters:
lb_id – The load balancer ID to send advertisements for.
- Returns:
None
-
state_file_path(lb_id)[source]
-
vrrp_check_script_update(lb_id, action)[source]
updated: 2023-10-05 09:12