Exemple #1
0
 def create_volume(self, configs={}):
     _volume = Volume_Module()
     if _volume.set_host(configs["host_id"]).check_health():
         print(
             _volume.create(name=configs["name"],
                            driver=configs["driver"]
                            if "driver" in configs else "local",
                            driver_opts=json.loads(configs["driver_opts"])
                            if "driver_opts" in configs else {},
                            labels=json.loads(configs["labels"])
                            if "labels" in configs else {}))
Exemple #2
0
 def __init__(self):
     self.__request = Request()
     self.__response = Response()
     self.__helpers = Helpers()
     self.__form = Form()
     self.__host_module = Host_Module()
     self.__volume_module = Volume_Module()
     self.__logger = self.__helpers.get_logger(__name__)
Exemple #3
0
def delete_volume(host_id):
    try:
        _volume = Volume_Module()

        if not _volume.set_host(host_id).check_health():
            return {
                "status": "failed",
                "result": {
                    "error": _("Error, Unable to connect to docker host!")
                },
                "notify_type": "failed"
            }
    except Exception as e:
        return {
            "status": "error",
            "result": {
                "error": str(e)
            },
            "notify_type": "error"
        }
Exemple #4
0
def prune_unused_volumes(host_id):
    try:
        _volume = Volume_Module()

        if not _volume.set_host(host_id).check_health():
            return {
                "status": "failed",
                "result": {
                    "error": _("Error, Unable to connect to docker host!")
                },
                "notify_type": "failed"
            }

        result = _volume.prune()

        if result:
            return {
                "status": "passed",
                "result": "{}",
                "notify_type": "passed"
            }
        else:
            return {
                "status": "failed",
                "result": "{}",
                "notify_type": "failed"
            }

    except Exception as e:
        return {
            "status": "error",
            "result": {
                "error": str(e)
            },
            "notify_type": "error"
        }
Exemple #5
0
class Get_Volumes(View):

    __request = None
    __response = None
    __helpers = None
    __form = None
    __logger = None
    __user_id = None
    __host_id = None
    __volume_id = None
    __host_module = None
    __volume_module = None

    def __init__(self):
        self.__request = Request()
        self.__response = Response()
        self.__helpers = Helpers()
        self.__form = Form()
        self.__host_module = Host_Module()
        self.__volume_module = Volume_Module()
        self.__logger = self.__helpers.get_logger(__name__)

    def get(self, request, host_id):

        self.__user_id = request.user.id
        self.__host_id = host_id

        if not self.__host_module.user_owns(self.__host_id, self.__user_id):
            return JsonResponse(
                self.__response.send_private_failure([{
                    "type":
                    "error",
                    "message":
                    _("Error! Invalid Request.")
                }]))

        if self.__volume_module.set_host(self.__host_id).check_health():
            _host = self.__host_module.get_one_by_id(host_id)
            return JsonResponse(
                self.__response.send_private_success(
                    [], {
                        'volumes':
                        self.__format_volumes(self.__volume_module.list(),
                                              host_id, _host.slug)
                    }))
        else:
            return JsonResponse(
                self.__response.send_private_failure([{
                    "type":
                    "error",
                    "message":
                    _("Error! Something goes wrong with your host!")
                }], {'volumes': []}))

    def __format_volumes(self, volumes_list, host_id, host_slug):
        _volumes_list = []

        for volume in volumes_list:
            date = volume["created"].split("T")
            volume["created_at"] = date[0]
            volume["url"] = "#"
            volume["delete_url"] = "#"
            if volume["short_id"] in volume["name"]:
                volume["name"] = volume["short_id"]
            # volume["url"] = reverse("app.web.admin.hosts.view.volume", kwargs={'host_slug': host_slug, 'volume_id': volume['long_id']})
            # volume["delete_url"] = reverse("app.api.private.v1.admin.action.host.delete_volume.endpoint", kwargs={'host_id': host_id})
            _volumes_list.append(volume)

        return _volumes_list
Exemple #6
0
 def prune_volumes(self, configs={}):
     _volume = Volume_Module()
     if _volume.set_host(configs["host_id"]).check_health():
         print(_volume.prune())
Exemple #7
0
 def remove_volume(self, configs={}):
     _volume = Volume_Module()
     if _volume.set_host(configs["host_id"]).check_health():
         print(
             _volume.remove(configs["volume_id"],
                            configs["force"] == "True"))
Exemple #8
0
 def get_volume(self, configs={}):
     _volume = Volume_Module()
     if _volume.set_host(configs["host_id"]).check_health():
         print(_volume.get(configs["volume_id"]))