[{"id":"setup-containerized-proxy","uri":"features/proxy/proxy_container.feature","keyword":"Feature","name":"Setup containerized proxy","description":"  In order to use a containerized proxy with the server\n  As the system administrator\n  I want to register the containerized proxy on the server","line":13,"tags":[{"name":"@containerized_server","line":10},{"name":"@scope_containerized_proxy","line":11},{"name":"@proxy","line":12}],"elements":[{"id":"setup-containerized-proxy;clean-up-sumaform-leftovers-on-proxy","keyword":"Scenario","name":"Clean up sumaform leftovers on proxy","description":"","line":18,"type":"scenario","steps":[{"keyword":"When ","name":"I perform a full salt minion cleanup on \"proxy\"","line":19,"match":{"location":"features/step_definitions/salt_steps.rb:565"},"result":{"status":"passed","duration":6923085865},"after":[]}],"tags":[{"name":"@containerized_server","line":10},{"name":"@scope_containerized_proxy","line":11},{"name":"@proxy","line":12}],"before":[],"after":[]},{"id":"setup-containerized-proxy;reboot-after-clean-up","keyword":"Scenario","name":"Reboot after clean up","description":"","line":22,"type":"scenario","steps":[{"keyword":"When ","name":"I reboot the \"proxy\" host through SSH, waiting until it comes back","line":23,"match":{"location":"features/step_definitions/command_steps.rb:1636"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@containerized_server","line":10},{"name":"@scope_containerized_proxy","line":11},{"name":"@proxy","line":12},{"name":"@transactional_server","line":21}],"before":[],"after":[]},{"id":"setup-containerized-proxy;log-in-as-admin-user","keyword":"Scenario","name":"Log in as admin user","description":"","line":25,"type":"scenario","steps":[{"keyword":"Given ","name":"I am authorized for the \"Admin\" section","line":26,"match":{"location":"features/step_definitions/navigation_steps.rb:486"},"result":{"status":"passed","duration":38106630625},"after":[]}],"tags":[{"name":"@containerized_server","line":10},{"name":"@scope_containerized_proxy","line":11},{"name":"@proxy","line":12}],"before":[],"after":[]},{"id":"setup-containerized-proxy;bootstrap-the-proxy-host-as-a-salt-minion","keyword":"Scenario","name":"Bootstrap the proxy host as a salt minion","description":"","line":28,"type":"scenario","steps":[{"keyword":"When ","name":"I follow the left menu \"Systems > Bootstrapping\"","line":29,"match":{"location":"features/step_definitions/navigation_steps.rb:420"},"result":{"status":"passed","duration":156510158},"after":[]},{"keyword":"Then ","name":"I should see a \"Bootstrap Minions\" text","line":30,"match":{"location":"features/step_definitions/navigation_steps.rb:690"},"result":{"status":"passed","duration":66791661},"after":[]},{"keyword":"When ","name":"I enter the hostname of \"proxy\" as \"hostname\"","line":31,"output":["The hostname of proxy is uyuni-master-proxy.sumaci.aws"],"match":{"location":"features/step_definitions/navigation_steps.rb:531"},"result":{"status":"passed","duration":116055673},"after":[]},{"keyword":"And ","name":"I enter \"22\" as \"port\"","line":32,"match":{"location":"features/step_definitions/navigation_steps.rb:268"},"result":{"status":"passed","duration":50659196},"after":[]},{"keyword":"And ","name":"I enter \"root\" as \"user\"","line":33,"match":{"location":"features/step_definitions/navigation_steps.rb:268"},"result":{"status":"passed","duration":57119906},"after":[]},{"keyword":"And ","name":"I enter \"linux\" as \"password\"","line":34,"match":{"location":"features/step_definitions/navigation_steps.rb:268"},"result":{"status":"passed","duration":56240491},"after":[]},{"keyword":"And ","name":"I select \"1-PROXY-KEY-x86_64\" from \"activationKeys\"","line":35,"match":{"location":"features/step_definitions/navigation_steps.rb:204"},"result":{"status":"passed","duration":69372167},"after":[]},{"keyword":"And ","name":"I click on \"Bootstrap\"","line":36,"match":{"location":"features/step_definitions/navigation_steps.rb:314"},"result":{"status":"passed","duration":60995124},"after":[]},{"keyword":"And ","name":"I wait until I see \"Bootstrap process initiated.\" text","line":37,"match":{"location":"features/step_definitions/navigation_steps.rb:39"},"result":{"status":"passed","duration":36861214237},"after":[]}],"tags":[{"name":"@containerized_server","line":10},{"name":"@scope_containerized_proxy","line":11},{"name":"@proxy","line":12}],"before":[],"after":[]},{"id":"setup-containerized-proxy;reboot-the-proxy-host","keyword":"Scenario","name":"Reboot the proxy host","description":"","line":41,"type":"scenario","steps":[{"keyword":"When ","name":"I reboot the \"proxy\" host through SSH, waiting until it comes back","line":42,"match":{"location":"features/step_definitions/command_steps.rb:1636"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@containerized_server","line":10},{"name":"@scope_containerized_proxy","line":11},{"name":"@proxy","line":12},{"name":"@skip_if_cloud","line":39},{"name":"@transactional_server","line":40}],"before":[],"after":[]},{"id":"setup-containerized-proxy;wait-until-the-proxy-host-appears","keyword":"Scenario","name":"Wait until the proxy host appears","description":"","line":44,"type":"scenario","steps":[{"keyword":"When ","name":"I wait until onboarding is completed for \"proxy\"","line":45,"match":{"location":"features/step_definitions/setup_steps.rb:229"},"result":{"status":"passed","duration":84413220511},"after":[]}],"tags":[{"name":"@containerized_server","line":10},{"name":"@scope_containerized_proxy","line":11},{"name":"@proxy","line":12}],"before":[],"after":[]},{"id":"setup-containerized-proxy;generate-containerized-proxy-configuration","keyword":"Scenario","name":"Generate containerized proxy configuration","description":"","line":47,"type":"scenario","steps":[{"keyword":"When ","name":"I generate the configuration \"/tmp/proxy_container_config.tar.gz\" of containerized proxy on the server","line":48,"match":{"location":"features/step_definitions/command_steps.rb:1548"},"result":{"status":"passed","duration":11989283802},"after":[]},{"keyword":"And ","name":"I copy the configuration \"/tmp/proxy_container_config.tar.gz\" of containerized proxy from the server to the proxy","line":49,"match":{"location":"features/step_definitions/command_steps.rb:1574"},"result":{"status":"passed","duration":2946105679},"after":[]}],"tags":[{"name":"@containerized_server","line":10},{"name":"@scope_containerized_proxy","line":11},{"name":"@proxy","line":12}],"before":[],"after":[]},{"id":"setup-containerized-proxy;set-up-the-containerized-proxy-service-to-support-avahi","keyword":"Scenario","name":"Set up the containerized proxy service to support Avahi","description":"","line":51,"type":"scenario","steps":[{"keyword":"When ","name":"I add avahi hosts in containerized proxy configuration","line":52,"output":["Record not added - avahi domain was not detected"],"match":{"location":"features/step_definitions/command_steps.rb:1579"},"result":{"status":"passed","duration":249685},"after":[]}],"tags":[{"name":"@containerized_server","line":10},{"name":"@scope_containerized_proxy","line":11},{"name":"@proxy","line":12}],"before":[],"after":[]},{"id":"setup-containerized-proxy;run-a-containerized-proxy","keyword":"Scenario","name":"Run a containerized proxy","description":"","line":54,"type":"scenario","steps":[{"keyword":"When ","name":"I run \"mgrpxy install podman /tmp/proxy_container_config.tar.gz\" on \"proxy\"","line":55,"match":{"location":"features/step_definitions/command_steps.rb:790"},"result":{"status":"passed","duration":24306237767},"after":[]}],"tags":[{"name":"@containerized_server","line":10},{"name":"@scope_containerized_proxy","line":11},{"name":"@proxy","line":12}],"before":[],"after":[]},{"id":"setup-containerized-proxy;wait-until-containerized-proxy-service-is-active","keyword":"Scenario","name":"Wait until containerized proxy service is active","description":"","line":57,"type":"scenario","steps":[{"keyword":"And ","name":"I wait until \"uyuni-proxy-pod\" service is active on \"proxy\"","line":58,"match":{"location":"features/step_definitions/command_steps.rb:311"},"result":{"status":"passed","duration":508362142},"after":[]},{"keyword":"And ","name":"I wait until \"uyuni-proxy-httpd\" service is active on \"proxy\"","line":59,"match":{"location":"features/step_definitions/command_steps.rb:311"},"result":{"status":"passed","duration":7660098186},"after":[]},{"keyword":"And ","name":"I wait until \"uyuni-proxy-salt-broker\" service is active on \"proxy\"","line":60,"match":{"location":"features/step_definitions/command_steps.rb:311"},"result":{"status":"passed","duration":401624906},"after":[]},{"keyword":"And ","name":"I wait until \"uyuni-proxy-squid\" service is active on \"proxy\"","line":61,"match":{"location":"features/step_definitions/command_steps.rb:311"},"result":{"status":"passed","duration":403634461},"after":[]},{"keyword":"And ","name":"I wait until \"uyuni-proxy-ssh\" service is active on \"proxy\"","line":62,"match":{"location":"features/step_definitions/command_steps.rb:311"},"result":{"status":"passed","duration":364130646},"after":[]},{"keyword":"And ","name":"I wait until \"uyuni-proxy-tftpd\" service is active on \"proxy\"","line":63,"match":{"location":"features/step_definitions/command_steps.rb:311"},"result":{"status":"passed","duration":288546374},"after":[]},{"keyword":"And ","name":"I wait until port \"8022\" is listening on \"proxy\" container","line":64,"match":{"location":"features/step_definitions/command_steps.rb:1600"},"result":{"status":"passed","duration":306965688},"after":[]},{"keyword":"And ","name":"I wait until port \"80\" is listening on \"proxy\" container","line":65,"match":{"location":"features/step_definitions/command_steps.rb:1600"},"result":{"status":"passed","duration":301669196},"after":[]},{"keyword":"And ","name":"I wait until port \"443\" is listening on \"proxy\" container","line":66,"match":{"location":"features/step_definitions/command_steps.rb:1600"},"result":{"status":"passed","duration":301065101},"after":[]},{"keyword":"And ","name":"I visit \"Proxy\" endpoint of this \"proxy\"","line":67,"match":{"location":"features/step_definitions/navigation_steps.rb:1190"},"result":{"status":"passed","duration":373546182},"after":[]}],"tags":[{"name":"@containerized_server","line":10},{"name":"@scope_containerized_proxy","line":11},{"name":"@proxy","line":12}],"before":[],"after":[]},{"id":"setup-containerized-proxy;the-containerized-proxy-should-be-registered-automatically","keyword":"Scenario","name":"The containerized proxy should be registered automatically","description":"","line":69,"type":"scenario","steps":[{"keyword":"When ","name":"I follow the left menu \"Systems\"","line":70,"match":{"location":"features/step_definitions/navigation_steps.rb:420"},"result":{"status":"passed","duration":60130100},"after":[]},{"keyword":"And ","name":"I wait until I see the name of \"proxy\", refreshing the page","line":71,"match":{"location":"features/step_definitions/navigation_steps.rb:125"},"result":{"status":"passed","duration":657635440},"after":[]}],"tags":[{"name":"@containerized_server","line":10},{"name":"@scope_containerized_proxy","line":11},{"name":"@proxy","line":12}],"before":[],"after":[]},{"id":"setup-containerized-proxy;check-if-monitoring-can-be-enabled-on-the-containerized-proxy","keyword":"Scenario","name":"Check if Monitoring can be enabled on the containerized proxy","description":"","line":73,"type":"scenario","steps":[{"keyword":"Given ","name":"I am on the Systems overview page of this \"proxy\"","line":74,"match":{"location":"features/step_definitions/navigation_steps.rb:500"},"result":{"status":"passed","duration":1697420108},"after":[]},{"keyword":"When ","name":"I follow \"Properties\" in the content area","line":75,"match":{"location":"features/step_definitions/navigation_steps.rb:380"},"result":{"status":"passed","duration":70809613},"after":[]},{"keyword":"Then ","name":"the \"monitoring_entitled\" checkbox should be disabled","line":76,"match":{"location":"features/step_definitions/navigation_steps.rb:1107"},"result":{"status":"passed","duration":10009952350},"after":[]}],"tags":[{"name":"@containerized_server","line":10},{"name":"@scope_containerized_proxy","line":11},{"name":"@proxy","line":12}],"before":[],"after":[]}]},{"id":"prepare-the-containerized-branch-server-for-pxe-booting","uri":"features/proxy/proxy_rbs_container_branch_network.feature","keyword":"Feature","name":"Prepare the containerized branch server for PXE booting","description":"  In order to use a containerized proxy as a Retail Branch server\n  As the system administrator\n  I make sure the network setup is as expected","line":14,"tags":[{"name":"@containerized_server","line":10},{"name":"@scope_containerized_proxy","line":11},{"name":"@proxy","line":12},{"name":"@private_net","line":13}],"elements":[{"id":"prepare-the-containerized-branch-server-for-pxe-booting;adapt-the-proxy-for-retail","keyword":"Scenario","name":"Adapt the proxy for Retail","description":"","line":19,"type":"scenario","steps":[{"keyword":"When ","name":"I rename the proxy for Retail","line":20,"match":{"location":"features/step_definitions/retail_steps.rb:58"},"result":{"status":"skipped"},"after":[]},{"keyword":"And ","name":"I connect the second interface of the proxy to the private network","line":21,"match":{"location":"features/step_definitions/retail_steps.rb:63"},"result":{"status":"skipped"},"after":[]},{"keyword":"And ","name":"I restart all proxy containers","line":22,"match":{"location":"features/step_definitions/retail_steps.rb:86"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@containerized_server","line":10},{"name":"@scope_containerized_proxy","line":11},{"name":"@proxy","line":12},{"name":"@private_net","line":13}],"before":[],"after":[]},{"id":"prepare-the-containerized-branch-server-for-pxe-booting;check-the-branch-network","keyword":"Scenario","name":"Check the branch network","description":"","line":24,"type":"scenario","steps":[{"keyword":"Then ","name":"the \"dhcp_dns\" host should be present on private network","line":25,"match":{"location":"features/step_definitions/retail_steps.rb:95"},"result":{"status":"skipped"},"after":[]},{"keyword":"And ","name":"name resolution should work on private network","line":26,"match":{"location":"features/step_definitions/retail_steps.rb:101"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@containerized_server","line":10},{"name":"@scope_containerized_proxy","line":11},{"name":"@proxy","line":12},{"name":"@private_net","line":13}],"before":[],"after":[]},{"id":"prepare-the-containerized-branch-server-for-pxe-booting;let-the-server-know-about-the-new-ip-and-fqdn-of-the-containerized-proxy","keyword":"Scenario","name":"Let the server know about the new IP and FQDN of the containerized proxy","description":"","line":28,"type":"scenario","steps":[{"keyword":"Given ","name":"I am authorized for the \"Admin\" section","line":29,"match":{"location":"features/step_definitions/navigation_steps.rb:486"},"result":{"status":"skipped"},"after":[]},{"keyword":"When ","name":"I am on the Systems overview page of this \"proxy\"","line":30,"match":{"location":"features/step_definitions/navigation_steps.rb:500"},"result":{"status":"skipped"},"after":[]},{"keyword":"And ","name":"I follow \"Details\" in the content area","line":31,"match":{"location":"features/step_definitions/navigation_steps.rb:380"},"result":{"status":"skipped"},"after":[]},{"keyword":"And ","name":"I follow \"Hardware\" in the content area","line":32,"match":{"location":"features/step_definitions/navigation_steps.rb:380"},"result":{"status":"skipped"},"after":[]},{"keyword":"And ","name":"I click on \"Schedule Hardware Refresh\"","line":33,"match":{"location":"features/step_definitions/navigation_steps.rb:314"},"result":{"status":"skipped"},"after":[]},{"keyword":"Then ","name":"I should see a \"You have successfully scheduled a hardware profile refresh\" text","line":34,"match":{"location":"features/step_definitions/navigation_steps.rb:690"},"result":{"status":"skipped"},"after":[]},{"keyword":"When ","name":"I wait until event \"Hardware List Refresh scheduled by admin\" is completed","line":35,"match":{"location":"features/step_definitions/common_steps.rb:150"},"result":{"status":"skipped"},"after":[]},{"keyword":"And ","name":"I wait until there is no Salt job calling the module \"hardware.profileupdate\" on \"proxy\"","line":36,"match":{"location":"features/step_definitions/salt_steps.rb:371"},"result":{"status":"skipped"},"after":[]},{"keyword":"And ","name":"I follow \"Details\" in the content area","line":37,"match":{"location":"features/step_definitions/navigation_steps.rb:380"},"result":{"status":"skipped"},"after":[]},{"keyword":"And ","name":"I follow \"Hardware\" in the content area","line":38,"match":{"location":"features/step_definitions/navigation_steps.rb:380"},"result":{"status":"skipped"},"after":[]},{"keyword":"Then ","name":"I should see a \"proxy.example.org\" text","line":39,"match":{"location":"features/step_definitions/navigation_steps.rb:690"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@containerized_server","line":10},{"name":"@scope_containerized_proxy","line":11},{"name":"@proxy","line":12},{"name":"@private_net","line":13}],"before":[],"after":[]}]}]