See the License for the specific language governing permissions and
limitations under the License.
-Neither the name of the SONATA-NFV [, ANY ADDITIONAL AFFILIATION]
+Neither the name of the SONATA-NFV, Paderborn University
nor the names of its contributors may be used to endorse or promote
products derived from this software without specific prior written
permission.
import json
from copy import deepcopy
-logging.basicConfig(level=logging.INFO)
+logging.basicConfig()
CORS_HEADER = {'Access-Control-Allow-Origin': '*'}
+# the dcs dict is set in the rest_api_endpoint.py upon datacenter init
dcs = {}
example networks list({"id":"input","ip": "10.0.0.254/8"}, {"id":"output","ip": "11.0.0.254/24"})
:return: docker inspect dict of deployed docker
"""
+
global dcs
def put(self, dc_label, compute_name, resource=None, value=None):
if dc_label is None or dc_label == 'None':
# return list with all compute nodes in all DCs
all_containers = []
+ all_extSAPs = []
for dc in dcs.itervalues():
all_containers += dc.listCompute()
- return [(c.name, c.getStatus()) for c in all_containers], 200, CORS_HEADER
+ all_extSAPs += dc.listExtSAPs()
+
+ extSAP_list = [(sap.name, sap.getStatus()) for sap in all_extSAPs]
+ container_list = [(c.name, c.getStatus()) for c in all_containers]
+ total_list = container_list + extSAP_list
+ return total_list, 200, CORS_HEADER
else:
# return list of compute nodes for specified DC
- return [(c.name, c.getStatus())
- for c in dcs.get(dc_label).listCompute()], 200, CORS_HEADER
+ container_list = [(c.name, c.getStatus()) for c in dcs.get(dc_label).listCompute()]
+ extSAP_list = [(sap.name, sap.getStatus()) for sap in dcs.get(dc_label).listExtSAPs()]
+ total_list = container_list + extSAP_list
+ return total_list, 200, CORS_HEADER
except Exception as ex:
logging.exception("API error.")
return ex.message, 500, CORS_HEADER
# then no data
if params is None:
params = {}
- logging.info("REST CALL: update container resources {0}".format(params))
+ logging.debug("REST CALL: update container resources {0}".format(params))
#check if container exists
d = dcs.get(dc_label).net.getNodeByName(compute_name)
# general request of cpu percentage
# create a mutable copy
params = params.to_dict()
- if 'cpu' in params:
+ if 'cpu_bw' in params:
cpu_period = int(dcs.get(dc_label).net.cpu_period)
- value = params.get('cpu')
+ value = params.get('cpu_bw')
cpu_quota = int(cpu_period * float(value))
#put default values back
if float(value) <= 0: