Bug 1657748 - Failed to create analyzer: listen tcp 127.0.0.1:12380: bind: permission denied
Summary: Failed to create analyzer: listen tcp 127.0.0.1:12380: bind: permission denied
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: skydive
Version: 14.0 (Rocky)
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: ---
Assignee: safchain
QA Contact: safchain
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-12-10 11:09 UTC by Dominik Holler
Modified: 2018-12-14 16:39 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-12-14 16:39:52 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
terminal log of analyzer installation (108.58 KB, text/plain)
2018-12-10 11:09 UTC, Dominik Holler
no flags Details
terminal log (265.32 KB, text/plain)
2018-12-11 21:57 UTC, Dominik Holler
no flags Details
inventory with skydive_package_location and skydive_deployment_mode=package (271 bytes, text/plain)
2018-12-12 19:37 UTC, Dominik Holler
no flags Details
playbook to install skydive from repo (20.00 KB, application/x-tar)
2018-12-14 08:18 UTC, Dominik Holler
no flags Details
playbook to install skydive from repo (20.00 KB, application/x-tar)
2018-12-14 08:21 UTC, Dominik Holler
no flags Details

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


Note You need to log in before you can comment on or make changes to this bug.