Merge "Use correct Swift credential for instance backup"
This commit is contained in:
commit
77c409c0cb
@ -200,7 +200,7 @@ function configure_trove {
|
|||||||
cp $TROVE_LOCAL_API_PASTE_INI $TROVE_API_PASTE_INI
|
cp $TROVE_LOCAL_API_PASTE_INI $TROVE_API_PASTE_INI
|
||||||
|
|
||||||
# (Re)create trove conf files
|
# (Re)create trove conf files
|
||||||
rm -f $TROVE_CONF
|
rm -f $TROVE_CONF $TROVE_GUESTAGENT_CONF
|
||||||
|
|
||||||
TROVE_AUTH_ENDPOINT=$KEYSTONE_AUTH_URI/v$IDENTITY_API_VERSION
|
TROVE_AUTH_ENDPOINT=$KEYSTONE_AUTH_URI/v$IDENTITY_API_VERSION
|
||||||
|
|
||||||
@ -238,6 +238,7 @@ function configure_trove {
|
|||||||
iniset $TROVE_CONF DEFAULT remote_nova_client trove.common.single_tenant_remote.nova_client_trove_admin
|
iniset $TROVE_CONF DEFAULT remote_nova_client trove.common.single_tenant_remote.nova_client_trove_admin
|
||||||
iniset $TROVE_CONF DEFAULT remote_cinder_client trove.common.single_tenant_remote.cinder_client_trove_admin
|
iniset $TROVE_CONF DEFAULT remote_cinder_client trove.common.single_tenant_remote.cinder_client_trove_admin
|
||||||
iniset $TROVE_CONF DEFAULT remote_neutron_client trove.common.single_tenant_remote.neutron_client_trove_admin
|
iniset $TROVE_CONF DEFAULT remote_neutron_client trove.common.single_tenant_remote.neutron_client_trove_admin
|
||||||
|
iniset $TROVE_CONF DEFAULT remote_swift_client trove.common.single_tenant_remote.swift_client_trove_admin
|
||||||
|
|
||||||
iniset $TROVE_CONF DEFAULT default_datastore $TROVE_DATASTORE_TYPE
|
iniset $TROVE_CONF DEFAULT default_datastore $TROVE_DATASTORE_TYPE
|
||||||
iniset $TROVE_CONF cassandra tcp_ports 7000,7001,7199,9042,9160
|
iniset $TROVE_CONF cassandra tcp_ports 7000,7001,7199,9042,9160
|
||||||
@ -271,6 +272,16 @@ function configure_trove {
|
|||||||
iniset $TROVE_GUESTAGENT_CONF DEFAULT ignore_users os_admin
|
iniset $TROVE_GUESTAGENT_CONF DEFAULT ignore_users os_admin
|
||||||
iniset $TROVE_GUESTAGENT_CONF DEFAULT log_dir /var/log/trove/
|
iniset $TROVE_GUESTAGENT_CONF DEFAULT log_dir /var/log/trove/
|
||||||
iniset $TROVE_GUESTAGENT_CONF DEFAULT log_file trove-guestagent.log
|
iniset $TROVE_GUESTAGENT_CONF DEFAULT log_file trove-guestagent.log
|
||||||
|
iniset $TROVE_GUESTAGENT_CONF DEFAULT nova_proxy_admin_user trove
|
||||||
|
iniset $TROVE_GUESTAGENT_CONF DEFAULT nova_proxy_admin_tenant_name $SERVICE_PROJECT_NAME
|
||||||
|
iniset $TROVE_GUESTAGENT_CONF DEFAULT nova_proxy_admin_pass $SERVICE_PASSWORD
|
||||||
|
iniset $TROVE_GUESTAGENT_CONF DEFAULT nova_proxy_admin_user_domain_name default
|
||||||
|
iniset $TROVE_GUESTAGENT_CONF DEFAULT nova_proxy_admin_project_domain_name default
|
||||||
|
iniset $TROVE_GUESTAGENT_CONF DEFAULT os_region_name $REGION_NAME
|
||||||
|
iniset $TROVE_GUESTAGENT_CONF DEFAULT remote_nova_client trove.common.single_tenant_remote.nova_client_trove_admin
|
||||||
|
iniset $TROVE_GUESTAGENT_CONF DEFAULT remote_cinder_client trove.common.single_tenant_remote.cinder_client_trove_admin
|
||||||
|
iniset $TROVE_GUESTAGENT_CONF DEFAULT remote_neutron_client trove.common.single_tenant_remote.neutron_client_trove_admin
|
||||||
|
iniset $TROVE_GUESTAGENT_CONF DEFAULT remote_swift_client trove.common.single_tenant_remote.swift_client_trove_admin
|
||||||
setup_trove_logging $TROVE_GUESTAGENT_CONF
|
setup_trove_logging $TROVE_GUESTAGENT_CONF
|
||||||
|
|
||||||
# To avoid 'Connection timed out' error of sudo command inside the guest agent
|
# To avoid 'Connection timed out' error of sudo command inside the guest agent
|
||||||
|
@ -51,7 +51,7 @@
|
|||||||
"tenant_id":"%service_tenant_id%",
|
"tenant_id":"%service_tenant_id%",
|
||||||
"requirements": {
|
"requirements": {
|
||||||
"is_admin":true,
|
"is_admin":true,
|
||||||
"services": ["trove", "swift"]
|
"services": ["trove", "swift", "glance"]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ "auth_user":"alt_demo",
|
{ "auth_user":"alt_demo",
|
||||||
|
@ -13,52 +13,20 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
from cinderclient.v2 import client as CinderClient
|
||||||
|
from keystoneauth1 import loading
|
||||||
|
from keystoneauth1 import session
|
||||||
|
from neutronclient.v2_0 import client as NeutronClient
|
||||||
|
from novaclient.client import Client as NovaClient
|
||||||
|
import swiftclient
|
||||||
|
|
||||||
from trove.common import cfg
|
from trove.common import cfg
|
||||||
from trove.common.remote import normalize_url
|
from trove.common.remote import normalize_url
|
||||||
|
|
||||||
from keystoneauth1 import loading
|
|
||||||
from keystoneauth1 import session
|
|
||||||
|
|
||||||
from cinderclient.v2 import client as CinderClient
|
|
||||||
from neutronclient.v2_0 import client as NeutronClient
|
|
||||||
from novaclient.client import Client as NovaClient
|
|
||||||
|
|
||||||
CONF = cfg.CONF
|
CONF = cfg.CONF
|
||||||
|
|
||||||
_SESSION = None
|
_SESSION = None
|
||||||
|
|
||||||
|
|
||||||
"""
|
|
||||||
trove.conf
|
|
||||||
...
|
|
||||||
|
|
||||||
The following should be set in the trove CONF file for this
|
|
||||||
single_tenant_remote config to work correctly.
|
|
||||||
|
|
||||||
nova_proxy_admin_user =
|
|
||||||
nova_proxy_admin_pass =
|
|
||||||
nova_proxy_admin_tenant_name =
|
|
||||||
nova_proxy_admin_tenant_id =
|
|
||||||
nova_proxy_admin_user_domain_name =
|
|
||||||
nova_proxy_admin_project_domain_name =
|
|
||||||
trove_auth_url =
|
|
||||||
nova_compute_service_type =
|
|
||||||
nova_compute_url =
|
|
||||||
cinder_service_type =
|
|
||||||
os_region_name =
|
|
||||||
|
|
||||||
remote_nova_client = \
|
|
||||||
trove.common.single_tenant_remote.nova_client_trove_admin
|
|
||||||
remote_cinder_client = \
|
|
||||||
trove.common.single_tenant_remote.cinder_client_trove_admin
|
|
||||||
remote_neutron_client = \
|
|
||||||
trove.common.single_tenant_remote.neutron_client_trove_admin
|
|
||||||
...
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
def get_keystone_session():
|
def get_keystone_session():
|
||||||
global _SESSION
|
global _SESSION
|
||||||
|
|
||||||
@ -143,3 +111,18 @@ def neutron_client_trove_admin(context, region_name=None):
|
|||||||
client.management_url = CONF.neutron_url
|
client.management_url = CONF.neutron_url
|
||||||
|
|
||||||
return client
|
return client
|
||||||
|
|
||||||
|
|
||||||
|
def swift_client_trove_admin(context, region_name=None):
|
||||||
|
ks_session = get_keystone_session()
|
||||||
|
client = swiftclient.Connection(
|
||||||
|
session=ks_session,
|
||||||
|
insecure=CONF.swift_api_insecure,
|
||||||
|
os_options={
|
||||||
|
'region_name': region_name or CONF.os_region_name,
|
||||||
|
'service_type': CONF.swift_service_type,
|
||||||
|
'endpoint_type': CONF.swift_endpoint_type
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
return client
|
||||||
|
@ -23,7 +23,7 @@ from swiftclient.client import ClientException
|
|||||||
from trove.common import cfg
|
from trove.common import cfg
|
||||||
from trove.common import exception
|
from trove.common import exception
|
||||||
from trove.common.i18n import _
|
from trove.common.i18n import _
|
||||||
from trove.common.remote import create_swift_client
|
from trove.common import remote
|
||||||
from trove.common import stream_codecs
|
from trove.common import stream_codecs
|
||||||
from trove.common import timeutils
|
from trove.common import timeutils
|
||||||
from trove.guestagent.common import operating_system
|
from trove.guestagent.common import operating_system
|
||||||
@ -130,7 +130,7 @@ class GuestLog(object):
|
|||||||
def swift_client(self):
|
def swift_client(self):
|
||||||
if not self._cached_swift_client or (
|
if not self._cached_swift_client or (
|
||||||
self._cached_context != self.context):
|
self._cached_context != self.context):
|
||||||
self._cached_swift_client = create_swift_client(self.context)
|
self._cached_swift_client = remote.swift_client(self.context)
|
||||||
self._cached_context = self.context
|
self._cached_context = self.context
|
||||||
return self._cached_swift_client
|
return self._cached_swift_client
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ class MgmtDataStoreVersion(object):
|
|||||||
self.images = []
|
self.images = []
|
||||||
if test_config.glance_client is not None:
|
if test_config.glance_client is not None:
|
||||||
glance_user = test_config.users.find_user(
|
glance_user = test_config.users.find_user(
|
||||||
Requirements(services=["glance"]))
|
Requirements(is_admin=True, services=["glance"]))
|
||||||
self.glance_client = create_glance_client(glance_user)
|
self.glance_client = create_glance_client(glance_user)
|
||||||
images = self.glance_client.images.list()
|
images = self.glance_client.images.list()
|
||||||
for image in images:
|
for image in images:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user