Bug 1657748

Summary: Failed to create analyzer: listen tcp 127.0.0.1:12380: bind: permission denied
Product: Red Hat OpenStack Reporter: Dominik Holler <dholler>
Component: skydiveAssignee: safchain
Status: CLOSED NOTABUG QA Contact: safchain
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 14.0 (Rocky)CC: safchain
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-12-14 16:39:52 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
terminal log of analyzer installation
none
terminal log
none
inventory with skydive_package_location and skydive_deployment_mode=package
none
playbook to install skydive from repo
none
playbook to install skydive from repo none

Description Dominik Holler 2018-12-10 11:09:45 UTC
Created attachment 1513025 [details]
terminal log of analyzer installation

Description of problem:
the analyzer is not allowed to listen to 127.0.0.1:12380, because of SELinx blocks this.

Version-Release number of selected component (if applicable):
skydive-selinux-0.20.0-1.el7ost.noarch

How reproducible:
see attached logfile

Steps to Reproduce:
1. deploy skydive-analyzer via ansible
2.
3.

Actual results:
Service skydive-analyzer is not running.

Expected results:
Service skydive-analyzer is running.

Additional info:

Comment 1 safchain 2018-12-10 11:28:03 UTC
Can you check that you used the package deployment mode ?

The ansible inventory should be like this

[skydive:vars]
skydive_deployment_mode=package

Comment 2 Dominik Holler 2018-12-10 13:32:08 UTC
(In reply to safchain from comment #1)
> Can you check that you used the package deployment mode ?
> 
> The ansible inventory should be like this
> 
> [skydive:vars]
> skydive_deployment_mode=package

Thanks, kydive_deployment_mode=package helps, I have to check if there is any implication, e.g. adding additional repos to all hosts.

Comment 3 Dominik Holler 2018-12-11 21:57:42 UTC
Created attachment 1513537 [details]
terminal log

(In reply to Dominik Holler from comment #2)
> (In reply to safchain from comment #1)
> > Can you check that you used the package deployment mode ?
> > 
> > The ansible inventory should be like this
> > 
> > [skydive:vars]
> > skydive_deployment_mode=package
> 
> Thanks, kydive_deployment_mode=package helps, I have to check if there is
> any implication, e.g. adding additional repos to all hosts.

skydive_deployment_mode=package seems not to work for the agents.
Without any additional tricks, the installation of the package fails at the agent's
node because there is no repo, which provides skydive.

After removing the
" Move skydive packages" from skydive_common/tasks/package.yml
and skydive_package_location=file:///var/cache/yum/x86_64/7Server/RH7-RHOS-14.0/packages/skydive-0.20.0-1.el7ost.x86_64.rpm
the installation fails, because of the 
skydive package requires skydive-selinux, which seems not managed by skydive_common/tasks/package.yml.

Is this supposed to work, or should the installation of the skydive package be managed outside of skydive's deployment process?

Comment 4 safchain 2018-12-11 22:29:08 UTC
The ansible playbook does not handle package repo setup, so if the repo for Skydive is not set on the agent host then it fails.

Can you please share the inventory you used ? I don't think we should use skydive_package_location as it is used for testing purpose (CI)

Comment 5 Dominik Holler 2018-12-12 19:37:55 UTC
Created attachment 1513765 [details]
inventory with skydive_package_location and skydive_deployment_mode=package

Comment 6 safchain 2018-12-13 10:59:22 UTC
The repo for skydive packages has to be set on the target machines so that the packages can be installed. We should not use skydive_package_location, this variable is used for testing purpose.
Can you confirm this not working even with the repo correctly set ?

Comment 7 Dominik Holler 2018-12-14 08:18:13 UTC
Created attachment 1514303 [details]
playbook to install skydive from repo

I like to avoid enabling an additional repo on all hosts.
But I can confirm that skydive_deployment_mode=package does not hurt if the required packages are already installed.
This is good for my scenario.

Comment 8 Dominik Holler 2018-12-14 08:21:02 UTC
Created attachment 1514309 [details]
playbook to install skydive from repo

I like to avoid enabling an additional repo on all hosts.
But I can confirm that skydive_deployment_mode=package does not hurt if the required packages are already installed.
This is good for my scenario.

Comment 9 safchain 2018-12-14 16:39:52 UTC
Closing it for now as it is not the role of skydive-ansible to install repository