Example #1
0
 def load_tab_data(self):
     if self._data is None:
         environment_id = self.kwargs['environment_id']
         env = api.environment_get(self.request, environment_id)
         self._data = {}
         self._data['env'] = env
         self._data['services'] = api.services_list(self.request, environment_id, env)
Example #2
0
 def load_tab_data(self):
     if self._data is None:
         environment_id = tables.get_scheduler_id()
         env = api.environment_get(self.request, environment_id)
         self._data = {}
         self._data['env'] = env
         self._data['services'] = api.services_list(self.request, environment_id, env)
Example #3
0
    def test_services_list_except_http_not_found(self, mock_api, mock_pkg_api,
                                                 mock_session, mock_log):
        mock_env = mock.Mock(version=0)
        mock_env.services = [
            {'?': {'id': 'foo_service_id', 'name': 'foo', 'type': 'foo_type'}}
        ]
        mock_foo_pkg = mock.Mock()
        mock_foo_pkg.configure_mock(name='foo_pkg')

        mock_session.get.return_value = 'foo_sess_id'
        mock_client = mock_api.muranoclient(mock.Mock())
        mock_client.environments.get.return_value = mock_env
        mock_client.environments.last_status.side_effect = exc.HTTPNotFound
        mock_pkg_api.app_by_fqn.side_effect = [mock_foo_pkg]

        expected_pkg_calls = [
            mock.call(self.mock_request, 'foo_type', version=None)
        ]

        result = env_api.services_list(self.mock_request, 'foo_env_id')

        self.assertIsInstance(result, list)
        for obj in result:
            self.assertIsInstance(obj, utils.Bunch)

        mock_session.get.assert_called_once_with(
            self.mock_request, 'foo_env_id')
        mock_client.environments.get.assert_called_once_with(
            'foo_env_id', 'foo_sess_id')
        mock_client.environments.last_status.assert_called_once_with(
            'foo_env_id', 'foo_sess_id')
        mock_log.exception.assert_called_once_with(
            'Could not retrieve latest status for the foo_env_id environment')
        mock_pkg_api.app_by_fqn.assert_has_calls(expected_pkg_calls)
Example #4
0
    def test_services_list_except_http_not_found(self, mock_api, mock_pkg_api,
                                                 mock_session, mock_log):
        mock_env = mock.Mock(version=0)
        mock_env.services = [
            {'?': {'id': 'foo_service_id', 'name': 'foo', 'type': 'foo_type'}}
        ]
        mock_foo_pkg = mock.Mock()
        mock_foo_pkg.configure_mock(name='foo_pkg')

        mock_session.get.return_value = 'foo_sess_id'
        mock_client = mock_api.muranoclient(mock.Mock())
        mock_client.environments.get.return_value = mock_env
        mock_client.environments.last_status.side_effect = exc.HTTPNotFound
        mock_pkg_api.app_by_fqn.side_effect = [mock_foo_pkg]

        expected_pkg_calls = [
            mock.call(self.mock_request, 'foo_type', version=None)
        ]

        result = env_api.services_list(self.mock_request, 'foo_env_id')

        self.assertIsInstance(result, list)
        for obj in result:
            self.assertIsInstance(obj, utils.Bunch)

        mock_session.get.assert_called_once_with(
            self.mock_request, 'foo_env_id')
        mock_client.environments.get.assert_called_once_with(
            'foo_env_id', 'foo_sess_id')
        mock_client.environments.last_status.assert_called_once_with(
            'foo_env_id', 'foo_sess_id')
        mock_log.exception.assert_called_once_with(
            'Could not retrieve latest status for the foo_env_id environment')
        mock_pkg_api.app_by_fqn.assert_has_calls(expected_pkg_calls)
