├── requirements.txt ├── ansible ├── ansible-requirements.txt ├── inventory ├── requirements.yml ├── ansible.cfg └── playbooks │ ├── clone_compose_repo.yml │ ├── update_packaging_repo.yml │ ├── content_view_version_cleanup.yml │ ├── sync_products.yml │ ├── publish_content_views.yml │ ├── upload_package.yml │ ├── create_lifecycle_environment.yml │ ├── sync_repositories.yml │ ├── promote_content_view.yml │ └── copy_activation_key.yml ├── jobs ├── unittest │ ├── repos │ │ ├── dynflow.groovy │ │ ├── fog-aws.groovy │ │ ├── hammer_cli.groovy │ │ ├── puppet_certs.groovy │ │ ├── puppet_pulp.groovy │ │ ├── puppet_puppet.groovy │ │ ├── puppet_qpid.groovy │ │ ├── puppet_capsule.groovy │ │ ├── puppet_foreman.groovy │ │ ├── puppet_katello.groovy │ │ ├── hammer_cli_foreman.groovy │ │ ├── hammer_cli_katello.groovy │ │ ├── puppet_candlepin.groovy │ │ ├── puppet_foreman_proxy.groovy │ │ ├── smart_proxy_dynflow.groovy │ │ ├── hammer_cli_foreman_discovery.groovy │ │ ├── puppet_foreman_proxy_content.groovy │ │ ├── smart_proxy_dhcp_remote_isc.groovy │ │ ├── hammer_cli_foreman_tasks.groovy │ │ ├── hammer_cli_foreman_remote_execution.groovy │ │ ├── hammer_cli_foreman_virt_who_configure.groovy │ │ ├── foreman_bootdisk.groovy │ │ ├── foreman_docker.groovy │ │ ├── foreman_tasks.groovy │ │ ├── foreman_openscap.groovy │ │ ├── foreman_discovery.groovy │ │ ├── foreman_theme_satellite.groovy │ │ ├── foreman_remote_execution.groovy │ │ ├── foreman_virt_who_configure.groovy │ │ └── foreman_kubevirt.groovy │ ├── sat6-unit-test-snapper.yaml │ ├── satellite6-unit-test-focaccia.yaml │ ├── sat6-unit-test-runcible.yaml │ ├── sat6-unit-test-tool-belt.yaml │ ├── sat6-unit-test-foreman-installer.yaml │ ├── sat6-unit-test-satellite-installer.yaml │ ├── sat6-unit-test-kafo.yaml │ ├── sat6-unit-test-ohsnap.yaml │ ├── sat6-unit-test-smart-proxy.yaml │ ├── sat6-unit-test-dynflow.yaml │ ├── sat6-unit-test-fog-aws.yaml │ ├── sat6-unit-test-smart-proxy-dynflow.yaml │ ├── sat6-unit-test-puppet-pulp.yaml │ ├── sat6-unit-test-puppet-qpid.yaml │ ├── sat6-unit-test-puppet-certs.yaml │ ├── sat6-unit-test-puppet-puppet.yaml │ ├── sat6-unit-test-puppet-capsule.yaml │ ├── sat6-unit-test-puppet-foreman.yaml │ ├── sat6-unit-test-puppet-katello.yaml │ ├── sat6-unit-test-smart-proxy-dhcp-remote-isc.yaml │ ├── sat6-unit-test-puppet-candlepin.yaml │ ├── sat6-unit-test-puppet-foreman-proxy.yaml │ ├── sat6-unit-test-foreman.yaml │ ├── sat6-unit-test-katello.yaml │ ├── sat6-unit-test-puppet-foreman-proxy-content.yaml │ ├── sat6-unit-test-hammer-cli.yaml │ ├── sat6-unit-test-foreman-docker.yaml │ ├── sat6-unit-test-foreman-bootdisk.yaml │ ├── sat6-unit-test-foreman-kubevirt.yaml │ ├── sat6-unit-test-foreman-openscap.yaml │ ├── sat6-unit-test-foreman-tasks.yaml │ ├── sat6-unit-test-satellite-clone.yaml │ ├── sat6-unit-test-foreman-discovery.yaml │ ├── sat6-unit-test-hammer-cli-foreman.yaml │ ├── sat6-unit-test-hammer-cli-katello.yaml │ ├── sat6-unit-test-hammer-cli-foreman-tasks.yaml │ ├── sat6-unit-test-foreman-remote-execution.yaml │ ├── sat6-unit-test-foreman-theme-satellite.yaml │ ├── sat6-unit-test-foreman-virt-who-configure.yaml │ ├── sat6-unit-test-hammer-cli-foreman-discovery.yaml │ ├── sat6-unit-test-hammer-cli-foreman-remote-execution.yaml │ ├── sat6-unit-test-hammer-cli-foreman-virt-who-configure.yaml │ ├── satellite6-unit-test-test-repo.yaml │ ├── satellite6-unit-test-smart-proxy-openscap.yaml │ └── satellite6-unit-test-smart-proxy-remote-execution-ssh.yaml ├── release │ ├── projects │ │ ├── source_types │ │ │ ├── sourceTypeGem.groovy │ │ │ ├── sourceTypeTar.groovy │ │ │ └── sourceTypeRake.groovy │ │ ├── repos │ │ │ ├── kafo_repo.groovy │ │ │ ├── pulp_repo.groovy │ │ │ ├── rhui_pulp_repo.groovy │ │ │ ├── bastion_repo.groovy │ │ │ ├── dynflow_repo.groovy │ │ │ ├── fog-aws_repo.groovy │ │ │ ├── foreman_repo.groovy │ │ │ ├── katello_repo.groovy │ │ │ ├── rhui_pulp_rpm_repo.groovy │ │ │ ├── test_repo.groovy │ │ │ ├── hammer_cli_repo.groovy │ │ │ ├── pulp_rpm_repo.groovy │ │ │ ├── runcible_repo.groovy │ │ │ ├── pulp_docker_repo.groovy │ │ │ ├── pulp_ostree_repo.groovy │ │ │ ├── pulp_puppet_repo.groovy │ │ │ ├── rhui_pulp_docker_repo.groovy │ │ │ ├── rhui_pulp_ostree_repo.groovy │ │ │ ├── smart_proxy_repo.groovy │ │ │ ├── foreman_ansible_repo.groovy │ │ │ ├── foreman_docker_repo.groovy │ │ │ ├── foreman_hooks_repo.groovy │ │ │ ├── foreman_selinux_repo.groovy │ │ │ ├── foreman_tasks_repo.groovy │ │ │ ├── foreman_bootdisk_repo.groovy │ │ │ ├── foreman_discovery_repo.groovy │ │ │ ├── foreman_installer_repo.groovy │ │ │ ├── foreman_kubevirt_repo.groovy │ │ │ ├── foreman_openscap_repo.groovy │ │ │ ├── katello_installer_repo.groovy │ │ │ ├── hammer_cli_foreman_repo.groovy │ │ │ ├── hammer_cli_katello_repo.groovy │ │ │ ├── satellite_installer_repo.groovy │ │ │ ├── smart_proxy_dynflow_repo.groovy │ │ │ ├── smart_proxy_openscap_repo.groovy │ │ │ ├── foreman_remote_execution_repo.groovy │ │ │ ├── foreman_theme_satellite_repo.groovy │ │ │ ├── hammer_cli_foreman_admin_repo.groovy │ │ │ ├── hammer_cli_foreman_docker_repo.groovy │ │ │ ├── hammer_cli_foreman_tasks_repo.groovy │ │ │ ├── foreman_virt_who_configure_repo.groovy │ │ │ ├── hammer_cli_foreman_bootdisk_repo.groovy │ │ │ ├── satellite_node_modules_meta_repo.groovy │ │ │ ├── smart_proxy_dhcp_remote_isc_repo.groovy │ │ │ ├── hammer_cli_foreman_discovery_repo.groovy │ │ │ ├── smart_proxy_remote_execution_ssh_repo.groovy │ │ │ ├── hammer_cli_foreman_remote_execution_repo.groovy │ │ │ └── hammer_cli_foreman_virt_who_configure_repo.groovy │ │ ├── sat-release-kafo.yaml │ │ ├── sat-release-pulp.yaml │ │ ├── rhui-release-pulp.yaml │ │ ├── sat-release-pulp-rpm.yaml │ │ ├── rhui-release-pulp-rpm.yaml │ │ ├── sat-release-pulp-docker.yaml │ │ ├── sat-release-pulp-ostree.yaml │ │ ├── sat-release-pulp-puppet.yaml │ │ ├── release-test-repo.yaml │ │ ├── rhui-release-pulp-docker.yaml │ │ ├── rhui-release-pulp-ostree.yaml │ │ ├── sat-release-bastion.yaml │ │ ├── sat-release-dynflow.yaml │ │ ├── sat-release-fog-aws.yaml │ │ ├── sat-release-foreman.yaml │ │ ├── sat-release-katello.yaml │ │ ├── sat-release-foreman-bootdisk.yaml │ │ ├── sat-release-satellite-node-modules-meta.yaml │ │ ├── sat-release-hammer-cli.yaml │ │ ├── sat-release-smart-proxy.yaml │ │ ├── sat-release-foreman-docker.yaml │ │ ├── sat-release-foreman-hooks.yaml │ │ ├── sat-release-foreman-tasks.yaml │ │ ├── sat-release-foreman-ansible.yaml │ │ ├── sat-release-foreman-kubevirt.yaml │ │ ├── sat-release-foreman-openscap.yaml │ │ ├── sat-release-foreman-selinux.yaml │ │ ├── sat-release-hammer-cli-foreman-tasks.yaml │ │ ├── sat-release-foreman-discovery.yaml │ │ ├── sat-release-hammer-cli-foreman-docker.yaml │ │ ├── sat-release-hammer-cli-foreman-bootdisk.yaml │ │ ├── sat-release-hammer-cli-foreman.yaml │ │ ├── sat-release-hammer-cli-katello.yaml │ │ ├── sat-release-satellite-installer.yaml │ │ ├── sat-release-smart-proxy-dynflow.yaml │ │ ├── sat-release-smart-proxy-openscap.yaml │ │ ├── sat-release-runcible.yaml │ │ ├── sat-release-foreman-remote-execution.yaml │ │ ├── sat-release-foreman-theme-satellite.yaml │ │ ├── sat-release-hammer-cli-foreman-admin.yaml │ │ ├── sat-release-foreman-virt-who-configure.yaml │ │ ├── sat-release-smart-proxy-dhcp-remote-isc.yml │ │ ├── sat-release-hammer-cli-foreman-discovery.yaml │ │ ├── sat-release-foreman-installer.yaml │ │ ├── sat-release-katello-installer.yaml │ │ ├── sat-release-smart-proxy-remote-execution-ssh.yaml │ │ ├── sat-release-hammer-cli-foreman-remote-execution.yaml │ │ └── sat-release-hammer-cli-foreman-virt-who-configure.yaml │ ├── sat-test-pipeline.yaml │ ├── rhel-release-pipeline.yaml │ ├── ansible-release-pipeline.yaml │ ├── sat-maintenance-release-pipeline.yaml │ ├── sat-maintenance-next-release-pipeline.yaml │ ├── sat-maintenance-release-qa.yaml │ └── sat-maintenance-next-release-qa.yaml ├── wrappers │ ├── default_wrappers.yaml │ ├── satellite6_maskpassword_wrappers.yaml │ ├── load_keytab.yaml │ └── satellite6_automation_wrappers.yaml ├── builders │ ├── install_test.yaml │ ├── setup_gemset.yaml │ ├── test_repo.yaml │ ├── generate_source.yaml │ ├── sync_repository.yaml │ ├── build_config_file.yaml │ ├── merge_request_builder.yaml │ ├── clone_gitlab_foreman.yaml │ ├── promote_content_view.yaml │ ├── publish_content_view.yaml │ ├── test_puppet_plugins.yaml │ ├── compare_content_views.yaml │ ├── test_smart_proxy_plugins.yaml │ ├── load_keytab.yaml │ ├── test_hammer_cli_foreman_plugins.yaml │ ├── test_smart_proxy_remote_execution_ssh.yaml │ ├── satellite6_upgrade_tiers_builders.yaml │ ├── satellite6_standalone_automation_builders.yaml │ ├── satellite6_upgrade_builders.yaml │ ├── satellite6_upgrade_existence_builders.yaml │ ├── satellite6_upgrade_scenarios_builders.yaml │ ├── satellite6_provisioning_builders.yaml │ ├── satellite6_capsule_sanity_check_builders.yaml │ └── satellite6_consolidated_reports_builders.yaml ├── deploy-ohsnap.yaml ├── parameters │ ├── release_branch.yaml │ ├── ruby.yaml │ ├── database.yaml │ ├── gitlab_checkout.yaml │ ├── merge_request.yaml │ └── satellite6_upgrade_parameters.yaml ├── deploy-gemsnap.yaml ├── deploy-snapper.yaml ├── properties │ ├── default-properties.yaml │ ├── satellite6-polarion-build_blocker.yaml │ ├── throttle-release-pipelines.yaml │ ├── satellite6-upgrade-build_blocker.yaml │ ├── gitlab_variables.yaml │ └── satellite6-build_blocker.yaml ├── gitlab-clean.yaml ├── publishers │ ├── foreman_maintain_automation_archiver.yaml │ ├── foreman_ansible_modules_automation_archiver.yaml │ ├── satellite6_automation_publishers.yaml │ ├── destroy_keytab.yaml │ ├── satellite6_automation_archiver.yaml │ ├── satellite6_automation_mails.yaml │ └── satellite6_automation_coverage.yaml ├── notifications │ └── snapper_notifications.yaml ├── scm │ ├── dynflow_gitlab.yaml │ ├── foreman_gitlab.yaml │ ├── ohsnap_gitlab.yaml │ ├── snapper_gitlab.yaml │ ├── robotello-ci_github.yaml │ ├── puppet_certs_gitlab.yaml │ ├── puppet_pulp_gitlab.yaml │ ├── smart_proxy_gitlab.yaml │ ├── foreman_gitlab_checkout.yaml │ ├── puppet_puppet_gitlab.yaml │ ├── satellite_clone_github.yaml │ ├── puppet_capsule_gitlab.yaml │ ├── puppet_foreman_gitlab.yaml │ ├── puppet_katello_gitlab.yaml │ ├── katello_gitlab.yaml │ ├── puppet_foreman_proxy_gitlab.yaml │ ├── smart_proxy_dynflow_gitlab.yaml │ ├── smart_proxy_openscap_gitlab.yaml │ ├── test_repo_gitlab.yaml │ ├── foreman_plugin_gitlab.yaml │ ├── foreman_docker_gitlab.yaml │ ├── foreman_bootdisk_gitlab.yaml │ ├── foreman_openscap_gitlab.yaml │ ├── foreman_discovery_gitlab.yaml │ ├── hammer_cli_foreman_discovery_gitlab.yaml │ ├── satellite-packaging_gitlab_checkout.yaml │ ├── smart_proxy_remote_execution_ssh_gitlab.yaml │ └── foreman_remote_execution_gitlab.yaml ├── sat-bz-pmscore.yaml ├── sat-bz-redmine-sync.yaml ├── satellite6-manifest-downloader.yaml ├── satellite6-upgrade-cleanup.yaml ├── defaults │ └── defaults.yaml ├── dogfood-cleanup.yaml ├── triggers │ ├── gitlab_build_on_change.yaml │ └── gitlab_build_on_merge.yaml ├── satellite6-automation-cleanup.yaml ├── robottelo-ci-update-jobs.yaml ├── test-krb-auth.yaml ├── satellite6-automation-performance-report.yaml ├── satellite6-component-owners.yaml ├── satellite6-subscriptions-delete.yaml ├── rhui-3-rhui-packaging-update.yaml ├── satellite6-closed-loop.yaml ├── rhui-3-rhui-packaging-release-build.yaml └── rhui-3-rhui-packaging-scratch-build.yaml ├── plugins.txt ├── scripts ├── satellite6-capsule-install-req.sh ├── setup_katello_config.sh ├── satellite6-add-provison-host.sh ├── satellite-clone-test.sh ├── cleanup_vagrant.sh ├── satellite6-automation-source.sh ├── satellite6-libvirt-install-manifest.sh ├── publish_content_view.sh ├── sync_repository.sh ├── satellite6-install-pylarion.sh ├── satellite6-automation-performance-report.sh ├── satellite6-configure-sonarqube.sh ├── pip-install-pycurl.sh ├── destroy-keytab.sh ├── satellite6-discovery-remaster.sh ├── merge_request.sh ├── testblame_report.sh ├── test_tool_belt.sh ├── clone_foreman.sh ├── setup_gemset.sh ├── test_puppet_plugins.sh ├── robottelo-ci-update-jobs.sh ├── install_test.sh ├── build_config_file.rb ├── test_smart_proxy_plugins.sh ├── satellite6-foreman-debug.sh ├── promote_content_view.sh ├── satellite6-closed-loop.sh ├── test_test_repo.sh ├── satellite6-graceful-shutdown.sh ├── test_hammer_cli_foreman_plugins.sh ├── sat6-qe-env-toggle.sh ├── satellite6-upgrade-source.sh ├── load-keytab.sh ├── test_smart_proxy_remote_execution_ssh.sh ├── satellite6-upgrade-existence.sh └── satellite6-mass-registration.sh ├── workflows ├── packaging │ ├── releaseBuildPackaging.groovy │ ├── scratchBuildPackaging.groovy │ ├── rhuiPackaging.groovy │ ├── pulpcorePackaging.groovy │ └── satellitePackaging.groovy ├── testPipeline.groovy ├── deployGemsnap.groovy ├── deployOhsnap.groovy ├── deploySnapper.groovy ├── gitlabClean.groovy ├── test │ ├── satelliteClone.groovy │ ├── foremanInstaller.groovy │ ├── satelliteInstaller.groovy │ ├── smart-proxy-plugin.groovy │ ├── runcible.groovy │ ├── kafo.groovy │ ├── rake_test.groovy │ ├── puppet-matrix.groovy │ └── foreman.groovy ├── dogfoodCleanup.groovy ├── bugzilla │ ├── redmine-sync.groovy │ ├── pmscore.groovy │ └── bugzilla.groovy ├── maintenance │ └── releasePipelineAttributes.groovy ├── maintenance-next │ └── releasePipelineAttributes.groovy ├── lib │ ├── gitlabEnv.groovy │ ├── kerberos.groovy │ ├── toolbelt.groovy │ └── createMergeRequest.groovy ├── ansiblePipeline.groovy ├── rhelPipeline.groovy └── qe │ └── upgrade-pipeline │ └── satellite6-reporting-upgrade.groovy ├── .gitignore ├── update_job.sh ├── generate_jobs.sh ├── imagebuild └── rhel.7.regdata ├── jenkins_jobs.ini.sample ├── Makefile ├── lib └── python │ ├── fake_rhpkg.py │ ├── mock_config │ └── __init__.py │ └── mock_brew.py ├── vars ├── branch_selection.groovy ├── make_venv.groovy ├── sh_venv.groovy ├── defaults.groovy └── send_automation_email.groovy ├── setup_jjb.sh └── .github └── workflows └── robottelo-ci.yml /requirements.txt: -------------------------------------------------------------------------------- 1 | jenkins-job-builder 2 | requests 3 | -------------------------------------------------------------------------------- /ansible/ansible-requirements.txt: -------------------------------------------------------------------------------- 1 | ansible 2 | requests 3 | -------------------------------------------------------------------------------- /jobs/unittest/repos/dynflow.groovy: -------------------------------------------------------------------------------- 1 | def plugin_name = 'dynflow' 2 | -------------------------------------------------------------------------------- /jobs/unittest/repos/fog-aws.groovy: -------------------------------------------------------------------------------- 1 | def plugin_name = 'fog-aws' 2 | -------------------------------------------------------------------------------- /plugins.txt: -------------------------------------------------------------------------------- 1 | ansicolor 2 | config-file-provider 3 | shiningpanda 4 | -------------------------------------------------------------------------------- /ansible/inventory: -------------------------------------------------------------------------------- 1 | [localhost] 2 | localhost ansible_connection=local 3 | -------------------------------------------------------------------------------- /jobs/unittest/repos/hammer_cli.groovy: -------------------------------------------------------------------------------- 1 | def plugin_name = 'hammer_cli' 2 | -------------------------------------------------------------------------------- /ansible/requirements.yml: -------------------------------------------------------------------------------- 1 | --- 2 | collections: 3 | - theforeman.foreman 4 | -------------------------------------------------------------------------------- /jobs/unittest/repos/puppet_certs.groovy: -------------------------------------------------------------------------------- 1 | def puppet_repo = 'puppet-certs' 2 | -------------------------------------------------------------------------------- /jobs/unittest/repos/puppet_pulp.groovy: -------------------------------------------------------------------------------- 1 | def puppet_repo = 'puppet-pulp' 2 | -------------------------------------------------------------------------------- /jobs/unittest/repos/puppet_puppet.groovy: -------------------------------------------------------------------------------- 1 | def puppet_repo = 'puppet-puppet' 2 | -------------------------------------------------------------------------------- /jobs/unittest/repos/puppet_qpid.groovy: -------------------------------------------------------------------------------- 1 | def puppet_repo = 'puppet-qpid' 2 | -------------------------------------------------------------------------------- /scripts/satellite6-capsule-install-req.sh: -------------------------------------------------------------------------------- 1 | pip install -r requirements.txt 2 | -------------------------------------------------------------------------------- /jobs/release/projects/source_types/sourceTypeGem.groovy: -------------------------------------------------------------------------------- 1 | def sourceType = 'gem' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/source_types/sourceTypeTar.groovy: -------------------------------------------------------------------------------- 1 | def sourceType = 'tar' 2 | -------------------------------------------------------------------------------- /jobs/unittest/repos/puppet_capsule.groovy: -------------------------------------------------------------------------------- 1 | def puppet_repo = 'puppet-capsule' 2 | -------------------------------------------------------------------------------- /jobs/unittest/repos/puppet_foreman.groovy: -------------------------------------------------------------------------------- 1 | def puppet_repo = 'puppet-foreman' 2 | -------------------------------------------------------------------------------- /jobs/unittest/repos/puppet_katello.groovy: -------------------------------------------------------------------------------- 1 | def puppet_repo = 'puppet-katello' 2 | -------------------------------------------------------------------------------- /workflows/packaging/releaseBuildPackaging.groovy: -------------------------------------------------------------------------------- 1 | def build_type = 'release' 2 | -------------------------------------------------------------------------------- /workflows/packaging/scratchBuildPackaging.groovy: -------------------------------------------------------------------------------- 1 | def build_type = 'scratch' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/kafo_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/kafo' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/pulp_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/pulp' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/rhui_pulp_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'RHUI/pulp' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/source_types/sourceTypeRake.groovy: -------------------------------------------------------------------------------- 1 | def sourceType = 'rake' 2 | -------------------------------------------------------------------------------- /jobs/unittest/repos/hammer_cli_foreman.groovy: -------------------------------------------------------------------------------- 1 | def plugin_name = 'hammer_cli_foreman' 2 | -------------------------------------------------------------------------------- /jobs/unittest/repos/hammer_cli_katello.groovy: -------------------------------------------------------------------------------- 1 | def plugin_name = 'hammer_cli_katello' 2 | -------------------------------------------------------------------------------- /jobs/unittest/repos/puppet_candlepin.groovy: -------------------------------------------------------------------------------- 1 | def puppet_repo = 'puppet-candlepin' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/bastion_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/bastion' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/dynflow_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/dynflow' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/fog-aws_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/fog-aws' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/foreman_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/foreman' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/katello_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/katello' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/rhui_pulp_rpm_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'RHUI/pulp-rpm' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/test_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/test_repo' 2 | -------------------------------------------------------------------------------- /jobs/unittest/repos/puppet_foreman_proxy.groovy: -------------------------------------------------------------------------------- 1 | def puppet_repo = 'puppet-foreman_proxy' 2 | -------------------------------------------------------------------------------- /jobs/unittest/repos/smart_proxy_dynflow.groovy: -------------------------------------------------------------------------------- 1 | def plugin_name = 'smart_proxy_dynflow' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/hammer_cli_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/hammer_cli' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/pulp_rpm_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/pulp-rpm' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/runcible_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/runcible' 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | jenkins_jobs.ini 2 | foreman-infra 3 | *.pyc 4 | *.swp 5 | *.swn 6 | *.swo 7 | *.retry 8 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/pulp_docker_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/pulp-docker' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/pulp_ostree_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/pulp-ostree' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/pulp_puppet_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/pulp-puppet' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/rhui_pulp_docker_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'RHUI/pulp-docker' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/rhui_pulp_ostree_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'RHUI/pulp-ostree' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/smart_proxy_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/smart-proxy' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/foreman_ansible_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/foreman_ansible' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/foreman_docker_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/foreman_docker' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/foreman_hooks_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/foreman_hooks' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/foreman_selinux_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/foreman-selinux' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/foreman_tasks_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/foreman-tasks' 2 | -------------------------------------------------------------------------------- /jobs/unittest/repos/hammer_cli_foreman_discovery.groovy: -------------------------------------------------------------------------------- 1 | def plugin_name = 'hammer_cli_foreman_discovery' 2 | -------------------------------------------------------------------------------- /jobs/unittest/repos/puppet_foreman_proxy_content.groovy: -------------------------------------------------------------------------------- 1 | def puppet_repo = 'puppet-foreman_proxy_content' 2 | -------------------------------------------------------------------------------- /jobs/unittest/repos/smart_proxy_dhcp_remote_isc.groovy: -------------------------------------------------------------------------------- 1 | def plugin_name = 'smart_proxy_dhcp_remote_isc' 2 | -------------------------------------------------------------------------------- /scripts/setup_katello_config.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -xe 2 | 3 | cd plugin 4 | cp script/ci/katello.yml config/ 5 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/foreman_bootdisk_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/foreman_bootdisk' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/foreman_discovery_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/foreman_discovery' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/foreman_installer_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/foreman-installer' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/foreman_kubevirt_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/foreman_kubevirt' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/foreman_openscap_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/foreman_openscap' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/katello_installer_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/katello-installer' 2 | -------------------------------------------------------------------------------- /jobs/unittest/repos/hammer_cli_foreman_tasks.groovy: -------------------------------------------------------------------------------- 1 | def plugin_name = 'hammer_cli_foreman_remote_execution' 2 | -------------------------------------------------------------------------------- /scripts/satellite6-add-provison-host.sh: -------------------------------------------------------------------------------- 1 | cat satellite6-provision-host-template.sh >> satellite6-populate.sh 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/hammer_cli_foreman_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/hammer_cli_foreman' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/hammer_cli_katello_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/hammer_cli_katello' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/satellite_installer_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/satellite-installer' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/smart_proxy_dynflow_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/smart_proxy_dynflow' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/smart_proxy_openscap_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/smart_proxy_openscap' 2 | -------------------------------------------------------------------------------- /jobs/unittest/repos/hammer_cli_foreman_remote_execution.groovy: -------------------------------------------------------------------------------- 1 | def plugin_name = 'hammer_cli_foreman_remote_execution' 2 | -------------------------------------------------------------------------------- /jobs/wrappers/default_wrappers.yaml: -------------------------------------------------------------------------------- 1 | - wrapper: 2 | name: default-wrappers 3 | wrappers: 4 | - ansicolor 5 | -------------------------------------------------------------------------------- /update_job.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | jenkins-jobs --flush-cache --conf jenkins_jobs.ini update -r jobs:foreman-infra $1 4 | -------------------------------------------------------------------------------- /generate_jobs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | jenkins-jobs --conf jenkins_jobs.ini -l debug test -r -o /tmp/jobs jobs:foreman-infra "$@" 3 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/foreman_remote_execution_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/foreman_remote_execution' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/foreman_theme_satellite_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/foreman_theme_satellite' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/hammer_cli_foreman_admin_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/hammer_cli_foreman_admin' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/hammer_cli_foreman_docker_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/hammer_cli_foreman_docker' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/hammer_cli_foreman_tasks_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/hammer_cli_foreman_tasks' 2 | -------------------------------------------------------------------------------- /jobs/unittest/repos/hammer_cli_foreman_virt_who_configure.groovy: -------------------------------------------------------------------------------- 1 | def plugin_name = 'hammer_cli_foreman_remote_execution' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/foreman_virt_who_configure_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/foreman_virt_who_configure' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/hammer_cli_foreman_bootdisk_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/hammer_cli_foreman_bootdisk' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/satellite_node_modules_meta_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/satellite-node-modules-meta' 2 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/smart_proxy_dhcp_remote_isc_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/smart_proxy_dhcp_remote_isc' 2 | -------------------------------------------------------------------------------- /jobs/unittest/repos/foreman_bootdisk.groovy: -------------------------------------------------------------------------------- 1 | def plugin_name = 'foreman_bootdisk' 2 | def plugin_tests = 'test:foreman_bootdisk' 3 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/hammer_cli_foreman_discovery_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/hammer_cli_foreman_discovery' 2 | -------------------------------------------------------------------------------- /jobs/unittest/repos/foreman_docker.groovy: -------------------------------------------------------------------------------- 1 | def plugin_name = 'foreman_docker' 2 | def plugin_tests = 'jenkins:unit jenkins:integration' 3 | -------------------------------------------------------------------------------- /jobs/unittest/repos/foreman_tasks.groovy: -------------------------------------------------------------------------------- 1 | def plugin_name = 'foreman-tasks' 2 | def plugin_tests = 'jenkins:unit jenkins:integration' 3 | -------------------------------------------------------------------------------- /scripts/satellite-clone-test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -xe 2 | 3 | ssh jomitsch@$BREAD_HOST "cd ~/dolly; ./jenkins/run_dolly.rb ${ghprbPullId}" 4 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/smart_proxy_remote_execution_ssh_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/smart_proxy_remote_execution_ssh' 2 | -------------------------------------------------------------------------------- /jobs/unittest/repos/foreman_openscap.groovy: -------------------------------------------------------------------------------- 1 | def plugin_name = 'foreman_openscap' 2 | def plugin_tests = 'jenkins:unit jenkins:integration' 3 | -------------------------------------------------------------------------------- /jobs/builders/install_test.yaml: -------------------------------------------------------------------------------- 1 | - builder: 2 | name: install_test 3 | builders: 4 | - shell: !include-raw: scripts/install_test.sh 5 | -------------------------------------------------------------------------------- /jobs/builders/setup_gemset.yaml: -------------------------------------------------------------------------------- 1 | - builder: 2 | name: setup_gemset 3 | builders: 4 | - shell: !include-raw: scripts/setup_gemset.sh 5 | -------------------------------------------------------------------------------- /jobs/builders/test_repo.yaml: -------------------------------------------------------------------------------- 1 | - builder: 2 | name: test_repo 3 | builders: 4 | - shell: !include-raw: scripts/test_test_repo.sh 5 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/hammer_cli_foreman_remote_execution_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/hammer_cli_foreman_remote_execution' 2 | -------------------------------------------------------------------------------- /jobs/unittest/repos/foreman_discovery.groovy: -------------------------------------------------------------------------------- 1 | def plugin_name = 'foreman_discovery' 2 | def plugin_tests = 'jenkins:unit jenkins:integration' 3 | -------------------------------------------------------------------------------- /jobs/release/projects/repos/hammer_cli_foreman_virt_who_configure_repo.groovy: -------------------------------------------------------------------------------- 1 | def gitRepository = 'satellite6/hammer_cli_foreman_virt_who_configure' 2 | -------------------------------------------------------------------------------- /jobs/unittest/repos/foreman_theme_satellite.groovy: -------------------------------------------------------------------------------- 1 | def plugin_name = 'foreman_theme_satellite' 2 | def plugin_tests = 'test:foreman_theme_satellite' 3 | -------------------------------------------------------------------------------- /jobs/builders/generate_source.yaml: -------------------------------------------------------------------------------- 1 | - builder: 2 | name: generate_source 3 | builders: 4 | - shell: !include-raw: scripts/generate_source.rb 5 | -------------------------------------------------------------------------------- /jobs/builders/sync_repository.yaml: -------------------------------------------------------------------------------- 1 | - builder: 2 | name: sync_repository 3 | builders: 4 | - shell: !include-raw: scripts/sync_repository.sh 5 | -------------------------------------------------------------------------------- /jobs/unittest/repos/foreman_remote_execution.groovy: -------------------------------------------------------------------------------- 1 | def plugin_name = 'foreman_remote_execution' 2 | def plugin_tests = 'jenkins:unit jenkins:integration' 3 | -------------------------------------------------------------------------------- /jobs/builders/build_config_file.yaml: -------------------------------------------------------------------------------- 1 | - builder: 2 | name: build_config_file 3 | builders: 4 | - shell: !include-raw: scripts/build_config_file.rb 5 | -------------------------------------------------------------------------------- /jobs/builders/merge_request_builder.yaml: -------------------------------------------------------------------------------- 1 | - builder: 2 | name: merge_request 3 | builders: 4 | - shell: !include-raw: scripts/merge_request.sh 5 | -------------------------------------------------------------------------------- /jobs/unittest/repos/foreman_virt_who_configure.groovy: -------------------------------------------------------------------------------- 1 | def plugin_name = 'foreman_virt_who_configure' 2 | def plugin_tests = 'jenkins:unit jenkins:integration' 3 | -------------------------------------------------------------------------------- /jobs/builders/clone_gitlab_foreman.yaml: -------------------------------------------------------------------------------- 1 | - builder: 2 | name: clone_gitlab_foreman 3 | builders: 4 | - shell: !include-raw: scripts/clone_foreman.sh 5 | -------------------------------------------------------------------------------- /jobs/unittest/repos/foreman_kubevirt.groovy: -------------------------------------------------------------------------------- 1 | def plugin_name = 'foreman_kubevirt' 2 | def plugin_tests = 'test:foreman_kubevirt' //'jenkins:unit jenkins:integration' 3 | -------------------------------------------------------------------------------- /scripts/cleanup_vagrant.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -xe 2 | 3 | ssh jenkins@$LIBVIRT_HOST "cd forklift && vagrant destroy pipeline-sat-rhel${rhel} pipeline-capsule-rhel${rhel}" 4 | -------------------------------------------------------------------------------- /jobs/builders/promote_content_view.yaml: -------------------------------------------------------------------------------- 1 | - builder: 2 | name: promote_content_view 3 | builders: 4 | - shell: !include-raw: scripts/promote_content_view.sh 5 | -------------------------------------------------------------------------------- /jobs/builders/publish_content_view.yaml: -------------------------------------------------------------------------------- 1 | - builder: 2 | name: publish_content_view 3 | builders: 4 | - shell: !include-raw: scripts/publish_content_view.sh 5 | -------------------------------------------------------------------------------- /jobs/builders/test_puppet_plugins.yaml: -------------------------------------------------------------------------------- 1 | - builder: 2 | name: test_puppet_plugins 3 | builders: 4 | - shell: !include-raw: scripts/test_puppet_plugins.sh 5 | -------------------------------------------------------------------------------- /jobs/builders/compare_content_views.yaml: -------------------------------------------------------------------------------- 1 | - builder: 2 | name: compare_content_views 3 | builders: 4 | - shell: !include-raw: scripts/compare_content_views.rb 5 | -------------------------------------------------------------------------------- /scripts/satellite6-automation-source.sh: -------------------------------------------------------------------------------- 1 | source ${CONFIG_FILES} 2 | source config/provisioning_environment.conf 3 | source config/provisioning_env_with_endpoints.conf 4 | 5 | -------------------------------------------------------------------------------- /workflows/testPipeline.groovy: -------------------------------------------------------------------------------- 1 | node('sat6-build') { 2 | stage('one') { 3 | sh "echo Maybe?" 4 | } 5 | 6 | stage('two') { 7 | sh 'exit 1' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /jobs/builders/test_smart_proxy_plugins.yaml: -------------------------------------------------------------------------------- 1 | - builder: 2 | name: test_smart_proxy_plugins 3 | builders: 4 | - shell: !include-raw: scripts/test_smart_proxy_plugins.sh 5 | -------------------------------------------------------------------------------- /scripts/satellite6-libvirt-install-manifest.sh: -------------------------------------------------------------------------------- 1 | if [[ -z "${MANIFEST_LOCATION_URL}" ]]; then 2 | MANIFEST_LOCATION_URL="${HTTP_SERVER_HOSTNAME}/manifests/manifest-latest.zip" 3 | fi 4 | -------------------------------------------------------------------------------- /jobs/builders/load_keytab.yaml: -------------------------------------------------------------------------------- 1 | - builder: 2 | name: 'load_keytab' 3 | builders: 4 | - shell: !include-raw: load-keytab.sh 5 | - inject: 6 | properties-file: .krb5ccname 7 | -------------------------------------------------------------------------------- /jobs/builders/test_hammer_cli_foreman_plugins.yaml: -------------------------------------------------------------------------------- 1 | - builder: 2 | name: test_hammer_cli_foreman_plugins 3 | builders: 4 | - shell: !include-raw: scripts/test_hammer_cli_foreman_plugins.sh 5 | -------------------------------------------------------------------------------- /ansible/ansible.cfg: -------------------------------------------------------------------------------- 1 | [defaults] 2 | callback_whitelist = profile_tasks 3 | stdout_callback = debug 4 | verbosity = 1 5 | inventory = inventory 6 | collections_paths = collections 7 | retry_files_enabled = False 8 | -------------------------------------------------------------------------------- /jobs/builders/test_smart_proxy_remote_execution_ssh.yaml: -------------------------------------------------------------------------------- 1 | - builder: 2 | name: test_smart_proxy_remote_execution_ssh 3 | builders: 4 | - shell: !include-raw: scripts/test_smart_proxy_remote_execution_ssh.sh 5 | -------------------------------------------------------------------------------- /jobs/deploy-ohsnap.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: deploy-ohsnap 3 | project-type: pipeline 4 | sandbox: true 5 | auth-token: "" 6 | dsl: 7 | !include-raw: 8 | - workflows/deployOhsnap.groovy 9 | -------------------------------------------------------------------------------- /jobs/parameters/release_branch.yaml: -------------------------------------------------------------------------------- 1 | - parameter: 2 | name: release_branch 3 | parameters: 4 | - string: 5 | name: releaseBranch 6 | description: "The branch to release a new version of" 7 | -------------------------------------------------------------------------------- /jobs/parameters/ruby.yaml: -------------------------------------------------------------------------------- 1 | - parameter: 2 | name: ruby 3 | parameters: 4 | - string: 5 | name: ruby 6 | default: '{version}' 7 | description: 'Version of Ruby to test against' 8 | -------------------------------------------------------------------------------- /jobs/deploy-gemsnap.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: deploy-gemsnap 3 | project-type: pipeline 4 | sandbox: true 5 | auth-token: "" 6 | dsl: 7 | !include-raw: 8 | - workflows/deployGemsnap.groovy 9 | -------------------------------------------------------------------------------- /jobs/deploy-snapper.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: deploy-snapper 3 | project-type: pipeline 4 | sandbox: true 5 | auth-token: "" 6 | dsl: 7 | !include-raw: 8 | - workflows/deploySnapper.groovy 9 | -------------------------------------------------------------------------------- /jobs/parameters/database.yaml: -------------------------------------------------------------------------------- 1 | - parameter: 2 | name: database 3 | parameters: 4 | - string: 5 | name: database 6 | default: postgresql 7 | description: 'Database to run tests against' 8 | -------------------------------------------------------------------------------- /jobs/properties/default-properties.yaml: -------------------------------------------------------------------------------- 1 | - property: 2 | name: default-properties 3 | properties: 4 | - build-discarder: 5 | num-to-keep: 32 6 | - gitlab: 7 | connection: gitlab-conn 8 | -------------------------------------------------------------------------------- /jobs/wrappers/satellite6_maskpassword_wrappers.yaml: -------------------------------------------------------------------------------- 1 | - wrapper: 2 | name: satellite6-maskpassword-wrappers 3 | wrappers: 4 | - inject-passwords: 5 | global: true 6 | mask-password-params: true 7 | -------------------------------------------------------------------------------- /scripts/publish_content_view.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -xe 2 | 3 | hammer --username ${SATELLITE_USERNAME} --password ${SATELLITE_PASSWORD} --server ${SATELLITE_SERVER} content-view publish --organization "${organization}" --name "${content_view_name}" 4 | -------------------------------------------------------------------------------- /jobs/wrappers/load_keytab.yaml: -------------------------------------------------------------------------------- 1 | - wrapper: 2 | name: "load_keytab" 3 | wrappers: 4 | - credentials-binding: 5 | - file: 6 | credential-id: '{credential-id}' 7 | variable: KEYTAB_FILE 8 | 9 | -------------------------------------------------------------------------------- /jobs/gitlab-clean.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: gitlab-clean 3 | project-type: pipeline 4 | sandbox: true 5 | triggers: 6 | - timed: "@midnight" 7 | dsl: 8 | !include-raw: 9 | - workflows/gitlabClean.groovy 10 | -------------------------------------------------------------------------------- /jobs/properties/satellite6-polarion-build_blocker.yaml: -------------------------------------------------------------------------------- 1 | - property: 2 | name: satellite6-polarion-build_blocker 3 | properties: 4 | - build-blocker: 5 | blocking-jobs: 6 | - "polarion-test-run-{satellite_version}-{os}" 7 | -------------------------------------------------------------------------------- /jobs/publishers/foreman_maintain_automation_archiver.yaml: -------------------------------------------------------------------------------- 1 | - publisher: 2 | name: foreman-maintain-automation-archiver 3 | publishers: 4 | - archive: 5 | artifacts: 'testfm.log,*-results.xml' 6 | allow-empty: true 7 | -------------------------------------------------------------------------------- /jobs/parameters/gitlab_checkout.yaml: -------------------------------------------------------------------------------- 1 | - parameter: 2 | name: gitlab_checkout 3 | parameters: 4 | - string: 5 | name: gitlabSourceBranch 6 | default: "{default-branch}" 7 | description: 'Source repository branch to build' 8 | -------------------------------------------------------------------------------- /scripts/sync_repository.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -xe 2 | 3 | hammer --username ${SATELLITE_USERNAME} --password ${SATELLITE_PASSWORD} --server ${SATELLITE_SERVER} \ 4 | repository synchronize --organization "${organization}" --product "${product}" --name "${repository}" 5 | -------------------------------------------------------------------------------- /jobs/publishers/foreman_ansible_modules_automation_archiver.yaml: -------------------------------------------------------------------------------- 1 | - publisher: 2 | name: foreman-ansible-modules-automation-archiver 3 | publishers: 4 | - archive: 5 | artifacts: 'cassettes.tar.gz, *-results.xml' 6 | allow-empty: true 7 | -------------------------------------------------------------------------------- /jobs/release/sat-test-pipeline.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: sat-test-pipeline 3 | project-type: pipeline 4 | sandbox: true 5 | dsl: 6 | !include-raw: 7 | - workflows/testPipeline.groovy 8 | notifications: 9 | - snapper_notifications 10 | -------------------------------------------------------------------------------- /workflows/deployGemsnap.groovy: -------------------------------------------------------------------------------- 1 | node('sat6-build') { 2 | stage("Push to Open Platform") { 3 | sh "curl -k -XPOST ${GEMSNAP_64_PSI_WEBHOOK_URL}" 4 | sh "curl -k -XPOST ${GEMSNAP_65_PSI_WEBHOOK_URL}" 5 | sh "curl -k -XPOST ${GEMSNAP_66_PSI_WEBHOOK_URL}" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /workflows/packaging/rhuiPackaging.groovy: -------------------------------------------------------------------------------- 1 | def package_version = env.gitlabTargetBranch.minus('RHUI-') 2 | def packaging_repo = 'rhui-packaging' 3 | def packaging_repo_project = 'RHUI' 4 | def tool_belt_config = './configs/rhui/' 5 | def tool_belt_repo_folder = "rhui_${package_version}" 6 | -------------------------------------------------------------------------------- /jobs/notifications/snapper_notifications.yaml: -------------------------------------------------------------------------------- 1 | - notification: 2 | name: snapper_notifications 3 | notifications: 4 | - http: 5 | url: ${SNAPPER_URL} 6 | format: json 7 | event: completed 8 | timeout: 40000 9 | log: 0 10 | -------------------------------------------------------------------------------- /scripts/satellite6-install-pylarion.sh: -------------------------------------------------------------------------------- 1 | rm -rf pylarion 2 | git clone ${PYLARION_REPO_URL} 3 | 4 | # Install pylarion and its dependencies 5 | cd pylarion 6 | pip install -r requirements.txt 7 | pip install . 8 | cd .. 9 | 10 | cat > .pylarion << "EOF" 11 | [webservice] 12 | EOF 13 | -------------------------------------------------------------------------------- /workflows/deployOhsnap.groovy: -------------------------------------------------------------------------------- 1 | node('sat6-build') { 2 | stage("Push to Open Platform") { 3 | withCredentials([string(credentialsId: 'OHSNAP_PSI_WEBHOOK_URL', variable: 'OHSNAP_PSI_WEBHOOK_URL')]) { 4 | sh "curl -k -XPOST ${OHSNAP_PSI_WEBHOOK_URL}" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /jobs/publishers/satellite6_automation_publishers.yaml: -------------------------------------------------------------------------------- 1 | - publisher: 2 | name: satellite6-automation-publishers 3 | publishers: 4 | - junit: 5 | results: '*-results.xml' 6 | claim-build: true 7 | allow-empty-results: true 8 | - claim-build 9 | -------------------------------------------------------------------------------- /imagebuild/rhel.7.regdata: -------------------------------------------------------------------------------- 1 | NEEDED_SUBSCRIPTION='Red Hat Satellite Employee Subscription' 2 | NEEDED_REPOS=( 3 | 'rhel-7-server-rpms' 4 | 'rhel-7-server-optional-rpms' 5 | 'rhel-7-server-extras-rpms' 6 | 'rhel-server-rhscl-7-rpms' 7 | 'rhel-7-server-satellite-tools-6.1-rpms' 8 | ) 9 | 10 | -------------------------------------------------------------------------------- /jobs/properties/throttle-release-pipelines.yaml: -------------------------------------------------------------------------------- 1 | - property: 2 | name: satellite6-release-pipeline-throttle 3 | properties: 4 | - throttle: 5 | max-per-node: 2 6 | max-total: 2 7 | categories: 8 | - release_pipelines 9 | option: category 10 | -------------------------------------------------------------------------------- /scripts/satellite6-automation-performance-report.sh: -------------------------------------------------------------------------------- 1 | pip install -r requirements.txt 2 | 3 | DATA_PATH="${HOME}/satellite_performance_data.csv" 4 | 5 | if [ ! -f ${DATA_PATH} ]; then 6 | touch ${DATA_PATH} 7 | fi 8 | 9 | ./performance_report.py --data-path "${DATA_PATH}" "${OS}" "${BUILD_LABEL}" JUNIT 10 | -------------------------------------------------------------------------------- /workflows/deploySnapper.groovy: -------------------------------------------------------------------------------- 1 | node('sat6-build') { 2 | stage("Push to Open Platform") { 3 | withCredentials([string(credentialsId: 'SNAPPER_OPEN_PAAS_WEBHOOK_URL', variable: 'SNAPPER_OPEN_PAAS_WEBHOOK_URL')]) { 4 | sh "curl -k -XPOST ${SNAPPER_OPEN_PAAS_WEBHOOK_URL}" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /workflows/gitlabClean.groovy: -------------------------------------------------------------------------------- 1 | node('sat6-build') { 2 | stage("Run GitLab clean") { 3 | try { 4 | sh "curl -k -o clean.json ${OHSNAP_URL}/api/gitlab/clean" 5 | archive "clean.json" 6 | } 7 | finally { 8 | deleteDir() 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /workflows/packaging/pulpcorePackaging.groovy: -------------------------------------------------------------------------------- 1 | package_version = env.gitlabTargetBranch.minus('PULPCORE-') 2 | packaging_repo = 'pulpcore-packaging' 3 | packaging_repo_project = 'satellite6' 4 | packaging_disttag = 'pc' 5 | tool_belt_repo_folder = "pulpcore_${package_version}" 6 | def tool_belt_config = './configs/pulpcore/' 7 | -------------------------------------------------------------------------------- /jenkins_jobs.ini.sample: -------------------------------------------------------------------------------- 1 | [job_builder] 2 | keep_descriptions=False 3 | include_path=.:scripts:foreman-infra 4 | recursive=True 5 | allow_duplicates=False 6 | exclude=foreman-infra/yaml/defaults:foreman-infra/yaml/jobs 7 | 8 | #[jenkins] 9 | #user= 10 | #password= 11 | #url= 12 | -------------------------------------------------------------------------------- /jobs/publishers/destroy_keytab.yaml: -------------------------------------------------------------------------------- 1 | - publisher: 2 | name: "destroy_keytab" 3 | publishers: 4 | - postbuildscript: 5 | script-only-if-succeeded: True 6 | mark-unstable-if-failed: True 7 | builders: 8 | - build-steps: 9 | - shell: !include-raw: destroy-keytab.sh 10 | -------------------------------------------------------------------------------- /jobs/publishers/satellite6_automation_archiver.yaml: -------------------------------------------------------------------------------- 1 | - publisher: 2 | name: satellite6-automation-archiver 3 | publishers: 4 | - archive: 5 | artifacts: 'robottelo*.log,insights*.log,*-results.xml,foreman-debug.tar.xz,coverage.*.tar,tfm_reports_*.tar,screenshots/*/*.png,robottelo.properties' 6 | allow-empty: true 7 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | help: 2 | @echo "Please use \`make ' where is one of:" 3 | @echo " help to show this message" 4 | @echo " setup to update jobs and install missing plugins" 5 | 6 | setup: 7 | jenkins-jobs --conf jenkins_jobs.ini update jobs 8 | scripts/manage_plugins.py install $$(cat plugins.txt) 9 | 10 | .PHONY: help setup 11 | -------------------------------------------------------------------------------- /scripts/satellite6-configure-sonarqube.sh: -------------------------------------------------------------------------------- 1 | if [[ "${SATELLITE_VERSION}" != *"nightly"* ]]; then 2 | source config/installation_environment.conf 3 | BUILD_LABEL=`echo "${BUILD_LABEL%%-*}" | sed -e "s/Satellite //"` 4 | export BUILD_LABEL 5 | pip install -r requirements.txt 6 | fab -D -H "root@${SERVER_HOSTNAME}" "configure_sonarqube" 7 | fi 8 | -------------------------------------------------------------------------------- /ansible/playbooks/clone_compose_repo.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: compose 3 | become: true 4 | become_user: compose 5 | vars: 6 | compose_conf_dir: "/home/compose/compose_repo" 7 | tasks: 8 | - name: 'Clone compose repository' 9 | git: 10 | repo: "{{ compose_git_repo }}" 11 | dest: "{{ compose_conf_dir }}" 12 | update: yes 13 | -------------------------------------------------------------------------------- /scripts/pip-install-pycurl.sh: -------------------------------------------------------------------------------- 1 | pip install -U pip 2 | pip install six 3 | 4 | if [ "$(curl --version | grep NSS 2>/dev/null)" ]; then 5 | export PYCURL_SSL_LIBRARY=nss 6 | pip install --compile --install-option="--with-nss" pycurl 7 | else 8 | export PYCURL_SSL_LIBRARY=openssl 9 | pip install --compile --install-option="--with-openssl" pycurl 10 | fi 11 | -------------------------------------------------------------------------------- /jobs/scm/dynflow_gitlab.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: dynflow_gitlab 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | timeout: 20 7 | skip-tag: true 8 | branches: 9 | - ${gitlabTargetBranch} 10 | remotes: 11 | - origin: 12 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/dynflow.git' 13 | -------------------------------------------------------------------------------- /jobs/scm/foreman_gitlab.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: foreman_gitlab 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | timeout: 20 7 | skip-tag: true 8 | branches: 9 | - ${gitlabTargetBranch} 10 | remotes: 11 | - origin: 12 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/foreman.git' 13 | -------------------------------------------------------------------------------- /jobs/scm/ohsnap_gitlab.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: ohsnap_gitlab 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | timeout: 20 7 | skip-tag: true 8 | branches: 9 | - ${gitlabTargetBranch} 10 | remotes: 11 | - origin: 12 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/ohsnap.git' 13 | -------------------------------------------------------------------------------- /jobs/scm/snapper_gitlab.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: snapper_gitlab 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | timeout: 20 7 | skip-tag: true 8 | branches: 9 | - ${gitlabTargetBranch} 10 | remotes: 11 | - origin: 12 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/snapper.git' 13 | -------------------------------------------------------------------------------- /scripts/destroy-keytab.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -xe 2 | # destroy-keytab.sh - Script to remove kerberos credintials at the end of a 3 | # Jenkins job 4 | # 5 | # This script requires the following environment variables to be defined: 6 | KRB5CCNAME="${KRB5CCNAME:?Most inject ouput file of load-keytab.sh}" 7 | 8 | /usr/bin/kdestroy 9 | : "Destroyed tickets at: $KRB5CCNAME" 10 | 11 | -------------------------------------------------------------------------------- /scripts/satellite6-discovery-remaster.sh: -------------------------------------------------------------------------------- 1 | pip install -r requirements.txt 2 | source ${CONFIG_FILES} 3 | source config/provisioning_env_with_endpoints.conf 4 | source config/compute_resources.conf 5 | source config/sat6_repos_urls.conf 6 | 7 | export BASE_URL=${SATELLITE6_REPO} 8 | export IPADDR=${TIER_IPADDR} 9 | 10 | fab -D -H "root@${LIBVIRT_HOSTNAME}" get_discovery_image 11 | -------------------------------------------------------------------------------- /jobs/sat-bz-pmscore.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: sat-bz-pmscore 3 | sandbox: true 4 | project-type: pipeline 5 | auth-token: "" 6 | display-name: 'Update PM Score on Satellite Bugs' 7 | triggers: 8 | - timed: "@midnight" 9 | dsl: 10 | !include-raw: 11 | - workflows/bugzilla/bugzilla.groovy 12 | - workflows/bugzilla/pmscore.groovy 13 | -------------------------------------------------------------------------------- /jobs/scm/robotello-ci_github.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: robotello-ci_github 3 | scm: 4 | - git: 5 | url: 'https://$US_GIT_HOSTNAME/$US_GIT_ORGANIZATION/robottelo-ci.git' 6 | branches: 7 | - master 8 | skip-tag: true 9 | wipe-workspace: true 10 | basedir: 'robotello-ci' 11 | timeout: 20 12 | -------------------------------------------------------------------------------- /scripts/merge_request.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -ex 2 | 3 | if [ -n "${gitlabSourceBranch}" ]; then 4 | if [ -d plugin ];then 5 | pushd plugin 6 | fi 7 | 8 | git remote add pr https://$GIT_HOSTNAME/${gitlabSourceNamespace:-}/${gitlabSourceRepoName}.git 9 | git fetch pr 10 | git merge pr/${gitlabSourceBranch} 11 | 12 | if [ -d '../plugin' ];then 13 | popd 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /jobs/properties/satellite6-upgrade-build_blocker.yaml: -------------------------------------------------------------------------------- 1 | - property: 2 | name: satellite6-upgrade-build_blocker 3 | properties: 4 | - build-blocker: 5 | blocking-jobs: 6 | - "^upgrade-to.*" 7 | - "^automation-preupgrade.*" 8 | - "^upgrade-phase.*" 9 | - "^automation-postupgrade.*" 10 | - "^automation-upgraded.*" 11 | -------------------------------------------------------------------------------- /jobs/scm/puppet_certs_gitlab.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: puppet_certs_gitlab 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | timeout: 20 7 | skip-tag: true 8 | branches: 9 | - ${gitlabTargetBranch} 10 | remotes: 11 | - origin: 12 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/puppet-certs.git' 13 | -------------------------------------------------------------------------------- /jobs/scm/puppet_pulp_gitlab.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: puppet_pulp_gitlab 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | timeout: 20 7 | skip-tag: true 8 | branches: 9 | - ${gitlabTargetBranch} 10 | remotes: 11 | - origin: 12 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/puppet-pulp.git' 13 | -------------------------------------------------------------------------------- /jobs/scm/smart_proxy_gitlab.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: smart_proxy_gitlab 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | timeout: 20 7 | skip-tag: true 8 | branches: 9 | - ${gitlabTargetBranch} 10 | remotes: 11 | - origin: 12 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/smart-proxy.git' 13 | -------------------------------------------------------------------------------- /jobs/sat-bz-redmine-sync.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: sat-bz-redmine-sync 3 | sandbox: true 4 | project-type: pipeline 5 | auth-token: "" 6 | display-name: 'Sync redmine issues with bugzilla' 7 | triggers: 8 | - timed: "0 */4 * * *" 9 | dsl: 10 | !include-raw: 11 | - workflows/bugzilla/bugzilla.groovy 12 | - workflows/bugzilla/redmine-sync.groovy 13 | -------------------------------------------------------------------------------- /jobs/scm/foreman_gitlab_checkout.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: foreman_gitlab_checkout 3 | scm: 4 | - git: 5 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/foreman.git' 6 | branches: 7 | - origin/${gitlabSourceBranch} 8 | skip-tag: true 9 | wipe-workspace: true 10 | basedir: 'foreman' 11 | timeout: 20 12 | -------------------------------------------------------------------------------- /jobs/scm/puppet_puppet_gitlab.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: puppet_puppet_gitlab 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | timeout: 20 7 | skip-tag: true 8 | branches: 9 | - ${gitlabTargetBranch} 10 | remotes: 11 | - origin: 12 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/puppet-puppet.git' 13 | -------------------------------------------------------------------------------- /jobs/scm/satellite_clone_github.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: satellite_clone_github 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | branches: 7 | - ${sha1} 8 | remotes: 9 | - origin: 10 | url: 'https://github.com/RedHatSatellite/satellite-clone.git' 11 | refspec: +refs/pull/*:refs/remotes/origin/pr/* 12 | -------------------------------------------------------------------------------- /jobs/scm/puppet_capsule_gitlab.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: puppet_capsule_gitlab 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | timeout: 20 7 | skip-tag: true 8 | branches: 9 | - ${gitlabTargetBranch} 10 | remotes: 11 | - origin: 12 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/puppet-capsule.git' 13 | -------------------------------------------------------------------------------- /jobs/scm/puppet_foreman_gitlab.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: puppet_foreman_gitlab 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | timeout: 20 7 | skip-tag: true 8 | branches: 9 | - ${gitlabTargetBranch} 10 | remotes: 11 | - origin: 12 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/puppet-foreman.git' 13 | -------------------------------------------------------------------------------- /jobs/scm/puppet_katello_gitlab.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: puppet_katello_gitlab 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | timeout: 20 7 | skip-tag: true 8 | branches: 9 | - ${gitlabTargetBranch} 10 | remotes: 11 | - origin: 12 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/puppet-katello.git' 13 | -------------------------------------------------------------------------------- /workflows/test/satelliteClone.groovy: -------------------------------------------------------------------------------- 1 | node('sat6-build') { 2 | 3 | // ssh into machine 4 | // cd ~/dolly 5 | // run ./jenkins/run_dolly.rb 6 | // check exit code 7 | stage("Run Clones") { 8 | runOnBread("~/dolly/jenkins/run_dolly.rb ${pr_number}") 9 | } 10 | } 11 | 12 | def runOnBread(action) { 13 | sh "ssh jomitsch@${env.BREAD_HOST} \"${action}\"" 14 | } 15 | -------------------------------------------------------------------------------- /ansible/playbooks/update_packaging_repo.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: compose 3 | become: true 4 | become_user: compose 5 | tasks: 6 | - name: 'Clone packaging repository' 7 | git: 8 | repo: "https://{{ git_server }}/{{ git_group }}/satellite-packaging.git" 9 | dest: "/home/compose/satellite-packaging" 10 | version: "SATELLITE-{{ satellite_version }}" 11 | update: yes 12 | -------------------------------------------------------------------------------- /jobs/scm/katello_gitlab.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: katello_gitlab 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | timeout: 20 7 | skip-tag: true 8 | basedir: 'plugin' 9 | branches: 10 | - ${gitlabTargetBranch} 11 | remotes: 12 | - origin: 13 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/katello.git' 14 | -------------------------------------------------------------------------------- /scripts/testblame_report.sh: -------------------------------------------------------------------------------- 1 | sh setup.sh 2 | dir_path=$PWD 3 | mkdir clone 4 | testblame set-config --git-url="https://github.com/SatelliteQE/robottelo" --jenkins-url ${JENKINS_JOB_URL} --clone-path ${dir_path}/clone/ 5 | testblame send-email-report --with-link=yes --from_email=testblame@example.com --to_email=user@example.com --subject="Testing Result" --component robottelo_component.json --local-repo=${dir_path}/clone/ 6 | -------------------------------------------------------------------------------- /jobs/scm/puppet_foreman_proxy_gitlab.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: puppet_foreman_proxy_gitlab 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | timeout: 20 7 | skip-tag: true 8 | branches: 9 | - ${gitlabTargetBranch} 10 | remotes: 11 | - origin: 12 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/puppet-foreman_proxy.git' 13 | -------------------------------------------------------------------------------- /jobs/scm/smart_proxy_dynflow_gitlab.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: smart_proxy_dynflow_gitlab 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | timeout: 20 7 | skip-tag: true 8 | branches: 9 | - ${gitlabTargetBranch} 10 | remotes: 11 | - origin: 12 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/smart_proxy_dynflow.git' 13 | -------------------------------------------------------------------------------- /jobs/scm/smart_proxy_openscap_gitlab.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: smart_proxy_openscap_gitlab 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | timeout: 20 7 | skip-tag: true 8 | branches: 9 | - ${gitlabTargetBranch} 10 | remotes: 11 | - origin: 12 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/smart_proxy_openscap.git' 13 | -------------------------------------------------------------------------------- /jobs/scm/test_repo_gitlab.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: test_repo_gitlab 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | timeout: 20 7 | skip-tag: true 8 | basedir: 'plugin' 9 | branches: 10 | - ${gitlabTargetBranch} 11 | remotes: 12 | - origin: 13 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/test_repo.git' 14 | -------------------------------------------------------------------------------- /lib/python/fake_rhpkg.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """ fake_rhpkg.py - Wrap rhpkg to make it run 'mockbuild' when 'build' is 3 | called and never push 4 | """ 5 | import argparse 6 | 7 | 8 | def main(): 9 | parser = argparse.ArgumentParser() 10 | parser.add_argument('command', help='rhpkg commad to run') 11 | parser.parse_args() 12 | pass 13 | 14 | 15 | if __name__ == '__main__': 16 | main() 17 | -------------------------------------------------------------------------------- /jobs/scm/foreman_plugin_gitlab.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: foreman_plugin_gitlab 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | timeout: 20 7 | skip-tag: true 8 | basedir: 'foreman' 9 | branches: 10 | - ${gitlabTargetBranch} 11 | remotes: 12 | - origin: 13 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/foreman.git' 14 | -------------------------------------------------------------------------------- /jobs/scm/foreman_docker_gitlab.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: foreman_docker_gitlab 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | timeout: 20 7 | skip-tag: true 8 | basedir: 'plugin' 9 | branches: 10 | - ${gitlabTargetBranch} 11 | remotes: 12 | - origin: 13 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/foreman_docker.git' 14 | -------------------------------------------------------------------------------- /workflows/packaging/satellitePackaging.groovy: -------------------------------------------------------------------------------- 1 | package_version = env.gitlabTargetBranch.minus('SATELLITE-') 2 | if (package_version == "STREAM" ) { 3 | package_version = package_version.toLowerCase() 4 | } 5 | packaging_repo = 'satellite-packaging' 6 | packaging_repo_project = 'satellite6' 7 | packaging_disttag = 'sat' 8 | tool_belt_repo_folder = "satellite_${package_version}" 9 | def tool_belt_config = './configs/satellite/' 10 | -------------------------------------------------------------------------------- /jobs/scm/foreman_bootdisk_gitlab.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: foreman_bootdisk_gitlab 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | timeout: 20 7 | skip-tag: true 8 | basedir: 'plugin' 9 | branches: 10 | - ${gitlabTargetBranch} 11 | remotes: 12 | - origin: 13 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/foreman_bootdisk.git' 14 | -------------------------------------------------------------------------------- /jobs/scm/foreman_openscap_gitlab.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: foreman_openscap_gitlab 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | timeout: 20 7 | skip-tag: true 8 | basedir: 'plugin' 9 | branches: 10 | - ${gitlabTargetBranch} 11 | remotes: 12 | - origin: 13 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/foreman_openscap.git' 14 | -------------------------------------------------------------------------------- /jobs/scm/foreman_discovery_gitlab.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: foreman_discovery_gitlab 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | timeout: 20 7 | skip-tag: true 8 | basedir: 'plugin' 9 | branches: 10 | - ${gitlabTargetBranch} 11 | remotes: 12 | - origin: 13 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/foreman_discovery.git' 14 | -------------------------------------------------------------------------------- /jobs/scm/hammer_cli_foreman_discovery_gitlab.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: hammer_cli_foreman_discovery_gitlab 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | timeout: 20 7 | skip-tag: true 8 | branches: 9 | - ${gitlabTargetBranch} 10 | remotes: 11 | - origin: 12 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/hammer_cli_foreman_discovery.git' 13 | -------------------------------------------------------------------------------- /jobs/scm/satellite-packaging_gitlab_checkout.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: satellite-packaging_gitlab_checkout 3 | scm: 4 | - git: 5 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/satellite-packaging.git' 6 | branches: 7 | - origin/${gitlabSourceBranch} 8 | skip-tag: true 9 | wipe-workspace: true 10 | basedir: 'satellite-packaging' 11 | timeout: 20 12 | -------------------------------------------------------------------------------- /jobs/scm/smart_proxy_remote_execution_ssh_gitlab.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: smart_proxy_remote_execution_ssh_gitlab 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | timeout: 20 7 | skip-tag: true 8 | branches: 9 | - ${gitlabTargetBranch} 10 | remotes: 11 | - origin: 12 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/smart_proxy_remote_execution_ssh.git' 13 | -------------------------------------------------------------------------------- /scripts/test_tool_belt.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -exl 2 | 3 | # RVM Ruby environment 4 | # Use a gemset unique to each executor to enable parallel builds 5 | gemset=$(echo ${JOB_NAME} | cut -d/ -f1)-${EXECUTOR_NUMBER} 6 | rvm use ruby-2.2@${gemset} --create 7 | rvm gemset empty --force 8 | gem update --no-ri --no-rdoc 9 | gem install bundler --no-ri --no-rdoc 10 | 11 | echo "gem 'rubocop'" >> Gemfile.local 12 | 13 | bundle install 14 | 15 | bundle exec rake 16 | -------------------------------------------------------------------------------- /vars/branch_selection.groovy: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env groovy 2 | 3 | /* Usage: 4 | branch_selection(satellite_version) 5 | ex : branch_selection("6.6") 6 | */ 7 | def call(String satellite_version='6.9') { 8 | branch_map=[ 9 | "6.6": "6.6.z", 10 | "6.7": "6.7.z", 11 | "6.8": "6.8.z", 12 | ] 13 | def branch = satellite_version in branch_map ? branch_map[satellite_version] : "6.9.freeze" 14 | return branch 15 | } 16 | -------------------------------------------------------------------------------- /jobs/satellite6-manifest-downloader.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'satellite6-manifest-downloader' 3 | display-name: 'Satellite6-Manifest-Downloader' 4 | project-type: pipeline 5 | sandbox: true 6 | description: | 7 | Downloads the Satellite6 Manifest from access.redhat.com 8 | triggers: 9 | - timed: 'H 17 * * 0,2,4' 10 | dsl: 11 | !include-raw: 12 | - workflows/qe/satellite6-manifest-downloader.groovy 13 | -------------------------------------------------------------------------------- /jobs/satellite6-upgrade-cleanup.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: satellite6-upgrade-cleanup 3 | project-type: pipeline 4 | sandbox: true 5 | concurrent: false 6 | description: | 7 |

