Coder Social home page Coder Social logo

theforeman / forklift Goto Github PK

View Code? Open in Web Editor NEW
182.0 28.0 199.0 2.42 MB

Helpful deployment scripts for Foreman and Katello

Home Page: https://theforeman.github.io/forklift

License: GNU General Public License v3.0

Shell 63.64% Ruby 22.92% Python 4.60% Jinja 8.84%
forklift playbooks vagrant ansible foreman katello hacktoberfest

forklift's Introduction

Forklift: lifting Foreman into your environment

Forklift provides tools to create Foreman/Katello environments for development, testing and production configurations. Whether you are a developer wanting an environment to write code, or a user wanting to spin up the latest production environment for deployment or evaluation Forklift has you covered.

Using Forklift

Requirements

  • Vagrant - 2.2+ - Both the VirtualBox and Libvirt providers are tested
  • Ansible - 2.12+
  • Vagrant Libvirt provider plugin (if using Libvirt)
  • Virtualization enabled in BIOS

See Installing Vagrant for installation instructions.

Quickstart

The quickstart guide covers the basic steps to install Forklift so that you can quickly spin up a production test environment of the latest bleeding edge nightly Foreman or Katello build.

It assumes you have already Vagrant and libvirt installed, as well as the vagrant-libvirt and vagrant-hostmanager plugins. You also need Ansible, although if you don't have it or aren't sure if your version is compatible, you can simply create and activate a Python virtual environment and then pip install ansible-galaxy

Start by cloning the Forklift repository:

git clone https://github.com/theforeman/forklift.git
cd forklift

Then install the Ansible collections which are needed by Forklift:

ansible-galaxy collection install -r requirements.yml

When this is complete, simply follow the next section of this README to try out the latest nightly Foreman build using Forklift.

Foreman Nightly Box

Spin up your box and start using the latest nightly build of Foreman:

vagrant up centos8-stream-foreman-nightly

Access the CLI by first connecting to the box via SSH:

vagrant ssh centos8-stream-foreman-nightly

To access the WebUI, it's helpful to have the vagrant-hostmanager plugin installed, so that your Workstation will automatically be able to resolve the hostname of the box to its IP address.

Then you can simply open your browser and navigate to https://centos8-stream-foreman-nightly.<HOSTNAME>.example.com where <HOSTNAME> is replaced by the shortname of your workstation. The first time you do this you will need to accept the self-signed certicate.

By default, forklift deploys Foreman with admin/changeme as username and password.

Katello Nightly Box

Katello nightly boxes are available as well; simply change centos8-stream-foreman-nightly to centos8-stream-katello-nightly and the steps are otherwise exactly the same as above.

Additional Documentation

The remainder of this README contains helpful notes on additional topics that are likely to be of interest to users. For the most thorough and complete guides however, please refer to the docs page.

Katello Development Environment

If you want a Katello development environment, substitute your GitHub username for GITHUB_NICK and run:

cp vagrant/boxes.d/99-local.yaml{.example,}
sed -i "s/<REPLACE ME>/GITHUB_NICK/g" vagrant/boxes.d/99-local.yaml

Bring up the Katello Development Box:

vagrant up centos8-katello-devel

Once the box is running, you can access the shell via SSH and modify the source code in the ~/foreman and ~/katello directories. Then start the application to preview your changes:

cd ~/foreman
bundle exec foreman start

Before you can access the WebUI, you must first accept the self-signed certificate on port 3808 by visiting https://centos8-katello-devel.<HOSTNAME>.example.com:3808 in your browser.

Then, navigate to https://centos8-katello-devel.<HOSTNAME>.example.com/ to access the WebUI and preview your changes.

As above, <HOSTNAME> refers to the shortname of your hypervisor.

There is a much more detailed guide to the development environments in the full documentation.

See the developer documentation within the Foreman and Katello repositories for instructions on running the test suites, submitting pull requests, etc.

Using Playbooks and Roles without Vagrant

In case using Vagrant is not desired, ansible playbooks and roles from this repo can be used separately. This is useful if an existing host should be used for the installation, e.g. a beaker machine. In order to deploy the devel environment on host test.example.com, the following needs to be done:

on test.example.com machine, where the dev env should be deployed

useradd vagrant
echo "vagrant	ALL=(ALL)	NOPASSWD: ALL" >> /etc/sudoers.d/vagrant

in forklift checkout

echo -e "[devel]\ntest.example.com" > inventories/local_inventory
ansible-playbook --private-key=~/.ssh/id_rsa --user root --inventory inventories/local_inventory --extra-vars katello_devel_github_username=katello playbooks/devel.yml

In an example above, ansible was instructed to use specific private key (overriding the value from ansible.cfg), root user was set as ssh user and playbook variable was set, so that checkout will be made from katello user.

Other playbooks from playbooks/ directory can be used similarly, though some might need more variables and investigating their parameters is recommended first.

Credentials

By default forklift deploys Foreman with admin/changeme as username and password, please change this on production installs (either after the install, or by setting foreman_installer_admin_password during the initial deployment).

Poor man's DNS a.k.a /etc/hosts

For the multi-host setup, one of the easiest way of making the name resolution working with vagrant is using vagrant-hostmanager. Forklift supports this plugin by default. The only thing one needs to do is install the vagrant-hostmanager plugin:

vagrant plugin install vagrant-hostmanager

By default, the boxes are set with example.com domain.

If you're using NetworkManager, this advanced DNS configuration allows completely automated dns resolution using dnsmasq from host to guest and guest to guest.

You can disable hostmanager in vagrant/settings.yaml by setting hostmanager_enabled option.

When using a briged network or with multiple network interfaces, the hostmanager would resolve the internal ip from the ssh-info, you can choose an ip of a particular network interface in vagrant/settings.yaml by setting hostmanager_ip_resolver_device option with the device name.

hostmanager_ip_resolver_device: 'eth1'

Adding Custom Boxes

Sometimes you want to spin up the same box type (e.g. centos8-katello-devel) from within the forklift directory. While this can be added to the Vagrantfile directly, updates to the forklift repository could wipe out your local changes. To help with this, you can define a custom box re-using the configuration within the Vagrantfile. To do so, create a 99-local.yaml file in vagrant/boxes.d/. For example, to create a custom box on CentOS 8 Stream with nightly and run the installers reset command:

