I had a query today from a customer looking for pointers on how to add another interface to an existing K5 or OpenStack instance. Hopefully if you’ve found this blog you too may find this useful. There’s a big assumption here that you have setup you environment for use with python 2.7X. However, because I’ve used the native API calls, it should be very easy to port this example to other scripting languages provided they support RESTFul calls.
Note: When running the script from a windows OS environment it may be necessary to replace the single quotes (‘) with double qoutes (“) around the parameters.
This procedure requires only two api calls –
As you can see from the above links, I’ve used the native OpenStack API calls from both the Keystone and Nova developers API documentation. Fujitsu K5 has also enhanced some of these APIs to provide richer functionality, those details are documented on the Fujitsu K5 site – http://www.fujitsu.com/uk/solutions/cloud/k5/guides/
Included is a basic wrapper around the API calls to facilitate simple command line use of the python script. The script takes 3 input parameters –
- -p ‘project id’ – this is the id of the project where the server resides
- -n ‘network id’ – this is the id of the network that the new interface is to be attached to
- -s ‘server id’ – obviously enough this is where the id of the server that requires the additional interface resides
Also note that instead of hard coding the K5 contract details (e.g. username, password, etc) into the script I import them from another file called k5contractsettingsV7.py that YOU NEED TO CREATE before running the script. Place this file in the same directory as the script below.
Example of how to run the script –
Example python script to add a new network interface to an existing K5 or OpenStack instance.
Please also note that once this is complete you’ve only satisfied the infrastructure part of the process. It will still be necessary to configure the new interface within the relevant OS.