Skip to content

az confcom katapolicygen extremely slow with big container image #31490

@grydz

Description

@grydz

Describe the bug

The command az confcom katapolicygen can take more than 11 hours to finish when generating the policy for a 10GB container image while it only takes ~30 seconds for a 300MB container image.

Related command

$ /usr/bin/time -v az confcom katapolicygen --yaml cc-ai-demo.yaml --debug
        Command being timed: "az confcom katapolicygen --yaml cc-ai-demo.yaml --debug"
        User time (seconds): 31.49
        System time (seconds): 38.05
        Percent of CPU this job got: 0%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 10:51:40
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 60072
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 266
        Minor (reclaiming a frame) page faults: 27113
        Voluntary context switches: 1694824
        Involuntary context switches: 14384
        Swaps: 0
        File system inputs: 98848
        File system outputs: 11490720
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

Errors

No error but unusable in practice.

Issue script & Debug output

$ /usr/bin/time -v az confcom katapolicygen --yaml cc-ai-demo.yaml --debug
cli.knack.cli: Command arguments: ['confcom', 'katapolicygen', '--yaml', 'cc-ai-demo.yaml', '--debug']
cli.knack.cli: __init__ debug log:
Enable color in terminal.
cli.knack.cli: Event: Cli.PreExecute []
cli.knack.cli: Event: CommandParser.OnGlobalArgumentsCreate [<function CLILogging.on_global_arguments at 0x7d436c8680d0>, <function OutputProducer.on_global_arguments at 0x7d436c7bab00>, <function CLIQuery.on_global_arguments at 0x7d436c7f8040>]
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableCreate []
cli.azure.cli.core: Modules found from index for 'confcom': ['azext_confcom']
cli.azure.cli.core: Loading command modules:
cli.azure.cli.core: Name                  Load Time    Groups  Commands
cli.azure.cli.core: Total (0)                 0.000         0         0
cli.azure.cli.core: These extensions are not installed and will be skipped: ['azext_ai_examples', 'azext_next']
cli.azure.cli.core: Loading extensions:
cli.azure.cli.core: Name                  Load Time    Groups  Commands  Directory
cli.azure.cli.core: confcom                   0.002         1         3  /home/grydz/.azure/cliextensions/confcom
cli.azure.cli.core: Total (1)                 0.002         1         3  
cli.azure.cli.core: Loaded 1 groups, 3 commands.
cli.azure.cli.core: Found a match in the command table.
cli.azure.cli.core: Raw command  : confcom katapolicygen
cli.azure.cli.core: Command table: confcom katapolicygen
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableTruncate [<function AzCliLogging.init_command_file_logging at 0x7d436b95dfc0>]
cli.azure.cli.core.azlogging: metadata file logging enabled - writing logs to '/home/grydz/.azure/commands/2025-05-16.14-32-04.confcom_katapolicygen.83972.log'.
az_command_data_logger: command args: confcom katapolicygen --yaml {} --debug
cli.knack.cli: Event: CommandInvoker.OnPreArgumentLoad [<function register_global_subscription_argument.<locals>.add_subscription_parameter at 0x7d436b972b00>]
cli.knack.cli: Event: CommandInvoker.OnPostArgumentLoad []
cli.knack.cli: Event: CommandInvoker.OnPostCommandTableCreate [<function register_ids_argument.<locals>.add_ids_arguments at 0x7d436b9a1ea0>, <function register_cache_arguments.<locals>.add_cache_arguments at 0x7d436b9a3d00>, <function register_upcoming_breaking_change_info.<locals>.update_breaking_change_info at 0x7d436b9a3d90>]
cli.knack.cli: Event: CommandInvoker.OnCommandTableLoaded []
cli.knack.cli: Event: CommandInvoker.OnPreParseArgs []
cli.knack.cli: Event: CommandInvoker.OnPostParseArgs [<function OutputProducer.handle_output_argument at 0x7d436c7bab90>, <function CLIQuery.handle_query_parameter at 0x7d436c7f80d0>, <function register_ids_argument.<locals>.parse_ids_arguments at 0x7d436b9a3c70>]
az_command_data_logger: extension name: confcom
az_command_data_logger: extension version: 1.2.4

Expected behavior

The execution time between a 10GB and a 300MB container image with az confcom katapolicygen should not be as huge.

Environment Summary

$ az --version
azure-cli                         2.72.0

core                              2.72.0
telemetry                          1.1.0

Extensions:
aks-preview                     16.0.0b1
attestation                        1.0.0
confcom                            1.2.4

Dependencies:
msal                              1.32.3
azure-mgmt-resource               23.1.1

Python location '/home/grydz/.pyenv/versions/3.10.14/envs/azure/bin/python'
Config directory '/home/grydz/.azure'
Extensions directory '/home/grydz/.azure/cliextensions'

Python (Linux) 3.10.14 (main, Apr  2 2024, 15:30:39) [GCC 13.2.1 20230801]

Legal docs and information: aka.ms/AzureCliLegal


Your CLI is up-to-date.

Additional context

My hardware info:

# System Details Report
---

## Report details
- **Date generated:**                              2025-05-16 15:22:41

## Hardware Information:
- **Hardware Model:**                              Dell Inc. XPS 13 9310
- **Memory:**                                      16.0 GiB
- **Processor:**                                   11th Gen Intel® Core™ i7-1165G7 × 8
- **Graphics:**                                    Intel® Iris® Xe Graphics (TGL GT2)
- **Disk Capacity:**                               (null)

## Software Information:
- **Firmware Version:**                            3.11.0
- **OS Name:**                                     Manjaro Linux
- **OS Build:**                                    rolling
- **OS Type:**                                     64-bit
- **GNOME Version:**                               48
- **Windowing System:**                            Wayland
- **Kernel Version:**                              Linux 6.13.12-2-MANJARO

Metadata

Metadata

Assignees

No one assigned

    Labels

    Service AttentionThis issue is responsible by Azure service team.bugThis issue requires a change to an existing behavior in the product in order to be resolved.customer-reportedIssues that are reported by GitHub users external to the Azure organization.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions