[
  {
    "id": "sanity-checks",
    "uri": "features/core/allcli_sanity.feature",
    "keyword": "Feature",
    "name": "Sanity checks",
    "description": "  In order to use the product\n  I want to be sure to use a sane environment",
    "line": 4,
    "elements": [
      {
        "id": "sanity-checks;the-server-is-healthy",
        "keyword": "Scenario",
        "name": "The server is healthy",
        "description": "",
        "line": 8,
        "type": "scenario",
        "steps": [
          {
            "keyword": "Then ",
            "name": "\"server\" should have a FQDN",
            "line": 9,
            "match": {
              "location": "features/step_definitions/command_steps.rb:15"
            },
            "result": {
              "status": "passed",
              "duration": 517411574
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 27827
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "reverse resolution should work for \"server\"",
            "line": 10,
            "match": {
              "location": "features/step_definitions/command_steps.rb:28"
            },
            "result": {
              "status": "passed",
              "duration": 907490133
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 19881
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "the clock from \"server\" should be exact",
            "line": 11,
            "match": {
              "location": "features/step_definitions/command_steps.rb:46"
            },
            "result": {
              "status": "passed",
              "duration": 905930054
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 27306
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "service \"apache2\" is active on \"server\"",
            "line": 12,
            "match": {
              "location": "features/step_definitions/command_steps.rb:760"
            },
            "result": {
              "status": "passed",
              "duration": 1077403769
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 18894
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "service \"cobblerd\" is active on \"server\"",
            "line": 13,
            "match": {
              "location": "features/step_definitions/command_steps.rb:760"
            },
            "result": {
              "status": "passed",
              "duration": 991203061
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 18933
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "service \"rhn-search\" is active on \"server\"",
            "line": 14,
            "match": {
              "location": "features/step_definitions/command_steps.rb:760"
            },
            "result": {
              "status": "passed",
              "duration": 1023426686
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 18857
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "service \"salt-api\" is active on \"server\"",
            "line": 15,
            "match": {
              "location": "features/step_definitions/command_steps.rb:760"
            },
            "result": {
              "status": "passed",
              "duration": 1350189982
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 20588
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "service \"salt-master\" is active on \"server\"",
            "line": 16,
            "match": {
              "location": "features/step_definitions/command_steps.rb:760"
            },
            "result": {
              "status": "passed",
              "duration": 1250374568
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 20303
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "service \"taskomatic\" is active on \"server\"",
            "line": 17,
            "match": {
              "location": "features/step_definitions/command_steps.rb:760"
            },
            "result": {
              "status": "passed",
              "duration": 1265939888
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 36898
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "socket \"tftp\" is active on \"server\"",
            "line": 18,
            "match": {
              "location": "features/step_definitions/command_steps.rb:774"
            },
            "result": {
              "status": "passed",
              "duration": 1065044510
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 18980
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "service \"tomcat\" is active on \"server\"",
            "line": 19,
            "match": {
              "location": "features/step_definitions/command_steps.rb:760"
            },
            "result": {
              "status": "passed",
              "duration": 1002493270
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 19675
                }
              }
            ]
          }
        ],
        "before": [
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:14"
            },
            "result": {
              "status": "passed",
              "duration": 29080
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:22"
            },
            "result": {
              "status": "passed",
              "duration": 10447
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:165"
            },
            "result": {
              "status": "passed",
              "duration": 12074
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:275"
            },
            "result": {
              "status": "passed",
              "duration": 9203
            }
          },
          {
            "output": [
              "This scenario ran at: 2026-08-31 10:34:55 +0200\n"
            ],
            "match": {
              "location": "features/support/env.rb:317"
            },
            "result": {
              "status": "passed",
              "duration": 326513
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:413"
            },
            "result": {
              "status": "passed",
              "duration": 9061
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:426"
            },
            "result": {
              "status": "passed",
              "duration": 17384
            }
          }
        ],
        "after": [
          {
            "output": [
              "This scenario took: 12 seconds"
            ],
            "match": {
              "location": "features/support/env.rb:170"
            },
            "result": {
              "status": "passed",
              "duration": 612091
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:10"
            },
            "result": {
              "status": "passed",
              "duration": 40238
            }
          }
        ]
      },
      {
        "id": "sanity-checks;podman-containers-are-running",
        "keyword": "Scenario",
        "name": "Podman containers are running",
        "description": "",
        "line": 22,
        "type": "scenario",
        "steps": [
          {
            "keyword": "Then ",
            "name": "podman container \"uyuni-db\" should be running on \"server\"",
            "line": 23,
            "match": {
              "location": "features/step_definitions/command_steps.rb:1971"
            },
            "result": {
              "status": "passed",
              "duration": 660710675
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 20923
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "podman container \"uyuni-db\" should be healthy on \"server\"",
            "line": 24,
            "match": {
              "location": "features/step_definitions/command_steps.rb:1971"
            },
            "result": {
              "status": "passed",
              "duration": 779593405
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 22659
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "podman container \"uyuni-server\" should be running on \"server\"",
            "line": 25,
            "match": {
              "location": "features/step_definitions/command_steps.rb:1971"
            },
            "result": {
              "status": "passed",
              "duration": 690781504
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 19704
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "podman container \"uyuni-server\" should be healthy on \"server\"",
            "line": 26,
            "match": {
              "location": "features/step_definitions/command_steps.rb:1971"
            },
            "result": {
              "status": "passed",
              "duration": 656257851
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 18437
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "podman container \"uyuni-saline-0\" should be running on \"server\"",
            "line": 27,
            "match": {
              "location": "features/step_definitions/command_steps.rb:1971"
            },
            "result": {
              "status": "passed",
              "duration": 671908651
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 24827
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "podman container \"uyuni-tftpd\" should be running on \"server\"",
            "line": 28,
            "match": {
              "location": "features/step_definitions/command_steps.rb:1971"
            },
            "result": {
              "status": "passed",
              "duration": 693243703
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 20212
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "podman container \"uyuni-server-attestation-0\" should be running on \"server\"",
            "line": 29,
            "match": {
              "location": "features/step_definitions/command_steps.rb:1971"
            },
            "result": {
              "status": "passed",
              "duration": 640729115
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 19095
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "podman container \"uyuni-hub-xmlrpc-0\" should be running on \"server\"",
            "line": 30,
            "match": {
              "location": "features/step_definitions/command_steps.rb:1971"
            },
            "result": {
              "status": "passed",
              "duration": 660996709
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 22687
                }
              }
            ]
          }
        ],
        "tags": [
          {
            "name": "@containerized_server",
            "line": 21
          }
        ],
        "before": [
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:14"
            },
            "result": {
              "status": "passed",
              "duration": 17369
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:22"
            },
            "result": {
              "status": "passed",
              "duration": 28148
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:165"
            },
            "result": {
              "status": "passed",
              "duration": 12480
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:275"
            },
            "result": {
              "status": "passed",
              "duration": 7067
            }
          },
          {
            "output": [
              "This scenario ran at: 2026-08-31 10:35:07 +0200\n"
            ],
            "match": {
              "location": "features/support/env.rb:317"
            },
            "result": {
              "status": "passed",
              "duration": 279882
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:413"
            },
            "result": {
              "status": "passed",
              "duration": 8151
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:426"
            },
            "result": {
              "status": "passed",
              "duration": 21653
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:909"
            },
            "result": {
              "status": "passed",
              "duration": 5279
            }
          }
        ],
        "after": [
          {
            "output": [
              "This scenario took: 5 seconds"
            ],
            "match": {
              "location": "features/support/env.rb:170"
            },
            "result": {
              "status": "passed",
              "duration": 249377
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:10"
            },
            "result": {
              "status": "passed",
              "duration": 14423
            }
          }
        ]
      },
      {
        "id": "sanity-checks;the-proxy-is-healthy",
        "keyword": "Scenario",
        "name": "The proxy is healthy",
        "description": "",
        "line": 33,
        "type": "scenario",
        "steps": [
          {
            "keyword": "Then ",
            "name": "\"proxy\" should have a FQDN",
            "line": 34,
            "match": {
              "location": "features/step_definitions/command_steps.rb:15"
            },
            "result": {
              "status": "passed",
              "duration": 3186153657
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 25733
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "reverse resolution should work for \"proxy\"",
            "line": 35,
            "match": {
              "location": "features/step_definitions/command_steps.rb:28"
            },
            "result": {
              "status": "passed",
              "duration": 296269291
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 17990
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "\"proxy\" should communicate with the server using public interface",
            "line": 36,
            "match": {
              "location": "features/step_definitions/retail_steps.rb:47"
            },
            "result": {
              "status": "passed",
              "duration": 1542780129
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 18238
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "the clock from \"proxy\" should be exact",
            "line": 37,
            "match": {
              "location": "features/step_definitions/command_steps.rb:46"
            },
            "result": {
              "status": "passed",
              "duration": 293146673
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 22406
                }
              }
            ]
          }
        ],
        "tags": [
          {
            "name": "@proxy",
            "line": 32
          }
        ],
        "before": [
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:14"
            },
            "result": {
              "status": "passed",
              "duration": 14630
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:22"
            },
            "result": {
              "status": "passed",
              "duration": 12879
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:165"
            },
            "result": {
              "status": "passed",
              "duration": 11550
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:275"
            },
            "result": {
              "status": "passed",
              "duration": 10035
            }
          },
          {
            "output": [
              "This scenario ran at: 2026-08-31 10:35:12 +0200\n"
            ],
            "match": {
              "location": "features/support/env.rb:317"
            },
            "result": {
              "status": "passed",
              "duration": 215395
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:413"
            },
            "result": {
              "status": "passed",
              "duration": 7452
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:426"
            },
            "result": {
              "status": "passed",
              "duration": 19361
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:439"
            },
            "result": {
              "status": "passed",
              "duration": 14335
            }
          }
        ],
        "after": [
          {
            "output": [
              "This scenario took: 6 seconds"
            ],
            "match": {
              "location": "features/support/env.rb:170"
            },
            "result": {
              "status": "passed",
              "duration": 281686
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:10"
            },
            "result": {
              "status": "passed",
              "duration": 17331
            }
          }
        ]
      },
      {
        "id": "sanity-checks;the-minion-is-healthy",
        "keyword": "Scenario",
        "name": "The minion is healthy",
        "description": "",
        "line": 40,
        "type": "scenario",
        "steps": [
          {
            "keyword": "Then ",
            "name": "\"sle_minion\" should have a FQDN",
            "line": 41,
            "match": {
              "location": "features/step_definitions/command_steps.rb:15"
            },
            "result": {
              "status": "passed",
              "duration": 4757488509
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 21702
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "reverse resolution should work for \"sle_minion\"",
            "line": 42,
            "match": {
              "location": "features/step_definitions/command_steps.rb:28"
            },
            "result": {
              "status": "passed",
              "duration": 461369735
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 18051
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "\"sle_minion\" should communicate with the server using public interface",
            "line": 43,
            "match": {
              "location": "features/step_definitions/retail_steps.rb:47"
            },
            "result": {
              "status": "passed",
              "duration": 1105064645
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 24320
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "the clock from \"sle_minion\" should be exact",
            "line": 44,
            "match": {
              "location": "features/step_definitions/command_steps.rb:46"
            },
            "result": {
              "status": "passed",
              "duration": 434074532
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 25610
                }
              }
            ]
          }
        ],
        "tags": [
          {
            "name": "@sle_minion",
            "line": 39
          }
        ],
        "before": [
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:14"
            },
            "result": {
              "status": "passed",
              "duration": 20077
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:22"
            },
            "result": {
              "status": "passed",
              "duration": 27913
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:165"
            },
            "result": {
              "status": "passed",
              "duration": 14263
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:275"
            },
            "result": {
              "status": "passed",
              "duration": 7471
            }
          },
          {
            "output": [
              "This scenario ran at: 2026-08-31 10:35:18 +0200\n"
            ],
            "match": {
              "location": "features/support/env.rb:317"
            },
            "result": {
              "status": "passed",
              "duration": 283584
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:413"
            },
            "result": {
              "status": "passed",
              "duration": 9633
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:426"
            },
            "result": {
              "status": "passed",
              "duration": 20911
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:471"
            },
            "result": {
              "status": "passed",
              "duration": 24272
            }
          }
        ],
        "after": [
          {
            "output": [
              "This scenario took: 6 seconds"
            ],
            "match": {
              "location": "features/support/env.rb:170"
            },
            "result": {
              "status": "passed",
              "duration": 274578
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:10"
            },
            "result": {
              "status": "passed",
              "duration": 19997
            }
          }
        ]
      },
      {
        "id": "sanity-checks;the-build-host-is-healthy",
        "keyword": "Scenario",
        "name": "The build host is healthy",
        "description": "",
        "line": 47,
        "type": "scenario",
        "steps": [
          {
            "keyword": "Then ",
            "name": "\"build_host\" should have a FQDN",
            "line": 48,
            "match": {
              "location": "features/step_definitions/command_steps.rb:15"
            },
            "result": {
              "status": "passed",
              "duration": 2499675416
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 28505
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "reverse resolution should work for \"build_host\"",
            "line": 49,
            "match": {
              "location": "features/step_definitions/command_steps.rb:28"
            },
            "result": {
              "status": "passed",
              "duration": 215036665
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 20960
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "\"build_host\" should communicate with the server using public interface",
            "line": 50,
            "match": {
              "location": "features/step_definitions/retail_steps.rb:47"
            },
            "result": {
              "status": "passed",
              "duration": 911952756
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 24482
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "the clock from \"build_host\" should be exact",
            "line": 51,
            "match": {
              "location": "features/step_definitions/command_steps.rb:46"
            },
            "result": {
              "status": "passed",
              "duration": 218465786
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 21329
                }
              }
            ]
          }
        ],
        "tags": [
          {
            "name": "@build_host",
            "line": 46
          }
        ],
        "before": [
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:14"
            },
            "result": {
              "status": "passed",
              "duration": 20517
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:22"
            },
            "result": {
              "status": "passed",
              "duration": 31193
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:165"
            },
            "result": {
              "status": "passed",
              "duration": 15441
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:275"
            },
            "result": {
              "status": "passed",
              "duration": 7116
            }
          },
          {
            "output": [
              "This scenario ran at: 2026-08-31 10:35:24 +0200\n"
            ],
            "match": {
              "location": "features/support/env.rb:317"
            },
            "result": {
              "status": "passed",
              "duration": 265065
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:413"
            },
            "result": {
              "status": "passed",
              "duration": 8896
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:426"
            },
            "result": {
              "status": "passed",
              "duration": 24541
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:496"
            },
            "result": {
              "status": "passed",
              "duration": 18350
            }
          }
        ],
        "after": [
          {
            "output": [
              "This scenario took: 4 seconds"
            ],
            "match": {
              "location": "features/support/env.rb:170"
            },
            "result": {
              "status": "passed",
              "duration": 273453
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:10"
            },
            "result": {
              "status": "passed",
              "duration": 19361
            }
          }
        ]
      },
      {
        "id": "sanity-checks;the-ssh-minion-is-healthy",
        "keyword": "Scenario",
        "name": "The SSH minion is healthy",
        "description": "",
        "line": 54,
        "type": "scenario",
        "steps": [
          {
            "keyword": "Then ",
            "name": "\"sshminion\" should have a FQDN",
            "line": 55,
            "match": {
              "location": "features/step_definitions/command_steps.rb:15"
            },
            "result": {
              "status": "passed",
              "duration": 4676000742
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 22367
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "reverse resolution should work for \"sshminion\"",
            "line": 56,
            "match": {
              "location": "features/step_definitions/command_steps.rb:28"
            },
            "result": {
              "status": "passed",
              "duration": 461308515
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 19115
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "\"sshminion\" should communicate with the server using public interface",
            "line": 57,
            "match": {
              "location": "features/step_definitions/retail_steps.rb:47"
            },
            "result": {
              "status": "passed",
              "duration": 1100558001
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 17820
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "the clock from \"sshminion\" should be exact",
            "line": 58,
            "match": {
              "location": "features/step_definitions/command_steps.rb:46"
            },
            "result": {
              "status": "passed",
              "duration": 429255465
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 20333
                }
              }
            ]
          }
        ],
        "tags": [
          {
            "name": "@sshminion",
            "line": 53
          }
        ],
        "before": [
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:14"
            },
            "result": {
              "status": "passed",
              "duration": 22187
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:22"
            },
            "result": {
              "status": "passed",
              "duration": 23459
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:165"
            },
            "result": {
              "status": "passed",
              "duration": 16333
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:275"
            },
            "result": {
              "status": "passed",
              "duration": 7857
            }
          },
          {
            "output": [
              "This scenario ran at: 2026-08-31 10:35:28 +0200\n"
            ],
            "match": {
              "location": "features/support/env.rb:317"
            },
            "result": {
              "status": "passed",
              "duration": 250673
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:413"
            },
            "result": {
              "status": "passed",
              "duration": 8169
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:426"
            },
            "result": {
              "status": "passed",
              "duration": 38974
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:491"
            },
            "result": {
              "status": "passed",
              "duration": 16173
            }
          }
        ],
        "after": [
          {
            "output": [
              "This scenario took: 7 seconds"
            ],
            "match": {
              "location": "features/support/env.rb:170"
            },
            "result": {
              "status": "passed",
              "duration": 261731
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:10"
            },
            "result": {
              "status": "passed",
              "duration": 17981
            }
          }
        ]
      },
      {
        "id": "sanity-checks;the-red-hat-like-minion-is-healthy",
        "keyword": "Scenario",
        "name": "The Red Hat-like minion is healthy",
        "description": "",
        "line": 61,
        "type": "scenario",
        "steps": [
          {
            "keyword": "Then ",
            "name": "\"rhlike_minion\" should have a FQDN",
            "line": 62,
            "match": {
              "location": "features/step_definitions/command_steps.rb:15"
            },
            "result": {
              "status": "passed",
              "duration": 2336133175
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 21399
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "reverse resolution should work for \"rhlike_minion\"",
            "line": 63,
            "match": {
              "location": "features/step_definitions/command_steps.rb:28"
            },
            "result": {
              "status": "passed",
              "duration": 230253426
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 17096
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "\"rhlike_minion\" should communicate with the server using public interface",
            "line": 64,
            "match": {
              "location": "features/step_definitions/retail_steps.rb:47"
            },
            "result": {
              "status": "passed",
              "duration": 879325718
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 17366
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "the clock from \"rhlike_minion\" should be exact",
            "line": 65,
            "match": {
              "location": "features/step_definitions/command_steps.rb:46"
            },
            "result": {
              "status": "passed",
              "duration": 210535923
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 20882
                }
              }
            ]
          }
        ],
        "tags": [
          {
            "name": "@rhlike_minion",
            "line": 60
          }
        ],
        "before": [
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:14"
            },
            "result": {
              "status": "passed",
              "duration": 17833
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:22"
            },
            "result": {
              "status": "passed",
              "duration": 25261
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:165"
            },
            "result": {
              "status": "passed",
              "duration": 14993
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:275"
            },
            "result": {
              "status": "passed",
              "duration": 7779
            }
          },
          {
            "output": [
              "This scenario ran at: 2026-08-31 10:35:35 +0200\n"
            ],
            "match": {
              "location": "features/support/env.rb:317"
            },
            "result": {
              "status": "passed",
              "duration": 269037
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:413"
            },
            "result": {
              "status": "passed",
              "duration": 7636
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:426"
            },
            "result": {
              "status": "passed",
              "duration": 24289
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:476"
            },
            "result": {
              "status": "passed",
              "duration": 17598
            }
          }
        ],
        "after": [
          {
            "output": [
              "This scenario took: 4 seconds"
            ],
            "match": {
              "location": "features/support/env.rb:170"
            },
            "result": {
              "status": "passed",
              "duration": 271023
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:10"
            },
            "result": {
              "status": "passed",
              "duration": 19472
            }
          }
        ]
      },
      {
        "id": "sanity-checks;the-debian-like-minion-is-healthy",
        "keyword": "Scenario",
        "name": "The Debian-like minion is healthy",
        "description": "",
        "line": 68,
        "type": "scenario",
        "steps": [
          {
            "keyword": "Then ",
            "name": "\"deblike_minion\" should have a FQDN",
            "line": 69,
            "match": {
              "location": "features/step_definitions/command_steps.rb:15"
            },
            "result": {
              "status": "passed",
              "duration": 5278857069
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 21181
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "reverse resolution should work for \"deblike_minion\"",
            "line": 70,
            "match": {
              "location": "features/step_definitions/command_steps.rb:28"
            },
            "result": {
              "status": "passed",
              "duration": 261665715
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 18974
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "\"deblike_minion\" should communicate with the server using public interface",
            "line": 71,
            "match": {
              "location": "features/step_definitions/retail_steps.rb:47"
            },
            "result": {
              "status": "passed",
              "duration": 985310948
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 18174
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "the clock from \"deblike_minion\" should be exact",
            "line": 72,
            "match": {
              "location": "features/step_definitions/command_steps.rb:46"
            },
            "result": {
              "status": "passed",
              "duration": 294745053
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 21741
                }
              }
            ]
          }
        ],
        "tags": [
          {
            "name": "@deblike_minion",
            "line": 67
          }
        ],
        "before": [
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:14"
            },
            "result": {
              "status": "passed",
              "duration": 19607
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:22"
            },
            "result": {
              "status": "passed",
              "duration": 23315
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:165"
            },
            "result": {
              "status": "passed",
              "duration": 18705
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:275"
            },
            "result": {
              "status": "passed",
              "duration": 7305
            }
          },
          {
            "output": [
              "This scenario ran at: 2026-08-31 10:35:39 +0200\n"
            ],
            "match": {
              "location": "features/support/env.rb:317"
            },
            "result": {
              "status": "passed",
              "duration": 373279
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:413"
            },
            "result": {
              "status": "passed",
              "duration": 10358
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:426"
            },
            "result": {
              "status": "passed",
              "duration": 22530
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:481"
            },
            "result": {
              "status": "passed",
              "duration": 18037
            }
          }
        ],
        "after": [
          {
            "output": [
              "This scenario took: 6 seconds"
            ],
            "match": {
              "location": "features/support/env.rb:170"
            },
            "result": {
              "status": "passed",
              "duration": 274213
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:10"
            },
            "result": {
              "status": "passed",
              "duration": 16977
            }
          }
        ]
      },
      {
        "id": "sanity-checks;the-external-resources-can-be-reached",
        "keyword": "Scenario",
        "name": "The external resources can be reached",
        "description": "",
        "line": 75,
        "type": "scenario",
        "steps": [
          {
            "keyword": "Then ",
            "name": "it should be possible to reach the test packages",
            "line": 76,
            "match": {
              "location": "features/step_definitions/command_steps.rb:54"
            },
            "result": {
              "status": "skipped"
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "skipped"
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "it should be possible to reach the build sources",
            "line": 77,
            "match": {
              "location": "features/step_definitions/command_steps.rb:72"
            },
            "result": {
              "status": "skipped"
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "skipped"
                }
              }
            ]
          },
          {
            "keyword": "And ",
            "name": "it should be possible to reach the Docker profiles",
            "line": 78,
            "match": {
              "location": "features/step_definitions/command_steps.rb:82"
            },
            "result": {
              "status": "skipped"
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "skipped"
                }
              }
            ]
          }
        ],
        "tags": [
          {
            "name": "@skip_if_cloud",
            "line": 74
          }
        ],
        "before": [
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:14"
            },
            "result": {
              "status": "passed",
              "duration": 17292
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:22"
            },
            "result": {
              "status": "passed",
              "duration": 21761
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:165"
            },
            "result": {
              "status": "passed",
              "duration": 14324
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:275"
            },
            "result": {
              "status": "passed",
              "duration": 8554
            }
          },
          {
            "output": [
              "This scenario ran at: 2026-08-31 10:35:45 +0200\n"
            ],
            "match": {
              "location": "features/support/env.rb:317"
            },
            "result": {
              "status": "passed",
              "duration": 314432
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:413"
            },
            "result": {
              "status": "passed",
              "duration": 13956
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:426"
            },
            "result": {
              "status": "passed",
              "duration": 23695
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:889"
            },
            "result": {
              "status": "skipped",
              "duration": 1614010
            }
          }
        ],
        "after": [
          {
            "output": [
              "This scenario took: 0 seconds"
            ],
            "match": {
              "location": "features/support/env.rb:170"
            },
            "result": {
              "status": "passed",
              "duration": 230838
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:10"
            },
            "result": {
              "status": "passed",
              "duration": 13984
            }
          }
        ]
      },
      {
        "id": "sanity-checks;the-http-proxy-is-working",
        "keyword": "Scenario",
        "name": "The HTTP proxy is working",
        "description": "",
        "line": 81,
        "type": "scenario",
        "steps": [
          {
            "keyword": "Then ",
            "name": "it should be possible to use the HTTP proxy",
            "line": 82,
            "match": {
              "location": "features/step_definitions/command_steps.rb:59"
            },
            "result": {
              "status": "skipped"
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "skipped"
                }
              }
            ]
          }
        ],
        "tags": [
          {
            "name": "@server_http_proxy",
            "line": 80
          }
        ],
        "before": [
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:14"
            },
            "result": {
              "status": "passed",
              "duration": 17215
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:22"
            },
            "result": {
              "status": "passed",
              "duration": 21927
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:165"
            },
            "result": {
              "status": "passed",
              "duration": 12989
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:275"
            },
            "result": {
              "status": "passed",
              "duration": 8349
            }
          },
          {
            "output": [
              "This scenario ran at: 2026-08-31 10:35:45 +0200\n"
            ],
            "match": {
              "location": "features/support/env.rb:317"
            },
            "result": {
              "status": "passed",
              "duration": 208678
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:413"
            },
            "result": {
              "status": "passed",
              "duration": 10952
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:426"
            },
            "result": {
              "status": "passed",
              "duration": 15745
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:869"
            },
            "result": {
              "status": "skipped",
              "duration": 121168
            }
          }
        ],
        "after": [
          {
            "output": [
              "This scenario took: 0 seconds"
            ],
            "match": {
              "location": "features/support/env.rb:170"
            },
            "result": {
              "status": "passed",
              "duration": 202743
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:10"
            },
            "result": {
              "status": "passed",
              "duration": 13510
            }
          }
        ]
      },
      {
        "id": "sanity-checks;the-registry-with-authentication-is-healthy",
        "keyword": "Scenario",
        "name": "The registry with authentication is healthy",
        "description": "",
        "line": 85,
        "type": "scenario",
        "steps": [
          {
            "keyword": "Then ",
            "name": "it should be possible to reach the authenticated registry",
            "line": 86,
            "match": {
              "location": "features/step_definitions/command_steps.rb:90"
            },
            "result": {
              "status": "passed",
              "duration": 740344022
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 26769
                }
              }
            ]
          }
        ],
        "tags": [
          {
            "name": "@auth_registry",
            "line": 84
          }
        ],
        "before": [
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:14"
            },
            "result": {
              "status": "passed",
              "duration": 14276
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:22"
            },
            "result": {
              "status": "passed",
              "duration": 19199
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:165"
            },
            "result": {
              "status": "passed",
              "duration": 11303
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:275"
            },
            "result": {
              "status": "passed",
              "duration": 13218
            }
          },
          {
            "output": [
              "This scenario ran at: 2026-08-31 10:35:45 +0200\n"
            ],
            "match": {
              "location": "features/support/env.rb:317"
            },
            "result": {
              "status": "passed",
              "duration": 825621
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:413"
            },
            "result": {
              "status": "passed",
              "duration": 10843
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:426"
            },
            "result": {
              "status": "passed",
              "duration": 195401
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:884"
            },
            "result": {
              "status": "passed",
              "duration": 10380
            }
          }
        ],
        "after": [
          {
            "output": [
              "This scenario took: 1 seconds"
            ],
            "match": {
              "location": "features/support/env.rb:170"
            },
            "result": {
              "status": "passed",
              "duration": 1517139
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:10"
            },
            "result": {
              "status": "passed",
              "duration": 21299
            }
          }
        ]
      },
      {
        "id": "sanity-checks;the-registry-without-authentication-is-healthy",
        "keyword": "Scenario",
        "name": "The registry without authentication is healthy",
        "description": "",
        "line": 89,
        "type": "scenario",
        "steps": [
          {
            "keyword": "Then ",
            "name": "it should be possible to reach the not authenticated registry",
            "line": 90,
            "match": {
              "location": "features/step_definitions/command_steps.rb:97"
            },
            "result": {
              "status": "passed",
              "duration": 766677867
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 22271
                }
              }
            ]
          }
        ],
        "tags": [
          {
            "name": "@no_auth_registry",
            "line": 88
          }
        ],
        "before": [
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:14"
            },
            "result": {
              "status": "passed",
              "duration": 17662
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:22"
            },
            "result": {
              "status": "passed",
              "duration": 23154
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:165"
            },
            "result": {
              "status": "passed",
              "duration": 16805
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:275"
            },
            "result": {
              "status": "passed",
              "duration": 10965
            }
          },
          {
            "output": [
              "This scenario ran at: 2026-08-31 10:35:46 +0200\n"
            ],
            "match": {
              "location": "features/support/env.rb:317"
            },
            "result": {
              "status": "passed",
              "duration": 707462
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:413"
            },
            "result": {
              "status": "passed",
              "duration": 10699
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:426"
            },
            "result": {
              "status": "passed",
              "duration": 26401
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:879"
            },
            "result": {
              "status": "passed",
              "duration": 9547
            }
          }
        ],
        "after": [
          {
            "output": [
              "This scenario took: 1 seconds"
            ],
            "match": {
              "location": "features/support/env.rb:170"
            },
            "result": {
              "status": "passed",
              "duration": 263078
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:10"
            },
            "result": {
              "status": "passed",
              "duration": 17606
            }
          }
        ]
      },
      {
        "id": "sanity-checks;the-custom-download-endpoint-is-working",
        "keyword": "Scenario",
        "name": "The custom download endpoint is working",
        "description": "",
        "line": 93,
        "type": "scenario",
        "steps": [
          {
            "keyword": "Then ",
            "name": "it should be possible to use the custom download endpoint",
            "line": 94,
            "match": {
              "location": "features/step_definitions/command_steps.rb:67"
            },
            "result": {
              "status": "passed",
              "duration": 691085777
            },
            "after": [
              {
                "match": {
                  "location": "features/support/env.rb:308"
                },
                "result": {
                  "status": "passed",
                  "duration": 21754
                }
              }
            ]
          }
        ],
        "tags": [
          {
            "name": "@custom_download_endpoint",
            "line": 92
          }
        ],
        "before": [
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:14"
            },
            "result": {
              "status": "passed",
              "duration": 14602
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:22"
            },
            "result": {
              "status": "passed",
              "duration": 25246
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:165"
            },
            "result": {
              "status": "passed",
              "duration": 10863
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:275"
            },
            "result": {
              "status": "passed",
              "duration": 7300
            }
          },
          {
            "output": [
              "This scenario ran at: 2026-08-31 10:35:47 +0200\n"
            ],
            "match": {
              "location": "features/support/env.rb:317"
            },
            "result": {
              "status": "passed",
              "duration": 280980
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:413"
            },
            "result": {
              "status": "passed",
              "duration": 10173
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:426"
            },
            "result": {
              "status": "passed",
              "duration": 20021
            }
          },
          {
            "match": {
              "location": "features/support/env.rb:874"
            },
            "result": {
              "status": "passed",
              "duration": 6100
            }
          }
        ],
        "after": [
          {
            "output": [
              "This scenario took: 1 seconds"
            ],
            "match": {
              "location": "features/support/env.rb:170"
            },
            "result": {
              "status": "passed",
              "duration": 313824
            }
          },
          {
            "match": {
              "location": "capybara-3.40.0/lib/capybara/cucumber.rb:10"
            },
            "result": {
              "status": "passed",
              "duration": 14676
            }
          }
        ]
      }
    ]
  }
]