Job that runs cleanup scripts. currently this only runs container 8 | cleanup on docker VM

9 | triggers: 10 | - timed: 'H 19 * * 4' 11 | dsl: 12 | !include-raw: 13 | - workflows/qe/satellite6-upgrade-cleanup.groovy 14 | -------------------------------------------------------------------------------- /jobs/scm/foreman_remote_execution_gitlab.yaml: -------------------------------------------------------------------------------- 1 | - scm: 2 | name: foreman_remote_execution_gitlab 3 | scm: 4 | - git: 5 | wipe-workspace: true 6 | timeout: 20 7 | skip-tag: true 8 | basedir: 'plugin' 9 | branches: 10 | - ${gitlabTargetBranch} 11 | remotes: 12 | - origin: 13 | url: 'https://$GIT_HOSTNAME/$GIT_ORGANIZATION/foreman_remote_execution.git' 14 | -------------------------------------------------------------------------------- /ansible/playbooks/content_view_version_cleanup.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | roles: 4 | - role: theforeman.foreman.content_view_version_cleanup 5 | vars: 6 | foreman_username: "{{ username }}" 7 | foreman_password: "{{ password }}" 8 | foreman_server_url: "{{ server }}" 9 | foreman_validate_certs: False 10 | foreman_organization: "{{ organization }}" 11 | foreman_content_view_version_cleanup_keep: 2 12 | -------------------------------------------------------------------------------- /ansible/playbooks/sync_products.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | vars: 4 | organization: Sat6-CI 5 | tasks: 6 | - name: "sync repositories for '{{ product }}' product" 7 | theforeman.foreman.repository_sync: 8 | username: "{{ username }}" 9 | password: "{{ password }}" 10 | server_url: "{{ server }}" 11 | product: "{{ product }}" 12 | organization: "{{ organization }}" 13 | validate_certs: False 14 | -------------------------------------------------------------------------------- /scripts/clone_foreman.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -xe 2 | 3 | if [ -d foreman ]; then 4 | rm -rf foreman 5 | fi 6 | git clone https://$GIT_HOSTNAME/$GIT_ORGANIZATION/foreman.git 7 | 8 | pushd foreman 9 | git fetch origin 10 | git checkout origin/${gitlabTargetBranch} 11 | 12 | # Change the gem source if it's for Sat-6.3.0 13 | if [ ${gitlabTargetBranch} == 'SATELLITE-6.3.0' ]; then 14 | sed -i "s/https:\/\/rubygems.org/${GEMSNAP_URL}/g" Gemfile 15 | fi 16 | 17 | popd 18 | -------------------------------------------------------------------------------- /workflows/dogfoodCleanup.groovy: -------------------------------------------------------------------------------- 1 | node('sat6-build') { 2 | 3 | stage("Setup Workspace") { 4 | 5 | deleteDir() 6 | setupAnsibleEnvironment {} 7 | 8 | } 9 | 10 | stage("Clean Content Views") { 11 | 12 | runDownstreamPlaybook { 13 | playbook = 'playbooks/content_view_version_cleanup.yml' 14 | extraVars = [ 15 | 'organization': 'Sat6-CI', 16 | ] 17 | } 18 | 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /lib/python/mock_config/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """mock_config/__init__.py - Library of ways to make Mock configuration 3 | """ 4 | from builder import to 5 | from composition import compose, ConfigurationObject 6 | from highlevel import bind_mount, file, env_vars, use_host_resolv 7 | from koji import from_koji 8 | 9 | __all__ = [ 10 | 'compose', 'to', 'ConfigurationObject', 'bind_mount', 'file', 'env_vars', 11 | 'use_host_resolv', 'from_koji' 12 | ] 13 | -------------------------------------------------------------------------------- /jobs/properties/gitlab_variables.yaml: -------------------------------------------------------------------------------- 1 | - property: 2 | name: gitlab_variables 3 | properties: 4 | - inject: 5 | groovy-content: | 6 | if (!binding.variables.containsKey('gitlabSourceBranch')) { 7 | return ["gitlabSourceBranch": "$sourceBranch", "gitlabTargetBranch": "$targetBranch", "gitlabSourceRepoName": "$sourceRepoName"] 8 | } 9 | - gitlab: 10 | connection: gitlab-conn 11 | -------------------------------------------------------------------------------- /scripts/setup_gemset.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | # RVM Ruby environment 4 | . /etc/profile.d/rvm.sh 5 | # Use a gemset unique to each executor to enable parallel builds 6 | 7 | gemset=$(echo ${JOB_NAME} | cut -d/ -f1)-${EXECUTOR_NUMBER} 8 | rvm use ruby-${ruby}@${gemset} --create 9 | rvm gemset empty --force 10 | gem update --no-ri --no-rdoc 11 | gem install bundler --no-ri --no-rdoc 12 | 13 | 14 | if [ -f 'Gemfile' ]; then 15 | bundle install --without development 16 | fi 17 | -------------------------------------------------------------------------------- /scripts/test_puppet_plugins.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -exl 2 | 3 | # RVM Ruby environment 4 | # Use a gemset unique to each executor to enable parallel builds 5 | gemset=$(echo ${JOB_NAME} | cut -d/ -f1)-${EXECUTOR_NUMBER} 6 | rvm use ruby-${ruby}@${gemset} --create 7 | rvm gemset empty --force 8 | gem install bundler --no-ri --no-rdoc 9 | 10 | PUPPET_VERSION=${puppet} bundle install --without system_tests development 11 | 12 | ONLY_OS=redhat-6-x86_64,redhat-7-x86_64 bundle exec rake 13 | -------------------------------------------------------------------------------- /vars/make_venv.groovy: -------------------------------------------------------------------------------- 1 | def call(Object param = [:]) { 2 | 3 | if (param in String) param = [venv: param] 4 | 5 | def venv = param.get('venv', defaults.venv) 6 | def venvModule = param.get('venvModule', defaults.venvModule) 7 | def python = param.get('python', defaults.python) 8 | 9 | sh """ 10 | rm -rf ${venv} 11 | ${python} -m ${venvModule} ${venv} 12 | source ${venv}/bin/activate 13 | pip install -U pip 14 | """ 15 | } 16 | -------------------------------------------------------------------------------- /ansible/playbooks/publish_content_views.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | vars: 4 | organization: Sat6-CI 5 | tasks: 6 | - name: "publish '{{ content_view }}' content view" 7 | theforeman.foreman.content_view_version: 8 | username: "{{ username }}" 9 | password: "{{ password }}" 10 | server_url: "{{ server }}" 11 | content_view: "{{ content_view }}" 12 | organization: "{{ organization }}" 13 | validate_certs: False 14 | -------------------------------------------------------------------------------- /jobs/defaults/defaults.yaml: -------------------------------------------------------------------------------- 1 | - defaults: 2 | name: global 3 | description: | 4 | This job is automatically updated by jenkins job builder, any manual 5 | change will be lost in the next update. If you want to make permanent 6 | changes, check out the 7 | robottelo-ci 8 | repository. 9 | build-discarder: 10 | num-to-keep: 32 11 | properties: 12 | - default-properties 13 | -------------------------------------------------------------------------------- /jobs/wrappers/satellite6_automation_wrappers.yaml: -------------------------------------------------------------------------------- 1 | - wrapper: 2 | name: satellite6-automation-wrappers 3 | wrappers: 4 | - config-file-provider: 5 | files: 6 | - file-id: bc5f0cbc-616f-46de-bdfe-2e024e84fcbf 7 | variable: CONFIG_FILES 8 | - workspace-cleanup: 9 | include: 10 | - 'robottelo*.log' 11 | - build-name: 12 | name: '#${BUILD_NUMBER} ${ENV,var="BUILD_LABEL"}' 13 | -------------------------------------------------------------------------------- /jobs/builders/satellite6_upgrade_tiers_builders.yaml: -------------------------------------------------------------------------------- 1 | - builder: 2 | name: satellite6-upgrade-tiers-builders 3 | builders: 4 | - shining-panda: 5 | build-environment: virtualenv 6 | python-version: System-CPython-3.8 7 | clear: true 8 | nature: shell 9 | command: 10 | !include-raw: 11 | - 'satellite6-upgrade-tier-source.sh' 12 | - 'satellite6-foreman-debug.sh' 13 | -------------------------------------------------------------------------------- /jobs/release/rhel-release-pipeline.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: rhel-release-pipeline 3 | project-type: pipeline 4 | sandbox: true 5 | triggers: 6 | - timed: '0 22 * * 0' 7 | dsl: 8 | !include-raw: 9 | - workflows/rhelPipeline.groovy 10 | - foreman-infra/pipelines/lib/ansible.groovy 11 | - foreman-infra/pipelines/lib/virtualEnv.groovy 12 | - workflows/lib/runPlaybook.groovy 13 | notifications: 14 | - snapper_notifications 15 | -------------------------------------------------------------------------------- /jobs/dogfood-cleanup.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: dogfood-cleanup 3 | project-type: pipeline 4 | sandbox: true 5 | auth-token: "" 6 | triggers: 7 | - timed: "@midnight" 8 | notifications: 9 | - snapper_notifications 10 | dsl: 11 | !include-raw: 12 | - workflows/dogfoodCleanup.groovy 13 | - foreman-infra/pipelines/lib/ansible.groovy 14 | - foreman-infra/pipelines/lib/virtualEnv.groovy 15 | - workflows/lib/runPlaybook.groovy 16 | -------------------------------------------------------------------------------- /scripts/robottelo-ci-update-jobs.sh: -------------------------------------------------------------------------------- 1 | pip install -r requirements.txt 2 | 3 | cat > jenkins_jobs.ini < ENV['organization'], 7 | 'username' => ENV['SATELLITE_USERNAME'], 8 | 'password' => ENV['SATELLITE_PASSWORD'], 9 | 'server' => ENV['SATELLITE_SERVER'], 10 | 'content_view' => ENV['content_view_name'], 11 | 'lifecycle_environment' => ENV['lifecycle_environment'], 12 | 'from_lifecycle_environment' => ENV['from_lifecycle_environment'] 13 | } 14 | 15 | File.open('config.yaml', 'w') do |file| 16 | file.write(config.to_yaml) 17 | end 18 | -------------------------------------------------------------------------------- /vars/sh_venv.groovy: -------------------------------------------------------------------------------- 1 | def call(Object param = [:]) { 2 | 3 | if (param in String) param = [script: param] 4 | 5 | def script = param.get('script', "") 6 | def venv = param.get('venv', ".env") 7 | def label = param.get('label', "") 8 | def stdo = param.get('returnStdout', false) 9 | def rtnc = param.get('returnStatus', false) 10 | 11 | 12 | def result = sh label: label, returnStatus: rtnc, returnStdout: stdo, script: """ 13 | source ${venv}/bin/activate 14 | ${script} 15 | """ 16 | return result 17 | } 18 | -------------------------------------------------------------------------------- /jobs/unittest/satellite6-unit-test-focaccia.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: satellite6-unit-test-focaccia 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/gitlabEnv.groovy 16 | - workflows/test/focaccia.groovy 17 | - pipelines/lib/rvm.groovy 18 | - workflows/lib/gitlab.groovy 19 | -------------------------------------------------------------------------------- /jobs/triggers/gitlab_build_on_change.yaml: -------------------------------------------------------------------------------- 1 | - trigger: 2 | name: gitlab_build_on_change 3 | triggers: 4 | - gitlab: 5 | trigger-push: true 6 | trigger-merge-request: true 7 | trigger-open-merge-request-push: source 8 | ci-skip: false 9 | set-build-description: true 10 | add-note-merge-request: true 11 | add-vote-merge-request: true 12 | add-ci-message: true 13 | allow-all-branches: true 14 | accept-merge-request-on-success: false 15 | note-regex: "\\[test\\]" 16 | -------------------------------------------------------------------------------- /jobs/builders/satellite6_provisioning_builders.yaml: -------------------------------------------------------------------------------- 1 | - builder: 2 | name: satellite6-provisioning-builders 3 | builders: 4 | - shining-panda: 5 | build-environment: virtualenv 6 | python-version: System-CPython-3.8 7 | clear: true 8 | nature: shell 9 | command: 10 | !include-raw: 11 | - 'pip-install-pycurl.sh' 12 | - 'satellite6-provisioning.sh' 13 | - 'satellite6-foreman-debug.sh' 14 | - 'satellite6-graceful-shutdown.sh' 15 | -------------------------------------------------------------------------------- /jobs/triggers/gitlab_build_on_merge.yaml: -------------------------------------------------------------------------------- 1 | - trigger: 2 | name: gitlab_build_on_merge 3 | triggers: 4 | - gitlab: 5 | trigger-push: false 6 | trigger-merge-request: false 7 | trigger-accepted-merge-request: true 8 | trigger-open-merge-request-push: never 9 | ci-skip: false 10 | set-build-description: true 11 | add-note-merge-request: false 12 | add-vote-merge-request: false 13 | allow-all-branches: true 14 | accept-merge-request-on-success: false 15 | trigger-note: false 16 | -------------------------------------------------------------------------------- /scripts/test_smart_proxy_plugins.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -exl 2 | 3 | # RVM Ruby environment 4 | # Use a gemset unique to each executor to enable parallel builds 5 | gemset=$(echo ${JOB_NAME} | cut -d/ -f1)-${EXECUTOR_NUMBER} 6 | rvm use ruby-${ruby}@${gemset} --create 7 | rvm gemset empty --force 8 | gem install bundler --no-ri --no-rdoc 9 | 10 | sed -e '/gem .*smart_proxy/ s/^#*/#/' -i Gemfile 11 | 12 | echo "gem 'smart_proxy', :git => 'https://${GIT_HOSTNAME}/${GIT_ORGANIZATION}/smart-proxy.git', :ref => '${gitlabTargetBranch}'" > Gemfile.local.rb 13 | 14 | bundle install 15 | bundle exec rake test 16 | -------------------------------------------------------------------------------- /scripts/satellite6-foreman-debug.sh: -------------------------------------------------------------------------------- 1 | ssh_opts='-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' 2 | 3 | # Grab log files 4 | rm -rf foreman-debug.tar.xz 5 | if [ ! "${SERVER_HOSTNAME}" ]; then 6 | SERVER_HOSTNAME="$(grep SERVER_HOSTNAME build_env.properties | cut -d= -f2-)" 7 | fi 8 | # Disable error checking, for more information check the related issue 9 | # http://projects.theforeman.org/issues/13442 10 | set +e 11 | ssh $ssh_opts "root@${SERVER_HOSTNAME}" foreman-debug -s 0 -q -d "~/foreman-debug" 12 | set -e 13 | scp $ssh_opts -r "root@${SERVER_HOSTNAME}:~/foreman-debug.tar.xz" . 14 | -------------------------------------------------------------------------------- /jobs/parameters/merge_request.yaml: -------------------------------------------------------------------------------- 1 | - parameter: 2 | name: merge_request 3 | parameters: 4 | - string: 5 | name: sourceRepoName 6 | default: 7 | description: 'Source repository name (e.g. ehelms/foreman)' 8 | - string: 9 | name: sourceBranch 10 | default: 11 | description: 'Source repository branch where the change exists (e.g. my-bug-branch)' 12 | - string: 13 | name: targetBranch 14 | default: 15 | description: 'Branch on the target repository that the merge request is going into (e.g. master)' 16 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-runcible.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-runcible' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/gitlabEnv.groovy 16 | - workflows/test/runcible.groovy 17 | - pipelines/lib/rvm.groovy 18 | - workflows/lib/gitlab.groovy 19 | notifications: 20 | - snapper_notifications 21 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-tool-belt.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: sat6-unit-test-tool-belt 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/gitlabEnv.groovy 16 | - workflows/test/tool_belt.groovy 17 | - pipelines/lib/rvm.groovy 18 | - workflows/lib/gitlab.groovy 19 | notifications: 20 | - snapper_notifications 21 | -------------------------------------------------------------------------------- /jobs/release/sat-maintenance-release-pipeline.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: sat-maintenance-release-pipeline 3 | project-type: pipeline 4 | sandbox: true 5 | triggers: 6 | - timed: 'H 9 * * *' 7 | dsl: 8 | !include-raw: 9 | - workflows/maintenance/releasePipelineAttributes.groovy 10 | - workflows/maintenance/releasePipeline.groovy 11 | - workflows/lib/libvirt.groovy 12 | - foreman-infra/pipelines/lib/ansible.groovy 13 | - foreman-infra/pipelines/lib/virtualEnv.groovy 14 | - workflows/lib/runPlaybook.groovy 15 | notifications: 16 | - snapper_notifications 17 | -------------------------------------------------------------------------------- /jobs/satellite6-automation-cleanup.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: satellite6-automation-cleanup 3 | node: sat6-rhel7 4 | concurrent: false 5 | description: | 6 |

