New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OpenStack named network enhancements #7
Conversation
The comments in chef/knife-openstack#30 make the case for not knowing the names of your networks in advance.
|
||
### Proposal | ||
|
||
* `knife openstack server create --network [NAMES_OR_IDS]`: comma separated list of networks to attach to. Default is `public,private` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this true: there two pieces of information that are important which networks to tell the API to bind to the instance, and what network's IP address to use to connect to the instance after it is created?
If so, are we presuming that the first network listed is the one we want to boot from?
And further, if so, do we need to be more explicit about this in some way, e.g. "The first network listed will be used to connect to the instance to bootstrap it."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@btm Good catch, that was in the original internal RFC and was clearly the point of all of this. Added --bootstrap-network.
This was in the original internal RFC, I overlooked it thinking --networks covered the use case. Clearly it is necessary.
* [KNIFE-231](https://tickets.opscode.com/browse/KNIFE-231) added ability to specify arbitrary network ID | ||
* [KNIFE-277](https://tickets.opscode.com/browse/KNIFE-277) knife openstack "ERROR: No IP address available for bootstrapping." | ||
|
||
### Proposal |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should be explicit about supporting and testing support for these values being in a knife.rb file so they don't have to be specified every time, but still can be overridden by command line options. chef/chef@136ce0b (CHEF-3497) implemented this at the top level, so it should just work as long as we don't go poking around and try implementing our own logic (which is what we did previously).
It would be good to have a couple line refresher in the knife-openstack README that specifies how to do that, e.g.:
# Specifies that cloud instances be created and attached to the internet and admin networks, and bootstrapping via the internet network
knife[:network] = internet,admin
# Specifies to use the first network found alphabetically for bootstrapping cloud instances
knife[:network] = false
…port it Dug through the API code and server_create code in Fog and found that the networks get attached to the node after server_create is called, which means there's currently no abilility to limit which networks attached by new servers. This could be a limitation of my test environment (nova-network), but the API docs and Fog code appear to support this conclusion.
--bootstrap-network still supports picking the network to bootstrap, but we can't pick which networks the server attaches to currently. |
OpenStack named network enhancements to server create and delete.
RFCs for enhancing knife openstack and ohai's handling of non public/private networks.