Example #5
0
    def test_services_list(self, mock_api, mock_pkg_api, mock_session):
        mock_env = mock.Mock(version=0)
        mock_env.services = [
            {
                '?': {
                    'id': 'foo_service_id',
                    'name': 'foo',
                    'type': 'foo_type'
                }
            },
            {
                '?': {
                    'id': 'bar_service_id',
                    'name': 'bar',
                    'type': '/3@bar_type'
                },
                'updated': 'bar_time'
            },
        ]
        mock_foo_pkg = mock.Mock()
        mock_foo_pkg.configure_mock(name='foo_pkg')
        mock_bar_pkg = mock.Mock()
        mock_bar_pkg.configure_mock(name='bar_pkg')

        mock_session.get.return_value = 'foo_sess_id'
        mock_client = mock_api.muranoclient(mock.Mock())
        mock_client.environments.get.return_value = mock_env
        mock_client.environments.last_status.return_value = {
            'foo_service': mock.Mock(text='foo' * 100, updated='foo_time'),
            'bar_service': None
        }
        mock_pkg_api.app_by_fqn.side_effect = [mock_foo_pkg, mock_bar_pkg]

        expected_pkg_calls = [
            mock.call(self.mock_request, 'foo_type', version=None),
            mock.call(self.mock_request, 'bar_type', version='3')
        ]

        result = env_api.services_list(self.mock_request, 'foo_env_id')

        self.assertIsInstance(result, list)
        for obj in result:
            self.assertIsInstance(obj, utils.Bunch)

        mock_session.get.assert_called_once_with(self.mock_request,
                                                 'foo_env_id')
        mock_client.environments.get.assert_called_once_with(
            'foo_env_id', 'foo_sess_id')
        mock_client.environments.last_status.assert_called_once_with(
            'foo_env_id', 'foo_sess_id')
        mock_pkg_api.app_by_fqn.assert_has_calls(expected_pkg_calls)
Example #6
0
    def get_services_data(self):
        services = []
        self.environment_id = self.tab_group.kwargs['environment_id']
        ns_url = "horizon:murano:environments:index"
        try:
            services = api.services_list(self.request, self.environment_id)
        except exc.HTTPForbidden:
            msg = _('Unable to retrieve list of services. This environment '
                    'is deploying or already deployed by other user.')
            exceptions.handle(self.request, msg, redirect=reverse(ns_url))

        except (exc.HTTPInternalServerError, exc.HTTPNotFound):
            msg = _("Environment with id %s doesn't exist anymore" %
                    self.environment_id)
            exceptions.handle(self.request, msg, redirect=reverse(ns_url))
        except exc.HTTPUnauthorized:
            exceptions.handle(self.request)

        return services
Example #7
0
    def get_services_data(self):
        services = []
        self.environment_id = self.tab_group.kwargs['environment_id']
        ns_url = "horizon:app-catalog:environments:index"
        try:
            services = api.services_list(self.request, self.environment_id)
        except exc.HTTPForbidden:
            msg = _('Unable to retrieve list of services. This environment '
                    'is deploying or already deployed by other user.')
            exceptions.handle(self.request, msg, redirect=reverse(ns_url))

        except (exc.HTTPInternalServerError, exc.HTTPNotFound):
            msg = _("Environment with id %s doesn't exist anymore")
            exceptions.handle(self.request,
                              msg % self.environment_id,
                              redirect=reverse(ns_url))
        except exc.HTTPUnauthorized:
            exceptions.handle(self.request)

        return services