Job that runs cleanup scripts. Currently this only runs container cleanup.

7 | scm: 8 | - git: 9 | url: 'https://github.com/SatelliteQE/automation-tools.git' 10 | branches: 11 | - origin/master 12 | skip-tag: true 13 | wipe-workspace: true 14 | triggers: 15 | - timed: '@midnight' 16 | builders: 17 | - shell: '/bin/bash misc/cleanup_scripts/clean_docker.sh' 18 | -------------------------------------------------------------------------------- /jobs/builders/satellite6_capsule_sanity_check_builders.yaml: -------------------------------------------------------------------------------- 1 | - builder: 2 | name: satellite6-capsule-sanity-check-builders 3 | builders: 4 | - shining-panda: 5 | build-environment: virtualenv 6 | python-version: System-CPython-3.8 7 | clear: true 8 | nature: shell 9 | command: 10 | !include-raw: 11 | - 'pip-install-pycurl.sh' 12 | - 'satellite6-libvirt-capsule-provision.sh' 13 | - 'satellite6-libvirt-capsule-install.sh' 14 | - 'satellite6-configure-capsule-variables.sh' 15 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-foreman-installer.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-foreman-installer' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/gitlabEnv.groovy 16 | - workflows/test/foremanInstaller.groovy 17 | - pipelines/lib/rvm.groovy 18 | - workflows/lib/gitlab.groovy 19 | notifications: 20 | - snapper_notifications 21 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-satellite-installer.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-satellite-installer' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/gitlabEnv.groovy 16 | - workflows/test/satelliteInstaller.groovy 17 | - pipelines/lib/rvm.groovy 18 | - workflows/lib/gitlab.groovy 19 | notifications: 20 | - snapper_notifications 21 | -------------------------------------------------------------------------------- /setup_jjb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [[ ! -e jenkins_jobs.ini ]]; then 4 | cp jenkins_jobs.ini.sample jenkins_jobs.ini 5 | fi 6 | 7 | rm -rf foreman-infra 8 | rm -rf _build 9 | mkdir _build 10 | cd _build 11 | 12 | git clone --depth 1 https://github.com/theforeman/jenkins-jobs.git 13 | pushd jenkins-jobs 14 | git grep -l '/etc/profile.d/rvm.sh' | grep -v yaml |xargs sed -i '1 s|^.*$|#!/bin/bash -exl|; s|\. /etc/profile.d/rvm.sh||' 15 | popd 16 | 17 | cd .. 18 | 19 | cp -rf _build/jenkins-jobs/theforeman.org foreman-infra 20 | rm -rf _build 21 | 22 | # Clean up foreman-infra defaults and jobs 23 | rm -rf foreman-infra/yaml/{defaults,jobs} 24 | -------------------------------------------------------------------------------- /jobs/release/sat-maintenance-next-release-pipeline.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: sat-maintenance-next-release-pipeline 3 | project-type: pipeline 4 | sandbox: true 5 | triggers: 6 | - timed: 'H 9 30 * *' 7 | dsl: 8 | !include-raw: 9 | - workflows/maintenance-next/releasePipelineAttributes.groovy 10 | - workflows/maintenance/releasePipeline.groovy 11 | - workflows/lib/libvirt.groovy 12 | - foreman-infra/pipelines/lib/ansible.groovy 13 | - foreman-infra/pipelines/lib/virtualEnv.groovy 14 | - workflows/lib/runPlaybook.groovy 15 | notifications: 16 | - snapper_notifications 17 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-kafo.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-kafo' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/branch_map.groovy 16 | - workflows/lib/gitlabEnv.groovy 17 | - workflows/test/kafo.groovy 18 | - pipelines/lib/rvm.groovy 19 | - workflows/lib/gitlab.groovy 20 | notifications: 21 | - snapper_notifications 22 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-ohsnap.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-ohsnap' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/gitlabEnv.groovy 16 | - workflows/test/ohsnap.groovy 17 | - pipelines/lib/rvm.groovy 18 | - pipelines/lib/foreman.groovy 19 | - workflows/lib/gitlab.groovy 20 | notifications: 21 | - snapper_notifications 22 | 23 | -------------------------------------------------------------------------------- /scripts/promote_content_view.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -xe 2 | 3 | version_id=`hammer --username ${SATELLITE_USERNAME} --password ${SATELLITE_PASSWORD} --server ${SATELLITE_SERVER} content-view version list --organization "${organization}" --content-view "${content_view_name}" --environment "${from_lifecycle_environment}" | awk -F'|' '{print $1}' | sort -n | tac | head -n 1` 4 | 5 | hammer --username ${SATELLITE_USERNAME} --password ${SATELLITE_PASSWORD} --server ${SATELLITE_SERVER} \ 6 | content-view version promote --to-lifecycle-environment "${lifecycle_environment}" --organization \ 7 | "${organization}" --content-view "${content_view_name}" --id "${version_id}" 8 | -------------------------------------------------------------------------------- /scripts/satellite6-closed-loop.sh: -------------------------------------------------------------------------------- 1 | # Install python dependencies 2 | echo "Installing python dependencies.." 3 | pip install -r requirements.txt 4 | 5 | echo "Creating user config.." 6 | cp user.ini.sample ~/.config/user.ini 7 | sed -i "s/^username.*/username=$BUGZILLA_USER/" ~/.config/user.ini 8 | sed -i "s/^password.*/password=$BUGZILLA_PASSWORD/" ~/.config/user.ini 9 | 10 | echo "Creating bz config.." 11 | cp bz.ini.sample bz.ini 12 | 13 | echo "Setting changed date to yesterday and setting YY/MM/DD format.." 14 | sed -i "s/^v3.*/v3=$(date -d "-1 days" +%Y-%m-%d)/" bz.ini 15 | 16 | echo "Running closed loop script.." 17 | python run.py --run=update 18 | -------------------------------------------------------------------------------- /scripts/test_test_repo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -exl 2 | 3 | cd plugin/ 4 | 5 | # RVM Ruby environment 6 | # Use a gemset unique to each executor to enable parallel builds 7 | gemset=$(echo ${JOB_NAME} | cut -d/ -f1)-${EXECUTOR_NUMBER} 8 | rvm use ruby-${ruby}@${gemset} --create 9 | rvm gemset empty --force 10 | gem update --no-ri --no-rdoc 11 | gem install bundler --no-ri --no-rdoc 12 | 13 | # Retry as rubygems (being external to us) can be intermittent 14 | while ! bundle install --without=development; do 15 | (( c += 1 )) 16 | if [ $c -ge 5 ]; then 17 | echo "bundle install continually failed" >&2 18 | exit 1 19 | fi 20 | done 21 | 22 | bundle exec rake 23 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-smart-proxy.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-smart-proxy' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/gitlabEnv.groovy 16 | - workflows/test/puppet-matrix.groovy 17 | - workflows/test/smart-proxy.groovy 18 | - pipelines/lib/rvm.groovy 19 | - workflows/lib/gitlab.groovy 20 | notifications: 21 | - snapper_notifications 22 | -------------------------------------------------------------------------------- /workflows/bugzilla/redmine-sync.groovy: -------------------------------------------------------------------------------- 1 | node('sat6-rhel7') { 2 | stage('Setup workspace') { 3 | setup_workspace() 4 | } 5 | 6 | stage('Sync Bugs') { 7 | withCredentials([string(credentialsId: 'PM_SAT_API_KEY', variable: 'BZ_API_KEY'), 8 | string(credentialsId: 'PM_SAT_REDMINE_KEY', variable: 'REDMINE_API_KEY')]) { 9 | 10 | virtEnv3('./ci', "cd scripts && ./redmine_sync.py --bz_username pm-sat@redhat.com --bz_api_key '${env.BZ_API_KEY}' --redmine_key '${env.REDMINE_API_KEY}' sync" ) 11 | } 12 | } 13 | 14 | stage('Teardown') { 15 | notify("Redmine sync run has completed") 16 | } 17 | } 18 | 19 | -------------------------------------------------------------------------------- /ansible/playbooks/promote_content_view.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | tasks: 4 | - name: "promote '{{ content_view_name }}' content view to '{{ to_lifecycle_environment }}'" 5 | theforeman.foreman.content_view_version: 6 | username: "{{ username }}" 7 | password: "{{ password }}" 8 | server_url: "{{ server }}" 9 | organization: "{{ organization }}" 10 | content_view: "{{ content_view_name }}" 11 | current_lifecycle_environment: "{{ from_lifecycle_environment }}" 12 | lifecycle_environments: 13 | - "{{ to_lifecycle_environment }}" 14 | force_promote: true 15 | validate_certs: False 16 | -------------------------------------------------------------------------------- /workflows/test/foremanInstaller.groovy: -------------------------------------------------------------------------------- 1 | node('rvm') { 2 | 3 | stage("Setup Environment") { 4 | 5 | deleteDir() 6 | gitlab_clone_and_merge('foreman-installer') 7 | 8 | } 9 | 10 | stage('Setup RVM') { 11 | 12 | configureRVM('2.5') 13 | 14 | } 15 | 16 | stage('Tests') { 17 | 18 | try { 19 | 20 | gitlabCommitStatus { 21 | withRVM(["bundle install"], '2.5') 22 | withRVM(["bundle exec rake"], '2.5') 23 | } 24 | 25 | } finally { 26 | 27 | archive "Gemfile.lock pkg/*" 28 | cleanupRVM('2.5') 29 | 30 | } 31 | 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /workflows/test/satelliteInstaller.groovy: -------------------------------------------------------------------------------- 1 | node('rvm') { 2 | 3 | stage("Setup Environment") { 4 | 5 | deleteDir() 6 | gitlab_clone_and_merge('satellite-installer') 7 | 8 | } 9 | 10 | stage('Setup RVM') { 11 | 12 | configureRVM('2.5') 13 | 14 | } 15 | 16 | stage('Tests') { 17 | 18 | try { 19 | 20 | gitlabCommitStatus { 21 | withRVM(["bundle install"], '2.5') 22 | withRVM(["bundle exec rake"], '2.5') 23 | } 24 | 25 | } finally { 26 | 27 | archive "Gemfile.lock pkg/*" 28 | cleanupRVM('2.5') 29 | 30 | } 31 | 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-kafo.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-kafo' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | dsl: 8 | !include-raw: 9 | - workflows/lib/branch_map.groovy 10 | - ./repos/kafo_repo.groovy 11 | - ./source_types/sourceTypeGem.groovy 12 | - workflows/releasePackageWorkflow.groovy 13 | - workflows/lib/toolbelt.groovy 14 | - foreman-infra/pipelines/lib/ansible.groovy 15 | - foreman-infra/pipelines/lib/virtualEnv.groovy 16 | - workflows/lib/runPlaybook.groovy 17 | notifications: 18 | - snapper_notifications 19 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-pulp.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-pulp' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | dsl: 8 | !include-raw: 9 | - workflows/lib/branch_map.groovy 10 | - ./repos/pulp_repo.groovy 11 | - ./source_types/sourceTypeTar.groovy 12 | - workflows/releasePackageWorkflow.groovy 13 | - workflows/lib/toolbelt.groovy 14 | - foreman-infra/pipelines/lib/ansible.groovy 15 | - foreman-infra/pipelines/lib/virtualEnv.groovy 16 | - workflows/lib/runPlaybook.groovy 17 | notifications: 18 | - snapper_notifications 19 | -------------------------------------------------------------------------------- /workflows/test/smart-proxy-plugin.groovy: -------------------------------------------------------------------------------- 1 | node('sat6-build') { 2 | 3 | stage('Setup Git Repos') { 4 | 5 | deleteDir() 6 | gitlab_clone_and_merge(plugin_name) 7 | 8 | } 9 | 10 | stage('Setup RVM') { 11 | 12 | configureRVM('2.0') 13 | 14 | } 15 | 16 | stage('Run Tests') { 17 | 18 | try { 19 | 20 | gitlabCommitStatus { 21 | withRVM(['bundle install'], 2.0) 22 | withRVM(['bundle exec rake test TESTOPTS="-v"'], 2.0) 23 | } 24 | 25 | } finally { 26 | 27 | archive "Gemfile.lock" 28 | cleanupRVM('2.0') 29 | 30 | } 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-dynflow.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-dynflow' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/branch_map.groovy 16 | - ./repos/dynflow.groovy 17 | - workflows/lib/gitlabEnv.groovy 18 | - workflows/test/rake_test.groovy 19 | - pipelines/lib/rvm.groovy 20 | - workflows/lib/gitlab.groovy 21 | notifications: 22 | - snapper_notifications 23 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-fog-aws.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-fog-aws' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/branch_map.groovy 16 | - ./repos/fog-aws.groovy 17 | - workflows/lib/gitlabEnv.groovy 18 | - workflows/test/rake_test.groovy 19 | - pipelines/lib/rvm.groovy 20 | - workflows/lib/gitlab.groovy 21 | notifications: 22 | - snapper_notifications 23 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-smart-proxy-dynflow.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-smart-proxy-dynflow' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - ./repos/smart_proxy_dynflow.groovy 16 | - workflows/lib/gitlabEnv.groovy 17 | - workflows/test/smart-proxy-plugin.groovy 18 | - pipelines/lib/rvm.groovy 19 | - workflows/lib/gitlab.groovy 20 | notifications: 21 | - snapper_notifications 22 | -------------------------------------------------------------------------------- /jobs/release/projects/rhui-release-pulp.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'rhui-release-pulp' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | dsl: 8 | !include-raw: 9 | - workflows/lib/branch_map.groovy 10 | - ./repos/rhui_pulp_repo.groovy 11 | - ./source_types/sourceTypeTar.groovy 12 | - workflows/releasePackageWorkflow.groovy 13 | - workflows/lib/toolbelt.groovy 14 | - foreman-infra/pipelines/lib/ansible.groovy 15 | - foreman-infra/pipelines/lib/virtualEnv.groovy 16 | - workflows/lib/runPlaybook.groovy 17 | notifications: 18 | - snapper_notifications 19 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-pulp-rpm.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-pulp-rpm' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | dsl: 8 | !include-raw: 9 | - workflows/lib/branch_map.groovy 10 | - ./repos/pulp_rpm_repo.groovy 11 | - ./source_types/sourceTypeTar.groovy 12 | - workflows/releasePackageWorkflow.groovy 13 | - workflows/lib/toolbelt.groovy 14 | - foreman-infra/pipelines/lib/ansible.groovy 15 | - foreman-infra/pipelines/lib/virtualEnv.groovy 16 | - workflows/lib/runPlaybook.groovy 17 | notifications: 18 | - snapper_notifications 19 | -------------------------------------------------------------------------------- /.github/workflows/robottelo-ci.yml: -------------------------------------------------------------------------------- 1 | name: Robottelo - CI 2 | 3 | on: 4 | push: 5 | pull_request: 6 | types: ["opened", "synchronize", "reopened"] 7 | 8 | jobs: 9 | codechecks: 10 | name: Code Quality 11 | runs-on: ubuntu-latest 12 | 13 | steps: 14 | - name: Checkout Robottelo-CI 15 | uses: actions/checkout@v2 16 | 17 | - name: Set Up Python 18 | uses: actions/setup-python@v2 19 | with: 20 | python-version: '3.8' 21 | 22 | - name: Install Dependencies 23 | run: pip install -r requirements.txt 24 | 25 | - name: Setup JJB and generate jobs 26 | run: | 27 | ./setup_jjb.sh 28 | ./generate_jobs.sh 29 | -------------------------------------------------------------------------------- /jobs/release/projects/rhui-release-pulp-rpm.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'rhui-release-pulp-rpm' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | dsl: 8 | !include-raw: 9 | - workflows/lib/branch_map.groovy 10 | - ./repos/rhui_pulp_rpm_repo.groovy 11 | - ./source_types/sourceTypeTar.groovy 12 | - workflows/releasePackageWorkflow.groovy 13 | - workflows/lib/toolbelt.groovy 14 | - foreman-infra/pipelines/lib/ansible.groovy 15 | - foreman-infra/pipelines/lib/virtualEnv.groovy 16 | - workflows/lib/runPlaybook.groovy 17 | notifications: 18 | - snapper_notifications 19 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-puppet-pulp.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-puppet-pulp' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - ./repos/puppet_pulp.groovy 16 | - workflows/lib/gitlabEnv.groovy 17 | - workflows/test/puppet-matrix.groovy 18 | - workflows/test/puppet.groovy 19 | - pipelines/lib/rvm.groovy 20 | - workflows/lib/gitlab.groovy 21 | notifications: 22 | - snapper_notifications 23 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-puppet-qpid.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-puppet-qpid' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - ./repos/puppet_qpid.groovy 16 | - workflows/lib/gitlabEnv.groovy 17 | - workflows/test/puppet-matrix.groovy 18 | - workflows/test/puppet.groovy 19 | - pipelines/lib/rvm.groovy 20 | - workflows/lib/gitlab.groovy 21 | notifications: 22 | - snapper_notifications 23 | -------------------------------------------------------------------------------- /workflows/maintenance/releasePipelineAttributes.groovy: -------------------------------------------------------------------------------- 1 | def compose_versions = ['7'] 2 | def compose_tag = 'candidate' 3 | def compose_label = 'SatMaintenance-6' 4 | def os_versions = ['7'] 5 | def satellite_version = 'maintenance' 6 | def maintenance_product = 'Satellite Maintenance Composes' 7 | def maintenance_repositories = [ 8 | 'Satellite Maintenance RHEL7' 9 | ] 10 | def content_views = [ 11 | 'Satellite Maintenance RHEL7' 12 | ] 13 | def composite_content_views = [ 14 | 'Satellite Maintenance with RHEL7 Server' 15 | ] 16 | 17 | def release_name = 'satellite-maintenance' 18 | def release_version = 'all' 19 | 20 | def autorelease_enabled = false 21 | def satellite_product = 'maintenance' 22 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-pulp-docker.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-pulp-docker' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | dsl: 8 | !include-raw: 9 | - workflows/lib/branch_map.groovy 10 | - ./repos/pulp_docker_repo.groovy 11 | - ./source_types/sourceTypeTar.groovy 12 | - workflows/releasePackageWorkflow.groovy 13 | - workflows/lib/toolbelt.groovy 14 | - foreman-infra/pipelines/lib/ansible.groovy 15 | - foreman-infra/pipelines/lib/virtualEnv.groovy 16 | - workflows/lib/runPlaybook.groovy 17 | notifications: 18 | - snapper_notifications 19 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-pulp-ostree.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-pulp-ostree' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | dsl: 8 | !include-raw: 9 | - workflows/lib/branch_map.groovy 10 | - ./repos/pulp_ostree_repo.groovy 11 | - ./source_types/sourceTypeTar.groovy 12 | - workflows/releasePackageWorkflow.groovy 13 | - workflows/lib/toolbelt.groovy 14 | - foreman-infra/pipelines/lib/ansible.groovy 15 | - foreman-infra/pipelines/lib/virtualEnv.groovy 16 | - workflows/lib/runPlaybook.groovy 17 | notifications: 18 | - snapper_notifications 19 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-pulp-puppet.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-pulp-puppet' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | dsl: 8 | !include-raw: 9 | - workflows/lib/branch_map.groovy 10 | - ./repos/pulp_puppet_repo.groovy 11 | - ./source_types/sourceTypeTar.groovy 12 | - workflows/releasePackageWorkflow.groovy 13 | - workflows/lib/toolbelt.groovy 14 | - foreman-infra/pipelines/lib/ansible.groovy 15 | - foreman-infra/pipelines/lib/virtualEnv.groovy 16 | - workflows/lib/runPlaybook.groovy 17 | notifications: 18 | - snapper_notifications 19 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-puppet-certs.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-puppet-certs' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - ./repos/puppet_certs.groovy 16 | - workflows/lib/gitlabEnv.groovy 17 | - workflows/test/puppet-matrix.groovy 18 | - workflows/test/puppet.groovy 19 | - pipelines/lib/rvm.groovy 20 | - workflows/lib/gitlab.groovy 21 | notifications: 22 | - snapper_notifications 23 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-puppet-puppet.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-puppet-puppet' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - ./repos/puppet_puppet.groovy 16 | - workflows/lib/gitlabEnv.groovy 17 | - workflows/test/puppet-matrix.groovy 18 | - workflows/test/puppet.groovy 19 | - pipelines/lib/rvm.groovy 20 | - workflows/lib/gitlab.groovy 21 | notifications: 22 | - snapper_notifications 23 | -------------------------------------------------------------------------------- /jobs/release/projects/release-test-repo.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'release-test-repo' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/test_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/release/projects/rhui-release-pulp-docker.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'rhui-release-pulp-docker' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | dsl: 8 | !include-raw: 9 | - workflows/lib/branch_map.groovy 10 | - ./repos/rhui_pulp_docker_repo.groovy 11 | - ./source_types/sourceTypeTar.groovy 12 | - workflows/releasePackageWorkflow.groovy 13 | - workflows/lib/toolbelt.groovy 14 | - foreman-infra/pipelines/lib/ansible.groovy 15 | - foreman-infra/pipelines/lib/virtualEnv.groovy 16 | - workflows/lib/runPlaybook.groovy 17 | notifications: 18 | - snapper_notifications 19 | -------------------------------------------------------------------------------- /jobs/release/projects/rhui-release-pulp-ostree.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'rhui-release-pulp-ostree' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | dsl: 8 | !include-raw: 9 | - workflows/lib/branch_map.groovy 10 | - ./repos/rhui_pulp_ostree_repo.groovy 11 | - ./source_types/sourceTypeTar.groovy 12 | - workflows/releasePackageWorkflow.groovy 13 | - workflows/lib/toolbelt.groovy 14 | - foreman-infra/pipelines/lib/ansible.groovy 15 | - foreman-infra/pipelines/lib/virtualEnv.groovy 16 | - workflows/lib/runPlaybook.groovy 17 | notifications: 18 | - snapper_notifications 19 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-puppet-capsule.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-puppet-capsule' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - ./repos/puppet_capsule.groovy 16 | - workflows/lib/gitlabEnv.groovy 17 | - workflows/test/puppet-matrix.groovy 18 | - workflows/test/puppet.groovy 19 | - pipelines/lib/rvm.groovy 20 | - workflows/lib/gitlab.groovy 21 | notifications: 22 | - snapper_notifications 23 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-puppet-foreman.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-puppet-foreman' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - ./repos/puppet_foreman.groovy 16 | - workflows/lib/gitlabEnv.groovy 17 | - workflows/test/puppet-matrix.groovy 18 | - workflows/test/puppet.groovy 19 | - pipelines/lib/rvm.groovy 20 | - workflows/lib/gitlab.groovy 21 | notifications: 22 | - snapper_notifications 23 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-puppet-katello.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-puppet-katello' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - ./repos/puppet_katello.groovy 16 | - workflows/lib/gitlabEnv.groovy 17 | - workflows/test/puppet-matrix.groovy 18 | - workflows/test/puppet.groovy 19 | - pipelines/lib/rvm.groovy 20 | - workflows/lib/gitlab.groovy 21 | notifications: 22 | - snapper_notifications 23 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-smart-proxy-dhcp-remote-isc.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-smart-proxy-dhcp-remote-isc' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - ./repos/smart_proxy_dhcp_remote_isc.groovy 16 | - workflows/lib/gitlabEnv.groovy 17 | - workflows/test/smart-proxy-plugin.groovy 18 | - pipelines/lib/rvm.groovy 19 | - workflows/lib/gitlab.groovy 20 | notifications: 21 | - snapper_notifications 22 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-bastion.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-bastion' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/bastion_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-dynflow.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-dynflow' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/dynflow_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-fog-aws.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-fog-aws' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/fog-aws_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-foreman.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-foreman' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/foreman_repo.groovy 12 | - ./source_types/sourceTypeTar.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-katello.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-katello' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/katello_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-puppet-candlepin.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-puppet-candlepin' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - ./repos/puppet_candlepin.groovy 16 | - workflows/lib/gitlabEnv.groovy 17 | - workflows/test/puppet-matrix.groovy 18 | - workflows/test/puppet.groovy 19 | - pipelines/lib/rvm.groovy 20 | - workflows/lib/gitlab.groovy 21 | notifications: 22 | - snapper_notifications 23 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-foreman-bootdisk.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-foreman-bootdisk' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | dsl: 8 | !include-raw: 9 | - workflows/lib/branch_map.groovy 10 | - ./repos/foreman_bootdisk_repo.groovy 11 | - ./source_types/sourceTypeGem.groovy 12 | - workflows/releasePackageWorkflow.groovy 13 | - workflows/lib/toolbelt.groovy 14 | - foreman-infra/pipelines/lib/ansible.groovy 15 | - foreman-infra/pipelines/lib/virtualEnv.groovy 16 | - workflows/lib/runPlaybook.groovy 17 | notifications: 18 | - snapper_notifications 19 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-satellite-node-modules-meta.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-satellite-node-modules-meta' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/satellite_node_modules_meta_repo.groovy 12 | - workflows/releasePackageWorkflow.groovy 13 | - workflows/lib/toolbelt.groovy 14 | - foreman-infra/pipelines/lib/ansible.groovy 15 | - foreman-infra/pipelines/lib/virtualEnv.groovy 16 | - workflows/lib/runPlaybook.groovy 17 | notifications: 18 | - snapper_notifications 19 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-hammer-cli.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-hammer-cli' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/hammer_cli_repo.groovy 12 | - ./source_types/sourceTypeRake.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-puppet-foreman-proxy.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-puppet-foreman-proxy' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - ./repos/puppet_foreman_proxy.groovy 16 | - workflows/lib/gitlabEnv.groovy 17 | - workflows/test/puppet-matrix.groovy 18 | - workflows/test/puppet.groovy 19 | - pipelines/lib/rvm.groovy 20 | - workflows/lib/gitlab.groovy 21 | notifications: 22 | - snapper_notifications 23 | -------------------------------------------------------------------------------- /workflows/test/runcible.groovy: -------------------------------------------------------------------------------- 1 | node('rvm') { 2 | 3 | stage("Setup Environment") { 4 | 5 | deleteDir() 6 | gitlab_clone_and_merge('runcible') 7 | 8 | } 9 | 10 | stage('Setup RVM') { 11 | 12 | configureRVM('2.3') 13 | 14 | } 15 | 16 | stage('Tests') { 17 | 18 | try { 19 | 20 | gitlabCommitStatus { 21 | withRVM(["bundle install"], '2.3') 22 | withRVM(["bundle exec rake rubocop"], '2.3') 23 | withRVM(["bundle exec rake test"], '2.3') 24 | } 25 | 26 | } finally { 27 | 28 | archive "Gemfile.lock pkg/*" 29 | cleanupRVM('2.3') 30 | 31 | } 32 | 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-smart-proxy.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-smart-proxy' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/smart_proxy_repo.groovy 12 | - ./source_types/sourceTypeRake.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-foreman-docker.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-foreman-docker' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/foreman_docker_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-foreman-hooks.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-foreman-hooks' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/foreman_hooks_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-foreman-tasks.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-foreman-tasks' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/foreman_tasks_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /scripts/satellite6-graceful-shutdown.sh: -------------------------------------------------------------------------------- 1 | ssh_opts='-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' 2 | 3 | echo "Shutting down the Base instance of ${SERVER_HOSTNAME} gracefully" 4 | # Shutdown the Satellite6 services before shutdown. 5 | ssh $ssh_opts root@"${SERVER_HOSTNAME}" foreman-maintain service stop 6 | # Try to shutdown the Satellite6 instance gracefully and sleep for a while. 7 | ssh $ssh_opts root@"${PROVISIONING_HOST}" virsh shutdown ${TARGET_IMAGE} 8 | sleep 120 9 | set +e 10 | # Destroy the sat6 instance anyways if for some reason virsh shutdown couldn't gracefully shut it down. 11 | ssh $ssh_opts root@"${PROVISIONING_HOST}" virsh destroy ${TARGET_IMAGE} 12 | set -e 13 | echo "========================================" 14 | -------------------------------------------------------------------------------- /workflows/maintenance-next/releasePipelineAttributes.groovy: -------------------------------------------------------------------------------- 1 | def compose_versions = ['7'] 2 | def compose_tag = 'next' 3 | def compose_label = 'SatMaintenanceNext-6' 4 | def os_versions = ['7'] 5 | def satellite_version = 'maintenance-next' 6 | def maintenance_product = 'Satellite Maintenance Next Composes' 7 | def maintenance_repositories = [ 8 | 'Satellite Maintenance Next RHEL7', 9 | ] 10 | def content_views = [ 11 | 'Satellite Maintenance Next RHEL7', 12 | ] 13 | def composite_content_views = [ 14 | 'Satellite Maintenance Next with RHEL7 Server', 15 | ] 16 | 17 | def release_name = 'satellite-maintenance-next' 18 | def release_version = 'all' 19 | 20 | def autorelease_enabled = true 21 | def satellite_product = 'maintenance' 22 | -------------------------------------------------------------------------------- /jobs/builders/satellite6_consolidated_reports_builders.yaml: -------------------------------------------------------------------------------- 1 | - builder: 2 | name: satellite6-consolidated-reports-builders 3 | builders: 4 | - shining-panda: 5 | build-environment: virtualenv 6 | python-version: System-CPython-3.8 7 | clear: true 8 | nature: shell 9 | command: 10 | !include-raw: 11 | - 'pip-install-pycurl.sh' 12 | - 'satellite6-automation-source.sh' 13 | - 'satellite6-automation-instances.sh' 14 | - 'satellite6-consolidated-coverage-report.sh' 15 | - 'satellite6-configure-sonarqube.sh' 16 | - 'satellite6-graceful-shutdown.sh' 17 | -------------------------------------------------------------------------------- /jobs/properties/satellite6-build_blocker.yaml: -------------------------------------------------------------------------------- 1 | - property: 2 | name: satellite6-build_blocker 3 | properties: 4 | - build-blocker: 5 | blocking-jobs: 6 | - "provisioning-{satellite_version}-{os}" 7 | - "automation-{satellite_version}-trigger-tiers-{os}" 8 | - "automation-{satellite_version}-tier1-{os}" 9 | - "automation-{satellite_version}-tier2-{os}" 10 | - "automation-{satellite_version}-tier3-{os}" 11 | - "automation-{satellite_version}-tier4-{os}" 12 | - "automation-{satellite_version}-rhai-{os}" 13 | - "automation-{satellite_version}-destructive-{os}" 14 | - "report-consolidated-coverage-{satellite_version}-{os}" 15 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-foreman-ansible.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-foreman-ansible' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/foreman_ansible_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-foreman-kubevirt.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-foreman-kubevirt' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/foreman_kubevirt_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-foreman-openscap.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-foreman-openscap' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/foreman_openscap_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-foreman-selinux.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-foreman-selinux' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/foreman_selinux_repo.groovy 12 | - ./source_types/sourceTypeRake.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-hammer-cli-foreman-tasks.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-hammer-cli-foreman-tasks' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | dsl: 8 | !include-raw: 9 | - workflows/lib/branch_map.groovy 10 | - ./repos/hammer_cli_foreman_tasks_repo.groovy 11 | - ./source_types/sourceTypeGem.groovy 12 | - workflows/releasePackageWorkflow.groovy 13 | - workflows/lib/toolbelt.groovy 14 | - foreman-infra/pipelines/lib/ansible.groovy 15 | - foreman-infra/pipelines/lib/virtualEnv.groovy 16 | - workflows/lib/runPlaybook.groovy 17 | notifications: 18 | - snapper_notifications 19 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-foreman.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-foreman' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/branch_map.groovy 16 | - workflows/lib/gitlabEnv.groovy 17 | - workflows/test/foreman.groovy 18 | - workflows/test/foreman-lib.groovy 19 | - pipelines/lib/foreman.groovy 20 | - pipelines/lib/rvm.groovy 21 | - workflows/lib/gitlab.groovy 22 | notifications: 23 | - snapper_notifications 24 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-katello.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-katello' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/branch_map.groovy 16 | - workflows/lib/gitlabEnv.groovy 17 | - workflows/test/katello.groovy 18 | - workflows/test/foreman-lib.groovy 19 | - pipelines/lib/foreman.groovy 20 | - pipelines/lib/rvm.groovy 21 | - workflows/lib/gitlab.groovy 22 | notifications: 23 | - snapper_notifications 24 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-foreman-discovery.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-foreman-discovery' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/foreman_discovery_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-hammer-cli-foreman-docker.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-hammer-cli-foreman-docker' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | dsl: 8 | !include-raw: 9 | - workflows/lib/branch_map.groovy 10 | - ./repos/hammer_cli_foreman_docker_repo.groovy 11 | - ./source_types/sourceTypeGem.groovy 12 | - workflows/releasePackageWorkflow.groovy 13 | - workflows/lib/toolbelt.groovy 14 | - foreman-infra/pipelines/lib/ansible.groovy 15 | - foreman-infra/pipelines/lib/virtualEnv.groovy 16 | - workflows/lib/runPlaybook.groovy 17 | notifications: 18 | - snapper_notifications 19 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-hammer-cli-foreman-bootdisk.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-hammer-cli-foreman-bootdisk' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | dsl: 8 | !include-raw: 9 | - workflows/lib/branch_map.groovy 10 | - ./repos/hammer_cli_foreman_bootdisk_repo.groovy 11 | - ./source_types/sourceTypeGem.groovy 12 | - workflows/releasePackageWorkflow.groovy 13 | - workflows/lib/toolbelt.groovy 14 | - foreman-infra/pipelines/lib/ansible.groovy 15 | - foreman-infra/pipelines/lib/virtualEnv.groovy 16 | - workflows/lib/runPlaybook.groovy 17 | notifications: 18 | - snapper_notifications 19 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-hammer-cli-foreman.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-hammer-cli-foreman' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/hammer_cli_foreman_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-hammer-cli-katello.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-hammer-cli-katello' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/hammer_cli_katello_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-satellite-installer.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-satellite-installer' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/satellite_installer_repo.groovy 12 | - ./source_types/sourceTypeRake.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-smart-proxy-dynflow.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-smart-proxy-dynflow' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/smart_proxy_dynflow_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-puppet-foreman-proxy-content.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-puppet-foreman-proxy-content' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - ./repos/puppet_foreman_proxy_content.groovy 16 | - workflows/lib/gitlabEnv.groovy 17 | - workflows/test/puppet-matrix.groovy 18 | - workflows/test/puppet.groovy 19 | - pipelines/lib/rvm.groovy 20 | - workflows/lib/gitlab.groovy 21 | notifications: 22 | - snapper_notifications 23 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-smart-proxy-openscap.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-smart-proxy-openscap' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/smart_proxy_openscap_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /workflows/test/kafo.groovy: -------------------------------------------------------------------------------- 1 | def version_map = branch_map[env.gitlabTargetBranch] 2 | def ruby = version_map['ruby'] 3 | 4 | node('rvm') { 5 | 6 | stage("Setup Environment") { 7 | 8 | deleteDir() 9 | gitlab_clone_and_merge('kafo') 10 | 11 | } 12 | 13 | stage('Setup RVM') { 14 | 15 | configureRVM(ruby) 16 | 17 | } 18 | 19 | stage('Tests') { 20 | 21 | try { 22 | 23 | gitlabCommitStatus { 24 | withRVM(["bundle install"], ruby) 25 | withRVM(["bundle exec rake jenkins:unit"], ruby) 26 | } 27 | 28 | } finally { 29 | 30 | archive "Gemfile.lock pkg/*" 31 | cleanupRVM(ruby) 32 | 33 | } 34 | 35 | } 36 | 37 | } 38 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-runcible.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-runcible' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/runcible_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | - pipelines/lib/rvm.groovy 19 | notifications: 20 | - snapper_notifications 21 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-foreman-remote-execution.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-foreman-remote-execution' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/foreman_remote_execution_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-foreman-theme-satellite.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-foreman-theme-satellite' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/foreman_theme_satellite_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-hammer-cli-foreman-admin.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-hammer-cli-foreman-admin' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/hammer_cli_foreman_admin_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/release/sat-maintenance-release-qa.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: sat-maintenance-release-qa 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - string: 7 | name: snapVersion 8 | description: "snap version in X.Y format (optional)" 9 | dsl: 10 | !include-raw: 11 | - workflows/maintenance/releasePipelineAttributes.groovy 12 | - workflows/maintenance/releaseQAWorkflow.groovy 13 | - workflows/lib/releaseQAFunctions.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /scripts/test_hammer_cli_foreman_plugins.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -exl 2 | 3 | # RVM Ruby environment 4 | # Use a gemset unique to each executor to enable parallel builds 5 | gemset=$(echo ${JOB_NAME} | cut -d/ -f1)-${EXECUTOR_NUMBER} 6 | rvm use ruby-${ruby}@${gemset} --create 7 | rvm gemset empty --force 8 | gem update --no-ri --no-rdoc 9 | gem install bundler --no-ri --no-rdoc 10 | 11 | echo "gem 'hammer_cli', :git => 'https://${GIT_HOSTNAME}/${GIT_ORGANIZATION}/hammer_cli.git', :ref => '${gitlabTargetBranch}'" > Gemfile.local 12 | echo "gem 'hammer_cli_foreman', :git => 'https://${GIT_HOSTNAME}/${GIT_ORGANIZATION}/hammer_cli_foreman.git', :ref => '${gitlabTargetBranch}'" >> Gemfile.local 13 | 14 | bundle install 15 | 16 | bundle exec rake ci:setup:minitest test TESTOPTS="-v" 17 | -------------------------------------------------------------------------------- /workflows/lib/gitlabEnv.groovy: -------------------------------------------------------------------------------- 1 | if (!env.getProperty('gitlabTargetBranch') && env.getProperty('targetBranch')) { 2 | env.setProperty('gitlabSourceBranch', env.getProperty('sourceBranch')) 3 | env.setProperty('gitlabSourceRepoName', env.getProperty('sourceRepoName')) 4 | env.setProperty('gitlabSourceNamespace', '') 5 | env.setProperty('gitlabTargetBranch', env.getProperty('targetBranch')) 6 | } 7 | if (!env.getProperty('gitlabTargetBranch') && env.getProperty('releaseBranch')) { 8 | env.setProperty('gitlabTargetBranch', env.getProperty('releaseBranch')) 9 | } 10 | if (!env.getProperty('gitlabSourceRepoHttpUrl')) { 11 | env.setProperty('gitlabSourceRepoHttpUrl', "https://$GIT_HOSTNAME/${env.gitlabSourceNamespace}/${env.gitlabSourceRepoName}.git") 12 | } 13 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-foreman-virt-who-configure.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-foreman-virt-who-configure' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/foreman_virt_who_configure_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-smart-proxy-dhcp-remote-isc.yml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-smart-proxy-dhcp-remote-isc' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/smart_proxy_dhcp_remote_isc_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-hammer-cli-foreman-discovery.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-hammer-cli-foreman-discovery' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/hammer_cli_foreman_discovery_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/release/sat-maintenance-next-release-qa.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: sat-maintenance-next-release-qa 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - string: 7 | name: snapVersion 8 | description: "snap version in X.Y format (optional)" 9 | dsl: 10 | !include-raw: 11 | - workflows/maintenance-next/releasePipelineAttributes.groovy 12 | - workflows/maintenance/releaseQAWorkflow.groovy 13 | - workflows/lib/releaseQAFunctions.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /workflows/test/rake_test.groovy: -------------------------------------------------------------------------------- 1 | def version_map = branch_map[env.gitlabTargetBranch] 2 | def ruby = version_map['ruby'] 3 | 4 | node('sat6-build') { 5 | 6 | stage('Setup Git Repos') { 7 | 8 | deleteDir() 9 | gitlab_clone_and_merge(plugin_name) 10 | 11 | } 12 | 13 | stage("Setup RVM") { 14 | 15 | configureRVM(ruby) 16 | 17 | } 18 | 19 | stage('Run Tests') { 20 | 21 | try { 22 | 23 | gitlabCommitStatus { 24 | withRVM(['bundle install'], ruby) 25 | withRVM(["bundle exec rake test TESTOPTS='-v'"], ruby) 26 | } 27 | 28 | } finally { 29 | 30 | archive "Gemfile.lock" 31 | 32 | cleanupRVM(ruby) 33 | 34 | } 35 | } 36 | 37 | } 38 | 39 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-foreman-installer.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-foreman-installer' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/foreman_installer_repo.groovy 12 | - ./source_types/sourceTypeRake.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | - pipelines/lib/rvm.groovy 19 | notifications: 20 | - snapper_notifications 21 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-katello-installer.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-katello-installer' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/katello_installer_repo.groovy 12 | - ./source_types/sourceTypeRake.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | - pipelines/lib/rvm.groovy 19 | notifications: 20 | - snapper_notifications 21 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-smart-proxy-remote-execution-ssh.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-smart-proxy-remote-execution-ssh' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/smart_proxy_remote_execution_ssh_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-hammer-cli.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-hammer-cli' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/branch_map.groovy 16 | - ./repos/hammer_cli.groovy 17 | - workflows/lib/gitlabEnv.groovy 18 | - workflows/test/hammer-cli.groovy 19 | - workflows/test/foreman-lib.groovy 20 | - pipelines/lib/foreman.groovy 21 | - pipelines/lib/rvm.groovy 22 | - workflows/lib/gitlab.groovy 23 | notifications: 24 | - snapper_notifications 25 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-hammer-cli-foreman-remote-execution.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-hammer-cli-foreman-remote-execution' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/hammer_cli_foreman_remote_execution_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/release/projects/sat-release-hammer-cli-foreman-virt-who-configure.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat-release-hammer-cli-foreman-virt-who-configure' 3 | project-type: pipeline 4 | sandbox: true 5 | parameters: 6 | - release_branch 7 | auth-token: "" 8 | dsl: 9 | !include-raw: 10 | - workflows/lib/branch_map.groovy 11 | - ./repos/hammer_cli_foreman_virt_who_configure_repo.groovy 12 | - ./source_types/sourceTypeGem.groovy 13 | - workflows/releasePackageWorkflow.groovy 14 | - workflows/lib/toolbelt.groovy 15 | - foreman-infra/pipelines/lib/ansible.groovy 16 | - foreman-infra/pipelines/lib/virtualEnv.groovy 17 | - workflows/lib/runPlaybook.groovy 18 | notifications: 19 | - snapper_notifications 20 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-foreman-docker.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-foreman-docker' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/branch_map.groovy 16 | - ./repos/foreman_docker.groovy 17 | - workflows/lib/gitlabEnv.groovy 18 | - workflows/test/foreman-plugin.groovy 19 | - workflows/test/foreman-lib.groovy 20 | - pipelines/lib/foreman.groovy 21 | - pipelines/lib/rvm.groovy 22 | - workflows/lib/gitlab.groovy 23 | notifications: 24 | - snapper_notifications 25 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-foreman-bootdisk.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-foreman-bootdisk' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/branch_map.groovy 16 | - ./repos/foreman_bootdisk.groovy 17 | - workflows/lib/gitlabEnv.groovy 18 | - workflows/test/foreman-plugin.groovy 19 | - workflows/test/foreman-lib.groovy 20 | - pipelines/lib/foreman.groovy 21 | - pipelines/lib/rvm.groovy 22 | - workflows/lib/gitlab.groovy 23 | notifications: 24 | - snapper_notifications 25 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-foreman-kubevirt.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-foreman-kubevirt' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/branch_map.groovy 16 | - ./repos/foreman_kubevirt.groovy 17 | - workflows/lib/gitlabEnv.groovy 18 | - workflows/test/foreman-plugin.groovy 19 | - workflows/test/foreman-lib.groovy 20 | - pipelines/lib/foreman.groovy 21 | - pipelines/lib/rvm.groovy 22 | - workflows/lib/gitlab.groovy 23 | notifications: 24 | - snapper_notifications 25 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-foreman-openscap.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-foreman-openscap' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/branch_map.groovy 16 | - ./repos/foreman_openscap.groovy 17 | - workflows/lib/gitlabEnv.groovy 18 | - workflows/test/foreman-plugin.groovy 19 | - workflows/test/foreman-lib.groovy 20 | - pipelines/lib/foreman.groovy 21 | - pipelines/lib/rvm.groovy 22 | - workflows/lib/gitlab.groovy 23 | notifications: 24 | - snapper_notifications 25 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-foreman-tasks.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-foreman-tasks' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/branch_map.groovy 16 | - ./repos/foreman_tasks.groovy 17 | - workflows/lib/gitlabEnv.groovy 18 | - workflows/test/foreman-plugin.groovy 19 | - workflows/test/foreman-lib.groovy 20 | - pipelines/lib/foreman.groovy 21 | - pipelines/lib/rvm.groovy 22 | - workflows/lib/gitlab.groovy 23 | notifications: 24 | - snapper_notifications 25 | 26 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-satellite-clone.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-satellite-clone' 3 | node: sat6-rhel6 4 | logrotate: 5 | daysToKeep: 21 6 | numToKeep: -1 7 | properties: 8 | - github: 9 | url: https://github.com/RedHatSatellite/satellite-clone 10 | scm: 11 | - satellite_clone_github 12 | parameters: 13 | - string: 14 | name: pr_number 15 | description: sat-clone pull request number 16 | triggers: 17 | - github-pull-request: 18 | cron: '* * * * *' 19 | build-desc-template: "satellite-clone PR tests" 20 | trigger-phrase: 'yee-haw' 21 | only-trigger-phrase: true 22 | permit-all: true 23 | builders: 24 | - shell: !include-raw: satellite-clone-test.sh 25 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-foreman-discovery.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-foreman-discovery' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/branch_map.groovy 16 | - ./repos/foreman_discovery.groovy 17 | - workflows/lib/gitlabEnv.groovy 18 | - workflows/test/foreman-plugin.groovy 19 | - workflows/test/foreman-lib.groovy 20 | - pipelines/lib/foreman.groovy 21 | - pipelines/lib/rvm.groovy 22 | - workflows/lib/gitlab.groovy 23 | notifications: 24 | - snapper_notifications 25 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-hammer-cli-foreman.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-hammer-cli-foreman' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/branch_map.groovy 16 | - ./repos/hammer_cli_foreman.groovy 17 | - workflows/lib/gitlabEnv.groovy 18 | - workflows/test/hammer-cli.groovy 19 | - workflows/test/foreman-lib.groovy 20 | - pipelines/lib/foreman.groovy 21 | - pipelines/lib/rvm.groovy 22 | - workflows/lib/gitlab.groovy 23 | notifications: 24 | - snapper_notifications 25 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-hammer-cli-katello.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-hammer-cli-katello' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/branch_map.groovy 16 | - ./repos/hammer_cli_katello.groovy 17 | - workflows/lib/gitlabEnv.groovy 18 | - workflows/test/hammer-cli.groovy 19 | - workflows/test/foreman-lib.groovy 20 | - pipelines/lib/foreman.groovy 21 | - pipelines/lib/rvm.groovy 22 | - workflows/lib/gitlab.groovy 23 | notifications: 24 | - snapper_notifications 25 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-hammer-cli-foreman-tasks.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-hammer-cli-foreman-tasks' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/branch_map.groovy 16 | - ./repos/hammer_cli_foreman_tasks.groovy 17 | - workflows/lib/gitlabEnv.groovy 18 | - workflows/test/hammer-cli.groovy 19 | - workflows/test/foreman-lib.groovy 20 | - pipelines/lib/foreman.groovy 21 | - pipelines/lib/rvm.groovy 22 | - workflows/lib/gitlab.groovy 23 | notifications: 24 | - snapper_notifications 25 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-foreman-remote-execution.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-foreman-remote-execution' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/branch_map.groovy 16 | - ./repos/foreman_remote_execution.groovy 17 | - workflows/lib/gitlabEnv.groovy 18 | - workflows/test/foreman-plugin.groovy 19 | - workflows/test/foreman-lib.groovy 20 | - pipelines/lib/foreman.groovy 21 | - pipelines/lib/rvm.groovy 22 | - workflows/lib/gitlab.groovy 23 | notifications: 24 | - snapper_notifications 25 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-foreman-theme-satellite.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-foreman-theme-satellite' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/branch_map.groovy 16 | - ./repos/foreman_theme_satellite.groovy 17 | - workflows/lib/gitlabEnv.groovy 18 | - workflows/test/foreman-plugin.groovy 19 | - workflows/test/foreman-lib.groovy 20 | - pipelines/lib/foreman.groovy 21 | - pipelines/lib/rvm.groovy 22 | - workflows/lib/gitlab.groovy 23 | notifications: 24 | - snapper_notifications 25 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-foreman-virt-who-configure.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-foreman-virt-who-configure' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/branch_map.groovy 16 | - ./repos/foreman_virt_who_configure.groovy 17 | - workflows/lib/gitlabEnv.groovy 18 | - workflows/test/foreman-plugin.groovy 19 | - workflows/test/foreman-lib.groovy 20 | - pipelines/lib/foreman.groovy 21 | - pipelines/lib/rvm.groovy 22 | - workflows/lib/gitlab.groovy 23 | notifications: 24 | - snapper_notifications 25 | -------------------------------------------------------------------------------- /workflows/bugzilla/pmscore.groovy: -------------------------------------------------------------------------------- 1 | node('sat6-rhel7') { 2 | stage('Setup workspace') { 3 | setup_workspace() 4 | } 5 | 6 | stage('Score Bugs') { 7 | withCredentials([usernamePassword(credentialsId: 'SAT_TEAM_TEIID', 8 | usernameVariable: 'TEIID_USERNAME', passwordVariable: 'TEIID_PASSWORD'), 9 | string(credentialsId: 'PM_SAT_API_KEY', variable: 'API_KEY')]) { 10 | 11 | virtEnv3('./ci', "cd scripts && ./bug_scoring.py --bz_username pm-sat@redhat.com --bz_api_key '${env.API_KEY}' --teiid_username '${env.TEIID_USERNAME}' --teiid_password '${env.TEIID_PASSWORD}' --teiid_host virtualdb.engineering.redhat.com --product 'Red Hat Satellite'") 12 | } 13 | } 14 | 15 | stage('Teardown') { 16 | notify("PM Score run has completed") 17 | } 18 | } 19 | 20 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-hammer-cli-foreman-discovery.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-hammer-cli-foreman-discovery' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/branch_map.groovy 16 | - ./repos/hammer_cli_foreman_discovery.groovy 17 | - workflows/lib/gitlabEnv.groovy 18 | - workflows/test/hammer-cli.groovy 19 | - workflows/test/foreman-lib.groovy 20 | - pipelines/lib/foreman.groovy 21 | - pipelines/lib/rvm.groovy 22 | - workflows/lib/gitlab.groovy 23 | notifications: 24 | - snapper_notifications 25 | -------------------------------------------------------------------------------- /scripts/sat6-qe-env-toggle.sh: -------------------------------------------------------------------------------- 1 | pip install -r requirements.txt 2 | 3 | # Replace all the instances of list email to user email 4 | if [[ "${ENVIRONMENT}" == 'TEST' ]]; then 5 | 6 | for file in `grep -ir 'QE_EMAIL_LIST' | cut -d ":" -f 1`; do 7 | 8 | sed -i 's/QE_EMAIL_LIST/BUILD_USER_EMAIL/g' $file; 9 | 10 | done 11 | 12 | fi 13 | 14 | #TODO Write the implementation to disable Polarion related Jobs 15 | 16 | cat > jenkins_jobs.ini <Job to test functionality of kerberos credentials uploaded to 5 | jenkins

