all: children: zuul_unreachable: hosts: {} hosts: controller: ansible_connection: ssh ansible_host: 38.102.83.130 ansible_port: 22 ansible_python_interpreter: auto ansible_user: zuul ca_cert_approver: true cifmw_dlrn_report_result: false cifmw_is_nested_virt: true cifmw_manage_secrets_pullsecret_content: '{}' cifmw_operator_build_output: operators: openstack-operator: git_commit_hash: e90377f79f2e4fbcf6de93f25263c561d9d9f9cc git_src_dir: /home/zuul/src/github.com/openstack-k8s-operators/openstack-operator image: 38.102.83.110:5001/openstack-k8s-operators/openstack-operator:e90377f79f2e4fbcf6de93f25263c561d9d9f9cc image_bundle: 38.102.83.110:5001/openstack-k8s-operators/openstack-operator-bundle:e90377f79f2e4fbcf6de93f25263c561d9d9f9cc image_catalog: 38.102.83.110:5001/openstack-k8s-operators/openstack-operator-index:e90377f79f2e4fbcf6de93f25263c561d9d9f9cc cifmw_rhol_crc_binary_folder: /usr/local/bin content_provider_registry_available: true content_provider_registry_ip: 38.102.83.110 content_provider_registry_ip_port: 38.102.83.110:5001 crc_parameters: --memory 32000 --disk-size 240 --cpus 12 max_retries: 60 nodepool: az: nova cloud: vexxhost-nodepool-tripleo external_id: e289f1cd-88c6-44fa-963f-d66b3d72b376 host_id: 4d5af5c3d4216850e4ad6b0187cc3c64a31e016b0c19899ec067977a interface_ip: 38.102.83.130 label: centos-9-stream-crc-2-56-0-6xlarge node_properties: {} private_ipv4: 38.102.83.130 private_ipv6: null provider: vexxhost-nodepool-tripleo public_ipv4: 38.102.83.130 public_ipv6: '' region: RegionOne slot: null pre_pull_images: - registry.redhat.io/rhosp-rhel9/openstack-rabbitmq:17.0 push_registry: quay.rdoproject.org quay_login_secret_name: quay_nextgen_zuulgithubci registry_login_enabled: true retry_delay: 15 zuul_log_collection: true zuul_node: az: nova cloud: vexxhost-nodepool-tripleo external_id: e289f1cd-88c6-44fa-963f-d66b3d72b376 host_id: 4d5af5c3d4216850e4ad6b0187cc3c64a31e016b0c19899ec067977a interface_ip: 38.102.83.130 label: centos-9-stream-crc-2-56-0-6xlarge node_properties: {} private_ipv4: 38.102.83.130 private_ipv6: null provider: vexxhost-nodepool-tripleo public_ipv4: 38.102.83.130 public_ipv6: '' region: RegionOne slot: null uuid: null crc: ansible_check_mode: false ansible_config_file: /var/lib/zuul/builds/4d1aee84a4454ac5a9c5870f99ec6602/ansible/playbook_0/ansible.cfg ansible_diff_mode: false ansible_facts: {} ansible_forks: 5 ansible_host: api.crc.testing ansible_inventory_sources: - /var/lib/zuul/builds/4d1aee84a4454ac5a9c5870f99ec6602/ansible/playbook_0/inventory.yaml ansible_playbook_python: /usr/lib/zuul/ansible/9/bin/python ansible_run_tags: - all ansible_scp_extra_args: -o PermitLocalCommand=no ansible_sftp_extra_args: -o PermitLocalCommand=no ansible_skip_tags: [] ansible_ssh_common_args: -o PermitLocalCommand=no ansible_ssh_executable: ssh ansible_ssh_extra_args: -o PermitLocalCommand=no ansible_ssh_private_key_file: /home/zuul/.crc/machines/crc/id_ed25519 ansible_ssh_user: core ansible_verbosity: 1 ansible_version: full: 2.16.18 major: 2 minor: 16 revision: 18 string: 2.16.18 ca_cert_approver: true cifmw_dlrn_report_result: false cifmw_is_nested_virt: true cifmw_manage_secrets_pullsecret_content: '{}' cifmw_operator_build_output: operators: openstack-operator: git_commit_hash: e90377f79f2e4fbcf6de93f25263c561d9d9f9cc git_src_dir: /home/zuul/src/github.com/openstack-k8s-operators/openstack-operator image: 38.102.83.110:5001/openstack-k8s-operators/openstack-operator:e90377f79f2e4fbcf6de93f25263c561d9d9f9cc image_bundle: 38.102.83.110:5001/openstack-k8s-operators/openstack-operator-bundle:e90377f79f2e4fbcf6de93f25263c561d9d9f9cc image_catalog: 38.102.83.110:5001/openstack-k8s-operators/openstack-operator-index:e90377f79f2e4fbcf6de93f25263c561d9d9f9cc cifmw_rhol_crc_binary_folder: /usr/local/bin content_provider_registry_available: true content_provider_registry_ip: 38.102.83.110 content_provider_registry_ip_port: 38.102.83.110:5001 crc_parameters: --memory 32000 --disk-size 240 --cpus 12 group_names: - ungrouped groups: all: - controller - crc ungrouped: - controller - crc zuul_unreachable: [] inventory_dir: null inventory_file: null inventory_hostname: crc inventory_hostname_short: crc max_retries: 60 omit: __omit_place_holder__08228d8c7fd5127e798d1dd3009a4acce8538499 playbook_dir: /var/lib/zuul/builds/4d1aee84a4454ac5a9c5870f99ec6602/untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/edpm_baremetal_deployment pre_pull_images: - registry.redhat.io/rhosp-rhel9/openstack-rabbitmq:17.0 push_registry: quay.rdoproject.org quay_login_secret_name: quay_nextgen_zuulgithubci registry_login_enabled: true retry_delay: 15 unsafe_vars: ca_cert_approver: true cifmw_dlrn_report_result: false cifmw_is_nested_virt: true cifmw_manage_secrets_pullsecret_content: '{}' cifmw_operator_build_output: operators: openstack-operator: git_commit_hash: e90377f79f2e4fbcf6de93f25263c561d9d9f9cc git_src_dir: /home/zuul/src/github.com/openstack-k8s-operators/openstack-operator image: 38.102.83.110:5001/openstack-k8s-operators/openstack-operator:e90377f79f2e4fbcf6de93f25263c561d9d9f9cc image_bundle: 38.102.83.110:5001/openstack-k8s-operators/openstack-operator-bundle:e90377f79f2e4fbcf6de93f25263c561d9d9f9cc image_catalog: 38.102.83.110:5001/openstack-k8s-operators/openstack-operator-index:e90377f79f2e4fbcf6de93f25263c561d9d9f9cc cifmw_rhol_crc_binary_folder: /usr/local/bin content_provider_registry_available: true content_provider_registry_ip: 38.102.83.110 content_provider_registry_ip_port: 38.102.83.110:5001 crc_parameters: --memory 32000 --disk-size 240 --cpus 12 max_retries: 60 pre_pull_images: - registry.redhat.io/rhosp-rhel9/openstack-rabbitmq:17.0 push_registry: quay.rdoproject.org quay_login_secret_name: quay_nextgen_zuulgithubci registry_login_enabled: true retry_delay: 15 zuul_log_collection: true zuul: _inheritance_path: - '' - '' - '' - '' - '' - '' ansible_version: '9' attempts: 1 branch: main build: 4d1aee84a4454ac5a9c5870f99ec6602 build_refs: - branch: main change: '1927' change_message: "Add OpenStackAssistant CRD with MCP server support\n\n \ Introduces a new OpenStackAssistant custom resource\r\n \ (assistant.openstack.org/v1beta1) that deploys a managed Goose AI agent\r\n pod for cluster diagnostics via Lightspeed Stack.\r\n\r\n OpenStackAssistant CRD and controller:\r\n \ - New CRD with spec fields for provider type, container image,\r\n Lightspeed Stack backend configuration, node selectors, and\r\n additional environment variables\r\n \ - GooseConfig supports model selection, recipe ConfigMaps (registered\r\n as Goose slash commands), hints ConfigMaps (written to .goosehints),\r\n and MCP server references\r\n \ - Controller creates a ServiceAccount, ClusterRole with read-only RBAC\r\n for cluster diagnostics, ClusterRoleBinding, ConfigMap with Goose\r\n configuration and entrypoint script, and the assistant Pod\r\n - Watches referenced Secrets and ConfigMaps; reconciles on changes and\r\n tracks input hashes to detect drift\r\n - Defaulting webhook sets the container image from an environment\r\n variable fallback\r\n - Condition-based status reporting (ServiceAccount, RBAC, ConfigMap,\r\n Pod readiness)\r\n\r\n MCP server sidecar support for OpenStackClient:\r\n - New MCPConfig struct (enabled flag, containerImage) on the\r\n OpenStackClient CR spec\r\n - When enabled, the OpenStackClient controller adds a rhos-mcps MCP\r\n server sidecar container sharing the same clouds.yaml/secure.yaml\r\n credential mounts\r\n \ - Controller creates a ConfigMap with rhos-mcps config (openstack\r\n enabled, openshift disabled, allow_write: false) and a Service on\r\n port 8080 for the MCP endpoint\r\n \ - OpenStackAssistant can reference an OpenStackClient CR by name via\r\n the openstackClientRef field; the controller auto-computes the\r\n service URL and TLS CA configuration\r\n\r\n Tests:\r\n - Unit tests for the OpenStackAssistant controller covering\r\n reconciliation, pod creation, config generation, and status\r\n conditions\r\n \ - Unit tests for helper functions (entrypoint script generation,\r\n \ config building, hash computation)" change_url: https://github.com/openstack-k8s-operators/openstack-operator/pull/1927 commit_id: e90377f79f2e4fbcf6de93f25263c561d9d9f9cc patchset: e90377f79f2e4fbcf6de93f25263c561d9d9f9cc project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-operator name: openstack-k8s-operators/openstack-operator short_name: openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator topic: null buildset: 67f83bb9810d4dde8696a55f0801e5eb buildset_refs: - branch: main change: '1927' change_message: "Add OpenStackAssistant CRD with MCP server support\n\n \ Introduces a new OpenStackAssistant custom resource\r\n \ (assistant.openstack.org/v1beta1) that deploys a managed Goose AI agent\r\n pod for cluster diagnostics via Lightspeed Stack.\r\n\r\n OpenStackAssistant CRD and controller:\r\n \ - New CRD with spec fields for provider type, container image,\r\n Lightspeed Stack backend configuration, node selectors, and\r\n additional environment variables\r\n \ - GooseConfig supports model selection, recipe ConfigMaps (registered\r\n as Goose slash commands), hints ConfigMaps (written to .goosehints),\r\n and MCP server references\r\n \ - Controller creates a ServiceAccount, ClusterRole with read-only RBAC\r\n for cluster diagnostics, ClusterRoleBinding, ConfigMap with Goose\r\n configuration and entrypoint script, and the assistant Pod\r\n - Watches referenced Secrets and ConfigMaps; reconciles on changes and\r\n tracks input hashes to detect drift\r\n - Defaulting webhook sets the container image from an environment\r\n variable fallback\r\n - Condition-based status reporting (ServiceAccount, RBAC, ConfigMap,\r\n Pod readiness)\r\n\r\n MCP server sidecar support for OpenStackClient:\r\n - New MCPConfig struct (enabled flag, containerImage) on the\r\n OpenStackClient CR spec\r\n - When enabled, the OpenStackClient controller adds a rhos-mcps MCP\r\n server sidecar container sharing the same clouds.yaml/secure.yaml\r\n credential mounts\r\n \ - Controller creates a ConfigMap with rhos-mcps config (openstack\r\n enabled, openshift disabled, allow_write: false) and a Service on\r\n port 8080 for the MCP endpoint\r\n \ - OpenStackAssistant can reference an OpenStackClient CR by name via\r\n the openstackClientRef field; the controller auto-computes the\r\n service URL and TLS CA configuration\r\n\r\n Tests:\r\n - Unit tests for the OpenStackAssistant controller covering\r\n reconciliation, pod creation, config generation, and status\r\n conditions\r\n \ - Unit tests for helper functions (entrypoint script generation,\r\n \ config building, hash computation)" change_url: https://github.com/openstack-k8s-operators/openstack-operator/pull/1927 commit_id: e90377f79f2e4fbcf6de93f25263c561d9d9f9cc patchset: e90377f79f2e4fbcf6de93f25263c561d9d9f9cc project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-operator name: openstack-k8s-operators/openstack-operator short_name: openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator topic: null change: '1927' change_message: "Add OpenStackAssistant CRD with MCP server support\n\n \ Introduces a new OpenStackAssistant custom resource\r\n (assistant.openstack.org/v1beta1) that deploys a managed Goose AI agent\r\n pod for cluster diagnostics via Lightspeed Stack.\r\n\r\n OpenStackAssistant CRD and controller:\r\n \ - New CRD with spec fields for provider type, container image,\r\n \ Lightspeed Stack backend configuration, node selectors, and\r\n additional environment variables\r\n - GooseConfig supports model selection, recipe ConfigMaps (registered\r\n as Goose slash commands), hints ConfigMaps (written to .goosehints),\r\n \ and MCP server references\r\n - Controller creates a ServiceAccount, ClusterRole with read-only RBAC\r\n for cluster diagnostics, ClusterRoleBinding, ConfigMap with Goose\r\n configuration and entrypoint script, and the assistant Pod\r\n - Watches referenced Secrets and ConfigMaps; reconciles on changes and\r\n \ tracks input hashes to detect drift\r\n - Defaulting webhook sets the container image from an environment\r\n variable fallback\r\n - Condition-based status reporting (ServiceAccount, RBAC, ConfigMap,\r\n Pod readiness)\r\n\r\n MCP server sidecar support for OpenStackClient:\r\n - New MCPConfig struct (enabled flag, containerImage) on the\r\n OpenStackClient CR spec\r\n - When enabled, the OpenStackClient controller adds a rhos-mcps MCP\r\n server sidecar container sharing the same clouds.yaml/secure.yaml\r\n credential mounts\r\n \ - Controller creates a ConfigMap with rhos-mcps config (openstack\r\n \ enabled, openshift disabled, allow_write: false) and a Service on\r\n port 8080 for the MCP endpoint\r\n - OpenStackAssistant can reference an OpenStackClient CR by name via\r\n the openstackClientRef field; the controller auto-computes the\r\n service URL and TLS CA configuration\r\n\r\n Tests:\r\n - Unit tests for the OpenStackAssistant controller covering\r\n reconciliation, pod creation, config generation, and status\r\n conditions\r\n \ - Unit tests for helper functions (entrypoint script generation,\r\n \ config building, hash computation)" change_url: https://github.com/openstack-k8s-operators/openstack-operator/pull/1927 child_jobs: [] commit_id: e90377f79f2e4fbcf6de93f25263c561d9d9f9cc event_id: 69d17cf0-65c7-11f1-90cc-9375da348776 executor: hostname: 38.129.56.84 inventory_file: /var/lib/zuul/builds/4d1aee84a4454ac5a9c5870f99ec6602/ansible/inventory.yaml log_root: /var/lib/zuul/builds/4d1aee84a4454ac5a9c5870f99ec6602/work/logs result_data_file: /var/lib/zuul/builds/4d1aee84a4454ac5a9c5870f99ec6602/work/results.json src_root: /var/lib/zuul/builds/4d1aee84a4454ac5a9c5870f99ec6602/work/src work_root: /var/lib/zuul/builds/4d1aee84a4454ac5a9c5870f99ec6602/work include_vars: [] items: - branch: main change: '1927' change_message: "Add OpenStackAssistant CRD with MCP server support\n\n \ Introduces a new OpenStackAssistant custom resource\r\n \ (assistant.openstack.org/v1beta1) that deploys a managed Goose AI agent\r\n pod for cluster diagnostics via Lightspeed Stack.\r\n\r\n OpenStackAssistant CRD and controller:\r\n \ - New CRD with spec fields for provider type, container image,\r\n Lightspeed Stack backend configuration, node selectors, and\r\n additional environment variables\r\n \ - GooseConfig supports model selection, recipe ConfigMaps (registered\r\n as Goose slash commands), hints ConfigMaps (written to .goosehints),\r\n and MCP server references\r\n \ - Controller creates a ServiceAccount, ClusterRole with read-only RBAC\r\n for cluster diagnostics, ClusterRoleBinding, ConfigMap with Goose\r\n configuration and entrypoint script, and the assistant Pod\r\n - Watches referenced Secrets and ConfigMaps; reconciles on changes and\r\n tracks input hashes to detect drift\r\n - Defaulting webhook sets the container image from an environment\r\n variable fallback\r\n - Condition-based status reporting (ServiceAccount, RBAC, ConfigMap,\r\n Pod readiness)\r\n\r\n MCP server sidecar support for OpenStackClient:\r\n - New MCPConfig struct (enabled flag, containerImage) on the\r\n OpenStackClient CR spec\r\n - When enabled, the OpenStackClient controller adds a rhos-mcps MCP\r\n server sidecar container sharing the same clouds.yaml/secure.yaml\r\n credential mounts\r\n \ - Controller creates a ConfigMap with rhos-mcps config (openstack\r\n enabled, openshift disabled, allow_write: false) and a Service on\r\n port 8080 for the MCP endpoint\r\n \ - OpenStackAssistant can reference an OpenStackClient CR by name via\r\n the openstackClientRef field; the controller auto-computes the\r\n service URL and TLS CA configuration\r\n\r\n Tests:\r\n - Unit tests for the OpenStackAssistant controller covering\r\n reconciliation, pod creation, config generation, and status\r\n conditions\r\n \ - Unit tests for helper functions (entrypoint script generation,\r\n \ config building, hash computation)" change_url: https://github.com/openstack-k8s-operators/openstack-operator/pull/1927 commit_id: e90377f79f2e4fbcf6de93f25263c561d9d9f9cc patchset: e90377f79f2e4fbcf6de93f25263c561d9d9f9cc project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-operator name: openstack-k8s-operators/openstack-operator short_name: openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator topic: null job: cifmw-crc-podified-edpm-baremetal jobtags: [] max_attempts: 1 message: QWRkIE9wZW5TdGFja0Fzc2lzdGFudCBDUkQgd2l0aCBNQ1Agc2VydmVyIHN1cHBvcnQKCiAgICBJbnRyb2R1Y2VzIGEgbmV3IE9wZW5TdGFja0Fzc2lzdGFudCBjdXN0b20gcmVzb3VyY2UNCiAgICAoYXNzaXN0YW50Lm9wZW5zdGFjay5vcmcvdjFiZXRhMSkgdGhhdCBkZXBsb3lzIGEgbWFuYWdlZCBHb29zZSBBSSBhZ2VudA0KICAgIHBvZCBmb3IgY2x1c3RlciBkaWFnbm9zdGljcyB2aWEgTGlnaHRzcGVlZCBTdGFjay4NCg0KICAgIE9wZW5TdGFja0Fzc2lzdGFudCBDUkQgYW5kIGNvbnRyb2xsZXI6DQogICAgLSBOZXcgQ1JEIHdpdGggc3BlYyBmaWVsZHMgZm9yIHByb3ZpZGVyIHR5cGUsIGNvbnRhaW5lciBpbWFnZSwNCiAgICAgIExpZ2h0c3BlZWQgU3RhY2sgYmFja2VuZCBjb25maWd1cmF0aW9uLCBub2RlIHNlbGVjdG9ycywgYW5kDQogICAgICBhZGRpdGlvbmFsIGVudmlyb25tZW50IHZhcmlhYmxlcw0KICAgIC0gR29vc2VDb25maWcgc3VwcG9ydHMgbW9kZWwgc2VsZWN0aW9uLCByZWNpcGUgQ29uZmlnTWFwcyAocmVnaXN0ZXJlZA0KICAgICAgYXMgR29vc2Ugc2xhc2ggY29tbWFuZHMpLCBoaW50cyBDb25maWdNYXBzICh3cml0dGVuIHRvIC5nb29zZWhpbnRzKSwNCiAgICAgIGFuZCBNQ1Agc2VydmVyIHJlZmVyZW5jZXMNCiAgICAtIENvbnRyb2xsZXIgY3JlYXRlcyBhIFNlcnZpY2VBY2NvdW50LCBDbHVzdGVyUm9sZSB3aXRoIHJlYWQtb25seSBSQkFDDQogICAgICBmb3IgY2x1c3RlciBkaWFnbm9zdGljcywgQ2x1c3RlclJvbGVCaW5kaW5nLCBDb25maWdNYXAgd2l0aCBHb29zZQ0KICAgICAgY29uZmlndXJhdGlvbiBhbmQgZW50cnlwb2ludCBzY3JpcHQsIGFuZCB0aGUgYXNzaXN0YW50IFBvZA0KICAgIC0gV2F0Y2hlcyByZWZlcmVuY2VkIFNlY3JldHMgYW5kIENvbmZpZ01hcHM7IHJlY29uY2lsZXMgb24gY2hhbmdlcyBhbmQNCiAgICAgIHRyYWNrcyBpbnB1dCBoYXNoZXMgdG8gZGV0ZWN0IGRyaWZ0DQogICAgLSBEZWZhdWx0aW5nIHdlYmhvb2sgc2V0cyB0aGUgY29udGFpbmVyIGltYWdlIGZyb20gYW4gZW52aXJvbm1lbnQNCiAgICAgIHZhcmlhYmxlIGZhbGxiYWNrDQogICAgLSBDb25kaXRpb24tYmFzZWQgc3RhdHVzIHJlcG9ydGluZyAoU2VydmljZUFjY291bnQsIFJCQUMsIENvbmZpZ01hcCwNCiAgICAgIFBvZCByZWFkaW5lc3MpDQoNCiAgICBNQ1Agc2VydmVyIHNpZGVjYXIgc3VwcG9ydCBmb3IgT3BlblN0YWNrQ2xpZW50Og0KICAgIC0gTmV3IE1DUENvbmZpZyBzdHJ1Y3QgKGVuYWJsZWQgZmxhZywgY29udGFpbmVySW1hZ2UpIG9uIHRoZQ0KICAgICAgT3BlblN0YWNrQ2xpZW50IENSIHNwZWMNCiAgICAtIFdoZW4gZW5hYmxlZCwgdGhlIE9wZW5TdGFja0NsaWVudCBjb250cm9sbGVyIGFkZHMgYSByaG9zLW1jcHMgTUNQDQogICAgICBzZXJ2ZXIgc2lkZWNhciBjb250YWluZXIgc2hhcmluZyB0aGUgc2FtZSBjbG91ZHMueWFtbC9zZWN1cmUueWFtbA0KICAgICAgY3JlZGVudGlhbCBtb3VudHMNCiAgICAtIENvbnRyb2xsZXIgY3JlYXRlcyBhIENvbmZpZ01hcCB3aXRoIHJob3MtbWNwcyBjb25maWcgKG9wZW5zdGFjaw0KICAgICAgZW5hYmxlZCwgb3BlbnNoaWZ0IGRpc2FibGVkLCBhbGxvd193cml0ZTogZmFsc2UpIGFuZCBhIFNlcnZpY2Ugb24NCiAgICAgIHBvcnQgODA4MCBmb3IgdGhlIE1DUCBlbmRwb2ludA0KICAgIC0gT3BlblN0YWNrQXNzaXN0YW50IGNhbiByZWZlcmVuY2UgYW4gT3BlblN0YWNrQ2xpZW50IENSIGJ5IG5hbWUgdmlhDQogICAgICB0aGUgb3BlbnN0YWNrQ2xpZW50UmVmIGZpZWxkOyB0aGUgY29udHJvbGxlciBhdXRvLWNvbXB1dGVzIHRoZQ0KICAgICAgc2VydmljZSBVUkwgYW5kIFRMUyBDQSBjb25maWd1cmF0aW9uDQoNCiAgICBUZXN0czoNCiAgICAtIFVuaXQgdGVzdHMgZm9yIHRoZSBPcGVuU3RhY2tBc3Npc3RhbnQgY29udHJvbGxlciBjb3ZlcmluZw0KICAgICAgcmVjb25jaWxpYXRpb24sIHBvZCBjcmVhdGlvbiwgY29uZmlnIGdlbmVyYXRpb24sIGFuZCBzdGF0dXMNCiAgICAgIGNvbmRpdGlvbnMNCiAgICAtIFVuaXQgdGVzdHMgZm9yIGhlbHBlciBmdW5jdGlvbnMgKGVudHJ5cG9pbnQgc2NyaXB0IGdlbmVyYXRpb24sDQogICAgICBjb25maWcgYnVpbGRpbmcsIGhhc2ggY29tcHV0YXRpb24p patchset: e90377f79f2e4fbcf6de93f25263c561d9d9f9cc pipeline: github-check playbook_context: playbook_projects: trusted/project_0/review.rdoproject.org/config: canonical_name: review.rdoproject.org/config checkout: master commit: 4605eaf5fa5cd3f351940ab9df8f9f0ea6b97ad5 trusted/project_1/opendev.org/zuul/zuul-jobs: canonical_name: opendev.org/zuul/zuul-jobs checkout: master commit: 82e3e8b1292a25e38235bb92b157992d326531d1 trusted/project_2/review.rdoproject.org/rdo-jobs: canonical_name: review.rdoproject.org/rdo-jobs checkout: master commit: ae3f884c6c8c32b779dc61f758c0f6a43ade6877 trusted/project_3/github.com/openstack-k8s-operators/ci-framework: canonical_name: github.com/openstack-k8s-operators/ci-framework checkout: main commit: 00943b0c8949499c3f498a4c328994c897c35ef7 untrusted/project_0/github.com/openstack-k8s-operators/ci-framework: canonical_name: github.com/openstack-k8s-operators/ci-framework checkout: main commit: 00943b0c8949499c3f498a4c328994c897c35ef7 untrusted/project_1/review.rdoproject.org/config: canonical_name: review.rdoproject.org/config checkout: master commit: 4605eaf5fa5cd3f351940ab9df8f9f0ea6b97ad5 untrusted/project_2/opendev.org/zuul/zuul-jobs: canonical_name: opendev.org/zuul/zuul-jobs checkout: master commit: 82e3e8b1292a25e38235bb92b157992d326531d1 untrusted/project_3/review.rdoproject.org/rdo-jobs: canonical_name: review.rdoproject.org/rdo-jobs checkout: master commit: ae3f884c6c8c32b779dc61f758c0f6a43ade6877 playbooks: - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/edpm_baremetal_deployment/run.yml roles: - checkout: main checkout_description: playbook branch link_name: ansible/playbook_0/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/playbook_0/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_0/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/playbook_0/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_0/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/playbook_0/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_0/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/playbook_0/role_3/rdo-jobs/roles post_playbooks: - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/e2e-collect-logs.yml roles: - checkout: main checkout_description: playbook branch link_name: ansible/post_playbook_0/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/post_playbook_0/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_0/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/post_playbook_0/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_0/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/post_playbook_0/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_0/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/post_playbook_0/role_3/rdo-jobs/roles - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml roles: - checkout: main checkout_description: playbook branch link_name: ansible/post_playbook_1/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/post_playbook_1/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_1/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/post_playbook_1/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_1/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/post_playbook_1/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_1/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/post_playbook_1/role_3/rdo-jobs/roles - path: trusted/project_0/review.rdoproject.org/config/playbooks/ci-framework-rdo-base/dlrn/dlrn-report.yaml roles: - checkout: main checkout_description: zuul branch link_name: ansible/post_playbook_2/role_0/ci-framework link_target: trusted/project_3/github.com/openstack-k8s-operators/ci-framework role_path: ansible/post_playbook_2/role_0/ci-framework/roles - checkout: master checkout_description: playbook branch link_name: ansible/post_playbook_2/role_1/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/post_playbook_2/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_2/role_2/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/post_playbook_2/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_2/role_3/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/post_playbook_2/role_3/rdo-jobs/roles - path: trusted/project_0/review.rdoproject.org/config/playbooks/base-minimal/post-ssh.yaml roles: - checkout: master checkout_description: playbook branch link_name: ansible/post_playbook_3/role_0/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/post_playbook_3/role_0/config/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_3/role_1/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/post_playbook_3/role_1/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_3/role_2/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/post_playbook_3/role_2/rdo-jobs/roles - path: trusted/project_0/review.rdoproject.org/config/playbooks/base-minimal/post-logs.yaml roles: - checkout: master checkout_description: playbook branch link_name: ansible/post_playbook_4/role_0/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/post_playbook_4/role_0/config/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_4/role_1/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/post_playbook_4/role_1/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_4/role_2/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/post_playbook_4/role_2/rdo-jobs/roles pre_playbooks: - path: trusted/project_0/review.rdoproject.org/config/playbooks/base-minimal/pre.yaml roles: - checkout: master checkout_description: playbook branch link_name: ansible/pre_playbook_0/role_0/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/pre_playbook_0/role_0/config/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_0/role_1/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/pre_playbook_0/role_1/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_0/role_2/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/pre_playbook_0/role_2/rdo-jobs/roles - path: trusted/project_0/review.rdoproject.org/config/playbooks/ci-framework-rdo-base/pre.yaml roles: - checkout: main checkout_description: zuul branch link_name: ansible/pre_playbook_1/role_0/ci-framework link_target: trusted/project_3/github.com/openstack-k8s-operators/ci-framework role_path: ansible/pre_playbook_1/role_0/ci-framework/roles - checkout: master checkout_description: playbook branch link_name: ansible/pre_playbook_1/role_1/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/pre_playbook_1/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_1/role_2/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/pre_playbook_1/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_1/role_3/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/pre_playbook_1/role_3/rdo-jobs/roles - path: trusted/project_0/review.rdoproject.org/config/playbooks/crc/podman.yaml roles: - checkout: main checkout_description: zuul branch link_name: ansible/pre_playbook_2/role_0/ci-framework link_target: trusted/project_3/github.com/openstack-k8s-operators/ci-framework role_path: ansible/pre_playbook_2/role_0/ci-framework/roles - checkout: master checkout_description: playbook branch link_name: ansible/pre_playbook_2/role_1/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/pre_playbook_2/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_2/role_2/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/pre_playbook_2/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_2/role_3/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/pre_playbook_2/role_3/rdo-jobs/roles - path: trusted/project_0/review.rdoproject.org/config/playbooks/crc/simple-start.yaml roles: - checkout: main checkout_description: zuul branch link_name: ansible/pre_playbook_3/role_0/ci-framework link_target: trusted/project_3/github.com/openstack-k8s-operators/ci-framework role_path: ansible/pre_playbook_3/role_0/ci-framework/roles - checkout: master checkout_description: playbook branch link_name: ansible/pre_playbook_3/role_1/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/pre_playbook_3/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_3/role_2/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/pre_playbook_3/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_3/role_3/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/pre_playbook_3/role_3/rdo-jobs/roles - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/e2e-prepare.yml roles: - checkout: main checkout_description: playbook branch link_name: ansible/pre_playbook_4/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/pre_playbook_4/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_4/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/pre_playbook_4/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_4/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/pre_playbook_4/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_4/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/pre_playbook_4/role_3/rdo-jobs/roles - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/dump_zuul_data.yml roles: - checkout: main checkout_description: playbook branch link_name: ansible/pre_playbook_5/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/pre_playbook_5/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_5/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/pre_playbook_5/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_5/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/pre_playbook_5/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_5/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/pre_playbook_5/role_3/rdo-jobs/roles post_review: false post_timeout: 5400 pre_timeout: null project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-operator name: openstack-k8s-operators/openstack-operator short_name: openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator projects: github.com/openstack-k8s-operators/ci-framework: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/ci-framework checkout: main checkout_description: zuul branch commit: 00943b0c8949499c3f498a4c328994c897c35ef7 name: openstack-k8s-operators/ci-framework required: true short_name: ci-framework src_dir: src/github.com/openstack-k8s-operators/ci-framework github.com/openstack-k8s-operators/edpm-ansible: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/edpm-ansible checkout: main checkout_description: zuul branch commit: d5eae620a08b412f076b112b4c3d8e0d69cbb047 name: openstack-k8s-operators/edpm-ansible required: true short_name: edpm-ansible src_dir: src/github.com/openstack-k8s-operators/edpm-ansible github.com/openstack-k8s-operators/infra-operator: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/infra-operator checkout: main checkout_description: zuul branch commit: d6e7a2257c1aa266e49ae603eb3f159d5e4d5ae6 name: openstack-k8s-operators/infra-operator required: true short_name: infra-operator src_dir: src/github.com/openstack-k8s-operators/infra-operator github.com/openstack-k8s-operators/install_yamls: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/install_yamls checkout: main checkout_description: zuul branch commit: 28010890899b365d9b163f6cd2faeb71bf37d54f name: openstack-k8s-operators/install_yamls required: true short_name: install_yamls src_dir: src/github.com/openstack-k8s-operators/install_yamls github.com/openstack-k8s-operators/openstack-baremetal-operator: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-baremetal-operator checkout: main checkout_description: zuul branch commit: 3b55e32a2c0b3ee02c529fe938efd2dbca6957ae name: openstack-k8s-operators/openstack-baremetal-operator required: true short_name: openstack-baremetal-operator src_dir: src/github.com/openstack-k8s-operators/openstack-baremetal-operator github.com/openstack-k8s-operators/openstack-must-gather: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-must-gather checkout: main checkout_description: zuul branch commit: c368cbf84357cebd70fe8ec9c2c849e2aa7905e4 name: openstack-k8s-operators/openstack-must-gather required: true short_name: openstack-must-gather src_dir: src/github.com/openstack-k8s-operators/openstack-must-gather github.com/openstack-k8s-operators/openstack-operator: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-operator checkout: main checkout_description: zuul branch commit: e90377f79f2e4fbcf6de93f25263c561d9d9f9cc name: openstack-k8s-operators/openstack-operator required: true short_name: openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator github.com/openstack-k8s-operators/repo-setup: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/repo-setup checkout: main checkout_description: zuul branch commit: 85321f7e0af502d7f06f845886058daf09da34f6 name: openstack-k8s-operators/repo-setup required: true short_name: repo-setup src_dir: src/github.com/openstack-k8s-operators/repo-setup opendev.org/zuul/zuul-jobs: canonical_hostname: opendev.org canonical_name: opendev.org/zuul/zuul-jobs checkout: master checkout_description: project default branch commit: 82e3e8b1292a25e38235bb92b157992d326531d1 name: zuul/zuul-jobs required: true short_name: zuul-jobs src_dir: src/opendev.org/zuul/zuul-jobs review.rdoproject.org/config: canonical_hostname: review.rdoproject.org canonical_name: review.rdoproject.org/config checkout: master checkout_description: project default branch commit: 4605eaf5fa5cd3f351940ab9df8f9f0ea6b97ad5 name: config required: true short_name: config src_dir: src/review.rdoproject.org/config ref: refs/pull/1927/head resources: {} tenant: rdoproject.org timeout: 10800 topic: null voting: true zuul_execution_branch: main zuul_execution_canonical_name_and_path: github.com/openstack-k8s-operators/ci-framework/ci/playbooks/edpm_baremetal_deployment/run.yml zuul_execution_phase: run zuul_execution_phase_index: '0' zuul_execution_trusted: 'False' zuul_log_collection: true localhost: ansible_connection: local vars: ca_cert_approver: true cifmw_dlrn_report_result: false cifmw_is_nested_virt: true cifmw_manage_secrets_pullsecret_content: '{}' cifmw_operator_build_output: operators: openstack-operator: git_commit_hash: e90377f79f2e4fbcf6de93f25263c561d9d9f9cc git_src_dir: /home/zuul/src/github.com/openstack-k8s-operators/openstack-operator image: 38.102.83.110:5001/openstack-k8s-operators/openstack-operator:e90377f79f2e4fbcf6de93f25263c561d9d9f9cc image_bundle: 38.102.83.110:5001/openstack-k8s-operators/openstack-operator-bundle:e90377f79f2e4fbcf6de93f25263c561d9d9f9cc image_catalog: 38.102.83.110:5001/openstack-k8s-operators/openstack-operator-index:e90377f79f2e4fbcf6de93f25263c561d9d9f9cc cifmw_rhol_crc_binary_folder: /usr/local/bin content_provider_registry_available: true content_provider_registry_ip: 38.102.83.110 content_provider_registry_ip_port: 38.102.83.110:5001 crc_parameters: --memory 32000 --disk-size 240 --cpus 12 max_retries: 60 pre_pull_images: - registry.redhat.io/rhosp-rhel9/openstack-rabbitmq:17.0 push_registry: quay.rdoproject.org quay_login_secret_name: quay_nextgen_zuulgithubci registry_login_enabled: true retry_delay: 15 zuul: _inheritance_path: - '' - '' - '' - '' - '' - '' ansible_version: '9' attempts: 1 branch: main build: 4d1aee84a4454ac5a9c5870f99ec6602 build_refs: - branch: main change: '1927' change_message: "Add OpenStackAssistant CRD with MCP server support\n\n \ Introduces a new OpenStackAssistant custom resource\r\n (assistant.openstack.org/v1beta1) that deploys a managed Goose AI agent\r\n pod for cluster diagnostics via Lightspeed Stack.\r\n\r\n OpenStackAssistant CRD and controller:\r\n \ - New CRD with spec fields for provider type, container image,\r\n \ Lightspeed Stack backend configuration, node selectors, and\r\n additional environment variables\r\n - GooseConfig supports model selection, recipe ConfigMaps (registered\r\n as Goose slash commands), hints ConfigMaps (written to .goosehints),\r\n \ and MCP server references\r\n - Controller creates a ServiceAccount, ClusterRole with read-only RBAC\r\n for cluster diagnostics, ClusterRoleBinding, ConfigMap with Goose\r\n configuration and entrypoint script, and the assistant Pod\r\n - Watches referenced Secrets and ConfigMaps; reconciles on changes and\r\n \ tracks input hashes to detect drift\r\n - Defaulting webhook sets the container image from an environment\r\n variable fallback\r\n - Condition-based status reporting (ServiceAccount, RBAC, ConfigMap,\r\n Pod readiness)\r\n\r\n MCP server sidecar support for OpenStackClient:\r\n - New MCPConfig struct (enabled flag, containerImage) on the\r\n OpenStackClient CR spec\r\n - When enabled, the OpenStackClient controller adds a rhos-mcps MCP\r\n server sidecar container sharing the same clouds.yaml/secure.yaml\r\n credential mounts\r\n \ - Controller creates a ConfigMap with rhos-mcps config (openstack\r\n \ enabled, openshift disabled, allow_write: false) and a Service on\r\n port 8080 for the MCP endpoint\r\n - OpenStackAssistant can reference an OpenStackClient CR by name via\r\n the openstackClientRef field; the controller auto-computes the\r\n service URL and TLS CA configuration\r\n\r\n Tests:\r\n - Unit tests for the OpenStackAssistant controller covering\r\n reconciliation, pod creation, config generation, and status\r\n conditions\r\n \ - Unit tests for helper functions (entrypoint script generation,\r\n \ config building, hash computation)" change_url: https://github.com/openstack-k8s-operators/openstack-operator/pull/1927 commit_id: e90377f79f2e4fbcf6de93f25263c561d9d9f9cc patchset: e90377f79f2e4fbcf6de93f25263c561d9d9f9cc project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-operator name: openstack-k8s-operators/openstack-operator short_name: openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator topic: null buildset: 67f83bb9810d4dde8696a55f0801e5eb buildset_refs: - branch: main change: '1927' change_message: "Add OpenStackAssistant CRD with MCP server support\n\n \ Introduces a new OpenStackAssistant custom resource\r\n (assistant.openstack.org/v1beta1) that deploys a managed Goose AI agent\r\n pod for cluster diagnostics via Lightspeed Stack.\r\n\r\n OpenStackAssistant CRD and controller:\r\n \ - New CRD with spec fields for provider type, container image,\r\n \ Lightspeed Stack backend configuration, node selectors, and\r\n additional environment variables\r\n - GooseConfig supports model selection, recipe ConfigMaps (registered\r\n as Goose slash commands), hints ConfigMaps (written to .goosehints),\r\n \ and MCP server references\r\n - Controller creates a ServiceAccount, ClusterRole with read-only RBAC\r\n for cluster diagnostics, ClusterRoleBinding, ConfigMap with Goose\r\n configuration and entrypoint script, and the assistant Pod\r\n - Watches referenced Secrets and ConfigMaps; reconciles on changes and\r\n \ tracks input hashes to detect drift\r\n - Defaulting webhook sets the container image from an environment\r\n variable fallback\r\n - Condition-based status reporting (ServiceAccount, RBAC, ConfigMap,\r\n Pod readiness)\r\n\r\n MCP server sidecar support for OpenStackClient:\r\n - New MCPConfig struct (enabled flag, containerImage) on the\r\n OpenStackClient CR spec\r\n - When enabled, the OpenStackClient controller adds a rhos-mcps MCP\r\n server sidecar container sharing the same clouds.yaml/secure.yaml\r\n credential mounts\r\n \ - Controller creates a ConfigMap with rhos-mcps config (openstack\r\n \ enabled, openshift disabled, allow_write: false) and a Service on\r\n port 8080 for the MCP endpoint\r\n - OpenStackAssistant can reference an OpenStackClient CR by name via\r\n the openstackClientRef field; the controller auto-computes the\r\n service URL and TLS CA configuration\r\n\r\n Tests:\r\n - Unit tests for the OpenStackAssistant controller covering\r\n reconciliation, pod creation, config generation, and status\r\n conditions\r\n \ - Unit tests for helper functions (entrypoint script generation,\r\n \ config building, hash computation)" change_url: https://github.com/openstack-k8s-operators/openstack-operator/pull/1927 commit_id: e90377f79f2e4fbcf6de93f25263c561d9d9f9cc patchset: e90377f79f2e4fbcf6de93f25263c561d9d9f9cc project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-operator name: openstack-k8s-operators/openstack-operator short_name: openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator topic: null change: '1927' change_message: "Add OpenStackAssistant CRD with MCP server support\n\n \ Introduces a new OpenStackAssistant custom resource\r\n (assistant.openstack.org/v1beta1) that deploys a managed Goose AI agent\r\n pod for cluster diagnostics via Lightspeed Stack.\r\n\r\n OpenStackAssistant CRD and controller:\r\n \ - New CRD with spec fields for provider type, container image,\r\n \ Lightspeed Stack backend configuration, node selectors, and\r\n \ additional environment variables\r\n - GooseConfig supports model selection, recipe ConfigMaps (registered\r\n as Goose slash commands), hints ConfigMaps (written to .goosehints),\r\n and MCP server references\r\n - Controller creates a ServiceAccount, ClusterRole with read-only RBAC\r\n for cluster diagnostics, ClusterRoleBinding, ConfigMap with Goose\r\n configuration and entrypoint script, and the assistant Pod\r\n - Watches referenced Secrets and ConfigMaps; reconciles on changes and\r\n tracks input hashes to detect drift\r\n - Defaulting webhook sets the container image from an environment\r\n variable fallback\r\n \ - Condition-based status reporting (ServiceAccount, RBAC, ConfigMap,\r\n \ Pod readiness)\r\n\r\n MCP server sidecar support for OpenStackClient:\r\n \ - New MCPConfig struct (enabled flag, containerImage) on the\r\n \ OpenStackClient CR spec\r\n - When enabled, the OpenStackClient controller adds a rhos-mcps MCP\r\n server sidecar container sharing the same clouds.yaml/secure.yaml\r\n credential mounts\r\n \ - Controller creates a ConfigMap with rhos-mcps config (openstack\r\n \ enabled, openshift disabled, allow_write: false) and a Service on\r\n port 8080 for the MCP endpoint\r\n - OpenStackAssistant can reference an OpenStackClient CR by name via\r\n the openstackClientRef field; the controller auto-computes the\r\n service URL and TLS CA configuration\r\n\r\n Tests:\r\n - Unit tests for the OpenStackAssistant controller covering\r\n reconciliation, pod creation, config generation, and status\r\n conditions\r\n - Unit tests for helper functions (entrypoint script generation,\r\n config building, hash computation)" change_url: https://github.com/openstack-k8s-operators/openstack-operator/pull/1927 child_jobs: [] commit_id: e90377f79f2e4fbcf6de93f25263c561d9d9f9cc event_id: 69d17cf0-65c7-11f1-90cc-9375da348776 executor: hostname: 38.129.56.84 inventory_file: /var/lib/zuul/builds/4d1aee84a4454ac5a9c5870f99ec6602/ansible/inventory.yaml log_root: /var/lib/zuul/builds/4d1aee84a4454ac5a9c5870f99ec6602/work/logs result_data_file: /var/lib/zuul/builds/4d1aee84a4454ac5a9c5870f99ec6602/work/results.json src_root: /var/lib/zuul/builds/4d1aee84a4454ac5a9c5870f99ec6602/work/src work_root: /var/lib/zuul/builds/4d1aee84a4454ac5a9c5870f99ec6602/work include_vars: [] items: - branch: main change: '1927' change_message: "Add OpenStackAssistant CRD with MCP server support\n\n \ Introduces a new OpenStackAssistant custom resource\r\n (assistant.openstack.org/v1beta1) that deploys a managed Goose AI agent\r\n pod for cluster diagnostics via Lightspeed Stack.\r\n\r\n OpenStackAssistant CRD and controller:\r\n \ - New CRD with spec fields for provider type, container image,\r\n \ Lightspeed Stack backend configuration, node selectors, and\r\n additional environment variables\r\n - GooseConfig supports model selection, recipe ConfigMaps (registered\r\n as Goose slash commands), hints ConfigMaps (written to .goosehints),\r\n \ and MCP server references\r\n - Controller creates a ServiceAccount, ClusterRole with read-only RBAC\r\n for cluster diagnostics, ClusterRoleBinding, ConfigMap with Goose\r\n configuration and entrypoint script, and the assistant Pod\r\n - Watches referenced Secrets and ConfigMaps; reconciles on changes and\r\n \ tracks input hashes to detect drift\r\n - Defaulting webhook sets the container image from an environment\r\n variable fallback\r\n - Condition-based status reporting (ServiceAccount, RBAC, ConfigMap,\r\n Pod readiness)\r\n\r\n MCP server sidecar support for OpenStackClient:\r\n - New MCPConfig struct (enabled flag, containerImage) on the\r\n OpenStackClient CR spec\r\n - When enabled, the OpenStackClient controller adds a rhos-mcps MCP\r\n server sidecar container sharing the same clouds.yaml/secure.yaml\r\n credential mounts\r\n \ - Controller creates a ConfigMap with rhos-mcps config (openstack\r\n \ enabled, openshift disabled, allow_write: false) and a Service on\r\n port 8080 for the MCP endpoint\r\n - OpenStackAssistant can reference an OpenStackClient CR by name via\r\n the openstackClientRef field; the controller auto-computes the\r\n service URL and TLS CA configuration\r\n\r\n Tests:\r\n - Unit tests for the OpenStackAssistant controller covering\r\n reconciliation, pod creation, config generation, and status\r\n conditions\r\n \ - Unit tests for helper functions (entrypoint script generation,\r\n \ config building, hash computation)" change_url: https://github.com/openstack-k8s-operators/openstack-operator/pull/1927 commit_id: e90377f79f2e4fbcf6de93f25263c561d9d9f9cc patchset: e90377f79f2e4fbcf6de93f25263c561d9d9f9cc project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-operator name: openstack-k8s-operators/openstack-operator short_name: openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator topic: null job: cifmw-crc-podified-edpm-baremetal jobtags: [] max_attempts: 1 message: QWRkIE9wZW5TdGFja0Fzc2lzdGFudCBDUkQgd2l0aCBNQ1Agc2VydmVyIHN1cHBvcnQKCiAgICBJbnRyb2R1Y2VzIGEgbmV3IE9wZW5TdGFja0Fzc2lzdGFudCBjdXN0b20gcmVzb3VyY2UNCiAgICAoYXNzaXN0YW50Lm9wZW5zdGFjay5vcmcvdjFiZXRhMSkgdGhhdCBkZXBsb3lzIGEgbWFuYWdlZCBHb29zZSBBSSBhZ2VudA0KICAgIHBvZCBmb3IgY2x1c3RlciBkaWFnbm9zdGljcyB2aWEgTGlnaHRzcGVlZCBTdGFjay4NCg0KICAgIE9wZW5TdGFja0Fzc2lzdGFudCBDUkQgYW5kIGNvbnRyb2xsZXI6DQogICAgLSBOZXcgQ1JEIHdpdGggc3BlYyBmaWVsZHMgZm9yIHByb3ZpZGVyIHR5cGUsIGNvbnRhaW5lciBpbWFnZSwNCiAgICAgIExpZ2h0c3BlZWQgU3RhY2sgYmFja2VuZCBjb25maWd1cmF0aW9uLCBub2RlIHNlbGVjdG9ycywgYW5kDQogICAgICBhZGRpdGlvbmFsIGVudmlyb25tZW50IHZhcmlhYmxlcw0KICAgIC0gR29vc2VDb25maWcgc3VwcG9ydHMgbW9kZWwgc2VsZWN0aW9uLCByZWNpcGUgQ29uZmlnTWFwcyAocmVnaXN0ZXJlZA0KICAgICAgYXMgR29vc2Ugc2xhc2ggY29tbWFuZHMpLCBoaW50cyBDb25maWdNYXBzICh3cml0dGVuIHRvIC5nb29zZWhpbnRzKSwNCiAgICAgIGFuZCBNQ1Agc2VydmVyIHJlZmVyZW5jZXMNCiAgICAtIENvbnRyb2xsZXIgY3JlYXRlcyBhIFNlcnZpY2VBY2NvdW50LCBDbHVzdGVyUm9sZSB3aXRoIHJlYWQtb25seSBSQkFDDQogICAgICBmb3IgY2x1c3RlciBkaWFnbm9zdGljcywgQ2x1c3RlclJvbGVCaW5kaW5nLCBDb25maWdNYXAgd2l0aCBHb29zZQ0KICAgICAgY29uZmlndXJhdGlvbiBhbmQgZW50cnlwb2ludCBzY3JpcHQsIGFuZCB0aGUgYXNzaXN0YW50IFBvZA0KICAgIC0gV2F0Y2hlcyByZWZlcmVuY2VkIFNlY3JldHMgYW5kIENvbmZpZ01hcHM7IHJlY29uY2lsZXMgb24gY2hhbmdlcyBhbmQNCiAgICAgIHRyYWNrcyBpbnB1dCBoYXNoZXMgdG8gZGV0ZWN0IGRyaWZ0DQogICAgLSBEZWZhdWx0aW5nIHdlYmhvb2sgc2V0cyB0aGUgY29udGFpbmVyIGltYWdlIGZyb20gYW4gZW52aXJvbm1lbnQNCiAgICAgIHZhcmlhYmxlIGZhbGxiYWNrDQogICAgLSBDb25kaXRpb24tYmFzZWQgc3RhdHVzIHJlcG9ydGluZyAoU2VydmljZUFjY291bnQsIFJCQUMsIENvbmZpZ01hcCwNCiAgICAgIFBvZCByZWFkaW5lc3MpDQoNCiAgICBNQ1Agc2VydmVyIHNpZGVjYXIgc3VwcG9ydCBmb3IgT3BlblN0YWNrQ2xpZW50Og0KICAgIC0gTmV3IE1DUENvbmZpZyBzdHJ1Y3QgKGVuYWJsZWQgZmxhZywgY29udGFpbmVySW1hZ2UpIG9uIHRoZQ0KICAgICAgT3BlblN0YWNrQ2xpZW50IENSIHNwZWMNCiAgICAtIFdoZW4gZW5hYmxlZCwgdGhlIE9wZW5TdGFja0NsaWVudCBjb250cm9sbGVyIGFkZHMgYSByaG9zLW1jcHMgTUNQDQogICAgICBzZXJ2ZXIgc2lkZWNhciBjb250YWluZXIgc2hhcmluZyB0aGUgc2FtZSBjbG91ZHMueWFtbC9zZWN1cmUueWFtbA0KICAgICAgY3JlZGVudGlhbCBtb3VudHMNCiAgICAtIENvbnRyb2xsZXIgY3JlYXRlcyBhIENvbmZpZ01hcCB3aXRoIHJob3MtbWNwcyBjb25maWcgKG9wZW5zdGFjaw0KICAgICAgZW5hYmxlZCwgb3BlbnNoaWZ0IGRpc2FibGVkLCBhbGxvd193cml0ZTogZmFsc2UpIGFuZCBhIFNlcnZpY2Ugb24NCiAgICAgIHBvcnQgODA4MCBmb3IgdGhlIE1DUCBlbmRwb2ludA0KICAgIC0gT3BlblN0YWNrQXNzaXN0YW50IGNhbiByZWZlcmVuY2UgYW4gT3BlblN0YWNrQ2xpZW50IENSIGJ5IG5hbWUgdmlhDQogICAgICB0aGUgb3BlbnN0YWNrQ2xpZW50UmVmIGZpZWxkOyB0aGUgY29udHJvbGxlciBhdXRvLWNvbXB1dGVzIHRoZQ0KICAgICAgc2VydmljZSBVUkwgYW5kIFRMUyBDQSBjb25maWd1cmF0aW9uDQoNCiAgICBUZXN0czoNCiAgICAtIFVuaXQgdGVzdHMgZm9yIHRoZSBPcGVuU3RhY2tBc3Npc3RhbnQgY29udHJvbGxlciBjb3ZlcmluZw0KICAgICAgcmVjb25jaWxpYXRpb24sIHBvZCBjcmVhdGlvbiwgY29uZmlnIGdlbmVyYXRpb24sIGFuZCBzdGF0dXMNCiAgICAgIGNvbmRpdGlvbnMNCiAgICAtIFVuaXQgdGVzdHMgZm9yIGhlbHBlciBmdW5jdGlvbnMgKGVudHJ5cG9pbnQgc2NyaXB0IGdlbmVyYXRpb24sDQogICAgICBjb25maWcgYnVpbGRpbmcsIGhhc2ggY29tcHV0YXRpb24p patchset: e90377f79f2e4fbcf6de93f25263c561d9d9f9cc pipeline: github-check playbook_context: playbook_projects: trusted/project_0/review.rdoproject.org/config: canonical_name: review.rdoproject.org/config checkout: master commit: 4605eaf5fa5cd3f351940ab9df8f9f0ea6b97ad5 trusted/project_1/opendev.org/zuul/zuul-jobs: canonical_name: opendev.org/zuul/zuul-jobs checkout: master commit: 82e3e8b1292a25e38235bb92b157992d326531d1 trusted/project_2/review.rdoproject.org/rdo-jobs: canonical_name: review.rdoproject.org/rdo-jobs checkout: master commit: ae3f884c6c8c32b779dc61f758c0f6a43ade6877 trusted/project_3/github.com/openstack-k8s-operators/ci-framework: canonical_name: github.com/openstack-k8s-operators/ci-framework checkout: main commit: 00943b0c8949499c3f498a4c328994c897c35ef7 untrusted/project_0/github.com/openstack-k8s-operators/ci-framework: canonical_name: github.com/openstack-k8s-operators/ci-framework checkout: main commit: 00943b0c8949499c3f498a4c328994c897c35ef7 untrusted/project_1/review.rdoproject.org/config: canonical_name: review.rdoproject.org/config checkout: master commit: 4605eaf5fa5cd3f351940ab9df8f9f0ea6b97ad5 untrusted/project_2/opendev.org/zuul/zuul-jobs: canonical_name: opendev.org/zuul/zuul-jobs checkout: master commit: 82e3e8b1292a25e38235bb92b157992d326531d1 untrusted/project_3/review.rdoproject.org/rdo-jobs: canonical_name: review.rdoproject.org/rdo-jobs checkout: master commit: ae3f884c6c8c32b779dc61f758c0f6a43ade6877 playbooks: - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/edpm_baremetal_deployment/run.yml roles: - checkout: main checkout_description: playbook branch link_name: ansible/playbook_0/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/playbook_0/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_0/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/playbook_0/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_0/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/playbook_0/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_0/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/playbook_0/role_3/rdo-jobs/roles post_playbooks: - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/e2e-collect-logs.yml roles: - checkout: main checkout_description: playbook branch link_name: ansible/post_playbook_0/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/post_playbook_0/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_0/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/post_playbook_0/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_0/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/post_playbook_0/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_0/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/post_playbook_0/role_3/rdo-jobs/roles - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml roles: - checkout: main checkout_description: playbook branch link_name: ansible/post_playbook_1/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/post_playbook_1/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_1/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/post_playbook_1/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_1/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/post_playbook_1/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_1/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/post_playbook_1/role_3/rdo-jobs/roles - path: trusted/project_0/review.rdoproject.org/config/playbooks/ci-framework-rdo-base/dlrn/dlrn-report.yaml roles: - checkout: main checkout_description: zuul branch link_name: ansible/post_playbook_2/role_0/ci-framework link_target: trusted/project_3/github.com/openstack-k8s-operators/ci-framework role_path: ansible/post_playbook_2/role_0/ci-framework/roles - checkout: master checkout_description: playbook branch link_name: ansible/post_playbook_2/role_1/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/post_playbook_2/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_2/role_2/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/post_playbook_2/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_2/role_3/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/post_playbook_2/role_3/rdo-jobs/roles - path: trusted/project_0/review.rdoproject.org/config/playbooks/base-minimal/post-ssh.yaml roles: - checkout: master checkout_description: playbook branch link_name: ansible/post_playbook_3/role_0/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/post_playbook_3/role_0/config/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_3/role_1/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/post_playbook_3/role_1/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_3/role_2/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/post_playbook_3/role_2/rdo-jobs/roles - path: trusted/project_0/review.rdoproject.org/config/playbooks/base-minimal/post-logs.yaml roles: - checkout: master checkout_description: playbook branch link_name: ansible/post_playbook_4/role_0/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/post_playbook_4/role_0/config/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_4/role_1/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/post_playbook_4/role_1/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_4/role_2/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/post_playbook_4/role_2/rdo-jobs/roles pre_playbooks: - path: trusted/project_0/review.rdoproject.org/config/playbooks/base-minimal/pre.yaml roles: - checkout: master checkout_description: playbook branch link_name: ansible/pre_playbook_0/role_0/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/pre_playbook_0/role_0/config/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_0/role_1/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/pre_playbook_0/role_1/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_0/role_2/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/pre_playbook_0/role_2/rdo-jobs/roles - path: trusted/project_0/review.rdoproject.org/config/playbooks/ci-framework-rdo-base/pre.yaml roles: - checkout: main checkout_description: zuul branch link_name: ansible/pre_playbook_1/role_0/ci-framework link_target: trusted/project_3/github.com/openstack-k8s-operators/ci-framework role_path: ansible/pre_playbook_1/role_0/ci-framework/roles - checkout: master checkout_description: playbook branch link_name: ansible/pre_playbook_1/role_1/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/pre_playbook_1/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_1/role_2/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/pre_playbook_1/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_1/role_3/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/pre_playbook_1/role_3/rdo-jobs/roles - path: trusted/project_0/review.rdoproject.org/config/playbooks/crc/podman.yaml roles: - checkout: main checkout_description: zuul branch link_name: ansible/pre_playbook_2/role_0/ci-framework link_target: trusted/project_3/github.com/openstack-k8s-operators/ci-framework role_path: ansible/pre_playbook_2/role_0/ci-framework/roles - checkout: master checkout_description: playbook branch link_name: ansible/pre_playbook_2/role_1/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/pre_playbook_2/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_2/role_2/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/pre_playbook_2/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_2/role_3/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/pre_playbook_2/role_3/rdo-jobs/roles - path: trusted/project_0/review.rdoproject.org/config/playbooks/crc/simple-start.yaml roles: - checkout: main checkout_description: zuul branch link_name: ansible/pre_playbook_3/role_0/ci-framework link_target: trusted/project_3/github.com/openstack-k8s-operators/ci-framework role_path: ansible/pre_playbook_3/role_0/ci-framework/roles - checkout: master checkout_description: playbook branch link_name: ansible/pre_playbook_3/role_1/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/pre_playbook_3/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_3/role_2/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/pre_playbook_3/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_3/role_3/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/pre_playbook_3/role_3/rdo-jobs/roles - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/e2e-prepare.yml roles: - checkout: main checkout_description: playbook branch link_name: ansible/pre_playbook_4/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/pre_playbook_4/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_4/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/pre_playbook_4/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_4/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/pre_playbook_4/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_4/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/pre_playbook_4/role_3/rdo-jobs/roles - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/dump_zuul_data.yml roles: - checkout: main checkout_description: playbook branch link_name: ansible/pre_playbook_5/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/pre_playbook_5/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_5/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/pre_playbook_5/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_5/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/pre_playbook_5/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_5/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/pre_playbook_5/role_3/rdo-jobs/roles post_review: false post_timeout: 5400 pre_timeout: null project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-operator name: openstack-k8s-operators/openstack-operator short_name: openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator projects: github.com/openstack-k8s-operators/ci-framework: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/ci-framework checkout: main checkout_description: zuul branch commit: 00943b0c8949499c3f498a4c328994c897c35ef7 name: openstack-k8s-operators/ci-framework required: true short_name: ci-framework src_dir: src/github.com/openstack-k8s-operators/ci-framework github.com/openstack-k8s-operators/edpm-ansible: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/edpm-ansible checkout: main checkout_description: zuul branch commit: d5eae620a08b412f076b112b4c3d8e0d69cbb047 name: openstack-k8s-operators/edpm-ansible required: true short_name: edpm-ansible src_dir: src/github.com/openstack-k8s-operators/edpm-ansible github.com/openstack-k8s-operators/infra-operator: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/infra-operator checkout: main checkout_description: zuul branch commit: d6e7a2257c1aa266e49ae603eb3f159d5e4d5ae6 name: openstack-k8s-operators/infra-operator required: true short_name: infra-operator src_dir: src/github.com/openstack-k8s-operators/infra-operator github.com/openstack-k8s-operators/install_yamls: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/install_yamls checkout: main checkout_description: zuul branch commit: 28010890899b365d9b163f6cd2faeb71bf37d54f name: openstack-k8s-operators/install_yamls required: true short_name: install_yamls src_dir: src/github.com/openstack-k8s-operators/install_yamls github.com/openstack-k8s-operators/openstack-baremetal-operator: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-baremetal-operator checkout: main checkout_description: zuul branch commit: 3b55e32a2c0b3ee02c529fe938efd2dbca6957ae name: openstack-k8s-operators/openstack-baremetal-operator required: true short_name: openstack-baremetal-operator src_dir: src/github.com/openstack-k8s-operators/openstack-baremetal-operator github.com/openstack-k8s-operators/openstack-must-gather: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-must-gather checkout: main checkout_description: zuul branch commit: c368cbf84357cebd70fe8ec9c2c849e2aa7905e4 name: openstack-k8s-operators/openstack-must-gather required: true short_name: openstack-must-gather src_dir: src/github.com/openstack-k8s-operators/openstack-must-gather github.com/openstack-k8s-operators/openstack-operator: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-operator checkout: main checkout_description: zuul branch commit: e90377f79f2e4fbcf6de93f25263c561d9d9f9cc name: openstack-k8s-operators/openstack-operator required: true short_name: openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator github.com/openstack-k8s-operators/repo-setup: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/repo-setup checkout: main checkout_description: zuul branch commit: 85321f7e0af502d7f06f845886058daf09da34f6 name: openstack-k8s-operators/repo-setup required: true short_name: repo-setup src_dir: src/github.com/openstack-k8s-operators/repo-setup opendev.org/zuul/zuul-jobs: canonical_hostname: opendev.org canonical_name: opendev.org/zuul/zuul-jobs checkout: master checkout_description: project default branch commit: 82e3e8b1292a25e38235bb92b157992d326531d1 name: zuul/zuul-jobs required: true short_name: zuul-jobs src_dir: src/opendev.org/zuul/zuul-jobs review.rdoproject.org/config: canonical_hostname: review.rdoproject.org canonical_name: review.rdoproject.org/config checkout: master checkout_description: project default branch commit: 4605eaf5fa5cd3f351940ab9df8f9f0ea6b97ad5 name: config required: true short_name: config src_dir: src/review.rdoproject.org/config ref: refs/pull/1927/head resources: {} tenant: rdoproject.org timeout: 10800 topic: null voting: true zuul_log_collection: true