fr33jc / bang Goto Github PK
View Code? Open in Web Editor NEWThe beginning of the universe...
License: GNU General Public License v3.0
The beginning of the universe...
License: GNU General Public License v3.0
The following line raises a KeyError if it's missing and users are not sure how to proceed:
bang/deployers/cloud.py", line 496, in get_deployers
provider = get_provider(pname, creds[pname])
KeyError: 'aws'
As below type of situation. When spinning up lots of instances, and facing rate-limiting, bang should gracefully acknowledge the rate-limiting, and slow down or pause, then resume.
Process ServerDeployer:
Traceback (most recent call last):
File "/usr/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
self.run()
File "/usr/lib/python2.7/multiprocessing/process.py", line 114, in run
self._target(_self._args, *_self._kwargs)
File "/usr/local/lib/python2.7/dist-packages/bang/deployers/deployer.py", line 66, in run
self.deploy()
File "/usr/local/lib/python2.7/dist-packages/bang/deployers/deployer.py", line 40, in deploy
action()
File "/usr/local/lib/python2.7/dist-packages/bang/deployers/cloud.py", line 112, in create
security_groups=self.security_groups,
File "/usr/local/lib/python2.7/dist-packages/bang/providers/hpcloud/init.py", line 74, in create_server
s = super(HPNova, self).create_server(_args, *_kwargs)
File "/usr/local/lib/python2.7/dist-packages/bang/providers/openstack/init.py", line 210, in create_server
*_kwargs
File "/usr/local/lib/python2.7/dist-packages/novaclient/v1_1/servers.py", line 590, in create
*_boot_kwargs)
File "/usr/local/lib/python2.7/dist-packages/novaclient/v1_1/base.py", line 162, in _boot
return_raw=return_raw, *_kwargs)
File "/usr/local/lib/python2.7/dist-packages/novaclient/base.py", line 145, in _create
_resp, body = self.api.client.post(url, body=body)
File "/usr/local/lib/python2.7/dist-packages/novaclient/client.py", line 230, in post
return self._cs_request(url, 'POST', *_kwargs)
File "/usr/local/lib/python2.7/dist-packages/novaclient/client.py", line 214, in _cs_request
*_kwargs)
File "/usr/local/lib/python2.7/dist-packages/novaclient/client.py", line 196, in _time_request
resp, body = self.request(url, method, *_kwargs)
File "/usr/local/lib/python2.7/dist-packages/novaclient/client.py", line 190, in request
raise exceptions.from_response(resp, body, url, method)
OverLimit: This request was rate-limited
I realize Neutron is huge.
The idea of fully supporting provisioning of networks, routers, subnets etc would be pretty huge, but I see at least two subsets of neutron that need attention from my perspective.
Thanks!
In HPCS use of bang, I see that # bang <foo.yaml> --list returns load balancer instances. I feel this form should include only server/compute instances. Maybe an option for each form?
Seems like anything newer than Ansible 1.2 breaks bang. Current release is Ansible 1.4.4. Are there plans to bring bang up to date to work with the latest Ansible?
I've been having trouble figuring out how to add IAM roles to AWS server definition files. I see an example in a rightscale server definition file that does something like:
rightscale:
cloud_specific_attributes:
iam_instance_profile: <instance profile name>
But I can't seem to be able to do the same thing for aws.
Has this been implemented yet, or is this still a todo for bang?
It'd be useful to be able to rename a global config in the local scope. This would allow multiple server roles to share a local config_scope without copy and pasting; a mixture of reusing globally defined config sections with the flexibility of local config_scopes.
For example:
- name: logging_servers
# Inside a server role definition:
config_scopes:
# Could put 'elasticsearch' here but would need to copy
# it for each role that requires it
- ....
config_aliases:
# Playbook can refer to {{elasticsearch.something}}
- elasticsearch: elasticsearch_logging
- name: monitoring
config_aliases:
- elasticsearch: elasticsearch_logging
# Global scope
elasticsearch_logging:
cluster_name: logging
# Second set of elasticsearch config options
elasticsearch_documents:
cluster_name: documents
The console output should obey the user-configurable logging settings. Unknown exceptions should have a reasonable summary logged as ERROR. All tracebacks should go into a detailed error log.
Note that the traceback log should always be active to obviate the need for "reproducing" production errors just to get a traceback.
when adding new server type, if you run --list with server type in the stack config, bang explodes.
running bang to deploy the server works fine, but if you're doing a --list to check the status of the stack before altering it and everything goes explodey, its a bit of a slowdown to figure out what the problem is.
When bang inventory is returning a list of hosts or IP addresses, I would like to see it return sorted lists. Reason is, currently it returns seemingly random list each time; when these lists are then used by ansible, say as vars in a jinja template for a config file, they might be in a different order each time, so that even if the actual list hasn't changed, ansible will rewrite the config file simply because the inventory list bang gave it is in a different order. If all inventory lists were returned sorted, that problem should be eliminated, except in cases of actual differences in the list. I can't see this would cause any other issues ....
Are there plans to support cinder, with the goal of being able to build persistent volumes, attach them to instances and manage the connection (eg metadata notations). Thanks!
It would be nice if bang was able to run across availability zones (and regions, though that likely involves other infrastructure work). As a suggestion, it could be given a list of availability zones and attempt, where possible, to balance servers evenly among them when new servers are required.
From a quick look, it would make sense if the availability zones and region(s) could be specified for the stack (instead of per host group). Bang could then figure out which servers and where.
There shouldn't be any networking issues for bang to deal with, since it deals with external IPs only.
Grrr....
Is there any current method, or future plan to provide any kind of serialized naming as an option.
currently I might get:
project-mydb-o0txfxszvzxl6
project-mydb-ps7b3pgy3zywr
project-mydb-a7bbzmxncth0e
But what if I'd really like to have
project-mydb-01
project-mydb-02
project-mydb-03
or even
project-mydb-01-o0txfxszvzxl6
project-mydb-02-ps7b3pgy3zywr
project-mydb-03-a7bbzmxncth0e
Thanks!
In my environment - HP Cloud - I get only public IP (15.x.x.x in this case) IP's returned for bang --list.
Is there a way to get the private (10.x.x.x)? They are certainly both available from nova (both the python client and from the server apis) ....
I do recognize that I'm normally using an older release due to dependencies, but is this available in a later release? I'm was looking a little at the code hoping to find a simple way to add a command-line switch for this, but I'm not much of a python hacker frankly :)
It would be nice if bang could instantiate and configure a local Docker container.
Also, support for instantiating and configuring docker instances up in the cloud would be nice.
Bang should populate 'name' for ec2 instances with a server's stack/role. Currently they're left blank.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.