Closed chbrown13 closed 6 years ago
@chbrown13 can you provide a file listing of mazer_roles/ ? (ls -laR mazer_roles
or 'tree mazer_roles/')
@chbrown13 whats the mazer version? mazer version
?
Sure thing:
$ mazer version
name = mazer
version = 0.2.0
config_file = /home/dbrownjr/.ansible/mazer.yml
uname = Linux, dhcp129-152.rdu.redhat.com, 4.17.3-200.fc28.x86_64, #1 SMP Tue Jun 26 14:17:07 UTC 2018, x86_64
executable_location = /usr/bin/mazer
python_version = 2.7.15 (default, May 16 2018, 17:50:09) [GCC 8.1.1 20180502 (Red Hat 8.1.1-1)]
python_executable = /usr/bin/python2
$ tree mazer_roles/
mazer_roles/
└── forklift
└── forklift
└── roles
├── bats
│ ├── defaults
│ │ └── main.yaml
│ ├── meta
│ ├── tasks
│ │ ├── bats_fetch_results.yml
│ │ └── main.yml
│ └── vars
│ ├── Debian.yml
│ └── RedHat.yml
├── debian_backports
│ ├── meta
│ ├── tasks
│ │ └── main.yml
│ └── vars
│ ├── Debian.yml
│ ├── main.yml
│ └── Ubuntu.yml
├── disable_ipv6
│ ├── meta
│ └── tasks
│ └── main.yml
├── dynflow_devel
│ ├── defaults
│ │ └── main.yml
│ ├── meta
│ └── tasks
│ ├── dynflow_install.yml
│ └── main.yml
├── epel_repositories
│ ├── defaults
│ │ └── main.yml
│ ├── meta
│ └── tasks
│ └── main.yml
├── etc_hosts
│ ├── meta
│ ├── tasks
│ │ └── main.yml
│ └── vars
│ └── main.yml
├── foreman
│ └── meta
│ └── main.yml
├── foreman_devel
│ ├── defaults
│ │ └── main.yml
│ ├── meta
│ └── tasks
│ ├── check_forks_of_repos.yml
│ ├── github_push_ssh.yml
│ ├── main.yml
│ └── rhel.yml
├── foreman_provisioning_infrastructure
│ ├── meta
│ └── tasks
│ └── main.yml
├── foreman_proxy_content
│ ├── defaults
│ │ └── main.yml
│ ├── meta
│ ├── tasks
│ │ ├── certs_generate.yml
│ │ ├── devel_install.yml
│ │ ├── install.yml
│ │ ├── main.yaml
│ │ └── upgrade.yml
│ └── vars
│ └── main.yml
├── foreman_repositories
│ ├── defaults
│ │ └── main.yml
│ ├── meta
│ └── tasks
│ ├── debian_release_repos.yml
│ ├── debian_staging_repos.yml
│ ├── main.yml
│ ├── redhat_release_repos.yml
│ └── redhat_staging_repos.yml
├── foreman_seeder
│ ├── hostgroups
│ │ ├── defaults
│ │ │ └── main.yml
│ │ └── tasks
│ │ └── main.yml
│ ├── hosts
│ │ ├── defaults
│ │ │ └── main.yml
│ │ └── tasks
│ │ └── main.yml
│ ├── meta
│ ├── puppet_modules
│ │ ├── defaults
│ │ │ └── main.yml
│ │ └── tasks
│ │ └── main.yml
│ └── users
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ └── main.yml
├── foreman_testing
│ ├── defaults
│ │ └── main.yaml
│ ├── meta
│ └── tasks
│ └── main.yaml
├── forklift
│ ├── defaults
│ │ └── main.yml
│ ├── meta
│ └── tasks
│ ├── destroy.yml
│ ├── main.yml
│ └── up.yml
├── freeipa_server
│ ├── defaults
│ │ └── main.yml
│ ├── meta
│ └── tasks
│ ├── install_freeipa_client.yml
│ ├── install_freeipa_server.yml
│ └── main.yml
├── git
│ ├── defaults
│ │ └── main.yml
│ ├── meta
│ └── tasks
│ └── main.yml
├── hammer_devel
│ ├── defaults
│ │ └── main.yml
│ ├── meta
│ └── tasks
│ ├── hammer_config.yml
│ ├── hammer_install.yml
│ └── main.yml
├── katello_provisioning
│ ├── defaults
│ │ └── main.yml
│ ├── meta
│ │ └── main.yml
│ └── tasks
│ └── main.yml
├── katello_repositories
│ ├── defaults
│ │ └── main.yml
│ ├── meta
│ └── tasks
│ ├── main.yml
│ ├── qpid.yml
│ ├── release_repos.yml
│ └── staging_repos.yml
├── libvirt
│ ├── defaults
│ │ └── main.yml
│ ├── meta
│ ├── tasks
│ │ ├── main.yml
│ │ └── tftp.yml
│ └── templates
│ ├── network.xml.j2
│ └── storage.xml.j2
├── plugins
│ ├── foreman_ansible
│ │ ├── defaults
│ │ │ └── main.yml
│ │ ├── tasks
│ │ │ └── main.yml
│ │ └── templates
│ │ └── ssh_config
│ ├── foreman_bootdisk
│ │ ├── defaults
│ │ │ └── main.yml
│ │ └── tasks
│ │ └── main.yml
│ ├── foreman_discovery
│ │ ├── defaults
│ │ │ └── main.yml
│ │ └── tasks
│ │ └── main.yml
│ ├── foreman_docker
│ │ ├── defaults
│ │ │ └── main.yml
│ │ └── tasks
│ │ └── main.yml
│ ├── foreman_openscap
│ │ ├── defaults
│ │ │ └── main.yml
│ │ └── tasks
│ │ └── main.yml
│ ├── foreman_remote_execution
│ │ ├── defaults
│ │ │ └── main.yml
│ │ └── tasks
│ │ └── main.yml
│ ├── foreman_templates
│ │ ├── defaults
│ │ │ └── main.yml
│ │ └── tasks
│ │ └── main.yml
│ ├── meta
│ └── plugin_installer
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ └── main.yml
├── powerdns
│ ├── defaults
│ │ └── main.yml
│ ├── meta
│ ├── tasks
│ │ ├── main.yml
│ │ ├── schema.mysql.yml
│ │ └── zones.yml
│ └── templates
│ └── pdns.conf.j2
├── pulp_repositories
│ ├── defaults
│ │ └── main.yml
│ ├── meta
│ └── tasks
│ └── main.yml
├── reviewer
│ ├── defaults
│ │ └── main.yml
│ ├── meta
│ └── tasks
│ └── main.yml
├── robottelo
│ ├── defaults
│ │ └── main.yml
│ ├── meta
│ └── tasks
│ ├── install.yml
│ ├── main.yml
│ └── ssh.yml
├── selinux
│ ├── defaults
│ │ └── main.yml
│ ├── meta
│ └── tasks
│ └── main.yml
├── swapfile
│ ├── defaults
│ │ └── main.yml
│ ├── meta
│ └── tasks
│ └── main.yml
├── umask
│ ├── defaults
│ │ └── main.yml
│ ├── meta
│ └── tasks
│ ├── debian.yml
│ ├── main.yml
│ └── redhat.yml
└── vagrant
├── defaults
│ └── main.yml
├── meta
└── tasks
├── main.yml
├── vagrant_libvirt.yml
└── vagrant_scp.yml
152 directories, 116 files
Expected
$ tree roles/
roles/
├── bats
│ ├── defaults
│ │ └── main.yaml
│ ├── tasks
│ │ ├── bats_fetch_results.yml
│ │ └── main.yml
│ └── vars
│ ├── Debian.yml
│ └── RedHat.yml
├── custom_certificates
│ ├── defaults
│ │ └── main.yml
│ ├── tasks
│ │ ├── issue.yml
│ │ └── main.yml
│ └── templates
│ ├── openssl.cnf.j2
│ └── serial.j2
├── debian_backports
│ ├── tasks
│ │ └── main.yml
│ └── vars
│ ├── Debian.yml
│ ├── main.yml
│ └── Ubuntu.yml
├── disable_firewall
│ └── tasks
│ └── main.yml
├── disable_ipv6
│ └── tasks
│ └── main.yml
├── dynflow_devel
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ ├── dynflow_install.yml
│ └── main.yml
├── epel_repositories
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ └── main.yml
├── etc_hosts
│ ├── tasks
│ │ └── main.yml
│ └── vars
│ └── main.yml
├── fips
│ └── tasks
│ └── main.yml
├── foreman
│ └── meta
│ └── main.yml
├── foreman_devel
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ ├── check_forks_of_repos.yml
│ ├── github_push_ssh.yml
│ ├── main.yml
│ └── rhel.yml
├── foreman_installer
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ ├── custom_hiera.yml
│ ├── install.yml
│ ├── locales.yml
│ ├── main.yml
│ ├── module_pr.yml
│ ├── packages.yml
│ └── upgrade.yml
├── foreman_installer_devel_scenario
│ ├── files
│ │ ├── katello-devel-answers.yaml
│ │ └── katello-devel.yaml
│ └── tasks
│ └── main.yml
├── foreman_provisioning
│ ├── defaults
│ │ └── main.yml
│ ├── meta
│ │ └── main.yml
│ └── tasks
│ ├── configure_centos_7.yml
│ ├── configure_debian_9_3.yml
│ ├── configure_fedora_27.yml
│ ├── configure_ubuntu_17_10.yml
│ └── main.yml
├── foreman_provisioning_infrastructure
│ └── tasks
│ └── main.yml
├── foreman_proxy_content
│ ├── defaults
│ │ └── main.yml
│ ├── tasks
│ │ ├── certs_generate.yml
│ │ ├── devel_install.yml
│ │ ├── install.yml
│ │ ├── main.yaml
│ │ └── upgrade.yml
│ └── vars
│ └── main.yml
├── foreman_repositories
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ ├── debian_release_repos.yml
│ ├── debian_staging_repos.yml
│ ├── main.yml
│ ├── redhat_release_repos.yml
│ └── redhat_staging_repos.yml
├── foreman_seeder
│ ├── hostgroups
│ │ ├── defaults
│ │ │ └── main.yml
│ │ └── tasks
│ │ └── main.yml
│ ├── hosts
│ │ ├── defaults
│ │ │ └── main.yml
│ │ └── tasks
│ │ └── main.yml
│ ├── puppet_modules
│ │ ├── defaults
│ │ │ └── main.yml
│ │ └── tasks
│ │ └── main.yml
│ └── users
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ └── main.yml
├── foreman_testing
│ ├── defaults
│ │ └── main.yaml
│ └── tasks
│ └── main.yaml
├── forklift
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ ├── destroy.yml
│ ├── main.yml
│ └── up.yml
├── freeipa_server
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ ├── install_freeipa_client.yml
│ ├── install_freeipa_server.yml
│ └── main.yml
├── git
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ └── main.yml
├── hammer_credentials
│ ├── defaults
│ │ └── main.yml
│ ├── tasks
│ │ └── main.yml
│ └── templates
│ └── zzz_foreman_forklift_credentials.yml.j2
├── hammer_devel
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ ├── hammer_config.yml
│ ├── hammer_install.yml
│ └── main.yml
├── hammer_tests
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ └── main.yaml
├── haproxy
│ ├── handlers
│ │ └── main.yml
│ ├── tasks
│ │ └── main.yml
│ └── templates
│ └── haproxy.cfg.j2
├── haveged
│ └── tasks
│ └── main.yml
├── katello
│ └── meta
│ └── main.yml
├── katello_client
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ ├── cleanup.yml
│ └── main.yml
├── katello_client_repositories
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ └── main.yml
├── katello_provisioning
│ ├── defaults
│ │ └── main.yml
│ ├── meta
│ │ └── main.yml
│ └── tasks
│ └── main.yml
├── katello_repositories
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ ├── main.yml
│ ├── qpid.yml
│ ├── release_repos.yml
│ └── staging_repos.yml
├── koji
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ └── main.yml
├── libvirt
│ ├── defaults
│ │ └── main.yml
│ ├── tasks
│ │ ├── main.yml
│ │ └── tftp.yml
│ └── templates
│ ├── network.xml.j2
│ └── storage.xml.j2
├── ostree_repositories
│ └── tasks
│ └── main.yml
├── plugins
│ ├── foreman_ansible
│ │ ├── defaults
│ │ │ └── main.yml
│ │ ├── tasks
│ │ │ └── main.yml
│ │ └── templates
│ │ └── ssh_config
│ ├── foreman_bootdisk
│ │ ├── defaults
│ │ │ └── main.yml
│ │ └── tasks
│ │ └── main.yml
│ ├── foreman_discovery
│ │ ├── defaults
│ │ │ └── main.yml
│ │ └── tasks
│ │ └── main.yml
│ ├── foreman_docker
│ │ ├── defaults
│ │ │ └── main.yml
│ │ └── tasks
│ │ └── main.yml
│ ├── foreman_openscap
│ │ ├── defaults
│ │ │ └── main.yml
│ │ └── tasks
│ │ └── main.yml
│ ├── foreman_remote_execution
│ │ ├── defaults
│ │ │ └── main.yml
│ │ └── tasks
│ │ └── main.yml
│ ├── foreman_templates
│ │ ├── defaults
│ │ │ └── main.yml
│ │ └── tasks
│ │ └── main.yml
│ └── plugin_installer
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ └── main.yml
├── powerdns
│ ├── defaults
│ │ └── main.yml
│ ├── tasks
│ │ ├── main.yml
│ │ ├── schema.mysql.yml
│ │ └── zones.yml
│ └── templates
│ └── pdns.conf.j2
├── pulp_repositories
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ └── main.yml
├── puppet_repositories
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ ├── main.yml
│ ├── puppetlabs-3-redhat.yml
│ ├── puppetlabs-4-debian.yml
│ ├── puppetlabs-4-redhat.yml
│ ├── puppetlabs-5-debian.yml
│ ├── puppetlabs-5-redhat.yml
│ ├── puppetlabs-nightly-debian.yml
│ └── puppetlabs-nightly-redhat.yml
├── reviewer
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ └── main.yml
├── robottelo
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ ├── install.yml
│ ├── main.yml
│ └── ssh.yml
├── ruby_libvirt_gem
│ ├── handlers
│ │ └── main.yml
│ └── tasks
│ └── main.yml
├── ruby_scl
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ └── main.yml
├── selinux
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ └── main.yml
├── sos_report
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ ├── main.yml
│ └── sosreport_fetch_results.yml
├── swapfile
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ └── main.yml
├── umask
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ ├── debian.yml
│ ├── main.yml
│ └── redhat.yml
├── unpriviledged_user
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ └── main.yml
├── update_os_packages
│ └── tasks
│ └── main.yml
└── vagrant
├── defaults
│ └── main.yml
└── tasks
├── main.yml
├── vagrant_libvirt.yml
└── vagrant_scp.yml
183 directories, 178 files
Looks like with logging configured, there's a traceback occurring:
[2018-08-07 16:19:13,962 63339 E] ansible_galaxy_cli.cli.galaxy execute_install:315 - The Galaxy content /Users/chouseknecht/.ansible/content/forklift/forklift/roles/foreman_devel/defaults/main.yml appears to already exist.:
- you can use --ignore-errors to skip failed roles and finish processing the list.
Traceback (most recent call last):
File "/Users/chouseknecht/.pyenv/versions/2.7.14/envs/venv27/lib/python2.7/site-packages/ansible_galaxy_cli/cli/galaxy.py", line 313, in execute_install
force_overwrite=self.options.force)
File "/Users/chouseknecht/.pyenv/versions/2.7.14/envs/venv27/lib/python2.7/site-packages/ansible_galaxy/actions/install.py", line 86, in install_content_specs
force_overwrite=force_overwrite)
File "/Users/chouseknecht/.pyenv/versions/2.7.14/envs/venv27/lib/python2.7/site-packages/ansible_galaxy/actions/install.py", line 183, in install_contents
raise_without_ignore(ignore_errors, e)
File "/Users/chouseknecht/.pyenv/versions/2.7.14/envs/venv27/lib/python2.7/site-packages/ansible_galaxy/actions/install.py", line 25, in raise_without_ignore
raise exceptions.GalaxyError(message)
GalaxyError: The Galaxy content /Users/chouseknecht/.ansible/content/forklift/forklift/roles/foreman_devel/defaults/main.yml appears to already exist.:
- you can use --ignore-errors to skip failed roles and finish processing the list.
[2018-08-07 16:19:13,962 63339 E] ansible_galaxy_cli.main main:46 - The Galaxy content /Users/chouseknecht/.ansible/content/forklift/forklift/roles/foreman_devel/defaults/main.yml appears to already exist.:
- you can use --ignore-errors to skip failed roles and finish processing the list.
Traceback (most recent call last):
File "/Users/chouseknecht/.pyenv/versions/2.7.14/envs/venv27/lib/python2.7/site-packages/ansible_galaxy_cli/main.py", line 35, in main
exit_code = cli.run()
File "/Users/chouseknecht/.pyenv/versions/2.7.14/envs/venv27/lib/python2.7/site-packages/ansible_galaxy_cli/cli/galaxy.py", line 197, in run
self.execute()
File "/Users/chouseknecht/.pyenv/versions/2.7.14/envs/venv27/lib/python2.7/site-packages/ansible_galaxy_cli/cli/__init__.py", line 150, in execute
fn()
File "/Users/chouseknecht/.pyenv/versions/2.7.14/envs/venv27/lib/python2.7/site-packages/ansible_galaxy_cli/cli/galaxy.py", line 313, in execute_install
force_overwrite=self.options.force)
File "/Users/chouseknecht/.pyenv/versions/2.7.14/envs/venv27/lib/python2.7/site-packages/ansible_galaxy/actions/install.py", line 86, in install_content_specs
force_overwrite=force_overwrite)
File "/Users/chouseknecht/.pyenv/versions/2.7.14/envs/venv27/lib/python2.7/site-packages/ansible_galaxy/actions/install.py", line 183, in install_contents
raise_without_ignore(ignore_errors, e)
File "/Users/chouseknecht/.pyenv/versions/2.7.14/envs/venv27/lib/python2.7/site-packages/ansible_galaxy/actions/install.py", line 25, in raise_without_ignore
raise exceptions.GalaxyError(message)
GalaxyError: The Galaxy content /Users/chouseknecht/.ansible/content/forklift/forklift/roles/foreman_devel/defaults/main.yml appears to already exist.:
- you can use --ignore-errors to skip failed roles and finish processing the list.
@chbrown13 Which roles are missing?
@alikins
Assuming the traceback above is the root cause. Seems like once it hit that problem it stopped.
But, FWIW, here's the list that didn't get installed:
custom_certificates
disable_firewall
dynflow_devel
fips
foreman_installer
foreman_installer_devel_scenario
foreman_provisioning
hammer_credentials
hammer_tests
haproxy
haveged
katello
katello_client
katello_client_repositories
katello_repositories
koji
ostree_repositories
puppet_repositories
ruby_libvirt_gem
ruby_scl
sos_report
unpriviledged_user
update_os_packages
Ah, I can reproduce that I think.
The code that selects the tar file members to extract is being too eager and is matching too much.
In the current code, for roles with names like 'katello_client', the install will match/install 'roles/katello_client*' which matches 'roles/katello_client/', but also 'roles/katello_client_repositories'.
Then when it goes to install 'roles/katello_client_repositories/' it fails because that directory has already been created by way of the overeager match on 'roles/katello_client*'
Testing a fix now.
Bug Report
GALAXY CLI VERSION
CONFIGURATION
ansible.cfg
mazer.yml
SUMMARY
Unable to install all roles from a Github repository
STEPS TO REPRODUCE
EXPECTED RESULTS
All roles from here to be installed in the mazer_roles/forklift/forklift/roles directory
ACTUAL RESULTS
Several roles are missing and using the mazer installer has inconsistent results