my-nightly-staging:
  box: centos8-stream
  ansible:
    playbook: playbooks/katello.yml
    variables:
      katello_repositories_environment: staging
    verbose: vvv

Options:

Option Description
box the ':name' one of the defined boxes in the Vagrantfile
bridged deploy on Libvirt with a bridged networking configuration, value of this parameter should be the interface of the host (e.g. em1)
memory set the amount of memory (in megabytes) this box will consume
cpus set the number of cpus this box will use
hostname hostname to set on the box
networks custom networks to use in addition to the management network
disk_size specify the size (in gigabytes) of the box's virtual disk. This only sets the virtual disk size, so you will still need to resize partitions and filesystems manually.
add_disks (libvirt provider only) specify additional libvirt volumes
ansible updates the Ansible provisioner configuration including the playbook to be ran or any variables to set
libvirt_options sets Libvirt specific options, see config.rb from vagrant-libvirt for possible options
virtualbox_options sets VirtualBox specific options
openstack_options sets OpenStack specific options
google_options sets Google specific options
docker_options sets Docker specific options
domain forklift uses short name of your host + 'example.com' as domain name for your boxes. You can use this option to override it.
sshfs if you have vagrant-sshfs plugin, you can use sshfs to share folders between your host and guest. See an example below for details.
nfs share folders between host and guest. See an example below for details.
autostart set to true to automatically start when using 'vagrant up'
primary set the machine to be the default target of vagrant commands such as 'vagrant ssh'
libvirt_qemu_use_session Use qemu session instead of system

Entirely new boxes can be created that do not orginate from a box defined within the Vagrantfile. For example, if you had access to a RHEL Vagrant box:

rhel7:
  box_name: rhel7
  shell: 'echo TEST'
  pty: true
  libvirt: http://example.org/vagrant/rhel-7.box

Example with custom networking, static IP on custom libvirt network:

static:
  box: centos8
  hostname: mystatic.box.com
  networks:
    - type: 'private_network'
      options:
        ip: 192.168.150.3
        libvirt__network_name: lab-private
        libvirt__iface_name: vnet2

Example with custom libvirt management network:

static:
  box: centos8
  hostname: mystatic.box.com
  libvirt_options:
    management_network_address: 172.23.99.0/24

Example with openstack provider: You will need to install vagrant openstack provider. For more information click here. Do not forget to set openstack API credentials. To use openstack provider as default look here.

openstack-centos8:
  image_name: 'Centos8'
  username: 'centos'  #root by default
  hostname: 'john-doe'
  openstack_flavor: 'm1.medium'
  sync_type: 'disabled'

Using SSHFS to share folders

You will need to install vagrant-sshfs plugin. Make sure your host actually has sshfs installed. Example with sshfs mounting folder from guest to host:

with-sshfs:
  box: centos8
  sshfs:
    host_path: '/some/host/path'
    guest_path: '/some/guest/path'
    reverse: True

If you want to mount in the opposite direction, just change reverse to False or remove it entirely.

Additonal options may be specified with using options.

with-sshfs-options:
  box: centos8
  sshfs:
    host_path: '/some/host/path'
    guest_path: '/some/guest/path'
    options: '-o allow_other'

Example with an additional disk (libvirt volume) presented as /dev/vdb in the vm:

static:
  box: centos8
  hostname: mystatic.box.com
  add_disks:
    - size: 100GiB
      device: vdb
      type: qcow2

Using NFS to share folders

An alternative to SSHFS is to share the folders with NFS. It is slightly more work than SSHFS. See the Fedora developer documentation for information about how to configure an NFS server for Vagrant.

Then create your box:

with-nfs:
  box: centos8
  nfs:
    host_path: '/some/host/path'
    guest_path: '/some/guest/path'

Customize Deployment Settings

Some settings can be customized for the entirety of the deployment by copying vagrant/settings.yaml.example to vagrant/settings.yaml and add, remove or updating:

  • memory: Memory to give boxes by default unless specified by a box
  • cpus: Number of CPUs to give boxes by default unless specified by a box
  • scale_memory: Factor to multiply memory of boxes that specify an own value
  • scale_cpus: Factor to multiply CPUs of boxes that specify an own value
  • sync_type: type of sync to use for transfer to the Vagrant box
  • mount_options: options for the vagrant-cachier plugin
  • domain: domain for your hosts, you can override this per-box by configuring your box with a domain directly
  • libvirt_options, virtualbox_options, openstack_options, google_options: custom options for the various providers

Customize Available Boxes

The list of available boxes can be customized by setting an exclude list in vagrant/settings.yaml. This allows faster vagrant status calls as well as reducing the the scope of boxes a user sees to tailor to their use cases. To specify boxes to exclude add the following to vagrant/settings.yaml, for example, to remove fips, fedora and any Foreman 1.2X boxes from view:

boxes:
  exclude:
    - "katello" # exclude any box containing "katello"
    - "ubuntu1804-foreman-2\\.0" # exclude only the box "ubuntu1804-foreman-2.0". Notice the escaped '.' character to match the specific character instead of any single character
    - "^centos7-fips" # exclude any box that starts with "centos7-fips"
    - "foreman-1\\.(?:[2][0-3])" # exclude any foreman-1.20 to foreman-1.23 version box

Post Install Playbooks

Boxes can be further customized by declaring Ansible playbooks to be run during provisioning. One or more playbooks can be specified and will be executed sequentially. An ignored directory can be used to put playbooks into 'user_playbooks' without worrying about adding them during a git commit.

Ansible roles may also be installed directly using the ansible-galaxy command. These roles will be installed at playbooks/galaxy_roles and will be ignored by git. You may also specify roles in a requirements.yml, which you can use to install all desired roles with ansible-galaxy install -r requirements.yml

ansible:
  box: centos8-stream-katello-nightly
  ansible:
    playbook:
      - 'user_playbooks/vim.yml'
      - 'user_playbooks/zsh.yml'

Using Local Ansible Collection

If needing to use a local copy of an Ansible collection used by Forklift, such as developing updates to theforeman.operations collection, you can temporarily update the requirements.yml to point at your local checkout:

collections:
  - name: git+file:///home/user/path/to/repo/.git
    type: git

Then run ansible-galaxy install:

ansible-galaxy collection install -r requirements.yml --force-with-deps

forklift's People

Contributors

