[Ci-users] Introducing python-cicoclient: A library and CLI to admin.ci.centos.org

Sat Dec 19 18:54:48 UTC 2015
David Moreau Simard <dms at redhat.com>

I've just released a new version (0.3.6) out to pip and the copr
repository which fixes an issue where the inventory was requested more
than once and needlessly do API requests.

This version also introduces a backwards compatibility with the
ansible module, the output from the response were shifted to a
"results" key.

If you have been using cicoclient, please update.

David Moreau Simard
Senior Software Engineer | Openstack RDO

dmsimard = [irc, github, twitter]


On Sat, Nov 21, 2015 at 1:10 AM, David Moreau Simard <dms at redhat.com> wrote:
> Ansible module is out. It's included in python-cicoclient.
> Available through github, pip and copr.
>
> Doc: http://python-cicoclient.readthedocs.org/en/latest/ansible_usage.html
>
> David Moreau Simard
> Senior Software Engineer | Openstack RDO
>
> dmsimard = [irc, github, twitter]
>
>
> On Fri, Nov 20, 2015 at 10:00 AM, David Moreau Simard <dms at redhat.com> wrote:
>> Like Karan said, you can filter the hosts that inventory will return by
>> setting your API key.
>>
>> There's two things I discussed with the CI team that I would like to do
>> eventually:
>> 1) See the "age" of the machines (time since deploy)
>> 2) Being able to set the comment field when requesting nodes instead of it
>> being automatically set to the ssid. This would allow us to set, for
>> example, the job name and build number as comment. This effectively requires
>> adding a ssid field because the only place you can find it is in the comment
>> field.
>>
>> 1 and 2 would help you achieve what you're looking for :)
>>
>> David Moreau Simard
>> Senior Software Engineer | Openstack RDO
>>
>> dmsimard = [irc, github, twitter]
>>
>> On Nov 19, 2015 6:31 PM, "Ben Kero" <bkero at redhat.com> wrote:
>>>
>>> I just took a look at the 'cico inventory' output, and find it super
>>> useful. The one piece of information that I see as missing though is which
>>> user checked out a node.
>>>
>>> One of my primary uses for the module would be to see if I have any nodes
>>> that got stuck and need returned.
>>>
>>> To do that I would like to see a 'user' column so that I can find the ones
>>> that say 'openstack-puppet'. :)
>>>
>>> Ben
>>>
>>> On Sun, Nov 15, 2015 at 4:36 PM, David Moreau Simard <dms at redhat.com>
>>> wrote:
>>>>
>>>> Hey,
>>>>
>>>> I took a first stab at this, I think it makes sense ? It looks like it
>>>> works on my end.
>>>> The spec file is here:
>>>>
>>>> https://github.com/dmsimard/python-cicoclient/blob/master/python-cicoclient.spec
>>>>
>>>> I made it build through copr as well:
>>>>
>>>> https://copr.fedoraproject.org/coprs/dmsimard/python-cicoclient/build/139669/
>>>>
>>>>
>>>> David Moreau Simard
>>>> Senior Software Engineer | Openstack RDO
>>>>
>>>> dmsimard = [irc, github, twitter]
>>>>
>>>>
>>>> On Sat, Nov 14, 2015 at 5:33 PM, David Moreau Simard <dms at redhat.com>
>>>> wrote:
>>>> > In the meantime you have the next best thing on PyPi but I do want to
>>>> > package it as rpm eventually.
>>>> >
>>>> > Here, I just formalized it in the first-ever issue on github [1]
>>>> >
>>>> > Thanks for the feedback.
>>>> >
>>>> > [1]: https://github.com/dmsimard/python-cicoclient/issues/1
>>>> >
>>>> > David Moreau Simard
>>>> > Senior Software Engineer | Openstack RDO
>>>> >
>>>> > dmsimard = [irc, github, twitter]
>>>> >
>>>> >
>>>> > On Sat, Nov 14, 2015 at 5:06 AM, Fabian Arrotin <arrfab at centos.org>
>>>> > wrote:
>>>> >> -----BEGIN PGP SIGNED MESSAGE-----
>>>> >> Hash: SHA1
>>>> >>
>>>> >> On 13/11/15 21:19, David Moreau Simard wrote:
>>>> >>> Heya,
>>>> >>>
>>>> >>> I read the docs, the mailing lists and glanced over the various
>>>> >>> scripts out there and was convinced there had to be a better way
>>>> >>> than using curl to communicate with admin.ci.centos.org.
>>>> >>>
>>>> >>> Introducing python-cicoclient: - Github:
>>>> >>> https://github.com/dmsimard/python-cicoclient - PyPi:
>>>> >>> https://pypi.python.org/pypi/python-cicoclient/ - Docs:
>>>> >>> http://python-cicoclient.readthedocs.org/en/latest/
>>>> >>>
>>>> >>> I broke down this package in three main components: - client.py:
>>>> >>> Abstracts the http stuff - wrapper.py: Uses client.py to wrap
>>>> >>> around the available API calls and provide a consistent user
>>>> >>> experience - shell.py/cli.py: Provide a CLI interface around
>>>> >>> wrapper.py
>>>> >>>
>>>> >>> It can be used as both a CLI client with the provided 'cico'
>>>> >>> binary but also as a library - you can easily import wrapper and
>>>> >>> roll your own thing.
>>>> >>>
>>>> >>> Feel free to use it, contribute and provide feedback !
>>>> >>>
>>>> >>> Please note that as of right now, there is a problem with the
>>>> >>> "node get" command due to an upstream bug, documented here:
>>>> >>> https://bugs.centos.org/view.php?id=9748 Please do not use "node
>>>> >>> get" until this bug is fixed :)
>>>> >>>
>>>> >>> David Moreau Simard Senior Software Engineer | Openstack RDO
>>>> >>>
>>>> >>> dmsimard = [irc, github, twitter]
>>>> >>
>>>> >> Looks very promising !
>>>> >> Wondering if then we can have a .spec, and build/deploy it as rpm
>>>> >> within the CI env, on the jenkins slave nodes, so that people would
>>>> >> have an alternative.
>>>> >>
>>>> >>
>>>> >> - --
>>>> >> Fabian Arrotin
>>>> >> The CentOS Project | http://www.centos.org
>>>> >> gpg key: 56BEC54E | twitter: @arrfab
>>>> >> -----BEGIN PGP SIGNATURE-----
>>>> >> Version: GnuPG v2.0.22 (GNU/Linux)
>>>> >>
>>>> >> iEYEARECAAYFAlZHB5YACgkQnVkHo1a+xU7xoQCdH8CQynVnleWNZVGNa08uIRs3
>>>> >> 05gAoITFkfK+TkaFJEPs7yoOCq34xU7D
>>>> >> =Nmgd
>>>> >> -----END PGP SIGNATURE-----
>>>> >> _______________________________________________
>>>> >> Ci-users mailing list
>>>> >> Ci-users at centos.org
>>>> >> https://lists.centos.org/mailman/listinfo/ci-users
>>>> _______________________________________________
>>>> Ci-users mailing list
>>>> Ci-users at centos.org
>>>> https://lists.centos.org/mailman/listinfo/ci-users
>>>
>>>
>>>
>>>
>>> --
>>> Ben Kero
>>> RedHat, Engineer, OPM-CI