octavia.amphorae.drivers.noop_driver package

Submodules

octavia.amphorae.drivers.noop_driver.driver module

class LoggingUpdate[source]

Bases: object

update_health(health)[source]
update_stats(stats)[source]
class NoopAmphoraLoadBalancerDriver[source]

Bases: octavia.amphorae.drivers.driver_base.AmphoraLoadBalancerDriver, octavia.amphorae.drivers.driver_base.VRRPDriverMixin

delete(listener)[source]

Delete the listener on the vip.

Parameters

listener (octavia.db.models.Listener) – listener object, need to use its protocol_port property

Returns

return a value list (listener, vip, status flag–delete)

At this moment, we just build the basic structure for testing, will add more function along with the development.

finalize_amphora(amphora)[source]

Finalize the amphora before any listeners are configured.

Parameters

amphora (octavia.db.models.Amphora) – amphora object, need to use its id property

Returns

None

At this moment, we just build the basic structure for testing, will add more function along with the development. This is a hook for drivers who need to do additional work before an amphora becomes ready to accept listeners. Please keep in mind that amphora might be kept in an offline pool after this call.

get_diagnostics(amphora)[source]

Return ceilometer ready diagnostic data.

Parameters

amphora (octavia.db.models.Amphora) – amphora object, need to use its id property

Returns

return a value list (amphora.id, status flag–‘ge t_diagnostics’)

At this moment, we just build the basic structure for testing, will add more function along with the development, eventually, we want it run some expensive self tests to determine if the amphora and the lbs are healthy the idea is that those tests are triggered more infrequent than the health gathering.

get_info(amphora, raise_retry_exception=False)[source]

Returns information about the amphora.

Parameters
  • amphora (octavia.db.models.Amphora) – amphora object, need to use its id property

  • raise_retry_exception – Flag if outside task should be retried

Returns

return a value list (amphora.id, status flag–‘info’)

At this moment, we just build the basic structure for testing, will add more function along with the development, eventually, we want it to return information as: {“Rest Interface”: “1.0”, “Amphorae”: “1.0”, “packages”:{“ha proxy”:”1.5”}} some information might come from querying the amphora

get_interface_from_ip(amphora, ip_address, timeout_dict=None)[source]

Get the interface name from an IP address.

Parameters
  • amphora (octavia.db.models.Amphora) – The amphora to query.

  • ip_address (string) – The IP address to lookup. (IPv4 or IPv6)

  • timeout_dict (dict) – Dictionary of timeout values for calls to the amphora. May contain: req_conn_timeout, req_read_timeout, conn_max_retries, conn_retry_interval

post_network_plug(amphora, port)[source]

Called after amphora added to network

Parameters

This method is optional to implement. After adding an amphora to a network, there may be steps necessary on the amphora to allow it to access said network. Ex: creating an interface on an amphora for a neutron network to utilize.

post_vip_plug(amphora, load_balancer, amphorae_network_config, vrrp_port=None, vip_subnet=None)[source]

Called after network driver has allocated and plugged the VIP

Parameters
Returns

None

This is to do any additional work needed on the amphorae to plug the vip, such as bring up interfaces.

reload(loadbalancer, amphora=None, timeout_dict=None)[source]

Reload the listeners on the amphora.

Parameters
  • loadbalancer (octavia.db.models.LoadBalancer) – loadbalancer object to reload listeners

  • amphora (octavia.db.models.Amphora) – Amphora to start. If None, reload on all amphora

  • timeout_dict (dict) – Dictionary of timeout values for calls to the amphora. May contain: req_conn_timeout, req_read_timeout, conn_max_retries, conn_retry_interval

Returns

return a value list (listener, vip, status flag–enable)

At this moment, we just build the basic structure for testing, will add more function along with the development.

reload_vrrp_service(loadbalancer)[source]

Reload the VRRP services of all amphorae of the loadbalancer

Parameters

loadbalancer – loadbalancer object

start(loadbalancer, amphora=None, timeout_dict=None)[source]

Start the listeners on the amphora.

Parameters
  • loadbalancer (octavia.db.models.LoadBalancer) – loadbalancer object to start listeners

  • amphora (octavia.db.models.Amphora) – Amphora to start. If None, start on all amphora

  • timeout_dict (dict) – Dictionary of timeout values for calls to the amphora. May contain: req_conn_timeout, req_read_timeout, conn_max_retries, conn_retry_interval

Returns

return a value list (listener, vip, status flag–enable)

At this moment, we just build the basic structure for testing, will add more function along with the development.

start_vrrp_service(amphora, timeout_dict=None)[source]

Start the VRRP services on the amphora

Parameters
  • amphora – The amphora object to start the service on.

  • timeout_dict – Dictionary of timeout values for calls to the amphora. May contain: req_conn_timeout, req_read_timeout, conn_max_retries, conn_retry_interval

stop_vrrp_service(loadbalancer)[source]

Stop the vrrp services running on the loadbalancer’s amphorae

Parameters

loadbalancer – loadbalancer object

update(loadbalancer)[source]

Update the amphora with a new configuration.

Parameters

loadbalancer (octavia.db.models.LoadBalancer) – loadbalancer object, need to use its vip.ip_address property

Returns

None

At this moment, we just build the basic structure for testing, will add more function along with the development.

update_amphora_agent_config(amphora, agent_config)[source]

Upload and update the amphora agent configuration.

Parameters
  • amphora (octavia.db.models.Amphora) – amphora object, needs id and network ip(s)

  • agent_config (string) – The new amphora agent configuration file.

update_amphora_listeners(loadbalancer, amphora, timeout_dict)[source]

Update the amphora with a new configuration.

Parameters
  • loadbalancer (list(octavia.db.models.Listener)) – List of listeners to update.

  • amphora (octavia.db.models.Amphora) – The index of the specific amphora to update

  • timeout_dict (dict) – Dictionary of timeout values for calls to the amphora. May contain: req_conn_timeout, req_read_timeout, conn_max_retries, conn_retry_interval

Returns

None

Builds a new configuration, pushes it to the amphora, and reloads the listener on one amphora.

update_vrrp_conf(loadbalancer, amphorae_network_config, amphora, timeout_dict=None)[source]

Update amphorae of the loadbalancer with a new VRRP configuration

Parameters
  • loadbalancer – loadbalancer object

  • amphorae_network_config – amphorae network configurations

  • amphora – The amphora object to update.

  • timeout_dict – Dictionary of timeout values for calls to the amphora. May contain: req_conn_timeout, req_read_timeout, conn_max_retries, conn_retry_interval

upload_cert_amp(amphora, pem_file)[source]

Upload cert info to the amphora.

Parameters
  • amphora (octavia.db.models.Amphora) – amphora object, needs id and network ip(s)

  • pem_file (file object) – a certificate file

Upload cert file to amphora for Controller Communication.

class NoopManager[source]

Bases: object

delete(listener)[source]
finalize_amphora(amphora)[source]
get_diagnostics(amphora)[source]
get_info(amphora, raise_retry_exception=False)[source]
get_interface_from_ip(amphora, ip_address, timeout_dict=None)[source]
post_network_plug(amphora, port)[source]
post_vip_plug(amphora, load_balancer, amphorae_network_config, vrrp_port=None, vip_subnet=None)[source]
reload(loadbalancer, amphora=None, timeout_dict=None)[source]
start(loadbalancer, amphora=None, timeout_dict=None)[source]
update(loadbalancer)[source]
update_amphora_agent_config(amphora, agent_config)[source]
update_amphora_listeners(loadbalancer, amphora, timeout_dict)[source]
upload_cert_amp(amphora, pem_file)[source]

Module contents