
Change-Id: I8534818eb8a60a23cb91627e99c14fd0d9a9f5af Signed-off-by: sunilmehra29 <imsunilmehra29@gmail.com>
672 lines
15 KiB
YAML
672 lines
15 KiB
YAML
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
---
|
|
labels:
|
|
api:
|
|
node_selector_key: openstack-control-plane
|
|
node_selector_value: enabled
|
|
job:
|
|
node_selector_key: openstack-control-plane
|
|
node_selector_value: enabled
|
|
test:
|
|
node_selector_key: openstack-control-plane
|
|
node_selector_value: enabled
|
|
|
|
release_group: null
|
|
|
|
images:
|
|
tags:
|
|
test: docker.io/xrally/xrally-openstack:2.0.0
|
|
bootstrap: quay.io/airshipit/heat:2025.1-ubuntu_jammy
|
|
db_init: quay.io/airshipit/heat:2025.1-ubuntu_jammy
|
|
db_drop: quay.io/airshipit/heat:2025.1-ubuntu_jammy
|
|
ks_user: quay.io/airshipit/heat:2025.1-ubuntu_jammy
|
|
ks_service: quay.io/airshipit/heat:2025.1-ubuntu_jammy
|
|
ks_endpoints: quay.io/airshipit/heat:2025.1-ubuntu_jammy
|
|
zaqar_db_sync: quay.io/airshipit/zaqar:2025.1-ubuntu_jammy
|
|
zaqar_api: quay.io/airshipit/zaqar:2025.1-ubuntu_jammy
|
|
dep_check: quay.io/airshipit/kubernetes-entrypoint:latest-ubuntu_jammy
|
|
image_repo_sync: docker.io/docker:17.07.0
|
|
pull_policy: "IfNotPresent"
|
|
local_registry:
|
|
active: false
|
|
exclude:
|
|
- dep_check
|
|
- image_repo_sync
|
|
|
|
network:
|
|
api:
|
|
ingress:
|
|
public: true
|
|
classes:
|
|
namespace: "nginx"
|
|
cluster: "nginx-cluster"
|
|
annotations:
|
|
nginx.ingress.kubernetes.io/rewrite-target: /
|
|
external_policy_local: false
|
|
node_port:
|
|
enabled: false
|
|
port: 30780
|
|
|
|
dependencies:
|
|
dynamic:
|
|
common:
|
|
local_image_registry:
|
|
jobs:
|
|
- zaqar-image-repo-sync
|
|
services:
|
|
- endpoint: node
|
|
service: local_image_registry
|
|
static:
|
|
api:
|
|
jobs:
|
|
- zaqar-db-sync
|
|
- zaqar-ks-user
|
|
- zaqar-ks-endpoints
|
|
services:
|
|
- endpoint: internal
|
|
service: oslo_cache
|
|
- endpoint: internal
|
|
service: oslo_db
|
|
- endpoint: internal
|
|
service: identity
|
|
bootstrap:
|
|
services:
|
|
- endpoint: internal
|
|
service: identity
|
|
- endpoint: internal
|
|
service: messaging
|
|
db_init:
|
|
services:
|
|
- endpoint: internal
|
|
service: oslo_db
|
|
db_drop:
|
|
services:
|
|
- endpoint: internal
|
|
service: oslo_db
|
|
db_sync:
|
|
jobs:
|
|
- zaqar-db-init
|
|
services:
|
|
- endpoint: internal
|
|
service: oslo_db
|
|
ks_endpoints:
|
|
jobs:
|
|
- zaqar-ks-service
|
|
services:
|
|
- endpoint: internal
|
|
service: identity
|
|
ks_service:
|
|
services:
|
|
- endpoint: internal
|
|
service: identity
|
|
ks_user:
|
|
services:
|
|
- endpoint: internal
|
|
service: identity
|
|
|
|
secrets:
|
|
identity:
|
|
admin: zaqar-keystone-admin
|
|
zaqar: zaqar-keystone-user
|
|
service: zaqar-keystone-service
|
|
test: zaqar-keystone-test
|
|
oslo_db:
|
|
admin: zaqar-db-admin
|
|
zaqar: zaqar-db-user
|
|
tls:
|
|
messaging:
|
|
api:
|
|
admin: zaqar-tls-admin
|
|
public: zaqar-tls-public
|
|
internal: zaqar-tls-internal
|
|
nginx: zaqar-tls-nginx
|
|
nginx_cluster: zaqar-tls-nginx-cluster
|
|
|
|
endpoints:
|
|
cluster_domain_suffix: cluster.local
|
|
local_image_registry:
|
|
name: docker-registry
|
|
namespace: docker-registry
|
|
hosts:
|
|
default: localhost
|
|
internal: docker-registry
|
|
node: localhost
|
|
host_fqdn_override:
|
|
default: null
|
|
port:
|
|
registry:
|
|
node: 5000
|
|
identity:
|
|
name: keystone
|
|
auth:
|
|
admin:
|
|
region_name: RegionOne
|
|
username: admin
|
|
password: password
|
|
project_name: admin
|
|
user_domain_name: default
|
|
project_domain_name: default
|
|
zaqar:
|
|
role: admin,service
|
|
region_name: RegionOne
|
|
username: zaqar
|
|
password: password
|
|
project_name: service
|
|
user_domain_name: service
|
|
project_domain_name: service
|
|
test:
|
|
role: admin
|
|
region_name: RegionOne
|
|
username: zaqar-test
|
|
password: password
|
|
project_name: test
|
|
user_domain_name: service
|
|
project_domain_name: service
|
|
hosts:
|
|
default: keystone
|
|
internal: keystone-api
|
|
host_fqdn_override:
|
|
default: null
|
|
path:
|
|
default: /v3
|
|
scheme:
|
|
default: http
|
|
port:
|
|
api:
|
|
default: 80
|
|
internal: 5000
|
|
messaging:
|
|
name: zaqar
|
|
hosts:
|
|
default: zaqar-api
|
|
public: zaqar
|
|
host_fqdn_override:
|
|
default: null
|
|
path:
|
|
default: /
|
|
scheme:
|
|
default: "http"
|
|
service: "http"
|
|
port:
|
|
api:
|
|
default: 8888
|
|
public: 80
|
|
service: 8888
|
|
oslo_db:
|
|
auth:
|
|
admin:
|
|
username: root
|
|
password: password
|
|
secret:
|
|
tls:
|
|
internal: mariadb-tls-direct
|
|
zaqar:
|
|
username: zaqar
|
|
password: password
|
|
hosts:
|
|
default: mariadb
|
|
host_fqdn_override:
|
|
default: null
|
|
path: /zaqar
|
|
scheme: mysql+pymysql
|
|
port:
|
|
mysql:
|
|
default: 3306
|
|
oslo_cache:
|
|
auth:
|
|
memcache_secret_key: null
|
|
hosts:
|
|
default: memcached
|
|
host_fqdn_override:
|
|
default: null
|
|
port:
|
|
memcache:
|
|
default: 11211
|
|
fluentd:
|
|
namespace: null
|
|
name: fluentd
|
|
hosts:
|
|
default: fluentd-logging
|
|
host_fqdn_override:
|
|
default: null
|
|
path:
|
|
default: null
|
|
scheme: "http"
|
|
port:
|
|
service:
|
|
default: 24224
|
|
metrics:
|
|
default: 24220
|
|
kube_dns:
|
|
namespace: kube-system
|
|
name: kubernetes-dns
|
|
hosts:
|
|
default: kube-dns
|
|
host_fqdn_override:
|
|
default: null
|
|
path:
|
|
default: null
|
|
scheme: http
|
|
port:
|
|
dns:
|
|
default: 53
|
|
protocol: UDP
|
|
ingress:
|
|
namespace: null
|
|
name: ingress
|
|
hosts:
|
|
default: ingress
|
|
port:
|
|
ingress:
|
|
default: 80
|
|
|
|
pod:
|
|
probes:
|
|
rpc_timeout: 60
|
|
rpc_retries: 2
|
|
api:
|
|
default:
|
|
liveness:
|
|
enabled: true
|
|
params:
|
|
initialDelaySeconds: 60
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
readiness:
|
|
enabled: true
|
|
params:
|
|
initialDelaySeconds: 60
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
security_context:
|
|
zaqar:
|
|
pod:
|
|
runAsUser: 42424
|
|
container:
|
|
zaqar_api:
|
|
runAsUser: 0
|
|
test:
|
|
pod:
|
|
runAsUser: 42424
|
|
container:
|
|
zaqar_test_ks_user:
|
|
readOnlyRootFilesystem: true
|
|
allowPrivilegeEscalation: false
|
|
zaqar_test:
|
|
runAsUser: 65500
|
|
readOnlyRootFilesystem: true
|
|
allowPrivilegeEscalation: false
|
|
affinity:
|
|
anti:
|
|
type:
|
|
default: preferredDuringSchedulingIgnoredDuringExecution
|
|
topologyKey:
|
|
default: kubernetes.io/hostname
|
|
weight:
|
|
default: 10
|
|
tolerations:
|
|
zaqar:
|
|
enabled: false
|
|
tolerations:
|
|
- key: node-role.kubernetes.io/master
|
|
operator: Exists
|
|
effect: NoSchedule
|
|
- key: node-role.kubernetes.io/control-plane
|
|
operator: Exists
|
|
effect: NoSchedule
|
|
mounts:
|
|
zaqar_api:
|
|
init_container: null
|
|
zaqar_api:
|
|
volumeMounts:
|
|
volumes:
|
|
zaqar_bootstrap:
|
|
init_container: null
|
|
zaqar_bootstrap:
|
|
volumeMounts:
|
|
volumes:
|
|
zaqar_db_sync:
|
|
zaqar_db_sync:
|
|
volumeMounts:
|
|
volumes:
|
|
zaqar_tests:
|
|
init_container: null
|
|
zaqar_tests:
|
|
volumeMounts:
|
|
volumes:
|
|
replicas:
|
|
api: 1
|
|
lifecycle:
|
|
upgrades:
|
|
deployments:
|
|
revision_history: 3
|
|
pod_replacement_strategy: RollingUpdate
|
|
rolling_update:
|
|
max_unavailable: 1
|
|
max_surge: 3
|
|
disruption_budget:
|
|
api:
|
|
min_available: 0
|
|
termination_grace_period:
|
|
api:
|
|
timeout: 30
|
|
resources:
|
|
enabled: false
|
|
api:
|
|
requests:
|
|
memory: "128Mi"
|
|
cpu: "100m"
|
|
limits:
|
|
memory: "1024Mi"
|
|
cpu: "2000m"
|
|
jobs:
|
|
bootstrap:
|
|
requests:
|
|
memory: "128Mi"
|
|
cpu: "100m"
|
|
limits:
|
|
memory: "1024Mi"
|
|
cpu: "2000m"
|
|
db_init:
|
|
requests:
|
|
memory: "128Mi"
|
|
cpu: "100m"
|
|
limits:
|
|
memory: "1024Mi"
|
|
cpu: "2000m"
|
|
db_sync:
|
|
requests:
|
|
memory: "128Mi"
|
|
cpu: "100m"
|
|
limits:
|
|
memory: "1024Mi"
|
|
cpu: "2000m"
|
|
db_drop:
|
|
requests:
|
|
memory: "128Mi"
|
|
cpu: "100m"
|
|
limits:
|
|
memory: "1024Mi"
|
|
cpu: "2000m"
|
|
ks_endpoints:
|
|
requests:
|
|
memory: "128Mi"
|
|
cpu: "100m"
|
|
limits:
|
|
memory: "1024Mi"
|
|
cpu: "2000m"
|
|
ks_service:
|
|
requests:
|
|
memory: "128Mi"
|
|
cpu: "100m"
|
|
limits:
|
|
memory: "1024Mi"
|
|
cpu: "2000m"
|
|
ks_user:
|
|
requests:
|
|
memory: "128Mi"
|
|
cpu: "100m"
|
|
limits:
|
|
memory: "1024Mi"
|
|
cpu: "2000m"
|
|
tests:
|
|
requests:
|
|
memory: "128Mi"
|
|
cpu: "100m"
|
|
limits:
|
|
memory: "1024Mi"
|
|
cpu: "2000m"
|
|
image_repo_sync:
|
|
requests:
|
|
memory: "128Mi"
|
|
cpu: "100m"
|
|
limits:
|
|
memory: "1024Mi"
|
|
cpu: "2000m"
|
|
|
|
jobs:
|
|
bootstrap:
|
|
backoffLimit: 5
|
|
activeDeadlineSeconds: 600
|
|
db_init:
|
|
backoffLimit: 5
|
|
activeDeadlineSeconds: 600
|
|
db_drop:
|
|
backoffLimit: 5
|
|
activeDeadlineSeconds: 600
|
|
db_sync:
|
|
backoffLimit: 5
|
|
activeDeadlineSeconds: 600
|
|
ks_endpoints:
|
|
backoffLimit: 5
|
|
activeDeadlineSeconds: 600
|
|
ks_service:
|
|
backoffLimit: 5
|
|
activeDeadlineSeconds: 600
|
|
ks_user:
|
|
backoffLimit: 5
|
|
activeDeadlineSeconds: 600
|
|
tests:
|
|
backoffLimit: 5
|
|
activeDeadlineSeconds: 600
|
|
image_repo_sync:
|
|
backoffLimit: 5
|
|
activeDeadlineSeconds: 600
|
|
|
|
conf:
|
|
zaqar:
|
|
DEFAULT:
|
|
log_config_append: /etc/zaqar/logging.conf
|
|
drivers:
|
|
transport: wsgi
|
|
message_store: redis
|
|
management_store: sqlalchemy
|
|
keystone_authtoken:
|
|
service_token_roles: service
|
|
service_token_roles_required: true
|
|
auth_type: password
|
|
auth_version: v3
|
|
memcache_security_strategy: ENCRYPT
|
|
service_type: messaging
|
|
cache:
|
|
backend: dogpile.cache.memory
|
|
drivers:management_store:sqlalchemy:
|
|
uri:
|
|
drivers:message_store:redis:
|
|
uri: redis://redis:6379
|
|
drivers:transport:wsgi:
|
|
bind: 0.0.0.0
|
|
port: 8888
|
|
signed_url:
|
|
secret_key: SOMELONGSECRETKEY
|
|
logging:
|
|
loggers:
|
|
keys:
|
|
- root
|
|
- zaqar
|
|
handlers:
|
|
keys:
|
|
- stdout
|
|
- stderr
|
|
- "null"
|
|
formatters:
|
|
keys:
|
|
- context
|
|
- default
|
|
logger_root:
|
|
level: WARNING
|
|
handlers: "null"
|
|
logger_zaqar:
|
|
level: INFO
|
|
handlers:
|
|
- stdout
|
|
qualname: zaqar
|
|
logger_amqp:
|
|
level: WARNING
|
|
handlers: stderr
|
|
qualname: amqp
|
|
logger_amqplib:
|
|
level: WARNING
|
|
handlers: stderr
|
|
qualname: amqplib
|
|
logger_eventletwsgi:
|
|
level: WARNING
|
|
handlers: stderr
|
|
qualname: eventlet.wsgi.server
|
|
logger_sqlalchemy:
|
|
level: WARNING
|
|
handlers: stderr
|
|
qualname: sqlalchemy
|
|
logger_boto:
|
|
level: WARNING
|
|
handlers: stderr
|
|
qualname: boto
|
|
handler_null:
|
|
class: logging.NullHandler
|
|
formatter: default
|
|
args: ()
|
|
handler_stdout:
|
|
class: StreamHandler
|
|
args: (sys.stdout,)
|
|
formatter: context
|
|
handler_stderr:
|
|
class: StreamHandler
|
|
args: (sys.stderr,)
|
|
formatter: context
|
|
formatter_context:
|
|
class: oslo_log.formatters.ContextFormatter
|
|
datefmt: "%Y-%m-%d %H:%M:%S"
|
|
formatter_default:
|
|
format: "%(message)s"
|
|
datefmt: "%Y-%m-%d %H:%M:%S"
|
|
api_paste:
|
|
composite:messaging:
|
|
use: "egg:Paste#urlmap"
|
|
"/": zaqarversions
|
|
"/v1": zaqarapi_v1
|
|
composite:zaqarapi_v1:
|
|
use: "call:zaqar.transport.wsgi:pipeline_factory"
|
|
noauth: "request_id faultwrap sizelimit noauth zaqarapi_v1"
|
|
keystone: "request_id faultwrap sizelimit authtoken keystonecontext zaqarapi_v1"
|
|
app:zaqarversions:
|
|
paste.app_factory: "zaqar.api.versions:Versions.factory"
|
|
app:zaqarapi_v1:
|
|
paste.app_factory: "zaqar.api.v1.app:make_app"
|
|
filter:request_id:
|
|
paste.filter_factory: "oslo_middleware:RequestId.factory"
|
|
filter:faultwrap:
|
|
paste.filter_factory: "zaqar.api.middleware:FaultWrapper.factory"
|
|
filter:noauth:
|
|
paste.filter_factory: "zaqar.api.middleware:NoAuthMiddleware.factory"
|
|
filter:sizelimit:
|
|
paste.filter_factory: "oslo_middleware:RequestBodySizeLimiter.factory"
|
|
filter:authtoken:
|
|
paste.filter_factory: "keystonemiddleware.auth_token:filter_factory"
|
|
filter:keystonecontext:
|
|
paste.filter_factory: "zaqar.api.middleware:KeystoneContextMiddleware.factory"
|
|
policy: {}
|
|
rally_tests:
|
|
run_tempest: false
|
|
clean_up: ""
|
|
tests:
|
|
Zaqar.queues:
|
|
- args:
|
|
queue_name: "test-queue"
|
|
messages:
|
|
- "message1"
|
|
- "message2"
|
|
- "message3"
|
|
ttl: 3600
|
|
runner:
|
|
type: "constant"
|
|
times: 10
|
|
concurrency: 3
|
|
sla:
|
|
failure_rate:
|
|
max: 0
|
|
Zaqar.publish:
|
|
- args:
|
|
queue_name: "publish-queue"
|
|
messages:
|
|
- "hello"
|
|
- "world"
|
|
runner:
|
|
type: "constant"
|
|
times: 15
|
|
concurrency: 4
|
|
sla:
|
|
failure_rate:
|
|
max: 0
|
|
Zaqar.consume:
|
|
- args:
|
|
queue_name: "publish-queue"
|
|
max_messages: 5
|
|
runner:
|
|
type: "constant"
|
|
times: 10
|
|
concurrency: 2
|
|
sla:
|
|
failure_rate:
|
|
max: 0
|
|
|
|
bootstrap:
|
|
enabled: false
|
|
ks_user: zaqar
|
|
script: |
|
|
openstack token issue
|
|
|
|
# create a test queue in Zaqar
|
|
openstack queue create test-queue || echo "Queue already exists"
|
|
|
|
# NOTE(helm_hook): helm_hook might break for helm2 binary.
|
|
# set helm3_hook: false when using the helm2 binary.
|
|
helm3_hook: true
|
|
|
|
manifests:
|
|
certificates: false
|
|
configmap_bin: true
|
|
configmap_etc: true
|
|
deployment_api: true
|
|
ingress_api: true
|
|
job_bootstrap: true
|
|
job_db_init: true
|
|
job_db_drop: false
|
|
job_db_sync: true
|
|
job_image_repo_sync: true
|
|
job_ks_endpoints: true
|
|
job_ks_service: true
|
|
job_ks_user: true
|
|
pdb_api: true
|
|
pod_rally_test: true
|
|
secret_db: true
|
|
secret_keystone: true
|
|
secret_ks_etc: true
|
|
service_api: true
|
|
service_ingress_api: true
|
|
|
|
network_policy:
|
|
zaqar:
|
|
ingress:
|
|
- {}
|
|
egress:
|
|
- {}
|
|
|
|
tls:
|
|
identity: false
|
|
oslo_db: false
|
|
messaging:
|
|
api:
|
|
public: false
|
|
...
|