adamruzicka avatar akofink avatar ares avatar bbuckingham avatar bdunne avatar beav avatar carbonin avatar chris1984 avatar dependabot[bot] avatar dgoodwin avatar dlobatog avatar ehelms avatar ekohl avatar evgeni avatar ianballou avatar inecas avatar jeremylenz avatar jlsherrill avatar jturel avatar komidore64 avatar lessfoobar avatar mccun934 avatar odilhao avatar parthaa avatar pcreech avatar rabajaj0509 avatar stbenjam avatar tbrisker avatar wbclark avatar zjhuntin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

forklift's Issues

Yum dependency error with vagrant up centos on wheezy/sid

--> Processing Dependency: python(abi) = 2.7 for package: python-requests-2.2.1-1.fc19.noarch
--> Finished Dependency Resolution
Error: Package: python-requests-2.2.1-1.fc19.noarch (katello-pulp)
Requires: python(abi) = 2.7
Installed: python-2.6.6-52.el6.x86_64 (@updates)
python(abi) = 2.6
Available: python-2.6.6-51.el6.x86_64 (base)
python(abi) = 2.6

Errors when running a direct deployment

Hit some errors when trying to run ./setup.rb --devel --devel-username=dadavis:

Installing             Debug: Package[elasticsearch](provider=yum): Ensur [9%] [...........                                                                                                           ]
 su -c 'gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3' - dadavis returned 2 instead of one of [0]
 /Stage[main]/Katello_devel::Rvm/Exec[su -c 'gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3' - dadavis]/returns: change from notrun to 0 failed: su -c 'gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3' - dadavis returned 2 instead of one of [0]
 Could not set 'file' on ensure: No such file or directory - /home/dadavis/foreman/config/settings.plugins.d/gutterball.yaml20150319-3137-1fdly0l.lock at 14:/usr/share/katello-installer/modules/katello/manifests/plugin/gutterball/config.pp
 Could not set 'file' on ensure: No such file or directory - /home/dadavis/foreman/config/settings.plugins.d/gutterball.yaml20150319-3137-1fdly0l.lock at 14:/usr/share/katello-installer/modules/katello/manifests/plugin/gutterball/config.pp
 /Stage[main]/Katello::Plugin::Gutterball::Config/File[/home/dadavis/foreman/config/settings.plugins.d/gutterball.yaml]/ensure: change from absent to file failed: Could not set 'file' on ensure: No such file or directory - /home/dadavis/foreman/config/settings.plugins.d/gutterball.yaml20150319-3137-1fdly0l.lock at 14:/usr/share/katello-installer/modules/katello/manifests/plugin/gutterball/config.pp
 /Stage[main]/Katello_devel::Setup/Katello_devel::Rvm_bundle[install --without mysql:mysql2]/Exec[rvm-bundle-install --without mysql:mysql2]: Failed to call refresh: /home/dadavis/.bash_profile: line 34: bind: warning: line editing not enabled
 /Stage[main]/Katello_devel::Setup/Katello_devel::Rvm_bundle[install --without mysql:mysql2]/Exec[rvm-bundle-install --without mysql:mysql2]: /home/dadavis/.bash_profile: line 34: bind: warning: line editing not enabled
 /Stage[main]/Katello_devel::Setup/Katello_devel::Rvm_bundle[exec rake db:migrate]/Exec[rvm-bundle-exec rake db:migrate]: Failed to call refresh: /home/dadavis/.bash_profile: line 34: bind: warning: line editing not enabled
 /Stage[main]/Katello_devel::Setup/Katello_devel::Rvm_bundle[exec rake db:migrate]/Exec[rvm-bundle-exec rake db:migrate]: /home/dadavis/.bash_profile: line 34: bind: warning: line editing not enabled
 /Stage[main]/Katello_devel::Setup/Katello_devel::Rvm_bundle[exec rake db:seed]/Exec[rvm-bundle-exec rake db:seed]: Failed to call refresh: /home/dadavis/.bash_profile: line 34: bind: warning: line editing not enabled
 /Stage[main]/Katello_devel::Setup/Katello_devel::Rvm_bundle[exec rake db:seed]/Exec[rvm-bundle-exec rake db:seed]: /home/dadavis/.bash_profile: line 34: bind: warning: line editing not enabled
Installing             Done                                               [100%] [....................................................................................................................]

Add support for bridged public network with DDNS

Here's my repetitive process on some boxes:

  1. vagrant up a box
  2. open virtual machine manager
  3. add another network interface through a bridge on the host
  4. restart the guest
  5. ensure the default route uses the public interface rather than the NAT
  6. install/configure/enable ddns

I hope to use some nights and weekends to automate this in an ansible role. This setup allows working from one computer and accessing virtual machines running on a separate host without the need for SSH/SOCKS proxy setup and has the added benefit of allowing full port access rather than specifically forwarded ports.

Libvirt: centos-devel fails during mount

For the libvirt centos-devel setup, Vagrant fails before provisioning because it can't mount the directory. This only seems to happen with the newer versions of Vagrant (1.4.3, 1.5.1) and vagrant-libvirt (0.0.15).

Silence disablement of all repos

With running yum-config-manager to disable all repos I get roughly 9000 lines of worthless information.

There is no other way to control verbosity of this tool than to redirect output to /dev/null
I tried -q -d1 -d0 options with no luck

katello-deploy version command line options

Taken from http://projects.theforeman.org/issues/15033

katello-deploy setup.rb script will install nightly build when --katello-version 3.0 is added as an argument by itself. This does not happen when --katello-version 3.0 and --version 1.11 are both added as arguments to setup.rb.

Expected behavior - "./setup.rb --katello-version 3.0" installs katello 3.0 and implies that foreman 1.11 will be installed.

Pipeline capsule bats test fails

Running this:

ansible-playbook pipelines/pipeline_katello_nightly.yml -e "forklift_state=up"

I get this error:

TASK [bats : Clone bats] *******************************************************
Tuesday 21 February 2017  13:15:19 -0500 (0:00:00.331)       0:22:03.066 ****** 
fatal: [pipeline-proxy-nightly-centos7]: FAILED! => {"changed": false, "failed": true, "msg": "Failed to find required executable git"}

SSHing in the box and trying to use git seems to confirm this:

$ git
-bash: git: command not found

Looks like we need to yum install git on the capsule VM.

Installer is run with wrong argument

This is what is run by deploy script
katello-devel-installer -v -d --user=... --group=... --deployment-dir=/home/...
the -d argument stands for do not save answer file which is probably not intended. For debug log level we should use -l debug. Feel free to close the issue if I understood the intent wrong.

