Updated to also include debian security and clients (12.04 - 16.04 LTS)
This commit is contained in:
		
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | |||||||
|  | *.retry | ||||||
|  | .idea | ||||||
| @@ -12,7 +12,9 @@ | |||||||
|   when: ansible_distribution == "CentOS" and ansible_distribution_major_version == "7" |   when: ansible_distribution == "CentOS" and ansible_distribution_major_version == "7" | ||||||
|  |  | ||||||
| - name: Install all packages for client | - name: Install all packages for client | ||||||
|   yum: name={{item}} state=present |   yum: | ||||||
|  |     name: "{{item}}" | ||||||
|  |     state: present | ||||||
|   with_items: |   with_items: | ||||||
|    - rhn-client-tools |    - rhn-client-tools | ||||||
|    - rhn-check |    - rhn-check | ||||||
| @@ -22,16 +24,25 @@ | |||||||
|    - yum-rhn-plugin |    - yum-rhn-plugin | ||||||
|   when: ansible_distribution == "CentOS" |   when: ansible_distribution == "CentOS" | ||||||
|  |  | ||||||
|  | - name: Install package for Ubuntu | ||||||
|  |   apt: | ||||||
|  |     name: apt-transport-spacewalk | ||||||
|  |     state: present | ||||||
|  |   when: ansible_distribution == "Ubuntu" | ||||||
|  |  | ||||||
| - name: Install Spacewalk CA certificate from server | - name: Install Spacewalk CA certificate from server | ||||||
|   yum: |   yum: | ||||||
|     name: http://{{ hostvars['spacewalk']['ansible_ssh_host'] }}/pub/rhn-org-trusted-ssl-cert-1.0-1.noarch.rpm |     name: "http://{{ hostvars['spacewalk']['ansible_ssh_host'] }}/pub/rhn-org-trusted-ssl-cert-1.0-1.noarch.rpm" | ||||||
|     state: present |     state: present | ||||||
|   notify: register with spacewalk server |   notify: register with spacewalk server | ||||||
|  |   when: ansible_distribution == "CentOS" | ||||||
|  |  | ||||||
| - name: register with spacewalk server | - name: register with spacewalk server | ||||||
|   rhn_register: |   command: rhnreg_ks --serverUrl=http://{{ hostvars['spacewalk']['ansible_ssh_host'] }}/XMLRPC --activationkey=1-centos-{{ansible_distribution_major_version}}-epel | ||||||
|     state: present |  | ||||||
|     server_url: "http://{{ hostvars['spacewalk']['ansible_ssh_host'] }}/XMLRPC" |  | ||||||
|     activationkey: "1-centos-{{ansible_distribution_major_version}}-epel" |  | ||||||
|   when: ansible_distribution == "CentOS" |   when: ansible_distribution == "CentOS" | ||||||
|   ignore_errors: true |   ignore_errors: true | ||||||
|  |  | ||||||
|  | - name: register with spacewalk server | ||||||
|  |   command: rhnreg_ks --serverUrl=http://{{ hostvars['spacewalk']['ansible_ssh_host'] }}/XMLRPC --activationkey=1-ubuntu-{{ansible_distribution_version.split('.')|join('')}}-security | ||||||
|  |   when: ansible_distribution == "Ubuntu" | ||||||
|  |   ignore_errors: true | ||||||
| @@ -23,7 +23,17 @@ spacewalk_repo_info: | |||||||
|   - {name: 'CentOS_7', label: 'centos-7', repo: 'CentOS_7', repo_url: 'http://mirror.ox.ac.uk/sites/mirror.centos.org/7/os/x86_64/', arch: 'x86_64', checksum: 'sha256'} |   - {name: 'CentOS_7', label: 'centos-7', repo: 'CentOS_7', repo_url: 'http://mirror.ox.ac.uk/sites/mirror.centos.org/7/os/x86_64/', arch: 'x86_64', checksum: 'sha256'} | ||||||
|  |  | ||||||
| spacewalk_child_repo_info: | spacewalk_child_repo_info: | ||||||
|   - {name: 'CentOS_7_epel', label: 'centos-7-epel', parent: 'centos-7', repo: 'CentOS_7_epel',  activationkey: '1-centos-7-epel', repo_url: 'http://anorien.csc.warwick.ac.uk/mirrors/epel/7/x86_64/', arch: 'x86_64', checksum: 'sha256'} |   - { | ||||||
|  |       name: 'CentOS_7_epel', | ||||||
|  |       label: 'centos-7-epel', | ||||||
|  |       parent: 'centos-7', | ||||||
|  |       repo: 'CentOS_7_epel', | ||||||
|  |       activationkey: '1-centos-7-epel', | ||||||
|  |       repo_url: 'http://anorien.csc.warwick.ac.uk/mirrors/epel/7/x86_64/', | ||||||
|  |       arch: 'x86_64', | ||||||
|  |       checksum: | ||||||
|  |       'sha256' | ||||||
|  |     } | ||||||
|   - {name: 'CentOS_6_epel', label: 'centos-6-epel', parent: 'centos-6', repo: 'CentOS_6_epel', activationkey: '1-centos-6-epel', repo_url: 'http://anorien.csc.warwick.ac.uk/mirrors/epel/6/x86_64/', arch: 'x86_64', checksum: 'sha256'} |   - {name: 'CentOS_6_epel', label: 'centos-6-epel', parent: 'centos-6', repo: 'CentOS_6_epel', activationkey: '1-centos-6-epel', repo_url: 'http://anorien.csc.warwick.ac.uk/mirrors/epel/6/x86_64/', arch: 'x86_64', checksum: 'sha256'} | ||||||
|   - {name: 'CentOS_6_updates', label: 'centos-6-updates', parent: 'centos-6', repo: 'CentOS_6_updates', activationkey: '1-centos-6-epel', repo_url: 'http://mirror.centos.org/centos/6/updates/x86_64/', arch: 'x86_64', checksum: 'sha256'} |   - {name: 'CentOS_6_updates', label: 'centos-6-updates', parent: 'centos-6', repo: 'CentOS_6_updates', activationkey: '1-centos-6-epel', repo_url: 'http://mirror.centos.org/centos/6/updates/x86_64/', arch: 'x86_64', checksum: 'sha256'} | ||||||
|   - {name: 'CentOS_7_updates', label: 'centos-7-updates', parent: 'centos-7', repo: 'CentOS_7_updates', activationkey: '1-centos-7-epel', repo_url: 'http://mirror.centos.org/centos/7/updates/x86_64/', arch: 'x86_64', checksum: 'sha256'} |   - {name: 'CentOS_7_updates', label: 'centos-7-updates', parent: 'centos-7', repo: 'CentOS_7_updates', activationkey: '1-centos-7-epel', repo_url: 'http://mirror.centos.org/centos/7/updates/x86_64/', arch: 'x86_64', checksum: 'sha256'} | ||||||
| @@ -31,5 +41,11 @@ spacewalk_child_repo_info: | |||||||
|   - {name: 'CentOS_7_extras', label: 'centos-7-extras', parent: 'centos-7', repo: 'CentOS_7_extras', activationkey: '1-centos-7-epel', repo_url: 'http://mirror.centos.org/centos/7/extras/x86_64/', arch: 'x86_64', checksum: 'sha256'} |   - {name: 'CentOS_7_extras', label: 'centos-7-extras', parent: 'centos-7', repo: 'CentOS_7_extras', activationkey: '1-centos-7-epel', repo_url: 'http://mirror.centos.org/centos/7/extras/x86_64/', arch: 'x86_64', checksum: 'sha256'} | ||||||
|  |  | ||||||
| spacewalk_deb_repo_info: | spacewalk_deb_repo_info: | ||||||
|   - {name: 'Ubuntu_Trusty_14_04', label: 'ubuntu-1404', repo: 'Ubuntu1404', repo_url: 'http://de.archive.ubuntu.com/ubuntu/dists/trusty/main/binary-amd64/', arch: 'amd64-deb', checksum: 'sha256'} |   - {name: 'Ubuntu_Precise_12_04', label: 'ubuntu-1204', repo: 'Ubuntu1204', activationkey: '1-ubuntu-1204', repo_url: 'http://de.archive.ubuntu.com/ubuntu/dists/precise/main/binary-amd64/', arch: 'amd64-deb', checksum: 'sha256'} | ||||||
|   - {name: 'Ubuntu_Precise_12_04', label: 'ubuntu-1204', repo: 'Ubuntu1204', repo_url: 'http://de.archive.ubuntu.com/ubuntu/dists/precise/main/binary-amd64/', arch: 'amd64-deb', checksum: 'sha256'} |   - {name: 'Ubuntu_Trusty_14_04', label: 'ubuntu-1404', repo: 'Ubuntu1404', activationkey: '1-ubuntu-1404', repo_url: 'http://de.archive.ubuntu.com/ubuntu/dists/trusty/main/binary-amd64/', arch: 'amd64-deb', checksum: 'sha256'} | ||||||
|  |   - {name: 'Ubuntu_Xenial_16_04', label: 'ubuntu-1604', repo: 'Ubuntu1604', activationkey: '1-ubuntu-1604', repo_url: 'http://de.archive.ubuntu.com/ubuntu/dists/xenial/main/binary-amd64/', arch: 'amd64-deb', checksum: 'sha256'} | ||||||
|  |  | ||||||
|  | spacewalk_child_deb_repo_info: | ||||||
|  |   - {name: 'Ubuntu_Precise_12_04_security', label: 'ubuntu-1204-security', parent: 'ubuntu-1204', activationkey: '1-ubuntu-1204-security', repo: 'Ubuntu1204_security', repo_url: 'http://de.archive.ubuntu.com/ubuntu/dists/precise-security/main/binary-amd64/', arch: 'amd64-deb', checksum: 'sha256'} | ||||||
|  |   - {name: 'Ubuntu_Trusty_14_04_security', label: 'ubuntu-1404-security', parent: 'ubuntu-1404', activationkey: '1-ubuntu-1404-security', repo: 'Ubuntu1404_security', repo_url: 'http://de.archive.ubuntu.com/ubuntu/dists/trusty-security/main/binary-amd64/', arch: 'amd64-deb', checksum: 'sha256'} | ||||||
|  |   - {name: 'Ubuntu_Xenial_16_04_security', label: 'ubuntu-1604-security', parent: 'ubuntu-1604', activationkey: '1-ubuntu-1604-security', repo: 'Ubuntu1604_security', repo_url: 'http://de.archive.ubuntu.com/ubuntu/dists/xenial-security/main/binary-amd64/', arch: 'amd64-deb', checksum: 'sha256'} | ||||||
|   | |||||||
| @@ -14,14 +14,34 @@ | |||||||
| - name: Patch the python debian library | - name: Patch the python debian library | ||||||
|   lineinfile: dest=/usr/lib/python2.7/site-packages/debian/debfile.py regexp='^PART_EXTS =' line="PART_EXTS = ['gz', 'bz2', 'xz', 'lzma']" |   lineinfile: dest=/usr/lib/python2.7/site-packages/debian/debfile.py regexp='^PART_EXTS =' line="PART_EXTS = ['gz', 'bz2', 'xz', 'lzma']" | ||||||
|  |  | ||||||
| - name: Add base channels | - name: Add deb base channels | ||||||
|   command: spacecmd --user=admin --password={{spacewalk_admin_password}} -- softwarechannel_create -n {{item.name}} -l {{item.label}} -a {{item.arch}} -c sha512 |   command: spacecmd --user=admin --password={{spacewalk_admin_password}} -- softwarechannel_create -n {{item.name}} -l {{item.label}} -a {{item.arch}} -c sha512 | ||||||
|   ignore_errors: true |   ignore_errors: true | ||||||
|   with_items: "{{spacewalk_deb_repo_info}}" |   with_items: "{{spacewalk_deb_repo_info}}" | ||||||
|  |  | ||||||
|  | - name: Add deb child channels | ||||||
|  |   command: spacecmd --user=admin --password={{spacewalk_admin_password}} -- softwarechannel_create -n {{item.name}} -p {{item.parent}} -l {{item.label}} -a {{item.arch}} -c sha512 | ||||||
|  |   ignore_errors: true | ||||||
|  |   with_items: "{{spacewalk_child_deb_repo_info}}" | ||||||
|  |  | ||||||
|  | - name: Add deb activation keys | ||||||
|  |   command: spacecmd --user=admin --password={{spacewalk_admin_password}} -- activationkey_create -n {{item.label}} -b {{item.label}} -d {{item.name}} | ||||||
|  |   ignore_errors: true | ||||||
|  |   with_items: "{{spacewalk_deb_repo_info}}" | ||||||
|  |  | ||||||
|  | - name: Add activation keys for deb child channels | ||||||
|  |   command: spacecmd --user=admin --password={{spacewalk_admin_password}} -- activationkey_create -n {{item.label}} -b {{item.parent}} -d {{item.name}} | ||||||
|  |   ignore_errors: true | ||||||
|  |   with_items: "{{spacewalk_child_deb_repo_info}}" | ||||||
|  |  | ||||||
|  | - name: Associate child channels with activationkeys | ||||||
|  |   command: spacecmd --user=admin --password={{spacewalk_admin_password}} -- activationkey_addchildchannels {{item.activationkey}}  {{item.label}} | ||||||
|  |   ignore_errors: true | ||||||
|  |   with_items: "{{spacewalk_child_deb_repo_info}}" | ||||||
|  |  | ||||||
| - name: Get the trusted SSL certs | - name: Get the trusted SSL certs | ||||||
|   get_url: url=http://localhost/pub/RHN-ORG-TRUSTED-SSL-CERT dest=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT |   get_url: url=http://localhost/pub/RHN-ORG-TRUSTED-SSL-CERT dest=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT | ||||||
|  |  | ||||||
| - name: Add cron jobs for synchronizing Debian repos | - name: Add cron jobs for synchronizing Debian repos | ||||||
|   cron: name="{{item.name}} repo sync" minute="0" hour="7,19" job="{{spacewalk_scripts_dir}}debianSync.py --username=admin --password={{spacewalk_admin_password}} --channel {{item.label}} --url {{item.repo_url}}" |   cron: name="{{item.name}} repo sync" minute="0" hour="7,19" job="{{spacewalk_scripts_dir}}debianSync.py --username=admin --password={{spacewalk_admin_password}} --channel {{item.label}} --url {{item.repo_url}}" | ||||||
|   with_items: "{{spacewalk_deb_repo_info}}" |   with_items: "{{spacewalk_deb_repo_info | union(spacewalk_child_deb_repo_info)}}" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user