Example #8
0
    def test_services_list(self, mock_api, mock_pkg_api, mock_session):
        mock_env = mock.Mock(version=0)
        mock_env.services = [
            {'?': {'id': 'foo_service_id', 'name': 'foo', 'type': 'foo_type'}},
            {'?': {'id': 'bar_service_id', 'name': 'bar',
                   'type': '/3@bar_type'}, 'updated': 'bar_time'},
        ]
        mock_foo_pkg = mock.Mock()
        mock_foo_pkg.configure_mock(name='foo_pkg')
        mock_bar_pkg = mock.Mock()
        mock_bar_pkg.configure_mock(name='bar_pkg')

        mock_session.get.return_value = 'foo_sess_id'
        mock_client = mock_api.muranoclient(mock.Mock())
        mock_client.environments.get.return_value = mock_env
        mock_client.environments.last_status.return_value = {
            'foo_service': mock.Mock(text='foo' * 100,
                                     updated='foo_time'),
            'bar_service': None
        }
        mock_pkg_api.app_by_fqn.side_effect = [mock_foo_pkg, mock_bar_pkg]

        expected_pkg_calls = [
            mock.call(self.mock_request, 'foo_type', version=None),
            mock.call(self.mock_request, 'bar_type', version='3')
        ]

        result = env_api.services_list(self.mock_request, 'foo_env_id')

        self.assertIsInstance(result, list)
        for obj in result:
            self.assertIsInstance(obj, utils.Bunch)

        mock_session.get.assert_called_once_with(
            self.mock_request, 'foo_env_id')
        mock_client.environments.get.assert_called_once_with(
            'foo_env_id', 'foo_sess_id')
        mock_client.environments.last_status.assert_called_once_with(
            'foo_env_id', 'foo_sess_id')
        mock_pkg_api.app_by_fqn.assert_has_calls(expected_pkg_calls)
Example #9
0
    def get_services_data(self):
        services = []
        self.environment_id = self.tab_group.kwargs['environment_id']
        ns_url = "horizon:murano:environments:index"
        try:
            services = api.services_list(self.request, self.environment_id)
            '''headers = {'content-type': 'application/json'}
            url = 'http://127.0.0.1:7007/display_service'
            responses = requests.get(url, verify=False, headers = headers)
            rsp = []
            for response in responses.json():
                rsp.append(Service(response['vnf_name'],
                        response['vnf_services'],
                        response['id']))
            return rsp'''
        except exc.HTTPForbidden:
            msg = _('Unable to retrieve list of services. This environment '
                    'is deploying or already deployed by other user.')
            exceptions.handle(self.request, msg, redirect=reverse(ns_url))

        except (exc.HTTPInternalServerError, exc.HTTPNotFound):
            msg = _("Environment with id %s doesn't exist anymore")
            exceptions.handle(self.request,
                              msg % self.environment_id,
                              redirect=reverse(ns_url))
        except exc.HTTPUnauthorized:
            exceptions.handle(self.request)
        '''except:
            #exceptions.handle(self.request, _('Unable to get providers'))
            entry = {
                    "vnf_name" : "dt100",
                    "vnf_services" : [{"image": "docker.io/glanf/firewall", "name": "fw18"}],
		    "?":{"id": 10021}
                    }
            rsp=[]
            rsp.append(entry)
            return rsp'''

        return services
Example #10
0
    def get_services_data(self):
        services = []
        self.environment_id = self.tab_group.kwargs['environment_id']
        ns_url = "horizon:murano:environments:index"
        try:
            services = api.services_list(self.request, self.environment_id)
            '''headers = {'content-type': 'application/json'}
            url = 'http://127.0.0.1:7007/display_service'
            responses = requests.get(url, verify=False, headers = headers)
            rsp = []
            for response in responses.json():
                rsp.append(Service(response['vnf_name'],
                        response['vnf_services'],
                        response['id']))
            return rsp'''
        except exc.HTTPForbidden:
            msg = _('Unable to retrieve list of services. This environment '
                    'is deploying or already deployed by other user.')
            exceptions.handle(self.request, msg, redirect=reverse(ns_url))

        except (exc.HTTPInternalServerError, exc.HTTPNotFound):
            msg = _("Environment with id %s doesn't exist anymore")
            exceptions.handle(self.request,
                              msg % self.environment_id,
                              redirect=reverse(ns_url))
        except exc.HTTPUnauthorized:
            exceptions.handle(self.request)
        '''except:
            #exceptions.handle(self.request, _('Unable to get providers'))
            entry = {
                    "vnf_name" : "dt100",
                    "vnf_services" : [{"image": "docker.io/glanf/firewall", "name": "fw18"}],
		    "?":{"id": 10021}
                    }
            rsp=[]
            rsp.append(entry)
            return rsp'''

        return services