Handle endpoint_type attribute
Change-Id: Ie7a419146f71cb480433062b480036311f14b042
This commit is contained in:
parent
4a4301c68b
commit
e1d8cb6576
|
@ -59,6 +59,10 @@ def main(args=None):
|
|||
"server's certificate will not be verified "
|
||||
"against any certificate authorities. This "
|
||||
"option should be used with caution.")
|
||||
parser.add_argument("--endpoint_type", type=str,
|
||||
default=os.environ.get("OS_ENDPOINT_TYPE",
|
||||
"publicURL"),
|
||||
help="Defaults to env[OS_ENDPOINT_TYPE] or publicURL")
|
||||
parser.add_argument('--exclude-servers', action='store_true',
|
||||
default=False,
|
||||
help="Do not export in template server resources")
|
||||
|
@ -73,7 +77,8 @@ def main(args=None):
|
|||
args = parser.parse_args()
|
||||
template = flame.TemplateGenerator(args.username, args.password,
|
||||
args.project, args.auth_url,
|
||||
args.insecure, region_name=args.region)
|
||||
args.insecure, args.endpoint_type,
|
||||
region_name=args.region)
|
||||
template.extract_vm_details(args.exclude_servers, args.exclude_volumes,
|
||||
args.generate_stack_data)
|
||||
template.extract_data()
|
||||
|
|
|
@ -105,11 +105,11 @@ class Resource(object):
|
|||
class TemplateGenerator(object):
|
||||
|
||||
def __init__(self, username, password, tenant_name, auth_url, insecure,
|
||||
region_name=None):
|
||||
endpoint_type, region_name=None):
|
||||
self.generate_data = False
|
||||
self._setup_templates()
|
||||
self._setup_managers(username, password, tenant_name, auth_url,
|
||||
insecure, region_name=region_name)
|
||||
insecure, endpoint_type, region_name=region_name)
|
||||
|
||||
def _setup_templates(self):
|
||||
self.template = yaml.load(template_skeleton)
|
||||
|
@ -120,15 +120,18 @@ class TemplateGenerator(object):
|
|||
self.stack_data['resources'] = {}
|
||||
|
||||
def _setup_managers(self, username, password, tenant_name, auth_url,
|
||||
insecure, region_name=None):
|
||||
insecure, endpoint_type, region_name=None):
|
||||
self.neutron = managers.NeutronManager(username, password, tenant_name,
|
||||
auth_url, insecure,
|
||||
endpoint_type,
|
||||
region_name=region_name)
|
||||
self.nova = managers.NovaManager(username, password, tenant_name,
|
||||
auth_url, insecure,
|
||||
endpoint_type,
|
||||
region_name=region_name)
|
||||
self.cinder = managers.CinderManager(username, password, tenant_name,
|
||||
auth_url, insecure,
|
||||
endpoint_type,
|
||||
region_name=region_name)
|
||||
|
||||
def extract_vm_details(self, exclude_servers, exclude_volumes,
|
||||
|
|
|
@ -35,22 +35,25 @@ class KeystoneManager(object):
|
|||
_client = None
|
||||
|
||||
def __init__(self, username, password, project, auth_url, insecure,
|
||||
region_name=None):
|
||||
endpoint_type='publicURL', region_name=None):
|
||||
self.username = username
|
||||
self.password = password
|
||||
self.project = project
|
||||
self.auth_url = auth_url
|
||||
self.insecure = insecure
|
||||
self.region_name = region_name
|
||||
self.endpoint_type = endpoint_type
|
||||
|
||||
def client(self):
|
||||
if not self._client:
|
||||
self._client = keystone_client.Client(username=self.username,
|
||||
password=self.password,
|
||||
tenant_name=self.project,
|
||||
auth_url=self.auth_url,
|
||||
region_name=self.region_name,
|
||||
insecure=self.insecure)
|
||||
self._client = keystone_client.Client(
|
||||
username=self.username,
|
||||
password=self.password,
|
||||
tenant_name=self.project,
|
||||
auth_url=self.auth_url,
|
||||
region_name=self.region_name,
|
||||
insecure=self.insecure,
|
||||
endpoint_type=self.endpoint_type)
|
||||
return self._client
|
||||
|
||||
def set_client(self, client):
|
||||
|
@ -72,22 +75,25 @@ class NeutronManager(object):
|
|||
_project_id = None
|
||||
|
||||
def __init__(self, username, password, project, auth_url, insecure,
|
||||
region_name=None):
|
||||
endpoint_type='publicURL', region_name=None):
|
||||
self.username = username
|
||||
self.password = password
|
||||
self.project = project
|
||||
self.auth_url = auth_url
|
||||
self.insecure = insecure
|
||||
self.endpoint_type = endpoint_type
|
||||
self.region_name = region_name
|
||||
|
||||
def client(self):
|
||||
if not self._client:
|
||||
self._client = neutron_client.Client(username=self.username,
|
||||
password=self.password,
|
||||
tenant_name=self.project,
|
||||
auth_url=self.auth_url,
|
||||
region_name=self.region_name,
|
||||
insecure=self.insecure)
|
||||
self._client = neutron_client.Client(
|
||||
username=self.username,
|
||||
password=self.password,
|
||||
tenant_name=self.project,
|
||||
auth_url=self.auth_url,
|
||||
region_name=self.region_name,
|
||||
insecure=self.insecure,
|
||||
endpoint_type=self.endpoint_type)
|
||||
if not self._project_id:
|
||||
keystone_mgr = KeystoneManager(self.username, self.password,
|
||||
self.project, self.auth_url,
|
||||
|
@ -138,20 +144,22 @@ class NovaManager(object):
|
|||
_client = None
|
||||
|
||||
def __init__(self, username, password, project, auth_url, insecure,
|
||||
region_name=None):
|
||||
endpoint_type='publicURL', region_name=None):
|
||||
self.username = username
|
||||
self.password = password
|
||||
self.project = project
|
||||
self.auth_url = auth_url
|
||||
self.region_name = region_name
|
||||
self.insecure = insecure
|
||||
self.endpoint_type = endpoint_type
|
||||
|
||||
def client(self):
|
||||
if not self._client:
|
||||
self._client = nova_client.Client(self.username, self.password,
|
||||
self.project, self.auth_url,
|
||||
region_name=self.region_name,
|
||||
insecure=self.insecure)
|
||||
insecure=self.insecure,
|
||||
endpoint_type=self.endpoint_type)
|
||||
return self._client
|
||||
|
||||
def set_client(self, client):
|
||||
|
@ -184,7 +192,7 @@ class CinderManager(object):
|
|||
_client = None
|
||||
|
||||
def __init__(self, username, password, project, auth_url, insecure,
|
||||
region_name=None):
|
||||
endpoint_type='publicURL', region_name=None):
|
||||
self.username = username
|
||||
self.password = password
|
||||
self.project = project
|
||||
|
@ -192,6 +200,7 @@ class CinderManager(object):
|
|||
self.region_name = region_name
|
||||
self.insecure = insecure
|
||||
self.defined = True
|
||||
self.endpoint_type = endpoint_type
|
||||
|
||||
def client(self):
|
||||
if self.defined and not self._client:
|
||||
|
@ -200,7 +209,8 @@ class CinderManager(object):
|
|||
self.project,
|
||||
self.auth_url,
|
||||
region_name=self.region_name,
|
||||
insecure=self.insecure)
|
||||
insecure=self.insecure,
|
||||
endpoint_type=self.endpoint_type)
|
||||
|
||||
# Check cinder endpoint existence
|
||||
try:
|
||||
|
|
|
@ -246,7 +246,8 @@ class BaseTestCase(base.TestCase):
|
|||
super(BaseTestCase, self).tearDown()
|
||||
|
||||
def get_generator(self, exclude_servers, exclude_volumes, generate_data):
|
||||
generator = flame.TemplateGenerator('x', 'x', 'x', 'x', True)
|
||||
generator = flame.TemplateGenerator('x', 'x', 'x', 'x', True,
|
||||
'publicURL')
|
||||
generator.extract_vm_details(exclude_servers, exclude_volumes,
|
||||
generate_data)
|
||||
return generator
|
||||
|
|
Loading…
Reference in New Issue