Merge "Remove kubernetes checks, wrs-headers from Rest API calls, and dead code."

This commit is contained in:
Zuul 2019-04-10 18:46:50 +00:00 committed by Gerrit Code Review
commit 803cf5a986
17 changed files with 66 additions and 563 deletions

View File

@ -514,103 +514,6 @@ class NFVIComputeAPI(nfvi.api.v1.NFVIComputeAPI):
callback.send(response)
callback.close()
def create_host_services(self, future, host_uuid, host_name,
host_personality, callback):
"""
Create Host Services, notify Nova to create services for a host
"""
response = dict()
response['completed'] = False
response['reason'] = ''
try:
future.set_timeouts(config.CONF.get('nfvi-timeouts', None))
if self._host_supports_nova_compute(host_personality):
response['reason'] = 'failed to get openstack token from ' \
'keystone'
if self._token is None or \
self._token.is_expired():
future.work(openstack.get_token, self._directory)
future.result = (yield)
if not future.result.is_complete() or \
future.result.data is None:
DLOG.error("OpenStack get-token did not complete, "
"host_uuid=%s, host_name=%s." % (host_uuid,
host_name))
return
self._token = future.result.data
response['reason'] = 'failed to create nova services'
# Send the create request to Nova.
future.work(nova.create_host_services, self._token,
host_name)
future.result = (yield)
if not future.result.is_complete():
DLOG.error("Nova create-host-services failed, operation "
"did not complete, host_uuid=%s, host_name=%s."
% (host_uuid, host_name))
return
result_data = future.result.data['service']
if not ('created' == result_data['status'] and
host_name == result_data['host'] and
'nova-compute' == result_data['binary']):
DLOG.error("Nova create-host-services failed, invalid "
"response, host_uuid=%s, host_name=%s, "
"response=%s."
% (host_uuid, host_name, response))
return
response['reason'] = 'failed to disable nova services'
# Send the disable request to Nova.
future.work(nova.disable_host_services, self._token,
host_name)
future.result = (yield)
if not future.result.is_complete():
DLOG.error("Nova disable-host-services failed, operation "
"did not complete, host_uuid=%s, host_name=%s."
% (host_uuid, host_name))
return
result_data = future.result.data['service']
if not ('disabled' == result_data['status'] and
host_name == result_data['host'] and
'nova-compute' == result_data['binary']):
DLOG.error("Nova disable-host-services failed, invalid "
"response, host_uuid=%s, host_name=%s, "
"response=%s."
% (host_uuid, host_name, response))
return
response['completed'] = True
response['reason'] = ''
except exceptions.OpenStackRestAPIException as e:
if httplib.UNAUTHORIZED == e.http_status_code:
response['error-code'] = nfvi.NFVI_ERROR_CODE.TOKEN_EXPIRED
if self._token is not None:
self._token.set_expired()
else:
DLOG.exception("Caught exception while trying to create "
"nova services, error=%s." % e)
except Exception as e:
DLOG.exception("Caught exception while trying to create %s nova "
"services, error=%s." % (host_name, e))
finally:
callback.send(response)
callback.close()
def delete_host_services(self, future, host_uuid, host_name,
host_personality, callback):
"""

View File

@ -4,7 +4,6 @@
# SPDX-License-Identifier: Apache-2.0
#
import json
import os
from six.moves import http_client as httplib
from nfv_common import debug
@ -122,12 +121,7 @@ class NFVIInfrastructureAPI(nfvi.api.v1.NFVIInfrastructureAPI):
@staticmethod
def _host_supports_kubernetes(personality):
# TODO(bwensley): This check will disappear once kubernetes is the
# default
if os.path.isfile('/etc/kubernetes/admin.conf'):
return ('worker' in personality or 'controller' in personality)
else:
return False
return ('worker' in personality or 'controller' in personality)
@staticmethod
def _get_host_labels(host_label_list):

View File

@ -3,7 +3,6 @@
#
# SPDX-License-Identifier: Apache-2.0
#
import os
from six.moves import http_client as httplib
from nfv_common import debug
@ -92,15 +91,6 @@ class NFVINetworkAPI(nfvi.api.v1.NFVINetworkAPI):
(self._directory.get_service_info(
OPENSTACK_SERVICE.NEUTRON) is not None))
@staticmethod
def _host_supports_kubernetes():
# TODO(ksmith): This check will disappear once kubernetes is the
# default
# Note we do not check personality as the assumption is that
# in the case of kubernetes, we won't even get to this check
# unless the correct label is applied to the host.
return (os.path.isfile('/etc/kubernetes/admin.conf'))
def get_networks(self, future, paging, callback):
"""
Get a list of networks
@ -781,135 +771,6 @@ class NFVINetworkAPI(nfvi.api.v1.NFVINetworkAPI):
callback.send(response)
callback.close()
def create_host_services(self, future, host_uuid, host_name,
host_personality, callback):
"""
Create Host Services, notify neutron to create services for a host.
Only used in non k8s config.
"""
response = dict()
response['completed'] = False
response['reason'] = ''
try:
future.set_timeouts(config.CONF.get('nfvi-timeouts', None))
if self._host_supports_neutron(host_personality):
response['reason'] = 'failed to get openstack token from ' \
'keystone'
if self._token is None or \
self._token.is_expired():
future.work(openstack.get_token, self._directory)
future.result = (yield)
if not future.result.is_complete() or \
future.result.data is None:
DLOG.error("OpenStack get-token did not complete, "
"host_uuid=%s, host_name=%s." % (host_uuid,
host_name))
return
self._token = future.result.data
response['reason'] = 'failed to get neutron extensions'
if self._neutron_extensions is None:
future.work(neutron.get_extensions, self._token)
future.result = (yield)
if not future.result.is_complete():
DLOG.error("Neutron get-extensions did not complete.")
return
self._neutron_extensions = future.result.data
if neutron.lookup_extension(neutron.EXTENSION_NAMES.HOST,
self._neutron_extensions):
# Send Delete request to Neutron
response['reason'] = \
'failed to delete existing neutron services'
future.work(neutron.delete_host_services_by_name,
self._token,
host_name, host_uuid, only_if_changed=True)
future.result = (yield)
if not future.result.is_complete():
DLOG.error("Neutron delete-host-services-by-name "
"failed, operation did not complete, "
"host_uuid=%s, host_name=%s." % (host_uuid,
host_name))
return
response['reason'] = 'failed to create neutron services'
# Send the create request to Neutron.
future.work(neutron.create_host_services,
self._token,
host_name, host_uuid)
future.result = (yield)
if not future.result.is_complete():
DLOG.error("Neutron create-host-services failed, "
"operation did not complete, host_uuid=%s, "
"host_name=%s."
% (host_uuid, host_name))
return
result_data = future.result.data['host']
if not ('down' == result_data['availability'] and
host_name == result_data['name'] and
host_uuid == result_data['id']):
DLOG.error("Neutron create-host-services failed, "
"operation did not complete, host_uuid=%s, "
"host_name=%s."
% (host_uuid, host_name))
return
response['reason'] = 'failed to disable neutron services'
# Send the disable request to Neutron
future.work(neutron.disable_host_services,
self._token,
host_uuid)
future.result = (yield)
if not future.result.is_complete():
DLOG.error("Neutron disable-host-services failed, "
"operation did not complete, host_uuid=%s, "
"host_name=%s." % (host_uuid, host_name))
return
result_data = future.result.data['host']
if not ('down' == result_data['availability'] and
host_name == result_data['name'] and
host_uuid == result_data['id']):
DLOG.error("Neutron disable-host-services failed, "
"operation did not complete, host_uuid=%s, "
"host_name=%s." % (host_uuid, host_name))
return
response['completed'] = True
response['reason'] = ''
except exceptions.OpenStackRestAPIException as e:
if httplib.UNAUTHORIZED == e.http_status_code:
response['error-code'] = nfvi.NFVI_ERROR_CODE.TOKEN_EXPIRED
if self._token is not None:
self._token.set_expired()
else:
DLOG.exception("Caught exception while trying to create "
"neutron services, error=%s." % e)
except Exception as e:
DLOG.exception("Caught exception while trying to create %s "
"neutron services, error=%s." % (host_name, e))
finally:
callback.send(response)
callback.close()
def delete_host_services(self, future, host_uuid, host_name,
host_personality, callback):
"""
@ -951,23 +812,13 @@ class NFVINetworkAPI(nfvi.api.v1.NFVINetworkAPI):
self._neutron_extensions = future.result.data
if self._host_supports_kubernetes():
extension_name = neutron.EXTENSION_NAMES.AGENT
else:
extension_name = neutron.EXTENSION_NAMES.HOST
if neutron.lookup_extension(extension_name,
if neutron.lookup_extension(neutron.EXTENSION_NAMES.AGENT,
self._neutron_extensions):
response['reason'] = 'failed to delete neutron services'
# Send the delete request to Neutron.
if not self._host_supports_kubernetes():
future.work(neutron.delete_host_services,
self._token, host_uuid)
else:
future.work(neutron.delete_network_agents,
self._token, host_name)
future.work(neutron.delete_network_agents,
self._token, host_name)
try:
future.result = (yield)
@ -1045,22 +896,13 @@ class NFVINetworkAPI(nfvi.api.v1.NFVINetworkAPI):
self._neutron_extensions = future.result.data
if self._host_supports_kubernetes():
extension_name = neutron.EXTENSION_NAMES.AGENT
else:
extension_name = neutron.EXTENSION_NAMES.HOST
if neutron.lookup_extension(extension_name,
if neutron.lookup_extension(neutron.EXTENSION_NAMES.AGENT,
self._neutron_extensions):
response['reason'] = 'failed to enable neutron services'
# Send the Enable request to Neutron
if not self._host_supports_kubernetes():
future.work(neutron.enable_host_services,
self._token, host_uuid)
else:
future.work(neutron.enable_network_agents,
self._token, host_name)
future.work(neutron.enable_network_agents,
self._token, host_name)
future.result = (yield)
@ -1071,21 +913,11 @@ class NFVINetworkAPI(nfvi.api.v1.NFVINetworkAPI):
% (host_uuid, host_name))
return
if not self._host_supports_kubernetes():
result_data = future.result.data['host']
if not ('up' == result_data['availability'] and
host_name == result_data['name'] and
host_uuid == result_data['id']):
DLOG.error("Neutron enable-host-services failed, "
"operation did not complete, host_uuid=%s, "
"host_name=%s." % (host_uuid, host_name))
return
else:
if not future.result.data:
DLOG.error("Neutron enable-host-services (agents) failed, "
"operation did not complete, host_uuid=%s, "
"host_name=%s." % (host_uuid, host_name))
return
if not future.result.data:
DLOG.error("Neutron enable-host-services (agents) failed, "
"operation did not complete, host_uuid=%s, "
"host_name=%s." % (host_uuid, host_name))
return
response['completed'] = True
response['reason'] = ''
@ -1810,21 +1642,12 @@ class NFVINetworkAPI(nfvi.api.v1.NFVINetworkAPI):
self._neutron_extensions = future.result.data
if self._host_supports_kubernetes():
extension_name = neutron.EXTENSION_NAMES.AGENT
else:
extension_name = neutron.EXTENSION_NAMES.HOST
if neutron.lookup_extension(extension_name,
if neutron.lookup_extension(neutron.EXTENSION_NAMES.AGENT,
self._neutron_extensions):
# Send Query request to Neutron
if not self._host_supports_kubernetes():
future.work(neutron.query_host_services,
self._token, host_name)
else:
future.work(neutron.query_network_agents,
self._token, host_name,
check_fully_up)
future.work(neutron.query_network_agents,
self._token, host_name,
check_fully_up)
future.result = (yield)
@ -1900,23 +1723,13 @@ class NFVINetworkAPI(nfvi.api.v1.NFVINetworkAPI):
self._neutron_extensions = future.result.data
if self._host_supports_kubernetes():
extension_name = neutron.EXTENSION_NAMES.AGENT
else:
extension_name = neutron.EXTENSION_NAMES.HOST
if neutron.lookup_extension(extension_name,
if neutron.lookup_extension(neutron.EXTENSION_NAMES.AGENT,
self._neutron_extensions):
response['reason'] = 'failed to disable neutron services'
# Send the Disable request to Neutron
if not self._host_supports_kubernetes():
future.work(neutron.disable_host_services,
self._token,
host_uuid)
else:
future.work(neutron.disable_network_agents,
self._token, host_name)
future.work(neutron.disable_network_agents,
self._token, host_name)
future.result = (yield)
@ -1926,22 +1739,11 @@ class NFVINetworkAPI(nfvi.api.v1.NFVINetworkAPI):
"host_name=%s." % (host_uuid, host_name))
return
if not self._host_supports_kubernetes():
result_data = future.result.data['host']
if not ('down' == result_data['availability'] and
host_name == result_data['name'] and
host_uuid == result_data['id']):
DLOG.error("Neutron disable-host-services failed, "
"operation did not complete, host_uuid=%s, "
"host_name=%s." % (host_uuid, host_name))
return
else:
if not future.result.data:
DLOG.error("Neutron disable-host-services (agents) failed, "
"operation did not complete, host_uuid=%s, "
"host_name=%s." % (host_uuid, host_name))
return
if not future.result.data:
DLOG.error("Neutron disable-host-services (agents) failed, "
"operation did not complete, host_uuid=%s, "
"host_name=%s." % (host_uuid, host_name))
return
response['completed'] = True
response['reason'] = ''

View File

@ -61,7 +61,6 @@ def get_volumes(token, page_limit=None, next_page=None, all_tenants=True):
api_cmd = next_page
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
response = rest_api_request(token, "GET", api_cmd, api_cmd_headers)
return response
@ -79,7 +78,6 @@ def create_volume(token, volume_name, volume_description, size_gb,
api_cmd = url + "/volumes"
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
volume = dict()
@ -112,7 +110,6 @@ def update_volume(token, volume_id, volume_description):
api_cmd = url + "/volumes/%s" % volume_id
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
volume = dict()
@ -137,7 +134,6 @@ def delete_volume(token, volume_id):
api_cmd = url + "/volumes/%s" % volume_id
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
response = rest_api_request(token, "DELETE", api_cmd, api_cmd_headers)
return response
@ -154,7 +150,6 @@ def get_volume(token, volume_id):
api_cmd = url + "/volumes/%s" % volume_id
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
response = rest_api_request(token, "GET", api_cmd, api_cmd_headers)
return response
@ -174,7 +169,6 @@ def get_volume_snapshots(token, all_tenants=True):
api_cmd += "?all_tenants=1"
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
response = rest_api_request(token, "GET", api_cmd, api_cmd_headers)
return response

View File

@ -294,7 +294,6 @@ def get_extensions(token):
api_cmd = url + "/v2.0/extensions.json"
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
response = rest_api_request(token, "GET", api_cmd)
@ -318,7 +317,6 @@ def get_networks(token, page_limit=None, next_page=None):
api_cmd = next_page
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
response = rest_api_request(token, "GET", api_cmd, api_cmd_headers)
return response
@ -336,7 +334,6 @@ def create_network(token, network_name, network_type, segmentation_id,
api_cmd = url + "/v2.0/networks"
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
network = dict()
@ -370,7 +367,6 @@ def update_network(token, network_id, admin_state=None, shared=None):
api_cmd = url + "/v2.0/networks/%s" % network_id
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
network = dict()
@ -403,7 +399,6 @@ def delete_network(token, network_id):
api_cmd = url + "/v2.0/networks/%s" % network_id
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
response = rest_api_request(token, "DELETE", api_cmd, api_cmd_headers)
return response
@ -420,7 +415,6 @@ def get_network(token, network_id):
api_cmd = url + "/v2.0/networks/%s" % network_id
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
response = rest_api_request(token, "GET", api_cmd, api_cmd_headers)
return response
@ -443,7 +437,6 @@ def get_subnets(token, page_limit=None, next_page=None):
api_cmd = next_page
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
response = rest_api_request(token, "GET", api_cmd, api_cmd_headers)
return response
@ -461,7 +454,6 @@ def create_subnet(token, network_id, subnet_name, ip_version, cidr,
api_cmd = url + "/v2.0/subnets"
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
subnet = dict()
@ -496,7 +488,6 @@ def update_subnet(token, subnet_id, gateway_ip=None, delete_gateway=False,
api_cmd = url + "/v2.0/subnets/%s" % subnet_id
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
subnet = dict()
@ -529,7 +520,6 @@ def delete_subnet(token, subnet_id):
api_cmd = url + "/v2.0/subnets/%s" % subnet_id
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
response = rest_api_request(token, "DELETE", api_cmd, api_cmd_headers)
return response
@ -546,7 +536,6 @@ def get_subnet(token, subnet_id):
api_cmd = url + "/v2.0/subnets/%s" % subnet_id
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
response = rest_api_request(token, "GET", api_cmd, api_cmd_headers)
return response
@ -563,39 +552,11 @@ def get_ports_for_instance(token, instance_uuid):
api_cmd = url + "/v2.0/ports?device_id=%s" % (instance_uuid)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
response = rest_api_request(token, "GET", api_cmd, api_cmd_headers)
return response
def create_host_services(token, hostname, host_uuid):
"""
Asks OpenStack Neutron to create a host
"""
url = token.get_service_url(OPENSTACK_SERVICE.NEUTRON)
if url is None:
raise ValueError("OpenStack Neutron URL is invalid")
api_cmd = url + "/v2.0/hosts.json"
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
payload = dict()
payload['availability'] = 'down'
payload['id'] = host_uuid
payload['name'] = hostname
api_cmd_payload = dict()
api_cmd_payload['host'] = payload
response = rest_api_request(token, "POST", api_cmd, api_cmd_headers,
json.dumps(api_cmd_payload))
return response
def delete_host_services(token, host_uuid):
"""
Asks OpenStack Neutron to delete a host
@ -607,7 +568,6 @@ def delete_host_services(token, host_uuid):
api_cmd = url + "/v2.0/hosts/%s" % host_uuid
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
response = rest_api_request(token, "DELETE", api_cmd, api_cmd_headers)
return response
@ -655,7 +615,6 @@ def delete_host_services_by_name(token, host_name, host_uuid,
api_cmd = url + "/v2.0/hosts.json?fields=id&fields=name"
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
response = rest_api_request(token, "GET", api_cmd)
@ -681,7 +640,6 @@ def enable_host_services(token, host_uuid):
api_cmd = url + "/v2.0/hosts/%s" % host_uuid
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
payload = dict()
@ -758,7 +716,6 @@ def disable_host_services(token, host_uuid):
api_cmd = url + "/v2.0/hosts/%s" % host_uuid
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
payload = dict()
@ -825,7 +782,6 @@ def query_host_services(token, host_name):
api_cmd = url + "/v2.0/hosts.json?fields=id&name=%s" % host_name
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
response = rest_api_request(token, "GET", api_cmd)

View File

@ -213,7 +213,6 @@ def get_host_aggregates(token):
api_cmd = url + "/v2.1/%s/os-aggregates" % token.get_tenant_id()
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['X-OpenStack-Nova-API-Version'] = NOVA_API_VERSION
response = rest_api_request(token, "GET", api_cmd, api_cmd_headers)
@ -232,7 +231,6 @@ def get_hypervisor(token, hypervisor_uuid):
hypervisor_uuid)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['X-OpenStack-Nova-API-Version'] = NOVA_API_VERSION
response = rest_api_request(token, "GET", api_cmd, api_cmd_headers)
@ -250,7 +248,6 @@ def get_hypervisors(token):
api_cmd = url + "/v2.1/%s/os-hypervisors" % token.get_tenant_id()
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['X-OpenStack-Nova-API-Version'] = NOVA_API_VERSION
response = rest_api_request(token, "GET", api_cmd, api_cmd_headers)
@ -274,7 +271,6 @@ def get_flavors(token, page_limit=None, next_page=None):
api_cmd = next_page
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['X-OpenStack-Nova-API-Version'] = NOVA_API_VERSION
response = rest_api_request(token, "GET", api_cmd, api_cmd_headers)
@ -293,7 +289,6 @@ def create_flavor(token, flavor_id, flavor_name, vcpus, ram_mb, disk_gb,
api_cmd = url + "/v2.1/%s/flavors" % token.get_tenant_id()
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
api_cmd_headers['X-OpenStack-Nova-API-Version'] = NOVA_API_VERSION
@ -326,7 +321,6 @@ def delete_flavor(token, flavor_id):
api_cmd = url + "/v2.1/%s/flavors/%s" % (token.get_tenant_id(), flavor_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['X-OpenStack-Nova-API-Version'] = NOVA_API_VERSION
response = rest_api_request(token, "DELETE", api_cmd, api_cmd_headers)
@ -344,7 +338,6 @@ def get_flavor(token, flavor_id):
api_cmd = url + "/v2.1/%s/flavors/%s" % (token.get_tenant_id(), flavor_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['X-OpenStack-Nova-API-Version'] = NOVA_API_VERSION
response = rest_api_request(token, "GET", api_cmd, api_cmd_headers)
@ -362,7 +355,6 @@ def set_flavor_extra_specs(token, flavor_id, extra_specs):
api_cmd = url + "/v2.1/%s/flavors/%s/os-extra_specs" % (token.get_tenant_id(),
flavor_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
api_cmd_headers['X-OpenStack-Nova-API-Version'] = NOVA_API_VERSION
@ -386,7 +378,6 @@ def get_flavor_extra_specs(token, flavor_id):
flavor_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['X-OpenStack-Nova-API-Version'] = NOVA_API_VERSION
response = rest_api_request(token, "GET", api_cmd, api_cmd_headers)
@ -409,7 +400,6 @@ def get_server_groups(token, all_projects=True):
api_cmd += "?all_projects=True"
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['X-OpenStack-Nova-API-Version'] = NOVA_API_VERSION
response = rest_api_request(token, "GET", api_cmd, api_cmd_headers)
@ -443,7 +433,6 @@ def get_servers(token, page_limit=None, next_page=None, all_tenants=True,
api_cmd = next_page
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
if context is None:
response = rest_api_request(token, "GET", api_cmd, api_cmd_headers)
@ -473,7 +462,6 @@ def create_server(token, server_name, flavor_id, image_id, block_devices=None,
api_cmd = url + "/v2.1/%s/servers" % tenant_id
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
server = dict()
@ -527,7 +515,6 @@ def delete_server(token, server_id, context=None):
api_cmd = url + "/v2.1/%s/servers/%s" % (tenant_id, server_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
if context is None:
api_cmd_headers['X-OpenStack-Nova-API-Version'] = NOVA_API_VERSION
@ -557,7 +544,6 @@ def get_server(token, server_id, context=None):
api_cmd = url + "/v2.1/%s/servers/%s" % (tenant_id, server_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
if context is None:
api_cmd_headers['X-OpenStack-Nova-API-Version'] = NOVA_API_VERSION
@ -588,7 +574,6 @@ def live_migrate_server(token, server_id, to_host_name=None,
api_cmd = url + "/v2.1/%s/servers/%s/action" % (tenant_id, server_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
server = dict()
@ -633,7 +618,6 @@ def cold_migrate_server(token, server_id, to_host_name=None, migrate=None,
api_cmd = url + "/v2.1/%s/servers/%s/action" % (tenant_id, server_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
api_cmd_payload = dict()
@ -675,7 +659,6 @@ def resize_server(token, server_id, flavor_id, context=None):
api_cmd = url + "/v2.1/%s/servers/%s/action" % (tenant_id, server_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
resize = dict()
@ -714,7 +697,6 @@ def resize_server_confirm(token, server_id, context=None):
api_cmd = url + "/v2.1/%s/servers/%s/action" % (tenant_id, server_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
api_cmd_payload = dict()
@ -750,7 +732,6 @@ def resize_server_revert(token, server_id, context=None):
api_cmd = url + "/v2.1/%s/servers/%s/action" % (tenant_id, server_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
api_cmd_payload = dict()
@ -801,7 +782,6 @@ def evacuate_server(token, server_id, admin_password=None, to_host_name=None,
api_cmd = url + "/v2.1/%s/servers/%s/action" % (tenant_id, server_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
server = dict()
@ -845,7 +825,6 @@ def reboot_server(token, server_id, reboot_type, context=None):
api_cmd = url + "/v2.1/%s/servers/%s/action" % (tenant_id, server_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
reboot = dict()
@ -885,7 +864,6 @@ def rebuild_server(token, server_id, server_name, image_id,
api_cmd = url + "/v2.1/%s/servers/%s/action" % (tenant_id, server_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
rebuild = dict()
@ -928,7 +906,6 @@ def pause_server(token, server_id, context=None):
api_cmd = url + "/v2.1/%s/servers/%s/action" % (tenant_id, server_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
api_cmd_payload = dict()
@ -964,7 +941,6 @@ def unpause_server(token, server_id, context=None):
api_cmd = url + "/v2.1/%s/servers/%s/action" % (tenant_id, server_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
api_cmd_payload = dict()
@ -1000,7 +976,6 @@ def suspend_server(token, server_id, context=None):
api_cmd = url + "/v2.1/%s/servers/%s/action" % (tenant_id, server_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
api_cmd_payload = dict()
@ -1036,7 +1011,6 @@ def resume_server(token, server_id, context=None):
api_cmd = url + "/v2.1/%s/servers/%s/action" % (tenant_id, server_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
api_cmd_payload = dict()
@ -1072,7 +1046,6 @@ def start_server(token, server_id, context=None):
api_cmd = url + "/v2.1/%s/servers/%s/action" % (tenant_id, server_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
api_cmd_payload = dict()
@ -1108,7 +1081,6 @@ def stop_server(token, server_id, context=None):
api_cmd = url + "/v2.1/%s/servers/%s/action" % (tenant_id, server_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
api_cmd_payload = dict()
@ -1144,7 +1116,6 @@ def reset_server_state(token, server_id, state, context=None):
api_cmd = url + "/v2.1/%s/servers/%s/action" % (tenant_id, server_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
server_state = dict()
@ -1184,7 +1155,6 @@ def attach_volume(token, server_id, volume_id, device_name, context=None):
server_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
volume_attach = dict()
@ -1383,31 +1353,6 @@ def rpc_message_server_delete_filter(message):
return None
def create_host_services(token, host_name):
"""
Asks OpenStack Nova to create services on a host
"""
url = token.get_service_url(OPENSTACK_SERVICE.NOVA, strip_version=True)
if url is None:
raise ValueError("OpenStack Nova URL is invalid")
api_cmd = url + "/v2.1/%s/os-services/create" % token.get_tenant_id()
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
# The create is a StarlingX extension, which is not supported in Pike
api_cmd_headers['X-OpenStack-Nova-API-Version'] = NOVA_API_VERSION_NEWTON
api_cmd_payload = dict()
api_cmd_payload['binary'] = 'nova-compute'
api_cmd_payload['host'] = host_name
response = rest_api_request(token, "PUT", api_cmd, api_cmd_headers,
json.dumps(api_cmd_payload))
return response
def get_host_service_id(token, host_name, service_name):
"""
Asks OpenStack Nova for the service id of a service on a host
@ -1420,7 +1365,6 @@ def get_host_service_id(token, host_name, service_name):
(token.get_tenant_id(), host_name, service_name)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
api_cmd_headers['X-OpenStack-Nova-API-Version'] = NOVA_API_VERSION
@ -1456,7 +1400,6 @@ def delete_host_services(token, host_name):
compute_service_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
api_cmd_headers['X-OpenStack-Nova-API-Version'] = NOVA_API_VERSION
@ -1479,7 +1422,6 @@ def enable_host_services(token, host_name):
compute_service_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
api_cmd_headers['X-OpenStack-Nova-API-Version'] = NOVA_API_VERSION
@ -1506,7 +1448,6 @@ def disable_host_services(token, host_name):
compute_service_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
api_cmd_headers['X-OpenStack-Nova-API-Version'] = NOVA_API_VERSION
@ -1531,7 +1472,6 @@ def query_host_services(token, host_name):
host_name)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
api_cmd_headers['X-OpenStack-Nova-API-Version'] = NOVA_API_VERSION
@ -1569,7 +1509,6 @@ def notify_host_enabled(token, host_name):
compute_service_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
api_cmd_headers['X-OpenStack-Nova-API-Version'] = NOVA_API_VERSION
@ -1596,7 +1535,6 @@ def notify_host_disabled(token, host_name):
compute_service_id)
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
api_cmd_headers['X-OpenStack-Nova-API-Version'] = NOVA_API_VERSION
@ -1619,7 +1557,6 @@ def query_host_aggregates(token):
api_cmd = "/v2.1/%s/os-aggregates" % token.get_tenant_id()
api_cmd_headers = dict()
api_cmd_headers['wrs-header'] = 'true'
api_cmd_headers['Content-Type'] = "application/json"
api_cmd_headers['X-OpenStack-Nova-API-Version'] = NOVA_API_VERSION

View File

@ -136,10 +136,6 @@ def neutron_unit_tests(token, test_config):
"""
print("[NEUTRON UNIT TESTS]")
response = neutron.create_host_services(token, test_config['host_name'],
test_config['host_uuid'])
print("Host-Services create response: %s" % response)
response = neutron.disable_host_services(token, test_config['host_uuid'])
print("Host-Services disable response: %s" % response)
@ -152,10 +148,6 @@ def neutron_unit_tests(token, test_config):
response = neutron.delete_host_services(token, test_config['host_uuid'])
print("Host-Services delete response: %s" % response)
response = neutron.create_host_services(token, test_config['host_name'],
test_config['host_uuid'])
print("Host-Services create response: %s" % response)
response = neutron.enable_host_services(token, test_config['host_uuid'])
print("Host-Services enable response: %s" % response)
@ -208,9 +200,6 @@ def nova_unit_tests(token, test_config):
"""
print("[NOVA UNIT TESTS]")
response = nova.create_host_services(token, test_config['host_name'])
print("Host-Services create response: %s" % response)
response = nova.disable_host_services(token, test_config['host_name'])
print("Host-Services disable response: %s" % response)
@ -226,9 +215,6 @@ def nova_unit_tests(token, test_config):
# response = nova.delete_host_services(token, test_config['host_name'])
# print "Host-Services delete response: %s" % response
response = nova.create_host_services(token, test_config['host_name'])
print("Host-Services create response: %s" % response)
response = nova.enable_host_services(token, test_config['host_name'])
print("Host-Services enable response: %s" % response)

View File

@ -143,10 +143,15 @@ def fake_event_issue(a, b, c, d):
return None
def fake_nfvi_compute_plugin_disabled():
return False
@mock.patch('nfv_vim.objects._sw_update.SwUpdate.save', fake_save)
@mock.patch('nfv_vim.objects._sw_update.timers.timers_create_timer', fake_timer)
@mock.patch('nfv_vim.strategy._strategy.get_local_host_name', fake_host_name)
@mock.patch('nfv_vim.event_log._instance._event_issue', fake_event_issue)
@mock.patch('nfv_vim.nfvi.nfvi_compute_plugin_disabled', fake_nfvi_compute_plugin_disabled)
class TestSwPatchStrategy(testcase.NFVTestCase):
def setUp(self):
@ -273,12 +278,15 @@ class TestSwPatchStrategy(testcase.NFVTestCase):
"""
personality = ''
openstack_compute = False
if host_name.startswith('controller'):
personality = HOST_PERSONALITY.CONTROLLER
if cpe:
personality = personality + ',' + HOST_PERSONALITY.WORKER
elif host_name.startswith('compute'):
personality = HOST_PERSONALITY.WORKER
openstack_compute = True
elif host_name.startswith('storage'):
personality = HOST_PERSONALITY.STORAGE
else:
@ -294,7 +302,7 @@ class TestSwPatchStrategy(testcase.NFVTestCase):
action=nfvi.objects.v1.HOST_ACTION.NONE,
software_load='12.01',
target_load='12.01',
openstack_compute=False,
openstack_compute=openstack_compute,
openstack_control=False,
remote_storage=False,
uptime='1000'

View File

@ -124,9 +124,14 @@ def fake_event_issue(a, b, c, d):
return None
def fake_nfvi_compute_plugin_disabled():
return False
@mock.patch('nfv_vim.event_log._instance._event_issue', fake_event_issue)
@mock.patch('nfv_vim.objects._sw_update.SwUpdate.save', fake_save)
@mock.patch('nfv_vim.objects._sw_update.timers.timers_create_timer', fake_timer)
@mock.patch('nfv_vim.nfvi.nfvi_compute_plugin_disabled', fake_nfvi_compute_plugin_disabled)
class TestSwUpgradeStrategy(testcase.NFVTestCase):
def setUp(self):
@ -250,6 +255,7 @@ class TestSwUpgradeStrategy(testcase.NFVTestCase):
"""
Create a host
"""
openstack_compute = False
personality = ''
if host_name.startswith('controller'):
personality = HOST_PERSONALITY.CONTROLLER
@ -257,6 +263,7 @@ class TestSwUpgradeStrategy(testcase.NFVTestCase):
personality = personality + ',' + HOST_PERSONALITY.WORKER
elif host_name.startswith('compute'):
personality = HOST_PERSONALITY.WORKER
openstack_compute = True
elif host_name.startswith('storage'):
personality = HOST_PERSONALITY.STORAGE
else:
@ -272,7 +279,7 @@ class TestSwUpgradeStrategy(testcase.NFVTestCase):
action=nfvi.objects.v1.HOST_ACTION.NONE,
software_load=software_load,
target_load=target_load,
openstack_compute=False,
openstack_compute=openstack_compute,
openstack_control=False,
remote_storage=False,
uptime='1000'

View File

@ -189,8 +189,7 @@ class NotifyHostDisabledTaskWork(state_machine.StateTaskWork):
self.task.task_work_complete(
state_machine.STATE_TASK_WORK_RESULT.SUCCESS,
empty_reason)
if (self._host.kubernetes_configured and
(self._service == objects.HOST_SERVICES.NETWORK)):
if self._service == objects.HOST_SERVICES.NETWORK:
DLOG.info("Queueing rebalance for host %s disable" % self._host.name)
network_rebalance.add_rebalance_work_l3(self._host.name, True)
network_rebalance.add_rebalance_work_dhcp(self._host.name, True)
@ -202,8 +201,7 @@ class NotifyHostDisabledTaskWork(state_machine.StateTaskWork):
self.task.task_work_complete(
state_machine.STATE_TASK_WORK_RESULT.SUCCESS,
empty_reason)
if (self._host.kubernetes_configured and
(self._service == objects.HOST_SERVICES.NETWORK)):
if self._service == objects.HOST_SERVICES.NETWORK:
DLOG.info("Queueing rebalance for host %s disable" % self._host.name)
network_rebalance.add_rebalance_work_l3(self._host.name, True)
network_rebalance.add_rebalance_work_dhcp(self._host.name, True)
@ -581,18 +579,10 @@ class CreateHostServicesTaskWork(state_machine.StateTaskWork):
DLOG.verbose("Create-Host-Services for %s %s."
% (self._host.name, self._service))
if self._service == objects.HOST_SERVICES.COMPUTE:
nfvi.nfvi_create_compute_host_services(
self._host.uuid, self._host.name, self._host.personality,
self._callback())
elif self._service == objects.HOST_SERVICES.GUEST:
if self._service == objects.HOST_SERVICES.GUEST:
nfvi.nfvi_create_guest_host_services(
self._host.uuid, self._host.name, self._host.personality,
self._callback())
elif self._service == objects.HOST_SERVICES.NETWORK:
nfvi.nfvi_create_network_host_services(
self._host.uuid, self._host.name, self._host.personality,
self._callback())
else:
reason = ("Trying to create unknown "
"host service %s" % self._service)
@ -846,8 +836,7 @@ class EnableHostServicesTaskWork(state_machine.StateTaskWork):
state_machine.STATE_TASK_WORK_RESULT.SUCCESS,
empty_reason)
if (self._host.kubernetes_configured and
(self._service == objects.HOST_SERVICES.NETWORK)):
if self._service == objects.HOST_SERVICES.NETWORK:
DLOG.info("Queueing rebalance for host %s enable" % self._host.name)
network_rebalance.add_rebalance_work_l3(self._host.name, False)
network_rebalance.add_rebalance_work_dhcp(self._host.name, False)
@ -858,8 +847,7 @@ class EnableHostServicesTaskWork(state_machine.StateTaskWork):
self.task.task_work_complete(
state_machine.STATE_TASK_WORK_RESULT.SUCCESS,
empty_reason)
if (self._host.kubernetes_configured and
(self._service == objects.HOST_SERVICES.NETWORK)):
if self._service == objects.HOST_SERVICES.NETWORK:
DLOG.info("Queueing rebalance for host %s enable" % self._host.name)
network_rebalance.add_rebalance_work_l3(self._host.name, False)
network_rebalance.add_rebalance_work_dhcp(self._host.name, False)

View File

@ -42,15 +42,6 @@ class AddHostTask(state_machine.StateTask):
self._host_reference = weakref.ref(host)
task_work_list = list()
if not host.kubernetes_configured:
# We only create the compute and network services
# on non-kubernetes systems.
if host.host_service_configured(objects.HOST_SERVICES.COMPUTE):
task_work_list.append(CreateHostServicesTaskWork(
self, host, objects.HOST_SERVICES.COMPUTE))
if host.host_service_configured(objects.HOST_SERVICES.NETWORK):
task_work_list.append(CreateHostServicesTaskWork(
self, host, objects.HOST_SERVICES.NETWORK))
if host.host_service_configured(objects.HOST_SERVICES.GUEST):
task_work_list.append(CreateHostServicesTaskWork(
self, host, objects.HOST_SERVICES.GUEST))
@ -150,21 +141,19 @@ class EnableHostTask(state_machine.StateTask):
task_work_list.append(EnableHostServicesTaskWork(
self, host, objects.HOST_SERVICES.CONTAINER))
if host.host_service_configured(objects.HOST_SERVICES.COMPUTE):
if host.kubernetes_configured:
# In kubernetes systems we must wait for the compute service
# to be created before enabling it.
task_work_list.append(WaitHostServicesCreatedTaskWork(
self, host, objects.HOST_SERVICES.COMPUTE))
# We must wait for the compute service
# to be created before enabling it.
task_work_list.append(WaitHostServicesCreatedTaskWork(
self, host, objects.HOST_SERVICES.COMPUTE))
task_work_list.append(NotifyHostEnabledTaskWork(
self, host, objects.HOST_SERVICES.COMPUTE))
task_work_list.append(EnableHostServicesTaskWork(
self, host, objects.HOST_SERVICES.COMPUTE))
if host.host_service_configured(objects.HOST_SERVICES.NETWORK):
if host.kubernetes_configured:
# In kubernetes systems we must wait for the network service
# to be created before enabling it.
task_work_list.append(WaitHostServicesCreatedTaskWork(
self, host, objects.HOST_SERVICES.NETWORK))
# We must wait for the network service
# to be created before enabling it.
task_work_list.append(WaitHostServicesCreatedTaskWork(
self, host, objects.HOST_SERVICES.NETWORK))
task_work_list.append(EnableHostServicesTaskWork(
self, host, objects.HOST_SERVICES.NETWORK))
if host.host_service_configured(objects.HOST_SERVICES.GUEST):

View File

@ -18,7 +18,6 @@ from nfv_vim.nfvi._nfvi_compute_module import nfvi_cold_migrate_confirm_instance
from nfv_vim.nfvi._nfvi_compute_module import nfvi_cold_migrate_instance # noqa: F401
from nfv_vim.nfvi._nfvi_compute_module import nfvi_cold_migrate_revert_instance # noqa: F401
from nfv_vim.nfvi._nfvi_compute_module import nfvi_compute_plugin_disabled # noqa: F401
from nfv_vim.nfvi._nfvi_compute_module import nfvi_create_compute_host_services # noqa: F401
from nfv_vim.nfvi._nfvi_compute_module import nfvi_create_instance # noqa: F401
from nfv_vim.nfvi._nfvi_compute_module import nfvi_create_instance_type # noqa: F401
from nfv_vim.nfvi._nfvi_compute_module import nfvi_delete_compute_host_services # noqa: F401
@ -128,7 +127,6 @@ from nfv_vim.nfvi._nfvi_module import nfvi_reinitialize # noqa: F401
from nfv_vim.nfvi._nfvi_network_module import nfvi_add_network_to_dhcp_agent # noqa: F401
from nfv_vim.nfvi._nfvi_network_module import nfvi_add_router_to_agent # noqa: F401
from nfv_vim.nfvi._nfvi_network_module import nfvi_create_network # noqa: F401
from nfv_vim.nfvi._nfvi_network_module import nfvi_create_network_host_services # noqa: F401
from nfv_vim.nfvi._nfvi_network_module import nfvi_create_subnet # noqa: F401
from nfv_vim.nfvi._nfvi_network_module import nfvi_delete_network # noqa: F401
from nfv_vim.nfvi._nfvi_network_module import nfvi_delete_network_host_services # noqa: F401

View File

@ -440,18 +440,6 @@ def nfvi_delete_compute_host_services(host_uuid, host_name, host_personality,
return cmd_id
def nfvi_create_compute_host_services(host_uuid, host_name, host_personality,
callback):
"""
Create compute services
"""
cmd_id = _compute_plugin.invoke_plugin('create_host_services',
host_uuid, host_name,
host_personality,
callback=callback)
return cmd_id
def nfvi_query_compute_host_services(host_uuid, host_name, host_personality,
callback):
"""

View File

@ -234,18 +234,6 @@ def nfvi_delete_network_host_services(host_uuid, host_name, host_personality,
return cmd_id
def nfvi_create_network_host_services(host_uuid, host_name, host_personality,
callback):
"""
Create network services
"""
cmd_id = _network_plugin.invoke_plugin('create_host_services',
host_uuid, host_name,
host_personality,
callback=callback)
return cmd_id
def nfvi_query_network_host_services(host_uuid, host_name, host_personality,
check_fully_up,
callback):

View File

@ -316,14 +316,6 @@ class NFVIComputeAPI(object):
"""
pass
@abc.abstractmethod
def create_host_services(self, future, host_uuid, host_name,
host_personality, callback):
"""
Create compute services on a host using the plugin
"""
pass
@abc.abstractmethod
def query_host_services(self, future, host_uuid, host_name,
host_personality, callback):

View File

@ -201,14 +201,6 @@ class NFVINetworkAPI(object):
"""
pass
@abc.abstractmethod
def create_host_services(self, future, host_uuid, host_name,
host_personality, callback):
"""
Create network services on a host using the plugin
"""
pass
@abc.abstractmethod
def query_host_services(self, future, host_uuid, host_name,
host_personality, check_fully_up,

View File

@ -3,7 +3,6 @@
#
# SPDX-License-Identifier: Apache-2.0
#
import os
import six
from nfv_common import debug
@ -156,42 +155,24 @@ class Host(ObjectData):
"""
return self._fsm.current_state.name
@property
def kubernetes_configured(self):
"""
Returns whether kubernetes is configured. This will disappear once
we cut over to kubernetes.
"""
if not os.path.isfile('/etc/kubernetes/admin.conf'):
return False
return True
def host_service_configured(self, service):
"""
Returns whether a host service is configured or not
"""
kubernetes_config = True
if not os.path.isfile('/etc/kubernetes/admin.conf'):
kubernetes_config = False
configured = True
if kubernetes_config:
if service == HOST_SERVICES.COMPUTE:
configured = (not nfvi.nfvi_compute_plugin_disabled() and
self._nfvi_host.openstack_compute)
elif service == HOST_SERVICES.NETWORK:
configured = (not nfvi.nfvi_network_plugin_disabled() and
self._nfvi_host.openstack_compute)
elif service == HOST_SERVICES.GUEST:
configured = (not nfvi.nfvi_guest_plugin_disabled() and
self._nfvi_host.openstack_compute)
elif service != HOST_SERVICES.CONTAINER:
DLOG.error("unknown service %s" % service)
configured = False
else:
if service == HOST_SERVICES.CONTAINER:
configured = False
if service == HOST_SERVICES.COMPUTE:
configured = (not nfvi.nfvi_compute_plugin_disabled() and
self._nfvi_host.openstack_compute)
elif service == HOST_SERVICES.NETWORK:
configured = (not nfvi.nfvi_network_plugin_disabled() and
self._nfvi_host.openstack_compute)
elif service == HOST_SERVICES.GUEST:
configured = (not nfvi.nfvi_guest_plugin_disabled() and
self._nfvi_host.openstack_compute)
elif service != HOST_SERVICES.CONTAINER:
DLOG.error("unknown service %s" % service)
configured = False
DLOG.verbose("Host configure check for service %s, result %s" %
(service, configured))