• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

SatelliteQE / nailgun / 477 / 3
97%
master: 97%

Build:
DEFAULT BRANCH: master
Ran 17 Aug 2015 08:30PM UTC
Files 6
Run time 1s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

17 Aug 2015 08:10PM UTC coverage: 97.163%. Remained the same
477.3

push

travis-ci

Ichimonji10
Release version 0.21.0, mark as "Beta"

This release brings **numerous breaking changes**. Please read these release
notes carefully if migrating from a previous version of NailGun!

Mark NailGun as "Beta" quality, up from "Alpha". What's the difference? NailGun
can now be considered fairly stable. This is because of the work done on #41:

> Several methods in module nailgun.entities do not map nicely to an underlying
> path. In addition, several methods do not have appropriate arguments. The
> methods exposed by the entity classes should be reviewed to make sure that
> they are appropriately named and placed on the most appropriate class.

The helper methods now have a consistent naming scheme, argument list and body.
For example, here are some new method signatures:

    def publish(self, synchronous=True, **kwargs):  # ContentView
    def promote(self, synchronous=True, **kwargs):  # ContentViewVersion
    def add_subscriptions(self, synchronous=True, **kwargs):  # ActivationKey
    def upload(self, synchronous=True, **kwargs):  # Subscription

All `kwargs` are passed nearly verbatim to the `nailgun.client` functions, which
are themselves only thin wrappers around the functions provided by Requests. As
a result, clients can use the full power of requests — it's possible to set
headers and cookies, use proxies and more. In short, if you know how to use
Requests, it's easy to use the helper methods. Here's some examples of how to
use the methods:

    content_view.publish()
    content_view_version.promote(data={u'environment_id': lc_env.id})
    activation_key.add_subscriptions(data={
        'quantity': 1,
        'subscription_id': sub.id,
    })
    with open(manifests.clone(), 'rb') as handle:
        sub.upload(data={'organization_id': org.id}, files={'content': handle})

NailGun is still under development, and changes will continue to be made.
However, future changes should be much more minimal. For example, a pair of
`path()` methods might be fiddled with. And if any larger changes are required,
it should be possible to support a deprecation period.

Summary of major changes:

* `AbstractDockerContainer.logs` (Updated.)
* `AbstractDockerContainer.power` (Updated.)
* `ActivationKey.add_subscriptions` (Updated.)
* `ActivationKey.content_override` (Updated.)
* `ContentView.available_puppet_modules` (Updated.)
* `ContentView.copy` (Updated.)
* `ContentView.delete_from_environment` (Updated.)
* `ContentView.publish` (Updated.)
* `ContentView.set_repository_ids` (Dropped. Use `ContentView.update`.)
* `ContentViewVersion.promote` (Updated.)
* `Organization.delete_manifest` (Dropped. Use `Subscription.delete_manifest`.)
* `Organization.list_rhproducts` (Dropped. Use `Product.search`.)
* `Organization.refresh_manifest` (Dropped. Use `Subscription.refresh_manifest`.)
* `Organization.subscriptions` (Dropped. Use `Subscription.search`.)
* `Organization.sync_plan` (Dropped. Use `SyncPlan.create`.)
* `Organization.upload_manifest` (Dropped. Use `Subscription.upload`.)
* `Product.disable_rhrepo` (Dropped. Use `RepositorySet.disable`.)
* `Product.enable_rhrepo` (Dropped. Use `RepositorySet.enable`.)
* `Product.fetch_reposet_id` (Dropped. Use `RepositorySet.search`)
* `Product.fetch_rhproduct_id` (Dropped. Use `Product.search`.)
* `Product.list_repositorysets` (Dropped. Use `RepositorySet.search`.)
* `Product.repository_sets_available_repositories` (Dropped. Use `RepositorySet.available_repositories`.)
* `Product.sync` (Updated.)
* `RHCIDeployment.add_hypervisors` (Dropped. Use `RHCIDeployment.update`.)
* `RHCIDeployment.deploy` (Updated.)
* `Repository.search` (Dropped. Use `Repository.search`.)
* `Repository.sync` (Updated.)
* `Repository.upload_content` (Updated.)
* `SmartProxy.refresh` (Updated.)
* `SyncPlan.add_products` (Updated.)
* `SyncPlan.remove_products` (Updated.)

Other changes:

* Make `BaseServerConfig.get` return an object of the correct type. (typically
  `BaseServerConfig`) (#176)
* Make `BaseServerConfig.__repr__` represent the `version` attribute in a more
  sane manner. (#178)
* If a `ServerConfig` object is instantiated and no `version` attribute is
  provided, give a default version of '1!0'. In other words, assume that the
  server is running a current version of Satellite unless the user states
  otherwise. (#178)
* Make Travis use containers. (#177)
* Fix `Subscription.search`. (#174)
* Update documentation. (#172)
* Add update functionality to the `ComputeResource` class. (#170)
* Add update functionality to the `DiscoveredHost` entity. (#169)
* Add the `DiscoveredHost` entity (#168)
* Only require unittest2 for Python 3.3 and below. (#161)
* Make `make lint` examine `docs/create_organization_v2.py`. (#160)
* Add the `default_content_view` and `library` fields to the `Organization`
  entity. (#162)

1404 of 1445 relevant lines covered (97.16%)

0.97 hits per line

Source Files on job 477.3
  • Tree
  • List 0
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 477
  • Travis Job 477.3
  • aedc0c9e on github
  • Prev Job for on master (#476.3)
  • Next Job for on master (#480.3)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc