Octavia Jobboard integration
Add parameters for configuring Octavia Jobboard for the amphorav2 provider. Jobboard for Octavia is enabled by the OctaviaEnableJobbard (default false), Octavia is configured by puppet and THT creates an additional database to store persistent objects managed by Octavia (dbname is octavia_persistence). Depends-On: https://review.opendev.org/c/openstack/puppet-tripleo/+/820668 Change-Id: Ia16b840ce63319375eddf860a4024c2ad47fab96
This commit is contained in:
parent
8e34b58d70
commit
3f55cbfbcf
@ -17,6 +17,7 @@ resource_registry:
|
|||||||
OS::TripleO::Services::OctaviaWorker: ../../deployment/octavia/octavia-worker-container-puppet.yaml
|
OS::TripleO::Services::OctaviaWorker: ../../deployment/octavia/octavia-worker-container-puppet.yaml
|
||||||
OS::TripleO::Services::Pacemaker: ../../deployment/pacemaker/pacemaker-baremetal-puppet.yaml
|
OS::TripleO::Services::Pacemaker: ../../deployment/pacemaker/pacemaker-baremetal-puppet.yaml
|
||||||
OS::TripleO::Services::PacemakerRemote: ../../deployment/pacemaker/pacemaker-remote-baremetal-puppet.yaml
|
OS::TripleO::Services::PacemakerRemote: ../../deployment/pacemaker/pacemaker-remote-baremetal-puppet.yaml
|
||||||
|
OS::TripleO::Services::Redis: ../../deployment/database/redis-container-puppet.yaml
|
||||||
OS::TripleO::Services::SwiftDispersion: OS::Heat::None
|
OS::TripleO::Services::SwiftDispersion: OS::Heat::None
|
||||||
OS::TripleO::Services::SwiftProxy: OS::Heat::None
|
OS::TripleO::Services::SwiftProxy: OS::Heat::None
|
||||||
OS::TripleO::Services::SwiftRingBuilder: OS::Heat::None
|
OS::TripleO::Services::SwiftRingBuilder: OS::Heat::None
|
||||||
|
@ -15,6 +15,7 @@ resource_registry:
|
|||||||
OS::TripleO::Services::OctaviaWorker: ../../deployment/octavia/octavia-worker-container-puppet.yaml
|
OS::TripleO::Services::OctaviaWorker: ../../deployment/octavia/octavia-worker-container-puppet.yaml
|
||||||
OS::TripleO::Services::OsloMessagingNotify: ../../deployment/rabbitmq/rabbitmq-messaging-notify-shared-puppet.yaml
|
OS::TripleO::Services::OsloMessagingNotify: ../../deployment/rabbitmq/rabbitmq-messaging-notify-shared-puppet.yaml
|
||||||
OS::TripleO::Services::OsloMessagingRpc: ../../deployment/rabbitmq/rabbitmq-messaging-rpc-pacemaker-puppet.yaml
|
OS::TripleO::Services::OsloMessagingRpc: ../../deployment/rabbitmq/rabbitmq-messaging-rpc-pacemaker-puppet.yaml
|
||||||
|
OS::TripleO::Services::Redis: ../../deployment/database/redis-container-puppet.yaml
|
||||||
OS::TripleO::Services::SwiftDispersion: OS::Heat::None
|
OS::TripleO::Services::SwiftDispersion: OS::Heat::None
|
||||||
OS::TripleO::Services::SwiftProxy: OS::Heat::None
|
OS::TripleO::Services::SwiftProxy: OS::Heat::None
|
||||||
OS::TripleO::Services::SwiftRingBuilder: OS::Heat::None
|
OS::TripleO::Services::SwiftRingBuilder: OS::Heat::None
|
||||||
|
@ -11,6 +11,7 @@ resource_registry:
|
|||||||
OS::TripleO::Services::OctaviaHousekeeping: ../../deployment/octavia/octavia-housekeeping-container-puppet.yaml
|
OS::TripleO::Services::OctaviaHousekeeping: ../../deployment/octavia/octavia-housekeeping-container-puppet.yaml
|
||||||
OS::TripleO::Services::OctaviaWorker: ../../deployment/octavia/octavia-worker-container-puppet.yaml
|
OS::TripleO::Services::OctaviaWorker: ../../deployment/octavia/octavia-worker-container-puppet.yaml
|
||||||
OS::TripleO::Services::OsloMessagingRpc: ../../deployment/rabbitmq/rabbitmq-messaging-rpc-container-puppet.yaml
|
OS::TripleO::Services::OsloMessagingRpc: ../../deployment/rabbitmq/rabbitmq-messaging-rpc-container-puppet.yaml
|
||||||
|
OS::TripleO::Services::Redis: ../../deployment/database/redis-container-puppet.yaml
|
||||||
OS::TripleO::Services::SwiftDispersion: OS::Heat::None
|
OS::TripleO::Services::SwiftDispersion: OS::Heat::None
|
||||||
OS::TripleO::Services::SwiftProxy: OS::Heat::None
|
OS::TripleO::Services::SwiftProxy: OS::Heat::None
|
||||||
OS::TripleO::Services::SwiftRingBuilder: OS::Heat::None
|
OS::TripleO::Services::SwiftRingBuilder: OS::Heat::None
|
||||||
|
@ -287,6 +287,7 @@ outputs:
|
|||||||
octavia::db::mysql::user: {get_param: OctaviaUserName}
|
octavia::db::mysql::user: {get_param: OctaviaUserName}
|
||||||
octavia::db::mysql::host: '%'
|
octavia::db::mysql::host: '%'
|
||||||
octavia::db::mysql::dbname: octavia
|
octavia::db::mysql::dbname: octavia
|
||||||
|
octavia::db::mysql::persistence_dbname: octavia_persistence
|
||||||
horizon:
|
horizon:
|
||||||
horizon::dashboards::octavia::policies: {get_param: OctaviaApiPolicies}
|
horizon::dashboards::octavia::policies: {get_param: OctaviaApiPolicies}
|
||||||
# BEGIN DOCKER SETTINGS #
|
# BEGIN DOCKER SETTINGS #
|
||||||
@ -354,7 +355,7 @@ outputs:
|
|||||||
recurse: true
|
recurse: true
|
||||||
- {get_attr: [OctaviaProviderConfig, role_data, kolla_permissions]}
|
- {get_attr: [OctaviaProviderConfig, role_data, kolla_permissions]}
|
||||||
/var/lib/kolla/config_files/octavia_api_db_sync.json:
|
/var/lib/kolla/config_files/octavia_api_db_sync.json:
|
||||||
command: "/usr/bin/bootstrap_host_exec octavia_api su octavia -s /bin/bash -c '/usr/bin/octavia-db-manage upgrade head'"
|
command: "/usr/bin/bootstrap_host_exec octavia_api su octavia -s /bin/bash -c '/usr/bin/octavia-db-manage upgrade head && /usr/bin/octavia-db-manage upgrade_persistence'"
|
||||||
config_files: *octavia_api_config_files
|
config_files: *octavia_api_config_files
|
||||||
permissions: *octavia_api_permissions
|
permissions: *octavia_api_permissions
|
||||||
metadata_settings: {get_attr: [OctaviaProviderConfig, role_data, metadata_settings]}
|
metadata_settings: {get_attr: [OctaviaProviderConfig, role_data, metadata_settings]}
|
||||||
|
@ -218,6 +218,18 @@ parameters:
|
|||||||
type: string
|
type: string
|
||||||
description: Key to identify heartbeat messages for amphorae.
|
description: Key to identify heartbeat messages for amphorae.
|
||||||
hidden: true
|
hidden: true
|
||||||
|
OctaviaEnableJobboard:
|
||||||
|
default: false
|
||||||
|
description: Enable jobboard for the amphorav2 driver, it enables flow resumption for the amphora driver.
|
||||||
|
type: boolean
|
||||||
|
OctaviaJobboardExpirationTime:
|
||||||
|
default: 30
|
||||||
|
description: Expiry of claimed jobs in jobboard.
|
||||||
|
type: number
|
||||||
|
RedisPassword:
|
||||||
|
description: The password for the redis service account.
|
||||||
|
type: string
|
||||||
|
hidden: true
|
||||||
|
|
||||||
conditions:
|
conditions:
|
||||||
octavia_ca_cert_set:
|
octavia_ca_cert_set:
|
||||||
@ -237,97 +249,121 @@ outputs:
|
|||||||
value:
|
value:
|
||||||
service_name: octavia_base
|
service_name: octavia_base
|
||||||
config_settings:
|
config_settings:
|
||||||
octavia::logging::debug:
|
map_merge:
|
||||||
if:
|
- octavia::logging::debug:
|
||||||
- {get_param: OctaviaDebug}
|
|
||||||
- true
|
|
||||||
- {get_param: Debug}
|
|
||||||
octavia::purge_config: {get_param: EnableConfigPurge}
|
|
||||||
octavia::notification_driver: {get_param: NotificationDriver}
|
|
||||||
octavia::db::database_connection:
|
|
||||||
make_url:
|
|
||||||
scheme: {get_param: [EndpointMap, MysqlInternal, protocol]}
|
|
||||||
username: {get_param: OctaviaUserName}
|
|
||||||
password: {get_param: OctaviaPassword}
|
|
||||||
host: {get_param: [EndpointMap, MysqlInternal, host]}
|
|
||||||
path: /octavia
|
|
||||||
query:
|
|
||||||
if:
|
if:
|
||||||
- {get_param: EnableSQLAlchemyCollectd}
|
- {get_param: OctaviaDebug}
|
||||||
- read_default_file: /etc/my.cnf.d/tripleo.cnf
|
- true
|
||||||
read_default_group: tripleo
|
- {get_param: Debug}
|
||||||
plugin: collectd
|
octavia::purge_config: {get_param: EnableConfigPurge}
|
||||||
collectd_program_name: octavia
|
octavia::notification_driver: {get_param: NotificationDriver}
|
||||||
collectd_host: localhost
|
octavia::db::database_connection:
|
||||||
- read_default_file: /etc/my.cnf.d/tripleo.cnf
|
make_url:
|
||||||
read_default_group: tripleo
|
scheme: {get_param: [EndpointMap, MysqlInternal, protocol]}
|
||||||
octavia::service_auth::auth_url: {get_param: [EndpointMap, KeystoneV3Internal, uri]}
|
username: {get_param: OctaviaUserName}
|
||||||
octavia::service_auth::auth_type: 'password'
|
password: {get_param: OctaviaPassword}
|
||||||
octavia::service_auth::username: {get_param: OctaviaUserName}
|
host: {get_param: [EndpointMap, MysqlInternal, host]}
|
||||||
octavia::service_auth::password: {get_param: OctaviaPassword}
|
path: /octavia
|
||||||
octavia::service_auth::project_name: {get_param: OctaviaProjectName}
|
query:
|
||||||
octavia::service_auth::project_domain_name: 'Default'
|
if:
|
||||||
octavia::service_auth::user_domain_name: 'Default'
|
- {get_param: EnableSQLAlchemyCollectd}
|
||||||
octavia::service_auth::region_name: {get_param: KeystoneRegion}
|
- read_default_file: /etc/my.cnf.d/tripleo.cnf
|
||||||
octavia::nova::endpoint_type: 'internalURL'
|
read_default_group: tripleo
|
||||||
octavia::nova::region_name: {get_param: KeystoneRegion}
|
plugin: collectd
|
||||||
octavia::neutron::endpoint_type: 'internalURL'
|
collectd_program_name: octavia
|
||||||
octavia::neutron::region_name: {get_param: KeystoneRegion}
|
collectd_host: localhost
|
||||||
octavia::glance::endpoint_type: 'internalURL'
|
- read_default_file: /etc/my.cnf.d/tripleo.cnf
|
||||||
octavia::glance::region_name: {get_param: KeystoneRegion}
|
read_default_group: tripleo
|
||||||
octavia::cinder::endpoint_type: 'internalURL'
|
octavia::service_auth::auth_url: {get_param: [EndpointMap, KeystoneV3Internal, uri]}
|
||||||
octavia::cinder::region_name: {get_param: KeystoneRegion}
|
octavia::service_auth::auth_type: 'password'
|
||||||
octavia::certificates::endpoint_type: 'internalURL'
|
octavia::service_auth::username: {get_param: OctaviaUserName}
|
||||||
octavia::certificates::ca_certificate: {get_param: OctaviaCaCertFile}
|
octavia::service_auth::password: {get_param: OctaviaPassword}
|
||||||
octavia::certificates::ca_private_key: {get_param: OctaviaCaKeyFile}
|
octavia::service_auth::project_name: {get_param: OctaviaProjectName}
|
||||||
octavia::certificates::client_cert: {get_param: OctaviaClientCertFile}
|
octavia::service_auth::project_domain_name: 'Default'
|
||||||
octavia::certificates::server_certs_key_passphrase: {get_param: OctaviaServerCertsKeyPassphrase}
|
octavia::service_auth::user_domain_name: 'Default'
|
||||||
octavia::certificates::ca_private_key_passphrase: {get_param: OctaviaCaKeyPassphrase}
|
octavia::service_auth::region_name: {get_param: KeystoneRegion}
|
||||||
octavia::worker::manage_nova_flavor: false
|
octavia::nova::endpoint_type: 'internalURL'
|
||||||
octavia::controller::amp_boot_network_list: {get_param: OctaviaAmphoraNetworkList}
|
octavia::nova::region_name: {get_param: KeystoneRegion}
|
||||||
octavia::controller::amp_flavor_id: {get_param: OctaviaFlavorId}
|
octavia::neutron::endpoint_type: 'internalURL'
|
||||||
octavia::controller::amp_image_tag: {get_param: OctaviaAmphoraImageTag}
|
octavia::neutron::region_name: {get_param: KeystoneRegion}
|
||||||
octavia::controller::amp_ssh_key_name: {get_param: OctaviaAmphoraSshKeyName}
|
octavia::glance::endpoint_type: 'internalURL'
|
||||||
octavia::controller::amp_timezone: {get_param: TimeZone}
|
octavia::glance::region_name: {get_param: KeystoneRegion}
|
||||||
octavia::controller::enable_ssh_access: true
|
octavia::cinder::endpoint_type: 'internalURL'
|
||||||
octavia::controller::timeout_client_data: {get_param: OctaviaTimeoutClientData}
|
octavia::cinder::region_name: {get_param: KeystoneRegion}
|
||||||
octavia::controller::timeout_member_connect: {get_param: OctaviaTimeoutMemberConnect}
|
octavia::certificates::endpoint_type: 'internalURL'
|
||||||
octavia::controller::timeout_member_data: {get_param: OctaviaTimeoutMemberData}
|
octavia::certificates::ca_certificate: {get_param: OctaviaCaCertFile}
|
||||||
octavia::controller::timeout_tcp_inspect: {get_param: OctaviaTimeoutTcpInspect}
|
octavia::certificates::ca_private_key: {get_param: OctaviaCaKeyFile}
|
||||||
octavia::controller::connection_max_retries: {get_param: OctaviaConnectionMaxRetries}
|
octavia::certificates::client_cert: {get_param: OctaviaClientCertFile}
|
||||||
octavia::controller::connection_logging: {get_param: OctaviaConnectionLogging}
|
octavia::certificates::server_certs_key_passphrase: {get_param: OctaviaServerCertsKeyPassphrase}
|
||||||
octavia::controller::build_active_retries: {get_param: OctaviaBuildActiveRetries}
|
octavia::certificates::ca_private_key_passphrase: {get_param: OctaviaCaKeyPassphrase}
|
||||||
octavia::controller::admin_log_targets: {get_param: OctaviaAdminLogTargets}
|
octavia::worker::manage_nova_flavor: false
|
||||||
octavia::controller::administrative_log_facility: {get_param: OctaviaAdminLogFacility}
|
octavia::controller::amp_boot_network_list: {get_param: OctaviaAmphoraNetworkList}
|
||||||
octavia::controller::forward_all_logs: {get_param: OctaviaForwardAllLogs}
|
octavia::controller::amp_flavor_id: {get_param: OctaviaFlavorId}
|
||||||
octavia::controller::tenant_log_targets: {get_param: OctaviaTenantLogTargets}
|
octavia::controller::amp_image_tag: {get_param: OctaviaAmphoraImageTag}
|
||||||
octavia::controller::user_log_facility: {get_param: OctaviaTenantLogFacility}
|
octavia::controller::amp_ssh_key_name: {get_param: OctaviaAmphoraSshKeyName}
|
||||||
octavia::controller::user_log_format:
|
octavia::controller::amp_timezone: {get_param: TimeZone}
|
||||||
if:
|
octavia::controller::enable_ssh_access: true
|
||||||
- octavia_user_log_format_set
|
octavia::controller::timeout_client_data: {get_param: OctaviaTimeoutClientData}
|
||||||
- {get_param: OctaviaUserLogFormat}
|
octavia::controller::timeout_member_connect: {get_param: OctaviaTimeoutMemberConnect}
|
||||||
octavia::controller::disable_local_log_storage: {get_param: OctaviaDisableLocalLogStorage}
|
octavia::controller::timeout_member_data: {get_param: OctaviaTimeoutMemberData}
|
||||||
octavia::networking::port_detach_timeout: {get_param: OctaviaPortDetachTimeout}
|
octavia::controller::timeout_tcp_inspect: {get_param: OctaviaTimeoutTcpInspect}
|
||||||
octavia::nova::enable_anti_affinity: {get_param: OctaviaAntiAffinity}
|
octavia::controller::connection_max_retries: {get_param: OctaviaConnectionMaxRetries}
|
||||||
octavia::rpc_response_timeout: {get_param: OctaviaRpcResponseTimeout}
|
octavia::controller::connection_logging: {get_param: OctaviaConnectionLogging}
|
||||||
octavia::rabbit_heartbeat_in_pthread: false
|
octavia::controller::build_active_retries: {get_param: OctaviaBuildActiveRetries}
|
||||||
octavia::controller::loadbalancer_topology:
|
octavia::controller::admin_log_targets: {get_param: OctaviaAdminLogTargets}
|
||||||
if:
|
octavia::controller::administrative_log_facility: {get_param: OctaviaAdminLogFacility}
|
||||||
- octavia_topology_set
|
octavia::controller::forward_all_logs: {get_param: OctaviaForwardAllLogs}
|
||||||
- {get_param: OctaviaLoadBalancerTopology}
|
octavia::controller::tenant_log_targets: {get_param: OctaviaTenantLogTargets}
|
||||||
octavia::certificates::ca_certificate_data:
|
octavia::controller::user_log_facility: {get_param: OctaviaTenantLogFacility}
|
||||||
if:
|
octavia::controller::user_log_format:
|
||||||
- octavia_ca_cert_set
|
if:
|
||||||
- {get_param: OctaviaCaCert}
|
- octavia_user_log_format_set
|
||||||
octavia::certificates::ca_private_key_data:
|
- {get_param: OctaviaUserLogFormat}
|
||||||
if:
|
octavia::controller::disable_local_log_storage: {get_param: OctaviaDisableLocalLogStorage}
|
||||||
- octavia_ca_key_set
|
octavia::networking::port_detach_timeout: {get_param: OctaviaPortDetachTimeout}
|
||||||
- {get_param: OctaviaCaKey}
|
octavia::nova::enable_anti_affinity: {get_param: OctaviaAntiAffinity}
|
||||||
octavia::certificates::client_cert_data:
|
octavia::rpc_response_timeout: {get_param: OctaviaRpcResponseTimeout}
|
||||||
if:
|
octavia::rabbit_heartbeat_in_pthread: false
|
||||||
- octavia_client_cert_set
|
octavia::controller::loadbalancer_topology:
|
||||||
- {get_param: OctaviaClientCert}
|
if:
|
||||||
octavia::controller::heartbeat_key: {get_param: OctaviaHeartbeatKey}
|
- octavia_topology_set
|
||||||
|
- {get_param: OctaviaLoadBalancerTopology}
|
||||||
|
octavia::certificates::ca_certificate_data:
|
||||||
|
if:
|
||||||
|
- octavia_ca_cert_set
|
||||||
|
- {get_param: OctaviaCaCert}
|
||||||
|
octavia::certificates::ca_private_key_data:
|
||||||
|
if:
|
||||||
|
- octavia_ca_key_set
|
||||||
|
- {get_param: OctaviaCaKey}
|
||||||
|
octavia::certificates::client_cert_data:
|
||||||
|
if:
|
||||||
|
- octavia_client_cert_set
|
||||||
|
- {get_param: OctaviaClientCert}
|
||||||
|
octavia::controller::heartbeat_key: {get_param: OctaviaHeartbeatKey}
|
||||||
|
- if:
|
||||||
|
- {get_param: OctaviaEnableJobboard}
|
||||||
|
- octavia::task_flow::jobboard_enabled: {get_param: OctaviaEnableJobboard}
|
||||||
|
octavia::task_flow::jobboard_backend_hosts: "%{hiera('redis_vip')}"
|
||||||
|
octavia::task_flow::jobboard_backend_password: {get_param: RedisPassword}
|
||||||
|
octavia::task_flow::jobboard_expiration_time: {get_param: OctaviaJobboardExpirationTime}
|
||||||
|
octavia::task_flow::persistence_connection:
|
||||||
|
make_url:
|
||||||
|
scheme: {get_param: [EndpointMap, MysqlInternal, protocol]}
|
||||||
|
username: {get_param: OctaviaUserName}
|
||||||
|
password: {get_param: OctaviaPassword}
|
||||||
|
host: {get_param: [EndpointMap, MysqlInternal, host]}
|
||||||
|
path: /octavia_persistence
|
||||||
|
query:
|
||||||
|
if:
|
||||||
|
- {get_param: EnableSQLAlchemyCollectd}
|
||||||
|
- read_default_file: /etc/my.cnf.d/tripleo.cnf
|
||||||
|
read_default_group: tripleo
|
||||||
|
plugin: collectd
|
||||||
|
collectd_program_name: octavia
|
||||||
|
collectd_host: localhost
|
||||||
|
- read_default_file: /etc/my.cnf.d/tripleo.cnf
|
||||||
|
read_default_group: tripleo
|
||||||
update_tasks: &ensure_start_up_files
|
update_tasks: &ensure_start_up_files
|
||||||
- name: make sure that post-deploy.conf exists before restarting containers on update or upgrade
|
- name: make sure that post-deploy.conf exists before restarting containers on update or upgrade
|
||||||
when: step|int == 5
|
when: step|int == 5
|
||||||
|
Loading…
Reference in New Issue
Block a user