katello-deploy is miss configuring repositories

From latest run:

Running shell command: yum-CONFIG-manager --disable "*"
sh: yum-CONFIG-manager: command not found

Running shell command: yum-CONFIG-manager --enable epel

Running shell command: subscription-manager repos --enable rhel-7-server-rpms--enable rhel-7-server-extras-rpms --enable rhel-7-server-optional-rpms
cannot parse argument: rhel-7-server-extras-rpms

Should be called yum-config-manager instead of yum-CONFIG-manager because:

# yum-CONFIG-manager
-bash: yum-CONFIG-manager: command not found

On the generated subscription manager command is missing a space right after rhel-7-server-rpms to separate the --enable for rhel-7-server-extras-rpms.

Also katello-deploy should fail if a non-zero return code is returned.

Re-organizing Directory Structure

Taking discussion from (#349 (comment)) to have it be more pointed:

From @ekohl:

I wouldn't mind if this lived in this repo, but we already have quite a few ways this repo can be used and we need to cut down on it and focus the documentation. As someone new to the repo it's hard to figure out what you can and can't do with it. Before we add more, we need to simplify it first. A few steps that I'd think of:

Split the top directory into subdirs

Some candidates I see

  • bats
  • vagrant
  • openshift
  • docker

Remove deprecated things

  • Nuke setup.rb

From @ehelms:

That sounds reasonable as a first good step to re-organize the top level (unless you think it should be part of this change only). The top level docker repository I don't know if anyone outside of myself even uses at this point. There is also a docker folder inside this PR, where in theory generic docker build directories are living. They could perhaps be moved to the top to help emphasize keeping them multi-use; I had put them there originally cause I was having to do some hacks to get them to work inside openshift.

I am all for nuking setup.rb. I think the biggest hold back of it is the use in bats and thus the use in our CI system.

From @ekohl:

That sounds reasonable as a first good step to re-organize the top level (unless you think it should be part of this change only).
No, I'd prefer to get that done first and then get this merged.

The top level docker repository I don't know if anyone outside of myself even uses at this point.
That's a big problem with this repo IMHO. We have a lot of possibilities and they should be maintained. >I'd like to go to a situation where each top level directory can be used independently.

There is also a docker folder inside this PR, where in theory generic docker build directories are living. They could perhaps be moved to the top to help emphasize keeping them multi-use; I had put them there originally cause I was having to do some hacks to get them to work inside openshift.
That's fine, until they are generic they should live inside openshift.

I am all for nuking setup.rb. I think the biggest hold back of it is the use in bats and thus the use in our CI system.
Agreed. Which is why I think we should get #331 merged and look at migrating the CI system.

[Refactor] - Move to atlas boxes for centos6 and 7

more info

possible downside is the official centos boxes don't allow root ssh access by default.

hopefully won't be a problem with ansible though (e.g. - become: true)

also

  • update to users on how to clean up old box images and move to the new

ERROR: yum_repository is not a legal parameter in an Ansible task or handler

On current master (00ae022) I get the following:

$ vagrant up centos7-katello-p4-nightly
Bringing machine 'centos7-katello-p4-nightly' up with 'libvirt' provider...
==> centos7-katello-p4-nightly: Creating image (snapshot of base box volume).
==> centos7-katello-p4-nightly: Creating domain with the following settings...
==> centos7-katello-p4-nightly:  -- Name:              forklift_centos7-katello-p4-nightly
==> centos7-katello-p4-nightly:  -- Domain type:       kvm
==> centos7-katello-p4-nightly:  -- Cpus:              2
==> centos7-katello-p4-nightly:  -- Memory:            4608M
==> centos7-katello-p4-nightly:  -- Management MAC:    
==> centos7-katello-p4-nightly:  -- Loader:            
==> centos7-katello-p4-nightly:  -- Base box:          centos7_1
==> centos7-katello-p4-nightly:  -- Storage pool:      default
==> centos7-katello-p4-nightly:  -- Image:             /var/lib/libvirt/images/forklift_centos7-katello-p4-nightly.img (40G)
==> centos7-katello-p4-nightly:  -- Volume Cache:      default
==> centos7-katello-p4-nightly:  -- Kernel:            
==> centos7-katello-p4-nightly:  -- Initrd:            
==> centos7-katello-p4-nightly:  -- Graphics Type:     vnc
==> centos7-katello-p4-nightly:  -- Graphics Port:     5900
==> centos7-katello-p4-nightly:  -- Graphics IP:       127.0.0.1
==> centos7-katello-p4-nightly:  -- Graphics Password: Not defined
==> centos7-katello-p4-nightly:  -- Video Type:        cirrus
==> centos7-katello-p4-nightly:  -- Video VRAM:        9216
==> centos7-katello-p4-nightly:  -- Keymap:            en-us
==> centos7-katello-p4-nightly:  -- TPM Path:          
==> centos7-katello-p4-nightly:  -- INPUT:             type=mouse, bus=ps2
==> centos7-katello-p4-nightly:  -- Command line : 
==> centos7-katello-p4-nightly: Creating shared folders metadata...
==> centos7-katello-p4-nightly: Starting domain.
==> centos7-katello-p4-nightly: Waiting for domain to get an IP address...
==> centos7-katello-p4-nightly: Waiting for SSH to become available...
==> centos7-katello-p4-nightly: Setting hostname...
==> centos7-katello-p4-nightly: Configuring and enabling network interfaces...
==> centos7-katello-p4-nightly: Rsyncing folder: /home/ekohl/dev/forklift/ => /vagrant
==> centos7-katello-p4-nightly: Running provisioner: main0 (ansible)...
    centos7-katello-p4-nightly: Running ansible-playbook...
ERROR: yum_repository is not a legal parameter in an Ansible task or handler
Ansible failed to complete successfully. Any error output should be
visible above. Please fix these errors and try again.

f19: setup.rb fails to install katello-installer '. No package katello-installer available'

I'm new to Katello so this could be a beginner's mistake.

While running 'vagrant f19-devel up' the following message was received during installation: 'No package katello-installer available' .

It's possible that katello-installer rpm was dropped from one of the following repos?

Repo-name : Fedora 19 - x86_64
Repo-baseurl : http://mirror.pnl.gov/fedora/linux/releases/19/Everything/x86_64/os/
Repo-name : Foreman nightly
Repo-baseurl : http://yum.theforeman.org/nightly/fc19/x86_64
Repo-name : Foreman plugins nightly
Repo-baseurl : http://yum.theforeman.org/plugins/nightly/fc19/x86_64
Repo-name : Katello Stable
Repo-baseurl : http://fedorapeople.org/groups/katello/releases/yum/nightly/Fedora/19/x86_64/
Repo-name : An open source entitlement management system.
Repo-baseurl : http://fedorapeople.org/groups/katello/releases/yum/katello-candlepin/Fedora/19/x86_64/
Repo-name : Pulp Community Releases
Repo-baseurl : http://fedorapeople.org/groups/katello/releases/yum/katello-pulp/Fedora/19/x86_64/
Repo-name : Fedora 19 - x86_64 - Updates
Repo-baseurl : http://mirror.metrocast.net/fedora/linux/updates/19/x86_64/ (47

Define root size while creating VM

I have tried this many times, but not able to figure out the option to set disk size other than default (40G).

    config.vm.provider :libvirt do |domain|
      domain.memory = 10240
      domain.cpus   = 4
      domain.storage :file, :size => '90G', :type => 'qcow2'
    end

This doesn't create a 90GB root volume.
screenshot from 2016-08-03 21-48-34

I did see a vdb disk with 90+ GB. I am not sure if it's due to the storage option.

      domain.storage :file, :size => '90G', :type => 'qcow2'

screenshot from 2016-08-03 21-48-25

it doesn't looks that simple to change the VM root disk with libvirt provider.
libvirt-doc didn't help much.
Can someone please help me set the disk size to 90 GB 😅

404 Errors on packages

I'm getting a 404 on the below packages, causing the install to fail. I checked the repos and 1.10.1 of foreman-release is not available neither is 2.4.0 of Katello-repos are available.

No Presto metadata available for foreman
No Presto metadata available for katello
foreman-release-1.10.1-1.el7.n FAILED
http://yum.theforeman.org/releases/1.8/el7/x86_64/foreman-release-1.10.1-1.el7.noarch.rpm: [Errno 14] HTTP Error 404 - Not Found ] 0.0 B/s | 0 B --:--:-- ETA
Trying other mirror.
To address this issue please refer to the below knowledge base article

https://access.redhat.com/articles/1320623

If above article doesn't help to resolve this issue please create a bug on https://bugs.centos.org/

katello-repos-2.4.0-5.el7.noar FAILED
https://fedorapeople.org/groups/katello/releases/yum/2.2/katello/RHEL/7/x86_64/katello-repos-2.4.0-5.el7.noarch.rpm: [Errno 14] HTTPS Error 404 - Not Found ] 0.0 B/s | 0 B --:--:-- ETA
Trying other mirror.

Error while seeding : Connection refused - connect(2) for "centos7-devel.example.com" port 8443

  • Error backtrace(partial):
rake aborted!
There was an issue with the backend service candlepin: Connection refused - connect(2) for "centos7-devel.example.com" port 8443
/home/vagrant/katello/app/lib/actions/middleware/backend_services_check.rb:17:in `block in plan'
/home/vagrant/katello/app/lib/actions/middleware/backend_services_check.rb:15:in `each'
/home/vagrant/katello/app/lib/actions/middleware/backend_services_check.rb:15:in `plan'
/home/vagrant/.rvm/gems/ruby-2.2.4/gems/dynflow-0.8.15/lib/dynflow/middleware/stack.rb:22:in `call'
/home/vagrant/.rvm/gems/ruby-2.2.4/gems/dynflow-0.8.15/lib/dynflow/middleware/stack.rb:26:in `pass'
/home/vagrant/.rvm/gems/ruby-2.2.4/gems/dynflow-0.8.15/lib/dynflow/middleware.rb:17:in `pass'
/home/vagrant/katello/app/lib/actions/middleware/propagate_candlepin_errors.rb:5:in `block in plan'
/home/vagrant/katello/app/lib/actions/middleware/propagate_candlepin_errors.rb:19:in `propagate_candlepin_errors'
/home/vagrant/katello/app/lib/actions/middleware/propagate_candlepin_errors.rb:5:in `plan'
/home/vagrant/.rvm/gems/ruby-2.2.4/gems/dynflow-0.8.15/lib/dynflow/middleware/stack.rb:22:in `call'
/home/vagrant/.rvm/gems/ruby-2.2.4/gems/dynflow-0.8.15/lib/dynflow/middleware/stack.rb:26:in `pass'
/home/vagrant/.rvm/gems/ruby-2.2.4/gems/dynflow-0.8.15/lib/dynflow/middleware.rb:17:in `pass'
/home/vagrant/katello/app/lib/actions/middleware/remote_action.rb:9:in `plan'
/home/vagrant/.rvm/gems/ruby-2.2.4/gems/dynflow-0.8.15/lib/dynflow/middleware/stack.rb:22:in `call'
/home/vagrant/.rvm/gems/ruby-2.2.4/gems/dynflow-0.8.15/lib/dynflow/middleware/stack.rb:26:in `pass'
/home/vagrant/.rvm/gems/ruby-2.2.4/gems/dynflow-0.8.15/lib/dynflow/middleware.rb:17:in `pass'
/home/vagrant/.rvm/gems/ruby-2.2.4/gems/dynflow-0.8.15/lib/dynflow/middleware.rb:34:in `plan'
/home/vagrant/.rvm/gems/ruby-2.2.4/gems/dynflow-0.8.15/lib/dynflow/middleware/stack.rb:22:in `call'
/home/vagrant/.rvm/gems/ruby-2.2.4/gems/dynflow-0.8.15/lib/dynflow/middleware/stack.rb:26:in `pass'
/home/vagrant/.rvm/gems/ruby-2.2.4/gems/dynflow-0.8.15/lib/dynflow/middleware.rb:17:in `pass'
/home/vagrant/katello/app/lib/actions/middleware/keep_locale.rb:7:in `plan'
  • Steps followed:
$ vagrant up centos7-devel
$ vagrant ssh centos7-devel

# bundle install --without=mysql2
# rake db:migrate
# rake db:seed SEED_ORGANIZATION="Default Organization" SEED_LOCATION="Default Location" SEED_ADMIN_PASSWORD="admin"

I had previously setup centos7-devel multiple times but didn't faced any such issue. This is the first instance I am seeing errors with rake db:seed

What different I might have done is boxes.yaml

centos7-devel:
  box: centos7
  shell: 'yum -y install ruby && cd /vagrant && ./setup.rb'
  options: --scenario=katello-devel
  installer: --katello-devel-github-username swapnilabnave --katello-devel-upstream-remote-name origin --katello-devel-extra-plugins theforeman/foreman_remote_execution --katello-devel-extra-plugins theforeman/foreman_discovery
  disk_size: 105

This time I had specified extensions in installer: foreman_remote_execution and foreman_discovery

Before this I used to omit the extensions part and setup would complete without any noise.

Complete error backtrace

Can't install katello-agent on a katello client

boxes.yaml:

sushi-client:
  box: centos7
  ansible:
    playbook: 'playbooks/katello_client.yml'
    group: 'client'
    server: 'sushi' 
    variables: 
      katello_client_server: 'sushi'
      katello_client_organization: 'Default_Organization'
      katello_client_environment: 'Library'
      katello_client_username: 'admin'
      katello_client_password: 'changeme'

error:

TASK [katello_client : Install katello-agent] **********************************
Thursday 23 February 2017  15:43:34 -0500 (0:00:09.492)       0:00:35.154 ***** 
fatal: [sushi-client]: FAILED! => {"changed": true, "failed": true, "msg": "Error: Package: katello-agent-2.9.1-1.el7.noarch (katello-client)\n           Requires: python2-tracer >= 0.6.12\n", "rc": 1, "results": ["Loaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-\n              : manager\nThis system is registered with Subscription Management, but is not receiving updates. You can use subscription-manager to assign subscriptions.\nLoading mirror speeds from cached hostfile\n * base: repos.mia.quadranet.com\n * extras: mirror.cogentco.com\n * updates: mirrors.centos.webair.com\nResolving Dependencies\n--> Running transaction check\n---> Package katello-agent.noarch 0:2.9.1-1.el7 will be installed\n--> Processing Dependency: python2-tracer >= 0.6.12 for package: katello-agent-2.9.1-1.el7.noarch\n--> Processing Dependency: python-pulp-agent-lib >= 2.6 for package: katello-agent-2.9.1-1.el7.noarch\n--> Processing Dependency: python-gofer-proton >= 2.5 for package: katello-agent-2.9.1-1.el7.noarch\n--> Processing Dependency: pulp-rpm-handlers >= 2.6 for package: katello-agent-2.9.1-1.el7.noarch\n--> Processing Dependency: gofer >= 2.7.6 for package: katello-agent-2.9.1-1.el7.noarch\n--> Processing Dependency: katello-agent-fact-plugin for package: katello-agent-2.9.1-1.el7.noarch\n--> Running transaction check\n---> Package gofer.noarch 0:2.7.6-1.el7 will be installed\n--> Processing Dependency: python-gofer = 2.7.6 for package: gofer-2.7.6-1.el7.noarch\n---> Package katello-agent.noarch 0:2.9.1-1.el7 will be installed\n--> Processing Dependency: python2-tracer >= 0.6.12 for package: katello-agent-2.9.1-1.el7.noarch\n---> Package katello-agent-fact-plugin.noarch 0:2.9.1-1.el7 will be installed\n---> Package pulp-rpm-handlers.noarch 0:2.12.0-1.el7 will be installed\n--> Processing Dependency: python-pulp-rpm-common = 2.12.0 for package: pulp-rpm-handlers-2.12.0-1.el7.noarch\n---> Package python-gofer-proton.noarch 0:2.7.6-1.el7 will be installed\n--> Processing Dependency: python-qpid-proton >= 0.9-5 for package: python-gofer-proton-2.7.6-1.el7.noarch\n---> Package python-pulp-agent-lib.noarch 0:2.12.0-1.el7 will be installed\n--> Processing Dependency: python-pulp-common = 2.12.0 for package: python-pulp-agent-lib-2.12.0-1.el7.noarch\n--> Running transaction check\n---> Package katello-agent.noarch 0:2.9.1-1.el7 will be installed\n--> Processing Dependency: python2-tracer >= 0.6.12 for package: katello-agent-2.9.1-1.el7.noarch\n---> Package python-gofer.noarch 0:2.7.6-1.el7 will be installed\n---> Package python-pulp-common.noarch 0:2.12.0-1.el7 will be installed\n--> Processing Dependency: python-isodate >= 0.5.0-1.pulp for package: python-pulp-common-2.12.0-1.el7.noarch\n---> Package python-pulp-rpm-common.noarch 0:2.12.0-1.el7 will be installed\n---> Package python-qpid-proton.x86_64 0:0.14.0-2.el7 will be installed\n--> Processing Dependency: qpid-proton-c(x86-64) = 0.14.0-2.el7 for package: python-qpid-proton-0.14.0-2.el7.x86_64\n--> Processing Dependency: libqpid-proton.so.8()(64bit) for package: python-qpid-proton-0.14.0-2.el7.x86_64\n--> Running transaction check\n---> Package katello-agent.noarch 0:2.9.1-1.el7 will be installed\n--> Processing Dependency: python2-tracer >= 0.6.12 for package: katello-agent-2.9.1-1.el7.noarch\n---> Package python-isodate.noarch 0:0.5.0-4.pulp.el7 will be installed\n---> Package qpid-proton-c.x86_64 0:0.14.0-2.el7 will be installed\n--> Finished Dependency Resolution\n You could try using --skip-broken to work around the problem\n You could try running: rpm -Va --nofiles --nodigest\n"]}

msg: Error: Package: katello-agent-2.9.1-1.el7.noarch (katello-client)
           Requires: python2-tracer >= 0.6.12


results: 
Loaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-
              : manager
This system is registered with Subscription Management, but is not receiving updates. You can use subscription-manager to assign subscriptions.
Loading mirror speeds from cached hostfile
 * base: repos.mia.quadranet.com
 * extras: mirror.cogentco.com
 * updates: mirrors.centos.webair.com
Resolving Dependencies
--> Running transaction check
---> Package katello-agent.noarch 0:2.9.1-1.el7 will be installed
--> Processing Dependency: python2-tracer >= 0.6.12 for package: katello-agent-2.9.1-1.el7.noarch
--> Processing Dependency: python-pulp-agent-lib >= 2.6 for package: katello-agent-2.9.1-1.el7.noarch
--> Processing Dependency: python-gofer-proton >= 2.5 for package: katello-agent-2.9.1-1.el7.noarch
--> Processing Dependency: pulp-rpm-handlers >= 2.6 for package: katello-agent-2.9.1-1.el7.noarch
--> Processing Dependency: gofer >= 2.7.6 for package: katello-agent-2.9.1-1.el7.noarch
--> Processing Dependency: katello-agent-fact-plugin for package: katello-agent-2.9.1-1.el7.noarch
--> Running transaction check
---> Package gofer.noarch 0:2.7.6-1.el7 will be installed
--> Processing Dependency: python-gofer = 2.7.6 for package: gofer-2.7.6-1.el7.noarch
---> Package katello-agent.noarch 0:2.9.1-1.el7 will be installed
--> Processing Dependency: python2-tracer >= 0.6.12 for package: katello-agent-2.9.1-1.el7.noarch
---> Package katello-agent-fact-plugin.noarch 0:2.9.1-1.el7 will be installed
---> Package pulp-rpm-handlers.noarch 0:2.12.0-1.el7 will be installed
--> Processing Dependency: python-pulp-rpm-common = 2.12.0 for package: pulp-rpm-handlers-2.12.0-1.el7.noarch
---> Package python-gofer-proton.noarch 0:2.7.6-1.el7 will be installed
--> Processing Dependency: python-qpid-proton >= 0.9-5 for package: python-gofer-proton-2.7.6-1.el7.noarch
---> Package python-pulp-agent-lib.noarch 0:2.12.0-1.el7 will be installed
--> Processing Dependency: python-pulp-common = 2.12.0 for package: python-pulp-agent-lib-2.12.0-1.el7.noarch
--> Running transaction check
---> Package katello-agent.noarch 0:2.9.1-1.el7 will be installed
--> Processing Dependency: python2-tracer >= 0.6.12 for package: katello-agent-2.9.1-1.el7.noarch
---> Package python-gofer.noarch 0:2.7.6-1.el7 will be installed
---> Package python-pulp-common.noarch 0:2.12.0-1.el7 will be installed
--> Processing Dependency: python-isodate >= 0.5.0-1.pulp for package: python-pulp-common-2.12.0-1.el7.noarch
---> Package python-pulp-rpm-common.noarch 0:2.12.0-1.el7 will be installed
---> Package python-qpid-proton.x86_64 0:0.14.0-2.el7 will be installed
--> Processing Dependency: qpid-proton-c(x86-64) = 0.14.0-2.el7 for package: python-qpid-proton-0.14.0-2.el7.x86_64
--> Processing Dependency: libqpid-proton.so.8()(64bit) for package: python-qpid-proton-0.14.0-2.el7.x86_64
--> Running transaction check
---> Package katello-agent.noarch 0:2.9.1-1.el7 will be installed
--> Processing Dependency: python2-tracer >= 0.6.12 for package: katello-agent-2.9.1-1.el7.noarch
---> Package python-isodate.noarch 0:0.5.0-4.pulp.el7 will be installed
---> Package qpid-proton-c.x86_64 0:0.14.0-2.el7 will be installed
--> Finished Dependency Resolution
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

	to retry, use: --limit @/home/jomitsch/.ansible/retry-files/katello_client.retry

katello-deploy should fail earlier

We use katello-deploy in jenkins and would be really good if it fail if some expected command returns a non-zero return code. Currently katello-deploy aways return 0 as return code and this make the jenkins think that it went good but it actually went bad.

On vagrant up, mount fails

This is just a note for myself. I'd like to get this working.

After running vagrant up, the NFS mount fails:

The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

mount -o 'vers=3,udp' 192.168.121.1:'/home/dadavis/Projects/katello-deploy' /vagrant

Stdout from the command:



Stderr from the command:

mount.nfs: rpc.statd is not running but is required for remote locking.
mount.nfs: Either use '-o nolock' to keep locks local, or start statd.
mount.nfs: an incorrect mount option was specified

katello-certs-check not found on -devel install

Since the foreman-installer-katello-devel does not contain katello-certs-check, but one of the hooks of the installer uses it, the installer run fails on forklift with which: no katello-certs-check in (/sbin:/bin:/usr/sbin:/usr/bin).

The options I can think to fix this are:

  1. https://github.com/Katello/katello-installer/blob/cbdace605427885a0773ed7a1dd9383748cd9fe1/hooks/pre/20-certs_update.rb update the hook to dismiss the check for certs when in -devel
  2. Install katello-certs-check in devel too - probably preferred. https://github.com/Katello/katello-packaging/blob/a53fad639654bcbdd2db3b853bb7768f3cbd6a8d/katello-installer/katello-installer-base.spec (it's only installed with the regular katello installer)

Clean-up prior installation missed to remove 'centos-release-scl'

$ ./setup.rb --skip-installer

Running shell command: yum clean all

Running shell command: yum -y update nss ca-certificates

Running shell command: rpm -e epel-release

Running shell command: rpm -e foreman-release

Running shell command: rpm -e katello-repos

Running shell command: rpm -e puppetlabs-release

Running shell command: yum -y  --disablerepo="*" --enablerepo=rhel-6-server-rpms install yum-utils wget
...

Re-running installation fails as centos-release-scl repos are installed but disabled.
We disable all repos, then install centos-release-scl and it ends up with already installed package thus it doesnt not enable them.

The fix is to remove centos-release-scl* repos like we do with other repos at cleanup prior installation:
rpm -e foreman-release-scl

pulp puppet-content dir

Guys,

I'm working with forklift and I am trying to get katello-nightly up and running and I get to this error for the 6th time. I'm not exactly sure where to find this switch to change it, can you point me in the right direction. This is the failure message that comes up:

foreman-proxy-plugin-pulp-puppet-content-dir invalid: "" is not an absolute path

I get this regardless if I use vagrant or ansible.

also the libvirt boxes have less than 4 gig of ram, so foreman-installer -i fails because of lack of ram. I am sure I can edit the Vagrantfile, but just wondering if this is something that anyone else has come across.

Several issues deploying katello-deploy on Centos 7

I have not been able to install via katello-deploy on Centos 7. I have been able to get rid of most of the errors.
Here is my initial setup.

Installed Centos 7 via Parallels ( on my MAC 10.10.2 OS X )
2 core
4GB RAM
128GB
Manual setup
opted for 500MB /boot
server with gui installation choice
added FQDN to /etc/hosts

During install I received an error during the katello-install steps

yum install ruby git

mkdir /repository
cd /repository
git clone https://github.com/Katello/katello-deploy
cd katello-deploy

useradd foreman
useradd uucp
useradd tomcat
After the directory is created by the rpm executed
chown -R foreman:foreman /usr/share/foreman
semanage port -a -t http_port_t -p tcp 53
./setup.rb --os centos7 —skipinstaller
katello-installer

ERRORS:
[root@katello katello-deploy]# grep ERROR /var/log/katello-installer/katello-installer.log
[ INFO 2015-02-08 13:59:04 main] # log_level: The desired logging level. Options are: CRITICAL, ERROR, WARNING, INFO, DEBUG,
[ERROR 2015-02-08 14:05:13 main] /usr/share/foreman/script/foreman-config -k ssl_ca_file -v '/etc/foreman/proxy_ca.pem' -k ssl_certificate -v '/etc/foreman/client_cert.pem' -k ssl_priv_key -v '/etc/foreman/client_key.pem' returned 1 instead of one of [0]
[ERROR 2015-02-08 14:05:13 main] /Stage[main]/Certs::Foreman/Exec[foreman_certs_config]/returns: change from notrun to 0 failed: /usr/share/foreman/script/foreman-config -k ssl_ca_file -v '/etc/foreman/proxy_ca.pem' -k ssl_certificate -v '/etc/foreman/client_cert.pem' -k ssl_priv_key -v '/etc/foreman/client_key.pem' returned 1 instead of one of [0]
[ERROR 2015-02-08 14:05:22 main] /Stage[main]/Foreman_proxy::Register/Foreman_smartproxy[katello..com]: Could not evaluate: Could not load data from https://katello..com
[ERROR 2015-02-08 14:05:25 main] Repeating errors encountered during run:
[ERROR 2015-02-08 14:05:25 main] /usr/share/foreman/script/foreman-config -k ssl_ca_file -v '/etc/foreman/proxy_ca.pem' -k ssl_certificate -v '/etc/foreman/client_cert.pem' -k ssl_priv_key -v '/etc/foreman/client_key.pem' returned 1 instead of one of [0]
[ERROR 2015-02-08 14:05:25 main] /Stage[main]/Certs::Foreman/Exec[foreman_certs_config]/returns: change from notrun to 0 failed: /usr/share/foreman/script/foreman-config -k ssl_ca_file -v '/etc/foreman/proxy_ca.pem' -k ssl_certificate -v '/etc/foreman/client_cert.pem' -k ssl_priv_key -v '/etc/foreman/client_key.pem' returned 1 instead of one of [0]
[ERROR 2015-02-08 14:05:25 main] /Stage[main]/Foreman_proxy::Register/Foreman_smartproxy[katello..com]: Could not evaluate: Could not load data from https://katello..com

Make setenforce 0 optional

Setenforce should be 1 by default and 0 if an option is specified. This because working with enforcing is the expected behaviour.

vagrant up missing nokogiri

On f24, made a new rvm env:
gem install bundler
bundle install
vagrant up sat62-ga-rhel7
error: missing nokogiri
gem install nokogiri
vagrant up sat62-ga-rhel7
error: missing nokogiri

Bringing machine 'sat62' up with 'libvirt' provider...
/usr/share/gems/gems/nokogiri-1.6.8.1/lib/nokogiri.rb:32:in require': cannot load such file -- nokogiri/nokogiri (LoadError) from /usr/share/gems/gems/nokogiri-1.6.8.1/lib/nokogiri.rb:32:in rescue in <top (required)>'
from /usr/share/gems/gems/nokogiri-1.6.8.1/lib/nokogiri.rb:28:in <top (required)>' from /home/thomasmckay/.vagrant.d/gems/gems/vagrant-libvirt-0.0.36/lib/vagrant-libvirt/action/prepare_nfs_settings.rb:1:in require'
from /home/thomasmckay/.vagrant.d/gems/gems/vagrant-libvirt-0.0.36/lib/vagrant-libvirt/action/prepare_nfs_settings.rb:1:in <top (required)>' from /home/thomasmckay/.vagrant.d/gems/gems/vagrant-libvirt-0.0.36/lib/vagrant-libvirt/action.rb:43:in require'
from /home/thomasmckay/.vagrant.d/gems/gems/vagrant-libvirt-0.0.36/lib/vagrant-libvirt/action.rb:43:in block (2 levels) in action_up' from /usr/share/vagrant/lib/vagrant/action/builtin/call.rb:47:in call'
from /usr/share/vagrant/lib/vagrant/action/warden.rb:34:in call' from /usr/share/vagrant/lib/vagrant/action/builtin/config_validate.rb:25:in call'
from /usr/share/vagrant/lib/vagrant/action/warden.rb:34:in call' from /usr/share/vagrant/lib/vagrant/action/builder.rb:116:in call'
from /usr/share/vagrant/lib/vagrant/action/runner.rb:66:in block in run' from /usr/share/vagrant/lib/vagrant/util/busy.rb:19:in busy'
from /usr/share/vagrant/lib/vagrant/action/runner.rb:66:in run' from /usr/share/vagrant/lib/vagrant/machine.rb:224:in action_raw'
from /usr/share/vagrant/lib/vagrant/machine.rb:199:in block in action' from /usr/share/vagrant/lib/vagrant/environment.rb:561:in lock'
from /usr/share/vagrant/lib/vagrant/machine.rb:185:in call' from /usr/share/vagrant/lib/vagrant/machine.rb:185:in action'
from /usr/share/vagrant/lib/vagrant/batch_action.rb:82:in `block (2 levels) in run'

Playbook failes with: Unrecognised option '--foreman-admin-password'

ansible-playbook -i hosts playbooks/devel.yml

fatal: [localhost]: FAILED! => {"changed": true, "cmd": "foreman-installer -v --scenario \"katello-devel\" --foreman-admin-password \"changeme\"  --disable-system-checks --katello-devel-github-username Katello", "delta": "0:00:03.336008", "end": "2017-01-17 22:18:55.019790", "failed": true, "rc": 1, "start": "2017-01-17 22:18:51.683782", "stderr": "ERROR: Unrecognised option '--foreman-admin-password'\n\nSee: 'foreman-installer --help'", "stdout": "", "stdout_lines": [], "warnings": []}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.