diff --git a/api/bases/telemetry.openstack.org_ceilometers.yaml b/api/bases/telemetry.openstack.org_ceilometers.yaml index 0b63680d..d9c3b38a 100644 --- a/api/bases/telemetry.openstack.org_ceilometers.yaml +++ b/api/bases/telemetry.openstack.org_ceilometers.yaml @@ -108,6 +108,11 @@ spec: spec: description: CeilometerSpec defines the desired state of Ceilometer properties: + apiTimeout: + default: 60 + description: APITimeout for Apache + minimum: 60 + type: integer centralImage: type: string computeImage: diff --git a/api/bases/telemetry.openstack.org_telemetries.yaml b/api/bases/telemetry.openstack.org_telemetries.yaml index 5c48d2f3..93f0a962 100644 --- a/api/bases/telemetry.openstack.org_telemetries.yaml +++ b/api/bases/telemetry.openstack.org_telemetries.yaml @@ -425,6 +425,11 @@ spec: ceilometer: description: Ceilometer - Parameters related to the ceilometer service properties: + apiTimeout: + default: 60 + description: APITimeout for Apache + minimum: 60 + type: integer centralImage: type: string computeImage: diff --git a/api/v1beta1/ceilometer_types.go b/api/v1beta1/ceilometer_types.go index 835f191d..70334afe 100644 --- a/api/v1beta1/ceilometer_types.go +++ b/api/v1beta1/ceilometer_types.go @@ -70,6 +70,12 @@ type CeilometerSpec struct { // CeilometerSpecCore defines the desired state of Ceilometer. This version is used by the OpenStackControlplane (no image parameters) type CeilometerSpecCore struct { + // +kubebuilder:validation:Optional + // +kubebuilder:default=60 + // +kubebuilder:validation:Minimum=60 + // APITimeout for Apache + APITimeout int `json:"apiTimeout"` + // RabbitMQ instance name // Needed to request a transportURL that is created and used in Telemetry // +kubebuilder:default=rabbitmq diff --git a/config/crd/bases/telemetry.openstack.org_ceilometers.yaml b/config/crd/bases/telemetry.openstack.org_ceilometers.yaml index 0b63680d..d9c3b38a 100644 --- a/config/crd/bases/telemetry.openstack.org_ceilometers.yaml +++ b/config/crd/bases/telemetry.openstack.org_ceilometers.yaml @@ -108,6 +108,11 @@ spec: spec: description: CeilometerSpec defines the desired state of Ceilometer properties: + apiTimeout: + default: 60 + description: APITimeout for Apache + minimum: 60 + type: integer centralImage: type: string computeImage: diff --git a/config/crd/bases/telemetry.openstack.org_telemetries.yaml b/config/crd/bases/telemetry.openstack.org_telemetries.yaml index 5c48d2f3..93f0a962 100644 --- a/config/crd/bases/telemetry.openstack.org_telemetries.yaml +++ b/config/crd/bases/telemetry.openstack.org_telemetries.yaml @@ -425,6 +425,11 @@ spec: ceilometer: description: Ceilometer - Parameters related to the ceilometer service properties: + apiTimeout: + default: 60 + description: APITimeout for Apache + minimum: 60 + type: integer centralImage: type: string computeImage: diff --git a/controllers/ceilometer_controller.go b/controllers/ceilometer_controller.go index 9fff9a32..4a380d4f 100644 --- a/controllers/ceilometer_controller.go +++ b/controllers/ceilometer_controller.go @@ -839,6 +839,7 @@ func (r *CeilometerReconciler) generateServiceConfig( "CeilometerPassword": string(ceilometerPasswordSecret.Data["CeilometerPassword"]), "TLS": false, // Default to false. Change to true later if TLS enabled "SwiftRole": false, // + "Timeout": instance.Spec.APITimeout, } // create httpd vhost template parameters diff --git a/templates/ceilometercentral/config/httpd.conf b/templates/ceilometercentral/config/httpd.conf index e762a446..ffbdfbe4 100644 --- a/templates/ceilometercentral/config/httpd.conf +++ b/templates/ceilometercentral/config/httpd.conf @@ -53,4 +53,6 @@ CustomLog /dev/stdout proxy env=forwarded SSLCertificateFile "{{ .vhost.SSLCertificateFile }}" SSLCertificateKeyFile "{{ .vhost.SSLCertificateKeyFile }}" {{- end }} + + Timeout {{ $.Timeout }}