public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/tinderbox-cluster:master commit in: gosbs/conf/, gosbs/
@ 2020-09-03  0:42 Magnus Granberg
  0 siblings, 0 replies; only message in thread
From: Magnus Granberg @ 2020-09-03  0:42 UTC (permalink / raw
  To: gentoo-commits

commit:     f715a6953ed1e5f62a406029b62ca8d1000197fb
Author:     Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Thu Sep  3 00:40:24 2020 +0000
Commit:     Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Thu Sep  3 00:40:24 2020 +0000
URL:        https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=f715a695

Add Openstack connect and MinIO connect

Signed-off-by: Magnus Granberg <zorry <AT> gentoo.org>

 gosbs/conf/__init__.py |  3 ++-
 gosbs/conf/minio.py    | 42 ++++++++++++++++++++++++++++++++++++++++++
 gosbs/context.py       | 27 +++++++++++++++++++++++++++
 3 files changed, 71 insertions(+), 1 deletion(-)

diff --git a/gosbs/conf/__init__.py b/gosbs/conf/__init__.py
index d79e8a5..0589ca1 100644
--- a/gosbs/conf/__init__.py
+++ b/gosbs/conf/__init__.py
@@ -41,6 +41,7 @@ from gosbs.conf import database
 #from nova.conf import key_manager
 from gosbs.conf import keystone
 #from nova.conf import libvirt
+from gosbs.conf import minio
 #from nova.conf import mks
 from gosbs.conf import netconf
 #from nova.conf import neutron
@@ -88,7 +89,7 @@ database.register_opts(CONF)
 #glance.register_opts(CONF)
 #guestfs.register_opts(CONF)
 #hyperv.register_opts(CONF)
-#mks.register_opts(CONF)
+minio.register_opts(CONF)
 #imagecache.register_opts(CONF)
 #ironic.register_opts(CONF)
 #key_manager.register_opts(CONF)

diff --git a/gosbs/conf/minio.py b/gosbs/conf/minio.py
new file mode 100644
index 0000000..82524c0
--- /dev/null
+++ b/gosbs/conf/minio.py
@@ -0,0 +1,42 @@
+#
+#    Licensed under the Apache License, Version 2.0 (the "License"); you may
+#    not use this file except in compliance with the License. You may obtain
+#    a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+#    License for the specific language governing permissions and limitations
+#    under the License.
+
+from oslo_config import cfg
+
+
+minio_group = cfg.OptGroup(
+    name='minio',
+    title='MinIO Options',
+    help='Configuration options for the MinIO service')
+
+minio_opts = [
+    cfg.StrOpt('url',
+               default='',
+               help=''),
+    cfg.StrOpt('username',
+               default='',
+               help=''),
+    cfg.StrOpt('password',
+               secret=True,
+               default='True',
+               help=''),
+]
+
+
+def register_opts(conf):
+    conf.register_group(minio_group)
+    conf.register_opts(minio_opts, group=minio_group)
+
+
+def list_opts():
+    return {minio_group: minio_opts}

diff --git a/gosbs/context.py b/gosbs/context.py
index 11ef81a..bffda32 100644
--- a/gosbs/context.py
+++ b/gosbs/context.py
@@ -20,6 +20,7 @@
 from contextlib import contextmanager
 import copy
 import warnings
+from minio import Minio
 
 import eventlet.queue
 import eventlet.timeout
@@ -29,6 +30,7 @@ from oslo_context import context
 from oslo_db.sqlalchemy import enginefacade
 from oslo_log import log as logging
 from oslo_utils import timeutils
+from openstack import connection
 import six
 
 from gosbs import exception
@@ -36,6 +38,9 @@ from gosbs.i18n import _
 from gosbs import objects
 from gosbs import policy
 from gosbs import utils
+import gosbs.conf
+
+CONF = gosbs.conf.CONF
 
 LOG = logging.getLogger(__name__)
 # TODO(melwitt): This cache should be cleared whenever WSGIService receives a
@@ -558,3 +563,25 @@ def scatter_gather_all_cells(context, fn, *args, **kwargs):
     load_cells()
     return scatter_gather_cells(context, CELLS, CELL_TIMEOUT,
                                 fn, *args, **kwargs)
+
+def get_openstack_connect():
+    openstack_conn = connection.Connection(
+        region_name = CONF.keystone.region_name,
+        auth=dict(
+            auth_url = CONF.keystone.auth_url,
+            username = CONF.keystone.username,
+            password = CONF.keystone.password,
+            project_id = CONF.keystone.project_id,
+            user_domain_id = CONF.keystone.user_domain_name),
+        gosbs_api_version = CONF.keystone.auth_version,
+        identity_interface= CONF.keystone.identity_interface)
+    return openstack_conn
+
+def get_minio_connect():
+    minioclient = Minio(
+        CONF.minio.url,
+        access_key = CONF.minio.username,
+        secret_key = CONF.minio.password,
+        secure = True
+    )
+    return minioclient


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2020-09-03  0:43 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-03  0:42 [gentoo-commits] proj/tinderbox-cluster:master commit in: gosbs/conf/, gosbs/ Magnus Granberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox