Changelogs » Bang

PyUp Safety actively tracks 267,561 Python packages for vulnerabilities and notifies you when to upgrade.



  - Add a logo for the project.
  - Add ``-p`` command line argument to specify playbook(s) on command
  - RightScale
  - Update dependency to python-rightscale==0.1.3.
  - Tag the rightscale server, not just the instance.  This insures
  instances that launch from the same server definition also get
  - Allow instance type, AZ, secgroups to be optional for
  RightScale servers.
  - Expose details of RightScale API error response.


  - Ensure stats callback fires.
  - RightScale: Fix bug in public_dns_names for newly created server.


  - Add hostvars directly to ``--list`` output.
  - As an optimization to avoid exec-ing the inventory script for
  every host, Ansible >= 1.3 accepts the hostvars in the initial
  inventory dump under a ``_meta`` key.
  - Fix up more python2.6 incompatibilities.
  - This includes addressing the warning about
  BaseException.message deprecation
  - Gracefully handle when $HOME is not in environment.
  - RightScale
  - Switch to using public_dns_names.
  This means that in the inventory provided to ansible, hosts
  will be defined by their public DNS name instead of their
  public IP address.  For RightScale hosts in AWS, this gives you
  names like ```` which
  gets the magic EC2 DNS resolution (i.e. translates to private
  address within EC2, translates to public address from outside


  - Expose bang server attributes to playbooks.  E.g. in an ansible
  template, ``{{bang_server_attributes.instance_type}}`` might
  resolve to the value ``t1.micro``.
  - AWS
  - Fix security group handler.  Thanks Sol Reynolds!
  - RightScale
  - Support all input types.  E.g. ``key:``, ``cred:``, ``env:``,


  - Fix console logging level configuration.


  - AWS
  - Add support for creating S3 buckets (Thanks to Sol Reynolds).
  - Add support for IAM roles and other provider-specific server
  - RightScale
  - *BREAKING CHANGE*: Inputs are now nested one level deeper in a
  server config stanza.
  This was done as part of adding support for provider-specific
  server attributes.  Prior to this change, one would specify the
  server template inputs in a rightscale server config like this:
  .. code-block:: yaml
  other server attributes omitted for brevity
  provider: rightscale
  SOME_OTHER_INPUT: blah blah
  Provider-specific attributes needed to create/launch servers
  will now be nested one level deeper in an attribute named after
  the provider.  With this new structure, the corresponding
  configuration for the example above would look like this:
  .. code-block:: yaml
  other server attributes omitted for brevity
  provider: rightscale
  SOME_OTHER_INPUT: blah blah
  - Propagate rs deployment and server name to ec2 tags.
  - Issues addressed
  - Fix handling of localhost in inventory
  - 11: Return sorted host lists for ``bang --list``.


  - Ansible integration
  - Allow setting some ansible options via bang config or
  - Verbosity (especially for ssh debugging)::
  verbosity: 4
  - Vault::
  ask_vault_pass: true
  vault_pass: "thisshouldfail"
  vault_pass: "bangbang"
  - Test against ansible 1.7.2
  - Add ``--no-deploy`` arg to only use existing infrastructure.
  - Switch to yaml.safe_load.
  - Improve compatibility with Python 2.6, including adding 2.6 as a
  Travis CI target.


  - Update to ansible >= 1.6.3.
  - Allow ansible vars plugins to work.
  - Add RightScale provider.
  - Add server creation and launch support.
  - Expose underlying RightScale response for errors.
  - Implement ``create_stack()`` to create RightScale
  - Reuse existing servers *if possible*.  Some scenarios allow a
  server instance to be found and usable as a deployment target (e.g.
  bang run failed but server instance launched successfully).
  - Allow configuration of logging via ~/.bangrc.
  - Add backwards support for python 2.6.
  - Reorganize and add new examples.


  - HP Cloud provider
  - *BREAKING CHANGE*:  Separate HP Cloud v12 and v13 providers.  Users
  of HP Cloud services must now distinguish between the 2 different
  API versions of their resources.
  - Add new LB nodes before removing old; fixes error caused by
  HPCS' rule that a LB must have at least one node.
  - Allow load balancers to be region-specific.
  Older Releases


  - Remove install-time dependency on OpenStack client libraries.
  Users who need OpenStack/HP Cloud support must now install those
  libraries independently.  :ref:`Details... <openstack-deps>`


  - Update dependencies.  Now using:
  - Ansible 1.2
  - logutils >= 3.2
  - Fix 4:  Set value for "Name" tag on EC2 servers
  - Fix EC2 server provisioning


  - AWS provider
  - Create and manage EC2 security groups and their rules.


  - Fix installation breakage caused by conflicting dependency
  statements between python-reddwarfclient and python-novaclient.
  The resolution was to remove the explicit dependency on


  - *BREAKING CHANGE*:  In a stack config file, the top-level resource
  definition containers were lists.  From 0.7 onward, they must be
  defined as dictionaries.  This allows resource definitions to be
  deep-merged.  The ``just_run_a_playbook.yml`` example was updated
  to demonstrate the new config format.
  This change extends the reuse of common config stanzas that was
  previously only available for *general stack properties* and for
  *configuration scopes* to *resource definitions*.  Prior to this
  change, the main purpose for this deep-merge behaviour was to allow
  sysadmins to use a known working dev stack config file and specify
  a *subset config file* to override secrets (e.g. encryption keys)
  when deploying production stacks.  With the deep-merging of
  resource definitions, deployers can override any part of the config
  file and break up their stack configurations into multiple reusable
  *subset config files* as is most convenient for them.  For example,
  one could easily deploy stack clones in multiple public cloud
  regions using a single base stack config and a subset stack config
  for each target region overriding ``region_name`` in the server


  - HP Cloud provider
  - Add LBaaS support.
  - Add "" to the inventory to enable local plays.
  - Add deployer for externally-deployed servers (e.g. physical servers
  in a traditional server room, unmanaged virtual servers).
  - Reuse ssh connections when running playbooks.
  - Allow setting ssh username+password as command-line arguments.


  - Expose server ``name`` to playbooks as ``server_class``


  - Update OpenStack client library dependencies
  - Add auto-registration of SSH keys for OpenStack


  - Update ansible dependency to 1.0
  - Fix bug that caused a crash when running ``bang --list`` with a
  server definition in the stack config for which there was no
  matching running instance.


  - AWS provider
  - Compute (EC2)
  - Inline configuration scopes for server definitions
  - Separate regions from availability zones
  - Fix multi-region stacks


  - Core Ansible playbook runner
  - Parallel cloud resource deployment
  - Generic OpenStack provider
  - HP Cloud provider
  - Compute (Nova)
  - Including security groups
  - Object Storage (Swift)
  - DBaaS (RedDwarf)