Giter Club home page Giter Club logo

rho's Introduction

Candlepin - Subscription & Entitlement Management

Candlepin is an open source subscription & entitlement engine which is designed to manage software subscriptions from both vendor's & customer's perspectives. It allows vendors to create a database of software they offer and then manage the database (such as changing policies, revoking rights for the software for specific customers). It enables customers to consume their rights for the software and also enables them to transparently manage the software portfolio they acquired from the vendor.

Candlepin server exposes functionality over a REST API, and stores data in a backend SQL database. The source code is delivered under the GPL. See LICENSE for explicit version information.

Getting Started

How to build Candlepin

The build instructions are available in the contribution guide.

rho's People

Contributors

alikins avatar ashcrow avatar awood avatar cnsnyder avatar dgoodwin avatar elladeon avatar jbowes avatar jmrodri avatar markmc avatar weshayutin 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

Watchers

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

rho's Issues

Please package for epel 7

Would be nice if packaging were available for el 7. If packages could be built and pushed to epel that would make it much easier to install and use.

profile add gives traceback

profile add with --auth=[nonexistent auth] gives traceback, should just print 'auth doesn't exist' - same with nonexistent ssh keyfile, etc

Leaked paramiko ssh connection threads prevent rho from exiting

rho seems to get stuck scanning some ilo's that are on our network. If I watch lsof I can see the connections, and then they eventually disappear. I get these messages as they do:

2015-12-17 10:43:20,575 paramiko.transport INFO - Disconnect (code 2): Protocol Timeout (transport/1428)
2015-12-17 10:43:21,670 paramiko.transport INFO - Disconnect (code 2): Protocol Timeout (transport/1428)
2015-12-17 10:43:22,949 paramiko.transport INFO - Disconnect (code 2): Protocol Timeout (transport/1428)
2015-12-17 10:43:24,369 paramiko.transport INFO - Disconnect (code 2): Protocol Timeout (transport/1428)
2015-12-17 10:44:24,480 paramiko.transport INFO - Disconnect (code 2): Protocol Timeout (transport/1428)
2015-12-17 10:44:25,398 paramiko.transport INFO - Disconnect (code 2): Protocol Timeout (transport/1428)

And then nothing else happens. rho hangs indefnitely after that -- it doesn't seem to recognize that the ssh jobs have expired.

strace doesn't help -- it just shows all threads hanging on futex()

I think this is happening while rho is trying to login with different auth's.

Partial report generation (either periodic, or at ^C)

Given the reliability issues I'm seeing in #15, it would be nice if rho wrote out the report occasionally so that if the tool needs to be killed due to hanging, some amount of reporting would still be available.

Or catch ^C and generate a report at abnormal exit.

Some of the subnets I need to scan are quite large and having to scan the repeatedly as I debug issues is not friendly to our subnets :). In many cases a partial report would be good enough. (or as in #15, the scan is actually done, rho just won't exit due to zombie ssh threads.)

Periodic would probably only work with the --output option -- not stdout.

KVM guests showing up as virt-hosts

KVM guests that have the /dev/kvm device, show up as virt-hosts. Maybe another characteristic can be used to determine whether or not a machine is a KVM virtual machine, like the existence of virtio devices in lspci output?

on my test server with KVM on it, my guests often show up as virt-host
instead of virt-guest. Do I file an issue for this, or could that be
related to my setup here?

That could be due to setup although it's probably unlikely. Looking back at the rho code
it looks like the only case that would happen is if the /dev/kvm device
exists on the system. [...]

non existent auth causes traceback

if we try to add/edit a profile and give it an auth that doesn't exist, we
get an exception, and then the config is busted.
Profile f11-bogus-multiauth-multiport edited
[adrian@alikins rho]$ rho dumpconfig
Traceback (most recent call last):
File "/home/adrian/src/rho/bin/rho", line 22, in
CLI().main()
File "/home/adrian/src/rho/src/rho/cli.py", line 95, in main
cmd.main()
File "/home/adrian/src/rho/src/rho/clicommands.py", line 133, in main
self.config = self._read_config(self.options.config, self.passphrase)
File "/home/adrian/src/rho/src/rho/clicommands.py", line 98, in _read_config
return config.ConfigBuilder().build_config(confstr)
File "/home/adrian/src/rho/src/rho/config.py", line 289, in build_config
config = Config(auths=creds, profiles=profiles)
File "/home/adrian/src/rho/src/rho/config.py", line 93, in init
self.add_profile(profile)
File "/home/adrian/src/rho/src/rho/config.py", line 134, in add_profile
c)
rho.config.ConfigError: No such credentials: rsa_key

Detect command timeouts?

I was reviewing the code per my other bug report -- at one point I thought maybe the commands were timing out. I noticed a timeout isn't included in exec_command(). I'm wondering if that might be something you want to add, i.e.,

     def run_cmds(self, ssh_job,):
         for rho_cmd in ssh_job.rho_cmds:
             output = []
             for cmd_string in rho_cmd.cmd_strings:
-                stdin, stdout, stderr = self.ssh.exec_command(cmd_string)
-                output.append((stdout.read(), stderr.read()))
+                try:
+                    stdin, stdout, stderr = self.ssh.exec_command(cmd_string, timeout=30)
+                    output.append((stdout.read(), stderr.read()))
+                except paramiko.SSHException as e:
+                    log.error("Exception on %s: %s" % (ssh_job.ip, e))
             rho_cmd.populate_data(output)

Also, on the catch, perhaps stdin, stdout, stderr ought to be set to "", "", "". ...And the value of 30 was arbitrary.

editing non-existent profile causes traceback

if we try to "rho profile edit" a profile that doesnt exist:
Traceback (most recent call last):
File "/home/adrian/src/rho/bin/rho", line 22, in
CLI().main()
File "/home/adrian/src/rho/src/rho/cli.py", line 95, in main
cmd.main()
File "/home/adrian/src/rho/src/rho/clicommands.py", line 136, in main
self._do_command()
File "/home/adrian/src/rho/src/rho/clicommands.py", line 461, in _do_command
g.ranges = self.options.ranges
AttributeError: 'NoneType' object has no attribute 'ranges'

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.