├── 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 |
--------------------------------------------------------------------------------