6 |

The job assumes the following is globally predefined in jenkins

7 |
    8 |
  • KRB_PRINCIPAL environment variable nees to be set to a Kerberos 9 | principal for use by Jenkins
  • 10 |
  • The keytab file for the kerberos principal must be base64 encoded 11 | and uploaded to Jenkins as a secret file with credintials ID set to 12 | "krb_keytab" 13 |
14 | node: builders 15 | wrappers: 16 | - 'load_keytab': 17 | credential-id: 'krb_keytab' 18 | builders: 19 | - 'load_keytab' 20 | - shell: /usr/bin/klist 21 | publishers: 22 | - 'destroy_keytab' 23 | 24 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-hammer-cli-foreman-remote-execution.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-hammer-cli-foreman-remote-execution' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/branch_map.groovy 16 | - ./repos/hammer_cli_foreman_remote_execution.groovy 17 | - workflows/lib/gitlabEnv.groovy 18 | - workflows/test/hammer-cli.groovy 19 | - workflows/test/foreman-lib.groovy 20 | - pipelines/lib/foreman.groovy 21 | - pipelines/lib/rvm.groovy 22 | - workflows/lib/gitlab.groovy 23 | notifications: 24 | - snapper_notifications 25 | -------------------------------------------------------------------------------- /jobs/publishers/satellite6_automation_coverage.yaml: -------------------------------------------------------------------------------- 1 | - publisher: 2 | name: satellite6-automation-coverage 3 | publishers: 4 | - conditional-publisher: 5 | - condition-kind: regexp 6 | condition-expression: (rhel7) 7 | condition-searchtext: ${{ENV,var="DISTRO"}} 8 | on-evaluation-failure: dont-run 9 | action: 10 | - cobertura: 11 | report-file: "{file_path}" 12 | targets: 13 | - files: 14 | healthy: 10 15 | unhealthy: 20 16 | failing: 30 17 | - method: 18 | healthy: 50 19 | unhealthy: 40 20 | failing: 30 21 | -------------------------------------------------------------------------------- /jobs/unittest/sat6-unit-test-hammer-cli-foreman-virt-who-configure.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'sat6-unit-test-hammer-cli-foreman-virt-who-configure' 3 | project-type: pipeline 4 | concurrent: true 5 | sandbox: true 6 | build-discarder: 7 | days-to-keep: 21 8 | num-to-keep: -1 9 | parameters: 10 | - merge_request 11 | triggers: 12 | - gitlab_build_on_change 13 | dsl: 14 | !include-raw: 15 | - workflows/lib/branch_map.groovy 16 | - ./repos/hammer_cli_foreman_virt_who_configure.groovy 17 | - workflows/lib/gitlabEnv.groovy 18 | - workflows/test/hammer-cli.groovy 19 | - workflows/test/foreman-lib.groovy 20 | - pipelines/lib/foreman.groovy 21 | - pipelines/lib/rvm.groovy 22 | - workflows/lib/gitlab.groovy 23 | notifications: 24 | - snapper_notifications 25 | -------------------------------------------------------------------------------- /workflows/lib/kerberos.groovy: -------------------------------------------------------------------------------- 1 | def kerberos_setup() { 2 | def krbcc = sh(script: "mktemp ${pwd()}/.krbcc.XXXXXX", returnStdout: true).trim() 3 | 4 | withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'jenkins-satellite-jenkins.rhev-ci-vms.eng.rdu2.redhat.com.keytab', passwordVariable: 'KRB5_KEYTAB_BASE64', usernameVariable: 'KRB5_KEYTAB_PRINCIPAL']]) { 5 | withEnv(["KRB5CCNAME=${krbcc}"]) { 6 | sh "echo ${KRB5_KEYTAB_BASE64} | base64 -d > JenkinsAccount.keytab" 7 | sh "kinit -kt JenkinsAccount.keytab ${KRB5_KEYTAB_PRINCIPAL}" 8 | sh "rm -f JenkinsAccount.keytab" 9 | } 10 | } 11 | 12 | return krbcc 13 | } 14 | 15 | def kerberos_cleanup(krbcc) { 16 | withEnv(["KRB5CCNAME=${krbcc}"]) { 17 | sh "kdestroy" 18 | } 19 | sh "rm -f JenkinsAccount.keytab" 20 | sh "rm -f ${krbcc}" 21 | } 22 | -------------------------------------------------------------------------------- /scripts/satellite6-upgrade-source.sh: -------------------------------------------------------------------------------- 1 | #Setting up required Variables for populating the Sat6 Repos needed by config/sat6_repos_urls.conf file. 2 | export OS 3 | export SATELLITE_VERSION 4 | # Specify DISTRO as subscription_config file requires it. 5 | export DISTRO="${OS}" 6 | export OS_VERSION="${OS: -1}" 7 | export TO_VERSION="${SATELLITE_VERSION}" 8 | 9 | # FROM_VERSION calculation according to trigger type 10 | if [ "${ZSTREAM_UPGRADE}" = 'true' ]; then 11 | export FROM_VERSION="${TO_VERSION}" 12 | else 13 | export FROM_VERSION=$(echo ${SATELLITE_VERSION} - 0.1 | bc) 14 | fi 15 | 16 | # Export BZ credentials to skip the tests with BZ 17 | # This will be used robozilla's pytest_skip_if_bug_open decorator 18 | export BUGZILLA_ENVIRON_USER_NAME="${BUGZILLA_USER}" 19 | export BUGZILLA_ENVIRON_USER_PASSWORD_NAME="${BUGZILLA_PASSWORD}" 20 | export BUGZILLA_ENVIRON_SAT_VERSION="${TO_VERSION}" 21 | -------------------------------------------------------------------------------- /jobs/satellite6-automation-performance-report.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'satellite6-automation-performance-report' 3 | node: sat6-rhel7 4 | parameters: 5 | - choice: 6 | name: OS 7 | choices: 8 | - rhel6 9 | - rhel7 10 | - string: 11 | name: BUILD_LABEL 12 | - file: 13 | name: JUNIT 14 | scm: 15 | - git: 16 | url: 'git@$GIT_HOSTNAME:$GIT_QE_ORGANIZATION/sat6-reports.git' 17 | branches: 18 | - origin/master 19 | skip-tag: true 20 | builders: 21 | - shining-panda: 22 | build-environment: virtualenv 23 | python-version: System-CPython-2.7 24 | clear: true 25 | nature: shell 26 | command: 27 | !include-raw: 'satellite6-automation-performance-report.sh' 28 | -------------------------------------------------------------------------------- /workflows/ansiblePipeline.groovy: -------------------------------------------------------------------------------- 1 | node('sat6-build') { 2 | 3 | stage("Setup Workspace") { 4 | 5 | deleteDir() 6 | setupAnsibleEnvironment {} 7 | 8 | } 9 | 10 | stage("Sync Repositories") { 11 | def products = [ 12 | 'Red Hat Ansible Engine', 13 | ] 14 | 15 | runPlaybookInParallel { 16 | name = "sync" 17 | items = products 18 | item_name = 'product' 19 | playbook = 'playbooks/sync_products.yml' 20 | } 21 | } 22 | 23 | stage("Publish Content Views") { 24 | def content_views = [ 25 | 'Ansible', 26 | ] 27 | 28 | runPlaybookInParallel { 29 | name = "publish" 30 | items = content_views 31 | item_name = 'content_view' 32 | playbook = 'playbooks/publish_content_views.yml' 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /scripts/load-keytab.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -xe 2 | # load-keytab.sh - Script for loading a keytab as part of a jenkins job 3 | # 4 | # This script requires the following environment variables to be defined: 5 | WORKSPACE="${WORKSPACE:?Must run in Jenkins or define WORKSPACE}" 6 | KEYTAB_FILE="${KEYTAB_FILE:?Must define KEYTAB_FILE}" 7 | KRB_PRINCIPAL="${KRB_PRINCIPAL:?Must define KRB_PRINCIPAL}" 8 | 9 | chmod 600 "$KEYTAB_FILE" 10 | export KRB5CCNAME="$(mktemp "$WORKSPACE/.krbcc.XXXXXX")" 11 | chmod 600 "$KRB5CCNAME" 12 | REAL_KEYTAB="$(mktemp "$WORKSPACE/.keytab.XXXXXX")" 13 | chmod 600 "$REAL_KEYTAB" 14 | /usr/bin/base64 -d < "$KEYTAB_FILE" > "$REAL_KEYTAB" 15 | rm -f "$KEYTAB_FILE" 16 | : "Credential cache at: $KRB5CCNAME" 17 | /usr/bin/kinit "$KRB_PRINCIPAL" -k -t "$REAL_KEYTAB" 18 | rm -f "$REAL_KEYTAB" 19 | : "Loaded kerberos credentials:" 20 | klist 21 | echo "KRB5CCNAME=$KRB5CCNAME" > "$WORKSPACE/.krb5ccname" 22 | 23 | -------------------------------------------------------------------------------- /jobs/satellite6-component-owners.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'satellite6-component-owners' 3 | concurrent: false 4 | display-name: 'Satellite 6 Component Owners and testimony.json' 5 | description: | 6 | Job that updates component owners map on Mojo based on data from bugzilla, and creates YAML file with component primary and secondary 7 | owners. It also creates testimony.json file from current robottelo master. 8 | parameters: 9 | - bool: 10 | name: UPDATE_MOJO 11 | default: True 12 | - string: 13 | name: MOJO_DOC_ID 14 | default: 'DOC-1191673' 15 | - bool: 16 | name: IGNORE_CACHE 17 | default: False 18 | project-type: pipeline 19 | sandbox: true 20 | dsl: 21 | !include-raw: 22 | - workflows/qe/satellite6-component-owners.groovy 23 | triggers: 24 | - timed: "@midnight" 25 | -------------------------------------------------------------------------------- /workflows/test/foreman.groovy: -------------------------------------------------------------------------------- 1 | node('sat6-build') { 2 | 3 | stage('Setup Git Repos') { 4 | 5 | deleteDir() 6 | gitlab_clone_and_merge('foreman') 7 | 8 | } 9 | 10 | stage('Configure Environment') { 11 | 12 | configure_foreman_environment() 13 | 14 | } 15 | 16 | stage('Configure Database') { 17 | 18 | setup_foreman(get_ruby_version(branch_map)) 19 | 20 | } 21 | 22 | stage('Run Tests') { 23 | 24 | try { 25 | 26 | gitlabCommitStatus { 27 | withRVM(['bundle exec rake jenkins:unit jenkins:integration TESTOPTS="-v"'], get_ruby_version(branch_map)) 28 | } 29 | 30 | } finally { 31 | 32 | archive "Gemfile.lock pkg/*" 33 | junit keepLongStdio: true, testResults: 'jenkins/reports/unit/*.xml' 34 | 35 | cleanup(get_ruby_version(branch_map)) 36 | 37 | } 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /lib/python/mock_brew.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # mock_brew.py - Emulate brew using mock 3 | # 4 | import sys 5 | import argparse 6 | 7 | from koji_mock import KojiMock 8 | 9 | 10 | def main(): 11 | brew_tag = 'ruby193-satellite-6.1.0-rhel-7-build' 12 | args = parse_args() 13 | 14 | mock = KojiMock(tag=brew_tag) 15 | out = mock.rebuild( 16 | src_rpm=args.srpm, 17 | define="scl ruby193", 18 | resultdir=args.resultdir, 19 | ) 20 | print out 21 | 22 | 23 | def parse_args(): 24 | """Parse arguments passed to this program 25 | 26 | :returns: The parsed arguments 27 | :rtype: argparse.Namespace 28 | """ 29 | parser = argparse.ArgumentParser() 30 | parser.add_argument('srpm', help='Path to the .src.rpm file to buid') 31 | parser.add_argument('--resultdir', help='Where to place build results') 32 | return parser.parse_args() 33 | 34 | if __name__ == '__main__': 35 | main() 36 | -------------------------------------------------------------------------------- /workflows/lib/toolbelt.groovy: -------------------------------------------------------------------------------- 1 | def setup_toolbelt() { 2 | dir ('tool_belt') { 3 | checkout([ 4 | $class : 'GitSCM', 5 | branches : [[name: 'master']], 6 | extensions: [[$class: 'CleanCheckout']], 7 | userRemoteConfigs: [ 8 | [url: "https://${env.GIT_HOSTNAME}/${env.GIT_ORGANIZATION}/tool_belt.git"] 9 | ] 10 | ]) 11 | sh 'bundle install --without=development' 12 | } 13 | } 14 | 15 | def toolBelt(args) { 16 | if (!fileExists('tool_belt')) { 17 | setup_toolbelt() 18 | } 19 | 20 | dir ('tool_belt') { 21 | tool_belt_config = args.config ? "TOOL_BELT_CONFIGS=${args.config}" : "" 22 | 23 | sh "${tool_belt_config} bundle exec ruby ./bin/tool-belt ${args.command} ${args.options.join(' ')}" 24 | 25 | if (args.archive_file) { 26 | archiveArtifacts artifacts: args.archive_file 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /workflows/bugzilla/bugzilla.groovy: -------------------------------------------------------------------------------- 1 | def virtEnv3(path, command) { 2 | dir(path) { 3 | if(!fileExists('venv')) { 4 | sh "python3 -m venv venv" 5 | } 6 | 7 | sh """ 8 | source venv/bin/activate 9 | ${command} 10 | deactivate 11 | """ 12 | } 13 | } 14 | 15 | def setup_workspace() { 16 | deleteDir() 17 | dir ('ci') { 18 | checkout([ 19 | $class : 'GitSCM', 20 | branches : [[name: 'master']], 21 | extensions: [[$class: 'CleanCheckout']], 22 | userRemoteConfigs: [ 23 | [url: "https://${env.GIT_HOSTNAME}/${env.GIT_ORGANIZATION}/katello-team.git"] 24 | ] 25 | ]) 26 | } 27 | 28 | virtEnv3('./ci', 'pip install -r scripts/requirements.txt') 29 | } 30 | 31 | def notify(text) { 32 | emailext( 33 | subject: "${text}", 34 | attachLog: true, 35 | from: "pm-sat@redhat.com", 36 | to: "${env.BZ_JOB_EMAIL_LIST}" 37 | ) 38 | } 39 | -------------------------------------------------------------------------------- /jobs/unittest/satellite6-unit-test-test-repo.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: satellite6-unit-test-test-repo 3 | concurrent: true 4 | node: rvm 5 | project-type: matrix 6 | build-discarder: 7 | days-to-keep: -1 8 | num-to-keep: 32 9 | properties: 10 | - gitlab_variables 11 | parameters: 12 | - merge_request 13 | scm: 14 | - test_repo_gitlab 15 | axes: 16 | - axis: 17 | type: user-defined 18 | name: ruby 19 | values: 20 | - 2.2 21 | - axis: 22 | type: slave 23 | name: nodes 24 | values: 25 | - rvm 26 | triggers: 27 | - gitlab_build_on_change 28 | builders: 29 | - merge_request 30 | - test_repo 31 | publishers: 32 | - gitlab-notifier 33 | - gemset_cleanup 34 | - junit: 35 | results: 'test/reports/*.xml' 36 | - archive: 37 | artifacts: '**/Gemfile.lock' 38 | -------------------------------------------------------------------------------- /ansible/playbooks/copy_activation_key.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | tasks: 4 | - name: "copy activation key '{{ activation_key_name }}'" 5 | theforeman.foreman.activation_key: 6 | username: "{{ username }}" 7 | password: "{{ password }}" 8 | server_url: "{{ server }}" 9 | validate_certs: False 10 | name: "{{ activation_key_name }}" 11 | new_name: "{{ activation_key_name }}-{{ lifecycle_environment }}" 12 | organization: "{{ organization }}" 13 | state: 'copied' 14 | 15 | - name: "Set Lifecycle Environment for Activation Key" 16 | theforeman.foreman.activation_key: 17 | username: "{{ username }}" 18 | password: "{{ password }}" 19 | server_url: "{{ server }}" 20 | validate_certs: False 21 | name: "{{ activation_key_name }}-{{ lifecycle_environment }}" 22 | organization: "{{ organization }}" 23 | state: 'present' 24 | lifecycle_environment: "{{ lifecycle_environment }}" 25 | -------------------------------------------------------------------------------- /jobs/satellite6-subscriptions-delete.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: 'satellite6-qe-subscriptions-delete' 3 | display-name: 'Satellite 6 QE Subscriptions Delete' 4 | description: | 5 | Job that will run every day and will delete any subscription that its hostname matches the following regex: qe-(sat6|sat6iso|sam|foreman)(-upstream)?-rhel\d\d.usersys domain Or subscription that is older than 29 days for machines that hostname does not match the above regex. 6 | project-type: pipeline 7 | sandbox: true 8 | pipeline-scm: 9 | scm: 10 | - git: 11 | url: https://github.com/SatelliteQE/robottelo-ci.git 12 | branches: 13 | - origin/master 14 | clean: true 15 | script-path: workflows/qe/satellite6-subscriptions-delete.groovy 16 | lightweight-checkout: true 17 | triggers: 18 | - timed: 'H 22 * * *' 19 | wrappers: 20 | - default-wrappers 21 | - satellite6-maskpassword-wrappers 22 | -------------------------------------------------------------------------------- /scripts/test_smart_proxy_remote_execution_ssh.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -exl 2 | 3 | # RVM Ruby environment 4 | # Use a gemset unique to each executor to enable parallel builds 5 | gemset=$(echo ${JOB_NAME} | cut -d/ -f1)-${EXECUTOR_NUMBER} 6 | rvm use ruby-${ruby}@${gemset} --create 7 | rvm gemset empty --force 8 | gem install bundler --no-ri --no-rdoc 9 | 10 | rm Gemfile 11 | cat > Gemfile < 'smart_proxy_remote_execution_ssh_core' 15 | 16 | gem 'smart_proxy', :git => 'https://${GIT_HOSTNAME}/${GIT_ORGANIZATION}/smart-proxy.git', :ref => '${gitlabTargetBranch}' 17 | gem 'smart_proxy_dynflow', :git => 'https://${GIT_HOSTNAME}/${GIT_ORGANIZATION}/smart_proxy_dynflow.git', :ref => '${gitlabTargetBranch}' 18 | 19 | # load local gemfile 20 | local_gemfile = File.join(File.dirname(__FILE__), 'Gemfile.local.rb') 21 | self.instance_eval(Bundler.read_file(local_gemfile)) if File.exist?(local_gemfile) 22 | EOL 23 | 24 | bundle install 25 | bundle exec rake test 26 | -------------------------------------------------------------------------------- /jobs/rhui-3-rhui-packaging-update.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: rhui-3-rhui-packaging-update 3 | project-type: pipeline 4 | sandbox: true 5 | build-discarder: 6 | days-to-keep: 45 7 | num-to-keep: -1 8 | parameters: 9 | - string: 10 | name: project 11 | description: 'Name of the project to update from satellite-packaging.' 12 | - string: 13 | name: version 14 | description: 'Version of the project to update to.' 15 | - merge_request 16 | dsl: 17 | !include-raw: 18 | - workflows/lib/gitlabEnv.groovy 19 | - workflows/packaging/rhuiPackaging.groovy 20 | - workflows/lib/updatePackaging.groovy 21 | - workflows/lib/createMergeRequest.groovy 22 | - workflows/lib/toolbelt.groovy 23 | - pipelines/lib/ansible.groovy 24 | - pipelines/lib/obal.groovy 25 | - workflows/lib/kerberos.groovy 26 | - workflows/lib/gitlab.groovy 27 | notifications: 28 | - snapper_notifications 29 | -------------------------------------------------------------------------------- /jobs/unittest/satellite6-unit-test-smart-proxy-openscap.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: satellite6-unit-test-smart-proxy-openscap 3 | node: rvm 4 | project-type: matrix 5 | concurrent: true 6 | build-discarder: 7 | days-to-keep: -1 8 | num-to-keep: 16 9 | properties: 10 | - gitlab_variables 11 | parameters: 12 | - merge_request 13 | scm: 14 | - smart_proxy_openscap_gitlab 15 | axes: 16 | - axis: 17 | type: user-defined 18 | name: ruby 19 | values: 20 | - 1.8.7 21 | - 2.0.0 22 | - axis: 23 | type: slave 24 | name: nodes 25 | values: 26 | - rvm 27 | triggers: 28 | - gitlab_build_on_change 29 | builders: 30 | - merge_request 31 | - test_smart_proxy_plugins 32 | publishers: 33 | - gitlab-notifier 34 | - gemset_cleanup 35 | - archive: 36 | artifacts: '**/Gemfile.lock' 37 | notifications: 38 | - snapper_notifications 39 | -------------------------------------------------------------------------------- /scripts/satellite6-upgrade-existence.sh: -------------------------------------------------------------------------------- 1 | # Setting Prerequisites 2 | pip install -r requirements.txt 3 | pip install -r requirements-optional.txt 4 | 5 | # Untar templates data 6 | tar -xf preupgrade_templates.tar.xz 7 | tar -xf postupgrade_templates.tar.xz 8 | 9 | set +e 10 | export ENDPOINT='cli' 11 | $(which py.test) -v --continue-on-collection-errors --junit-xml=test_existance_cli-results.xml -o junit_suite_name=test_existance_cli upgrade_tests/test_existance_relations/cli/ 12 | export ENDPOINT='api' 13 | $(which py.test) -v --continue-on-collection-errors --junit-xml=test_existance_api-results.xml -o junit_suite_name=test_existance_api upgrade_tests/test_existance_relations/api/ 14 | set -e 15 | 16 | echo 17 | echo "========================================" 18 | echo "Server information" 19 | echo "========================================" 20 | echo "Hostname: $SERVER_HOSTNAME" 21 | echo "Credentials: admin/changeme" 22 | echo "========================================" 23 | echo 24 | echo "========================================" 25 | -------------------------------------------------------------------------------- /jobs/unittest/satellite6-unit-test-smart-proxy-remote-execution-ssh.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: satellite6-unit-test-smart-proxy-remote-execution-ssh 3 | project-type: matrix 4 | concurrent: true 5 | build-discarder: 6 | days-to-keep: -1 7 | num-to-keep: 16 8 | properties: 9 | - gitlab_variables 10 | parameters: 11 | - merge_request 12 | scm: 13 | - smart_proxy_remote_execution_ssh_gitlab 14 | axes: 15 | - axis: 16 | type: user-defined 17 | name: ruby 18 | values: 19 | - 2.2 20 | - axis: 21 | type: slave 22 | name: nodes 23 | values: 24 | - rvm 25 | triggers: 26 | - gitlab_build_on_change 27 | builders: 28 | - merge_request 29 | - test_smart_proxy_remote_execution_ssh 30 | publishers: 31 | - gitlab-notifier 32 | - gemset_cleanup 33 | - archive: 34 | artifacts: '**/Gemfile.lock' 35 | notifications: 36 | - snapper_notifications 37 | -------------------------------------------------------------------------------- /workflows/lib/createMergeRequest.groovy: -------------------------------------------------------------------------------- 1 | def createMergeRequest(project, version) { 2 | def branch = "jenkins/update-${project}-${version}" 3 | def commit_msg = "Update ${project} to ${version}" 4 | 5 | dir("tool_belt/repos/${tool_belt_repo_folder}/${packaging_repo}") { 6 | sh "git checkout -b ${branch}" 7 | sh "git push jenkins ${branch} -f" 8 | } 9 | 10 | withCredentials([string(credentialsId: 'gitlab-jenkins-user-api-token-string', variable: 'GITLAB_TOKEN')]) { 11 | 12 | toolBelt( 13 | command: 'git merge-request', 14 | config: tool_belt_config, 15 | options: [ 16 | "--gitlab-username jenkins", 17 | "--gitlab-token ${env.GITLAB_TOKEN}", 18 | "--repo '${packaging_repo_project}/${packaging_repo}'", 19 | "--source-branch ${branch}", 20 | "--target-branch ${env.gitlabTargetBranch}", 21 | "--title '${commit_msg}'" 22 | ] 23 | ) 24 | 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /jobs/satellite6-closed-loop.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: satellite6-closed-loop 3 | node: sat6-rhel6 4 | concurrent: false 5 | description: | 6 |

Job that runs closed loop process

7 | scm: 8 | - git: 9 | url: 'git@$GIT_HOSTNAME:$GIT_QE_ORGANIZATION/closed-loop.git' 10 | branches: 11 | - origin/master 12 | skip-tag: true 13 | wipe-workspace: true 14 | triggers: 15 | - timed: "@midnight" 16 | wrappers: 17 | - inject-passwords: 18 | global: true 19 | mask-password-params: true 20 | builders: 21 | - shining-panda: 22 | build-environment: virtualenv 23 | python-version: System-CPython-2.7 24 | clear: true 25 | nature: shell 26 | command: 27 | !include-raw: 'scripts/satellite6-closed-loop.sh' 28 | - shell: rm -f ~/.config/user.ini 29 | publishers: 30 | - email-ext: 31 | recipients: $CLOSEDLOOP_EMAIL_LIST 32 | -------------------------------------------------------------------------------- /vars/defaults.groovy: -------------------------------------------------------------------------------- 1 | class defaults implements Serializable { 2 | String python = 'python3.8' 3 | String venv = '.env' 4 | String venvModule = 'virtualenv' 5 | 6 | String automation_tools = 'https://github.com/SatelliteQE/automation-tools' 7 | String betelgeuse = 'https://github.com/SatelliteQE/betelgeuse' 8 | String foreman_ansible_modules = 'https://github.com/theforeman/foreman-ansible-modules' 9 | String robottelo = 'https://github.com/SatelliteQE/robottelo/' 10 | String robottelo_ci = 'https://github.com/SatelliteQE/robottelo-ci' 11 | String apix = 'https://github.com/JacobCallahan/apix' 12 | String clix = 'https://github.com/JacobCallahan/clix' 13 | String plinko = 'https://github.com/JacobCallahan/plinko' 14 | String satellite6_upgrade = 'https://github.com/SatelliteQE/satellite6-upgrade' 15 | String testfm = 'https://github.com/SatelliteQE/testfm' 16 | String testblame = 'https://github.com/omkarkhatavkar/testblame' 17 | String satellite6_clone = 'https://github.com/RedHatSatellite/satellite-clone' 18 | } 19 | -------------------------------------------------------------------------------- /jobs/parameters/satellite6_upgrade_parameters.yaml: -------------------------------------------------------------------------------- 1 | - parameter: 2 | name: satellite6-upgrade-parameters 3 | parameters: 4 | - choice: 5 | name: FROM_VERSION 6 | choices: 7 | - '6.8' 8 | - '6.7' 9 | - '6.6' 10 | - '6.5' 11 | description: | 12 |

Select currently installed Satellite version

13 | - choice: 14 | name: TO_VERSION 15 | choices: 16 | - '6.9' 17 | - '6.8' 18 | - '6.7' 19 | - '6.6' 20 | description: | 21 |

Select the Satellite version to upgrade

22 | - choice: 23 | name: DISTRIBUTION 24 | choices: 25 | - CDN 26 | - DOWNSTREAM 27 | description: | 28 |

CDN-Upgrade to released version from CDN.

29 |

DOWNSTREAM-Upgrade to latest stable internal compose.

30 | 31 | 32 | -------------------------------------------------------------------------------- /workflows/rhelPipeline.groovy: -------------------------------------------------------------------------------- 1 | node('sat6-build') { 2 | 3 | stage("Setup Workspace") { 4 | 5 | deleteDir() 6 | setupAnsibleEnvironment {} 7 | 8 | } 9 | 10 | stage("Sync Repositories") { 11 | def products = [ 12 | 'Red Hat Enterprise Linux Server', 13 | 'Red Hat Enterprise Linux for x86_64', 14 | 'Red Hat Software Collections (for RHEL Server)' 15 | ] 16 | 17 | runPlaybookInParallel { 18 | name = "sync" 19 | items = products 20 | item_name = 'product' 21 | playbook = 'playbooks/sync_products.yml' 22 | } 23 | } 24 | 25 | stage("Publish Content Views") { 26 | def content_views = [ 27 | 'RHEL6', 28 | 'RHEL7', 29 | 'RHEL8' 30 | ] 31 | 32 | runPlaybookInParallel { 33 | name = "publish" 34 | items = content_views 35 | item_name = 'content_view' 36 | playbook = 'playbooks/publish_content_views.yml' 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /scripts/satellite6-mass-registration.sh: -------------------------------------------------------------------------------- 1 | echo "Sourcing config files for cdn registration.." 2 | source ${CONFIG_FILES} 3 | source config/subscription_config.conf 4 | 5 | echo "Setting up Container Host" 6 | if [ "${SETUP_CONTAINER_HOST}" == "true" ]; then 7 | cd playbooks 8 | # Note that the following playbook is temporarily hardcoded to generate rhel74 image. 9 | ansible-playbook --inventory=${CONTAINER_HOST}, --extra-vars "RHN_USERNAME=${RHN_USERNAME} RHN_PASSWORD=${RHN_PASSWORD} RHN_POOLID=${RHN_POOLID} WORKSPACE=${WORKSPACE} CUSTOM_CONTAINER_STARTUP_FILE=${CUSTOM_CONTAINER_STARTUP_FILE} CONTAINER_OS=${CONTAINER_OS}" chd-setup.yaml 10 | fi 11 | 12 | echo "Run the command for the container hosts registration" 13 | CONTAINER_TAG=$(echo "$CONTAINER_OS" | tr '[:upper:]' '[:lower:]') 14 | cd ${WORKSPACE}/playbooks 15 | ansible-playbook --inventory=${CONTAINER_HOST}, --extra-vars "SATELLITE_HOST=${SATELLITE_HOST} CONTENT_HOST_PREFIX=${CONTENT_HOST_PREFIX} ACTIVATION_KEY=${ACTIVATION_KEY} NUMBER_OF_HOSTS=${NUMBER_OF_HOSTS} LIMIT=${LIMIT} EXIT_CRITERIA=${EXIT_CRITERIA} CONTAINER_TAG=${CONTAINER_TAG}" chd-run.yaml 16 | -------------------------------------------------------------------------------- /workflows/qe/upgrade-pipeline/satellite6-reporting-upgrade.groovy: -------------------------------------------------------------------------------- 1 | @Library("github.com/SatelliteQE/robottelo-ci") _ 2 | 3 | pipeline { 4 | agent { label "sat6-${satellite_version}" } 5 | stages { 6 | stage('Clean Workspace') { 7 | steps { 8 | deleteDir() 9 | } 10 | } 11 | stage('Copy Artifacts') { 12 | steps { 13 | sh "rm -f *.xml" 14 | copyArtifacts(filter:'*-results.xml', 15 | projectName: "automation-upgraded-${satellite_version}-all-tiers-${os}", 16 | selector: lastSuccessful()) 17 | copyArtifacts(filter:'*-results.xml', 18 | projectName: "automation-upgraded-${satellite_version}-end-to-end-${os}", 19 | selector: lastSuccessful()) 20 | script { 21 | currentBuild.displayName = "# ${env.BUILD_NUMBER} ${env.BUILD_LABEL}" 22 | } 23 | } 24 | } 25 | } 26 | post { 27 | success { 28 | send_report_email "upgrade" 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /vars/send_automation_email.groovy: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env groovy 2 | 3 | /* Usage: 4 | send_automation_email $buildStatus 5 | ex: send_automation_email "success" 6 | */ 7 | def call(buildStatus) { 8 | // build status of null means successful 9 | buildStatus = buildStatus ?: 'success' 10 | // define variables 11 | def subject = "subject" 12 | def body = "body" 13 | if (buildStatus == "failure") { 14 | body = "This build ${env.BUILD_URL} is Failed. Please check failure and re-trigger the job." 15 | subject = "[Jenkins] ${env.JOB_NAME} Build #${env.BUILD_NUMBER} Failed" 16 | } 17 | else if (buildStatus == "fixed") { 18 | body = "This build ${env.BUILD_URL} is Successful." 19 | subject = "[Jenkins] ${env.JOB_NAME} Build #${env.BUILD_NUMBER} Fixed" 20 | } 21 | else if (buildStatus == "success") { 22 | body = "This build ${env.BUILD_URL} is Successful." 23 | subject = "[Jenkins] ${env.JOB_NAME} Build #${env.BUILD_NUMBER} Passed" 24 | } 25 | 26 | emailext ( 27 | to: "${env.QE_EMAIL_LIST}", 28 | subject: subject, 29 | body: body, 30 | ) 31 | } 32 | 33 | -------------------------------------------------------------------------------- /jobs/rhui-3-rhui-packaging-release-build.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: rhui-3-rhui-packaging-release-build 3 | project-type: pipeline 4 | sandbox: true 5 | concurrent: true 6 | build-discarder: 7 | days-to-keep: 45 8 | num-to-keep: -1 9 | properties: 10 | - build-discarder: 11 | days-to-keep: 45 12 | num-to-keep: -1 13 | - gitlab: 14 | connection: gitlab-conn 15 | parameters: 16 | - string: 17 | name: project 18 | description: 'Name of the project to build from rhui-packaging.' 19 | - release_branch 20 | triggers: 21 | - gitlab_build_on_merge 22 | dsl: 23 | !include-raw: 24 | - workflows/lib/gitlabEnv.groovy 25 | - workflows/packaging/rhuiPackaging.groovy 26 | - workflows/packaging/releaseBuildPackaging.groovy 27 | - workflows/lib/packaging.groovy 28 | - pipelines/lib/ansible.groovy 29 | - pipelines/lib/obal.groovy 30 | - workflows/lib/toolbelt.groovy 31 | - workflows/lib/kerberos.groovy 32 | - workflows/lib/gitlab.groovy 33 | notifications: 34 | - snapper_notifications 35 | -------------------------------------------------------------------------------- /jobs/rhui-3-rhui-packaging-scratch-build.yaml: -------------------------------------------------------------------------------- 1 | - job: 2 | name: rhui-3-rhui-packaging-scratch-build 3 | project-type: pipeline 4 | sandbox: true 5 | concurrent: true 6 | build-discarder: 7 | days-to-keep: 45 8 | num-to-keep: -1 9 | properties: 10 | - build-discarder: 11 | days-to-keep: 45 12 | num-to-keep: -1 13 | - gitlab: 14 | connection: gitlab-conn 15 | parameters: 16 | - string: 17 | name: project 18 | description: 'Name of the project to build from rhui-packaging.' 19 | - merge_request 20 | triggers: 21 | - gitlab_build_on_change 22 | dsl: 23 | !include-raw: 24 | - workflows/lib/gitlabEnv.groovy 25 | - workflows/packaging/rhuiPackaging.groovy 26 | - workflows/packaging/scratchBuildPackaging.groovy 27 | - workflows/lib/packaging.groovy 28 | - pipelines/lib/ansible.groovy 29 | - pipelines/lib/obal.groovy 30 | - workflows/lib/toolbelt.groovy 31 | - workflows/lib/kerberos.groovy 32 | - workflows/lib/gitlab.groovy 33 | notifications: 34 | - snapper_notifications 35 | --------------------------------------------------------------------------------