Remove the code related to puppet-glance from bare metal

The glance puppet module is not installed on bare metal, so the
system parameters and code that populates hiera data for those fields
is unused and can be removed.

This removes references to glance puppet operator from other
puppet operators.  Those other puppet operators are also deprecated and
are being removed by subsequent tasks.

Change-Id: I6c67804d83628039c5b93dcaf6f983830d156124
Story: 2004764
Task: 33767
Signed-off-by: Al Bailey <Al.Bailey@windriver.com>
This commit is contained in:
Al Bailey 2019-06-17 09:52:19 -05:00
parent 8f87e59487
commit e972a20f4d
9 changed files with 1 additions and 380 deletions

View File

@ -104,12 +104,6 @@ def get_db_credentials(shared_services, from_release):
'keyring_password_key': 'cinder',
}})
if sysinv_constants.SERVICE_TYPE_IMAGE not in shared_services:
db_credential_keys.update(
{'glance': {'hiera_user_key': 'glance::db::postgresql::user',
'keyring_password_key': 'glance',
}})
if sysinv_constants.SERVICE_TYPE_IDENTITY not in shared_services:
db_credential_keys.update(
{'keystone': {'hiera_user_key':
@ -551,11 +545,6 @@ def migrate_databases(from_release, shared_services, db_credentials,
f.write("[database]\n")
f.write(get_connection_string(db_credentials, 'cinder'))
if sysinv_constants.SERVICE_TYPE_IMAGE not in shared_services:
with open("/etc/glance/glance-dbsync.conf", "w") as f:
f.write("[database]\n")
f.write(get_connection_string(db_credentials, 'glance'))
if sysinv_constants.SERVICE_TYPE_IDENTITY not in shared_services:
with open("/etc/keystone/keystone-dbsync.conf", "w") as f:
f.write("[database]\n")
@ -602,17 +591,6 @@ def migrate_databases(from_release, shared_services, db_credentials,
'db sync'),
]
if sysinv_constants.SERVICE_TYPE_IMAGE not in shared_services:
migrate_commands += [
# Migrate glance database and metadata
('glance',
'glance-manage --config-file /etc/glance/glance-dbsync.conf ' +
'db sync'),
('glance',
'glance-manage --config-file /etc/glance/glance-dbsync.conf ' +
'db_load_metadefs'),
]
if sysinv_constants.SERVICE_TYPE_IDENTITY not in shared_services:
# To avoid a deadlock during keystone contract we will use offline
# migration for simplex upgrades. Other upgrades will have to use

View File

@ -54,7 +54,6 @@ systemconfig.puppet_plugins =
014_nova = sysinv.puppet.nova:NovaPuppet
015_neutron = sysinv.puppet.neutron:NeutronPuppet
016_horizon = sysinv.puppet.horizon:HorizonPuppet
017_glance = sysinv.puppet.glance:GlancePuppet
019_cinder = sysinv.puppet.cinder:CinderPuppet
022_heat = sysinv.puppet.heat:HeatPuppet
023_magnum = sysinv.puppet.magnum:MagnumPuppet

View File

@ -997,10 +997,6 @@ class IncompatibleObjectVersion(SysinvException):
message = _('Version %(objver)s of %(objname)s is not supported')
class GlanceConnectionFailed(SysinvException):
message = "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
class ImageNotAuthorized(SysinvException):
message = "Not authorized for image %(image_id)s."

View File

@ -5861,8 +5861,6 @@ class ConductorManager(service.PeriodicService):
classes.append('platform::drbd::cephmon::runtime')
classes.append('platform::drbd::runtime')
if constants.SB_SVC_GLANCE in services:
classes.append('openstack::glance::api::runtime')
if constants.SB_SVC_CINDER in services:
classes.append('openstack::cinder::runtime')
classes.append('platform::sm::norestart::runtime')
@ -6000,8 +5998,6 @@ class ConductorManager(service.PeriodicService):
'openstack::keystone::endpoint::runtime',
]
if constants.SB_SVC_GLANCE in services:
classes.append('openstack::glance::api::runtime')
if constants.SB_SVC_CINDER in services:
classes.append('openstack::cinder::runtime')
classes.append('platform::sm::norestart::runtime')

View File

@ -25,8 +25,7 @@ class VersionInfo(object):
def __init__(self, package):
"""Object that understands versioning for a package
:param package: name of the python package, such as glance, or
python-glanceclient
:param package: name of the python package
"""
self.package = package
self.release = None

View File

@ -461,9 +461,6 @@ class CinderPuppet(openstack.OpenstackBasePuppet):
self._get_service_tenant_name(),
'cinder::keystone::authtoken::username': ksuser,
'cinder::glance::glance_api_servers':
self._operator.glance.get_glance_url(),
'openstack::cinder::params::region_name':
self.get_region_name(),
'openstack::cinder::params::service_type':

View File

@ -1,323 +0,0 @@
#
# Copyright (c) 2017 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
import os
from oslo_utils import strutils
from six.moves.urllib.parse import urlparse
from sysinv.common import constants
from sysinv.openstack.common import log as logging
from sysinv.puppet import openstack
LOG = logging.getLogger(__name__)
class GlancePuppet(openstack.OpenstackBasePuppet):
"""Class to encapsulate puppet operations for glance configuration"""
SERVICE_NAME = 'glance'
SERVICE_TYPE = 'image'
SERVICE_PORT = 9292
SERVICE_KS_USERNAME = 'glance'
ADMIN_SERVICE = 'CGCS'
ADMIN_USER = 'admin'
def get_static_config(self):
dbuser = self._get_database_username(self.SERVICE_NAME)
return {
'glance::db::postgresql::user': dbuser,
'glance::api::authtoken::username': self.SERVICE_KS_USERNAME,
'glance::registry::authtoken::username': self.SERVICE_KS_USERNAME,
}
def get_secure_static_config(self):
dbpass = self._get_database_password(self.SERVICE_NAME)
kspass = self._get_service_password(self.SERVICE_NAME)
config = {
'glance::db::postgresql::password': dbpass,
'glance::keystone::auth::password': kspass,
'glance::keystone::authtoken::password': kspass,
'glance::api::authtoken::password': kspass,
'glance::registry::authtoken::password': kspass,
}
# set remote registry admin_password for subcloud
admin_password = self._get_keyring_password(self.ADMIN_SERVICE,
self.ADMIN_USER)
config.update({
'glance::api::admin_password': admin_password,
})
return config
def get_system_config(self):
# TODO (rchurch): Add region check... Is there an install without glance?
enabled_backends = []
stores = [constants.GLANCE_BACKEND_HTTP]
data_api = constants.GLANCE_SQLALCHEMY_DATA_API
pipeline = constants.GLANCE_DEFAULT_PIPELINE
registry_host = constants.GLANCE_LOCAL_REGISTRY
remote_registry_region_name = None
rbd_store_pool = None
rbd_store_ceph_conf = None
is_service_enabled = False
for storage_backend in self.dbapi.storage_backend_get_list():
if (storage_backend.backend == constants.SB_TYPE_FILE and
(storage_backend.services and
constants.SB_SVC_GLANCE in storage_backend.services)):
is_service_enabled = True
enabled_backends.append(storage_backend.backend)
stores.append(storage_backend.backend)
elif (storage_backend.backend == constants.SB_TYPE_CEPH and
(storage_backend.services and
constants.SB_SVC_GLANCE in storage_backend.services)):
is_service_enabled = True
enabled_backends.append(constants.GLANCE_BACKEND_RBD)
stores.append(constants.GLANCE_BACKEND_RBD)
# For internal ceph backend, the default "images" glance pool
# and default "/etc/ceph/ceph.conf" config file will be used.
elif (storage_backend.backend == constants.SB_TYPE_CEPH_EXTERNAL and
(storage_backend.services and
constants.SB_SVC_GLANCE in storage_backend.services)):
is_service_enabled = True
enabled_backends.append(constants.GLANCE_BACKEND_RBD)
stores.append(constants.GLANCE_BACKEND_RBD)
ceph_ext_obj = self.dbapi.storage_ceph_external_get(
storage_backend.id)
rbd_store_pool = storage_backend.capabilities.get('glance_pool')
rbd_store_ceph_conf = constants.CEPH_CONF_PATH + os.path.basename(ceph_ext_obj.ceph_conf)
if self.get_glance_cached_status():
stores.append(constants.GLANCE_BACKEND_GLANCE)
data_api = constants.GLANCE_REGISTRY_DATA_API
pipeline = constants.GLANCE_CACHE_PIPELINE
registry_host = self._keystone_auth_address()
remote_registry_region_name = self._keystone_region_name()
# update remote registry for subcloud
if (self._distributed_cloud_role() ==
constants.DISTRIBUTED_CLOUD_ROLE_SUBCLOUD):
registry_host = self._get_system_controller_addr()
remote_registry_region_name = constants.SYSTEM_CONTROLLER_REGION
if constants.GLANCE_BACKEND_RBD in enabled_backends:
default_store = constants.GLANCE_BACKEND_RBD
else:
default_store = constants.GLANCE_BACKEND_FILE
ksuser = self._get_service_user_name(self.SERVICE_NAME)
config = {
'glance::api::os_region_name': self.get_region_name(),
'glance::api::default_store': default_store,
'glance::api::stores': stores,
'glance::keystone::auth::public_url': self.get_public_url(),
'glance::keystone::auth::internal_url': self.get_internal_url(),
'glance::keystone::auth::admin_url': self.get_admin_url(),
'glance::keystone::auth::region': self._endpoint_region_name(),
'glance::keystone::auth::tenant':
self._get_service_tenant_name(),
'glance::keystone::auth::auth_name': ksuser,
'glance::keystone::auth::configure_user': self.to_configure_user(),
'glance::keystone::auth::configure_user_role':
self.to_configure_user_role(),
'glance::keystone::authtoken::auth_url':
self._keystone_identity_uri(),
'glance::keystone::authtoken::auth_uri':
self._keystone_auth_uri(),
'glance::api::authtoken::auth_uri':
self._keystone_auth_uri(),
'glance::api::authtoken::auth_url':
self._keystone_identity_uri(),
'glance::api::authtoken::username': ksuser,
'glance::api::authtoken::user_domain_name':
self._get_service_user_domain_name(),
'glance::api::authtoken::project_domain_name':
self._get_service_project_domain_name(),
'glance::api::authtoken::project_name':
self._get_service_tenant_name(),
'glance::api::authtoken::region_name':
self._api_authtoken_region_name(),
'glance::registry::authtoken::auth_uri':
self._keystone_auth_uri(),
'glance::registry::authtoken::auth_url':
self._keystone_identity_uri(),
'glance::registry::authtoken::username': ksuser,
'glance::registry::authtoken::user_domain_name':
self._get_service_user_domain_name(),
'glance::registry::authtoken::project_domain_name':
self._get_service_project_domain_name(),
'glance::registry::authtoken::project_name':
self._get_service_tenant_name(),
'glance::registry::authtoken::region_name':
self._registry_authtoken_region_name(),
'openstack::glance::params::api_host':
self._get_glance_address(),
'openstack::glance::params::enabled_backends':
enabled_backends,
'openstack::glance::params::service_enabled':
is_service_enabled,
'openstack::glance::params::region_name':
self.get_region_name(),
'openstack::glance::params::service_create':
self._to_create_services(),
'glance::api::pipeline': pipeline,
'glance::api::data_api': data_api,
'glance::api::remote_registry_region_name':
remote_registry_region_name,
'openstack::glance::params::configured_registry_host':
registry_host,
'openstack::glance::params::glance_cached':
self.get_glance_cached_status(),
}
if rbd_store_pool and rbd_store_ceph_conf:
config.update({'openstack::glance::params::rbd_store_pool':
rbd_store_pool,
'openstack::glance::params::rbd_store_ceph_conf':
rbd_store_ceph_conf, })
# set remote registry auth_url for subcloud
if (self._distributed_cloud_role() ==
constants.DISTRIBUTED_CLOUD_ROLE_SUBCLOUD):
# TODO (aning): with each subcloud has its own keystone, subcloud
# no longer knows SystemController's keystone admin url. We need
# to have that information in sub cloud config file eventually.
# For now it's assumed it's on http and on port 5000
api_auth_url = self._format_url_address(
self._get_system_controller_addr())
api_auth_url = 'http://' + api_auth_url + ':5000/v3'
config.update({
'glance::api::auth_url': api_auth_url,
})
return config
def get_secure_system_config(self):
config = {
'glance::database_connection':
self._format_database_connection(self.SERVICE_NAME),
'glance::api::database_connection':
self._format_database_connection(self.SERVICE_NAME),
'glance::registry::database_connection':
self._format_database_connection(self.SERVICE_NAME),
}
return config
def to_configure_user(self):
if (self._region_config() and
self.SERVICE_TYPE in self._get_shared_services()):
return False
return True
def to_configure_user_role(self):
if (self._region_config() and
self.SERVICE_TYPE in self._get_shared_services()):
return False
return True
def _endpoint_region_name(self):
if (self._distributed_cloud_role() ==
constants.DISTRIBUTED_CLOUD_ROLE_SYSTEMCONTROLLER):
return constants.SYSTEM_CONTROLLER_REGION
else:
return self._region_name()
def _api_authtoken_region_name(self):
if (self._distributed_cloud_role() ==
constants.DISTRIBUTED_CLOUD_ROLE_SYSTEMCONTROLLER):
return constants.REGION_ONE_NAME
else:
return self._region_name()
def _registry_authtoken_region_name(self):
if (self._distributed_cloud_role() ==
constants.DISTRIBUTED_CLOUD_ROLE_SYSTEMCONTROLLER):
return constants.REGION_ONE_NAME
else:
return self._region_name()
def get_public_url(self):
if (self._region_config() and
self.SERVICE_TYPE in self._get_shared_services()):
return self._get_public_url_from_service_config(self.SERVICE_NAME)
else:
return self._format_public_endpoint(self.SERVICE_PORT)
def get_internal_url(self):
if (self._region_config() and
self.SERVICE_TYPE in self._get_shared_services()):
return self._get_internal_url_from_service_config(self.SERVICE_NAME)
else:
address = self._format_url_address(self._get_glance_address())
return self._format_private_endpoint(self.SERVICE_PORT,
address=address)
def get_admin_url(self):
if (self._region_config() and
self.SERVICE_TYPE in self._get_shared_services()):
return self._get_admin_url_from_service_config(self.SERVICE_NAME)
else:
address = self._format_url_address(self._get_glance_address())
return self._format_private_endpoint(self.SERVICE_PORT,
address=address)
def _get_glance_address(self):
return self._get_management_address()
def get_region_name(self):
return self._get_service_region_name(self.SERVICE_NAME)
def get_glance_address(self):
if (self._region_config() and
self.get_region_name() == self._keystone_region_name()):
url = urlparse(self.get_glance_url())
return url.hostname
else:
return self._get_glance_address()
def get_glance_url(self):
return self.get_internal_url()
def get_service_name(self):
return self._get_configured_service_name(self.SERVICE_NAME)
def get_service_type(self):
service_type = self._get_configured_service_type(self.SERVICE_NAME)
if service_type is None:
return self.SERVICE_TYPE
else:
return service_type
def get_glance_cached_status(self):
service_config = None
if self._region_config():
service_config = self._get_service_config(self.SERVICE_NAME)
if service_config is None:
return False
glance_cached_status = service_config.capabilities.get(
'glance_cached', False)
return strutils.bool_from_string(glance_cached_status, strict=True)

View File

@ -29,7 +29,6 @@ class IronicPuppet(openstack.OpenstackBasePuppet):
'ironic::keystone::auth::password': kspass,
'ironic::api::authtoken::password': kspass,
'ironic::neutron::password': self._get_neutron_password(),
'ironic::glance::password': self._get_glance_password(),
'nova::ironic::common::password': kspass,
}
@ -45,7 +44,6 @@ class IronicPuppet(openstack.OpenstackBasePuppet):
'ironic::api::authtoken::auth_url': self._keystone_identity_uri(),
'ironic::api::authtoken::auth_uri': self._keystone_auth_uri(),
'ironic::neutron::username': self._get_neutron_username(),
'ironic::glance::username': self._get_glance_username(),
}
if self._get_service_enabled():
config.update({
@ -66,12 +64,6 @@ class IronicPuppet(openstack.OpenstackBasePuppet):
'ironic::neutron::project_name': self._get_service_tenant_name(),
'ironic::neutron::user_domain_name': self._get_service_user_domain_name(),
'ironic::neutron::project_domain_name': self._get_service_project_domain_name(),
# Populate Glance credentials
'ironic::glance::auth_url': self._keystone_auth_uri(),
# 'ironic::glance::api_servers': self._format_url_address(self._operator.glance.get_glance_url()),
'ironic::glance::user_domain_name': self._get_service_user_domain_name(),
'ironic::glance::project_domain_name': self._get_service_project_domain_name(),
'ironic::glance::api_servers': self._operator.glance.get_glance_url(),
'nova::ironic::common::username': ksuser,
'nova::ironic::common::auth_url': self._keystone_identity_uri(),
'nova::ironic::common::api_endpoint': self.get_internal_url(),
@ -107,9 +99,3 @@ class IronicPuppet(openstack.OpenstackBasePuppet):
def _get_neutron_password(self):
return self._get_service_password(self._operator.neutron.SERVICE_NAME)
def _get_glance_username(self):
return self._get_service_user_name(self._operator.glance.SERVICE_NAME)
def _get_glance_password(self):
return self._get_service_password(self._operator.glance.SERVICE_NAME)

View File

@ -199,13 +199,9 @@ class NovaPuppet(openstack.OpenstackBasePuppet):
if system.system_type == constants.TIS_STD_BUILD:
scheduler_filters.extend(SCHEDULER_FILTERS_STANDARD)
glance_host = self._operator.glance.get_glance_address()
ksuser = self._get_service_user_name(self.SERVICE_NAME)
config = {
'nova::glance_api_servers':
self._operator.glance.get_glance_url(),
'nova::os_region_name':
self._operator.cinder.get_region_name(),
@ -275,11 +271,8 @@ class NovaPuppet(openstack.OpenstackBasePuppet):
'nova::api::api_bind_address': self._get_management_address(),
'nova::api::metadata_listen': self._get_management_address(),
'nova::api::glance_host': glance_host,
'nova::api::compute_link_prefix':
self._get_compute_url(),
'nova::api::glance_link_prefix':
self._operator.glance.get_public_url(),
'openstack::nova::params::region_name':
self.get_region_name(),