Beispiel #1
0
    def args2body(self, parsed_args):
        body = {self.resource: {}}

        tacker_client = self.get_client()
        tacker_client.format = parsed_args.request_format
        if parsed_args.cluster_name:
            _id = tackerV10.find_resourceid_by_name_or_id(tacker_client,
                                                          'cluster',
                                                          parsed_args.
                                                          cluster_name)
            parsed_args.cluster_id = _id
        if parsed_args.vnfd_name:
            _id = tackerV10.find_resourceid_by_name_or_id(tacker_client,
                                                          'vnfd',
                                                          parsed_args.
                                                          vnfd_name)
            parsed_args.vnfd_id = _id
        parsed_args.role = parsed_args.role.upper()
        if parsed_args.vim_name:
            _id = tackerV10.find_resourceid_by_name_or_id(tacker_client,
                                                          'vim',
                                                          parsed_args.
                                                          vim_name)
            parsed_args.vim_id = _id
        tackerV10.update_dict(parsed_args, body[self.resource],
                              ['tenant_id', 'name', 'cluster_id', 'vnfd_id',
                               'role', 'vim_id'])
        return body
Beispiel #2
0
    def args2body(self, parsed_args):
        args = {'attributes': {}}
        body = {self.resource: args}

        tacker_client = self.get_client()
        tacker_client.format = parsed_args.request_format

        if parsed_args.vnf_mapping:
            _vnf_mapping = dict()
            _vnf_mappings = parsed_args.vnf_mapping.split(",")
            for mapping in _vnf_mappings:
                vnfd_name, vnf = mapping.split(":", 1)
                _vnf_mapping[vnfd_name] = \
                    tackerV10.find_resourceid_by_name_or_id(
                        tacker_client, 'vnf', vnf)

            parsed_args.vnf_mapping = _vnf_mapping

        if parsed_args.vnffgd_name:
            _id = tackerV10.find_resourceid_by_name_or_id(
                tacker_client, 'vnffgd', parsed_args.vnffgd_name)
            parsed_args.vnffgd_id = _id

        if parsed_args.param_file:
            with open(parsed_args.param_file) as f:
                param_yaml = f.read()
            args['attributes']['param_values'] = yaml.load(
                param_yaml, Loader=yaml.SafeLoader)

        tackerV10.update_dict(
            parsed_args, body[self.resource],
            ['tenant_id', 'name', 'vnffgd_id', 'symmetrical', 'vnf_mapping'])
        return body
Beispiel #3
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.tackerclient
     _params = {}
     if parsed_args.vim_id:
         _params['vim_id'] = parsed_args.vim_id
     if parsed_args.vim_name:
         vim_id = tackerV10.find_resourceid_by_name_or_id(
             client, 'vim', parsed_args.vim_name
         )
         _params['vim_id'] = vim_id
     if parsed_args.vnfd_id:
         _params['vnfd_id'] = parsed_args.vnfd_id
     if parsed_args.vnfd_name:
         vim_id = tackerV10.find_resourceid_by_name_or_id(
             client, 'vnfd', parsed_args.vnfd_name
         )
         _params['vnfd_id'] = vim_id
     if parsed_args.tenant_id:
         _params['tenant_id'] = parsed_args.tenant_id
     data = client.list_vnfs(**_params)
     headers, columns = tacker_osc_utils.get_column_definitions(
         _attr_map, long_listing=parsed_args.long)
     return (headers,
             (utils.get_dict_properties(
                 s, columns,
             ) for s in data[_VNF + 's']))
    def args2body(self, parsed_args):
        body = {self.resource: {}}

        tacker_client = self.get_client()
        tacker_client.format = parsed_args.request_format
        if parsed_args.cluster_name:
            _id = tackerV10.find_resourceid_by_name_or_id(tacker_client,
                                                          'cluster',
                                                          parsed_args.
                                                          cluster_name)
            parsed_args.cluster_id = _id
        if parsed_args.vnfd_name:
            _id = tackerV10.find_resourceid_by_name_or_id(tacker_client,
                                                          'vnfd',
                                                          parsed_args.
                                                          vnfd_name)
            parsed_args.vnfd_id = _id
        parsed_args.role = parsed_args.role.upper()
        if parsed_args.vim_name:
            _id = tackerV10.find_resourceid_by_name_or_id(tacker_client,
                                                          'vim',
                                                          parsed_args.
                                                          vim_name)
            parsed_args.vim_id = _id
        tackerV10.update_dict(parsed_args, body[self.resource],
                              ['tenant_id', 'name', 'cluster_id', 'vnfd_id',
                               'role', 'vim_id'])
        return body
Beispiel #5
0
    def args2body(self, parsed_args):
        body = {self.resource: {}}

        tacker_client = self.get_client()
        tacker_client.format = parsed_args.request_format

        if parsed_args.vnf_mapping:
            _vnf_mapping = dict()
            _vnf_mappings = parsed_args.vnf_mapping.split(",")
            for mapping in _vnf_mappings:
                vnfd_name, vnf = mapping.split(":", 1)
                _vnf_mapping[vnfd_name] = \
                    tackerV10.find_resourceid_by_name_or_id(
                        tacker_client, 'vnf', vnf)

            parsed_args.vnf_mapping = _vnf_mapping

        if parsed_args.vnffgd_name:
            _id = tackerV10.find_resourceid_by_name_or_id(tacker_client,
                                                          'vnffgd',
                                                          parsed_args.
                                                          vnffgd_name)
            parsed_args.vnffgd_id = _id

        tackerV10.update_dict(parsed_args, body[self.resource],
                              ['tenant_id', 'name', 'vnffgd_id',
                               'symmetrical', 'vnf_mapping'])
        return body
Beispiel #6
0
    def args2body(self, parsed_args):
        args = {'attributes': {}}
        body = {self.resource: args}
        if parsed_args.vim_region_name:
            args.setdefault('placement_attr', {})['region_name'] = \
                parsed_args.vim_region_name

        tacker_client = self.get_client()
        tacker_client.format = parsed_args.request_format
        if parsed_args.vim_name:
                _id = tackerV10.find_resourceid_by_name_or_id(tacker_client,
                                                              'vim',
                                                              parsed_args.
                                                              vim_name)
                parsed_args.vim_id = _id
        if parsed_args.nsd_name:
                _id = tackerV10.find_resourceid_by_name_or_id(tacker_client,
                                                              'nsd',
                                                              parsed_args.
                                                              nsd_name)
                parsed_args.nsd_id = _id
        if parsed_args.param_file:
            with open(parsed_args.param_file) as f:
                param_yaml = f.read()
            try:
                args['attributes']['param_values'] = yaml.load(
                    param_yaml, Loader=yaml.SafeLoader)
            except yaml.YAMLError as e:
                raise exceptions.InvalidInput(e)
        tackerV10.update_dict(parsed_args, body[self.resource],
                              ['tenant_id', 'name', 'description',
                               'nsd_id', 'vim_id'])
        return body
Beispiel #7
0
    def args2body(self, parsed_args):
        body = {_VNF: {}}
        body[_VNF]['attributes'] = {}

        config = None
        if parsed_args.config_file:
            with open(parsed_args.config_file) as f:
                config_yaml = f.read()
            try:
                config = yaml.load(
                    config_yaml, Loader=yaml.SafeLoader)
            except yaml.YAMLError as e:
                raise exceptions.InvalidInput(e)
        if config:
            body[_VNF]['attributes'] = {'config': config}

        if parsed_args.vim_region_name:
            body[_VNF].setdefault('placement_attr', {})['region_name'] = \
                parsed_args.vim_region_name

        client = self.app.client_manager.tackerclient
        if parsed_args.vim_name:
            _id = tackerV10.find_resourceid_by_name_or_id(client, 'vim',
                                                          parsed_args.vim_name)
            parsed_args.vim_id = _id
        if parsed_args.vnfd_name:
            _id = tackerV10.find_resourceid_by_name_or_id(
                client, 'vnfd',
                parsed_args.vnfd_name
            )
            parsed_args.vnfd_id = _id
        elif parsed_args.vnfd_template:
            with open(parsed_args.vnfd_template) as f:
                template = f.read()
                try:
                    template = yaml.load(
                        template, Loader=yaml.SafeLoader)
                except yaml.YAMLError as e:
                    raise exceptions.InvalidInput(e)
                if not template:
                    raise exceptions.InvalidInput('The vnfd file is empty')
                body[_VNF]['vnfd_template'] = template

        if parsed_args.param_file:
            with open(parsed_args.param_file) as f:
                param_yaml = f.read()
            try:
                param_yaml = yaml.load(
                    param_yaml, Loader=yaml.SafeLoader)
            except yaml.YAMLError as e:
                raise exceptions.InvalidInput(e)
            if not param_yaml:
                raise exceptions.InvalidInput('The parameter file is empty')
            body[_VNF]['attributes'] = {'param_values': param_yaml}
        tackerV10.update_dict(parsed_args, body[_VNF],
                              ['tenant_id', 'name', 'description',
                               'vnfd_id', 'vim_id'])
        return body
Beispiel #8
0
    def args2body(self, parsed_args):
        args = {'attributes': {}}
        body = {self.resource: args}
        # config arg passed as data overrides config yaml when both args passed
        config = None
        if parsed_args.config_file:
            with open(parsed_args.config_file) as f:
                config_yaml = f.read()
            try:
                config = yaml.load(
                    config_yaml, Loader=yaml.SafeLoader)
            except yaml.YAMLError as e:
                raise exceptions.InvalidInput(e)

        if config:
            args['attributes']['config'] = config
        if parsed_args.vim_region_name:
            args.setdefault('placement_attr', {})['region_name'] = \
                parsed_args.vim_region_name

        tacker_client = self.get_client()
        tacker_client.format = parsed_args.request_format
        if parsed_args.vim_name:
                _id = tackerV10.find_resourceid_by_name_or_id(tacker_client,
                                                              'vim',
                                                              parsed_args.
                                                              vim_name)
                parsed_args.vim_id = _id
        if parsed_args.vnfd_name:
                _id = tackerV10.find_resourceid_by_name_or_id(tacker_client,
                                                              'vnfd',
                                                              parsed_args.
                                                              vnfd_name)
                parsed_args.vnfd_id = _id
        elif parsed_args.vnfd_template:
            with open(parsed_args.vnfd_template) as f:
                template = f.read()
            try:
                args['vnfd_template'] = yaml.load(
                    template, Loader=yaml.SafeLoader)
            except yaml.YAMLError as e:
                raise exceptions.InvalidInput(e)

        if parsed_args.param_file:
            with open(parsed_args.param_file) as f:
                param_yaml = f.read()
            try:
                args['attributes']['param_values'] = yaml.load(
                    param_yaml, Loader=yaml.SafeLoader)
            except yaml.YAMLError as e:
                raise exceptions.InvalidInput(e)
        tackerV10.update_dict(parsed_args, body[self.resource],
                              ['tenant_id', 'name', 'description',
                               'vnfd_id', 'vim_id'])
        return body
Beispiel #9
0
    def args2body(self, parsed_args):
        args = {'attributes': {}}
        body = {self.resource: args}
        # config arg passed as data overrides config yaml when both args passed
        config = None
        if parsed_args.config_file:
            with open(parsed_args.config_file) as f:
                config_yaml = f.read()
            try:
                config = yaml.load(
                    config_yaml, Loader=yaml.SafeLoader)
            except yaml.YAMLError as e:
                raise exceptions.InvalidInput(e)

        if config:
            args['attributes']['config'] = config
        if parsed_args.vim_region_name:
            args.setdefault('placement_attr', {})['region_name'] = \
                parsed_args.vim_region_name

        tacker_client = self.get_client()
        tacker_client.format = parsed_args.request_format
        if parsed_args.vim_name:
                _id = tackerV10.find_resourceid_by_name_or_id(tacker_client,
                                                              'vim',
                                                              parsed_args.
                                                              vim_name)
                parsed_args.vim_id = _id
        if parsed_args.vnfd_name:
                _id = tackerV10.find_resourceid_by_name_or_id(tacker_client,
                                                              'vnfd',
                                                              parsed_args.
                                                              vnfd_name)
                parsed_args.vnfd_id = _id
        elif parsed_args.vnfd_template:
            with open(parsed_args.vnfd_template) as f:
                template = f.read()
            try:
                args['vnfd_template'] = yaml.load(
                    template, Loader=yaml.SafeLoader)
            except yaml.YAMLError as e:
                raise exceptions.InvalidInput(e)

        if parsed_args.param_file:
            with open(parsed_args.param_file) as f:
                param_yaml = f.read()
            try:
                args['attributes']['param_values'] = yaml.load(
                    param_yaml, Loader=yaml.SafeLoader)
            except yaml.YAMLError as e:
                raise exceptions.InvalidInput(e)
        tackerV10.update_dict(parsed_args, body[self.resource],
                              ['tenant_id', 'name', 'description',
                               'vnfd_id', 'vim_id'])
        return body
Beispiel #10
0
    def args2body(self, parsed_args):
        body = {_VNF: {}}
        body[_VNF]['attributes'] = {}

        config = None
        if parsed_args.config_file:
            with open(parsed_args.config_file) as f:
                config_yaml = f.read()
            try:
                config = yaml.load(config_yaml, Loader=yaml.SafeLoader)
            except yaml.YAMLError as e:
                raise exceptions.InvalidInput(e)
        if config:
            body[_VNF]['attributes'] = {'config': config}

        if parsed_args.vim_region_name:
            body[_VNF].setdefault('placement_attr', {})['region_name'] = \
                parsed_args.vim_region_name

        client = self.app.client_manager.tackerclient
        if parsed_args.vim_name:
            _id = tackerV10.find_resourceid_by_name_or_id(
                client, 'vim', parsed_args.vim_name)
            parsed_args.vim_id = _id
        if parsed_args.vnfd_name:
            _id = tackerV10.find_resourceid_by_name_or_id(
                client, 'vnfd', parsed_args.vnfd_name)
            parsed_args.vnfd_id = _id
        elif parsed_args.vnfd_template:
            with open(parsed_args.vnfd_template) as f:
                template = f.read()
                try:
                    template = yaml.load(template, Loader=yaml.SafeLoader)
                except yaml.YAMLError as e:
                    raise exceptions.InvalidInput(e)
                if not template:
                    raise exceptions.InvalidInput('The vnfd file is empty')
                body[_VNF]['vnfd_template'] = template

        if parsed_args.param_file:
            with open(parsed_args.param_file) as f:
                param_yaml = f.read()
            try:
                param_yaml = yaml.load(param_yaml, Loader=yaml.SafeLoader)
            except yaml.YAMLError as e:
                raise exceptions.InvalidInput(e)
            if not param_yaml:
                raise exceptions.InvalidInput('The parameter file is empty')
            body[_VNF]['attributes'] = {'param_values': param_yaml}
        tackerV10.update_dict(
            parsed_args, body[_VNF],
            ['tenant_id', 'name', 'description', 'vnfd_id', 'vim_id'])
        return body
Beispiel #11
0
    def args2body(self, parsed_args):
        args = {'attributes': {}}
        body = {self.resource: args}
        # config arg passed as data overrides config yaml when both args passed
        config = None
        if parsed_args.config_file:
            with open(parsed_args.config_file) as f:
                config_yaml = f.read()
            config = yaml.load(config_yaml, Loader=yaml.SafeLoader)

        if parsed_args.config:
            # TODO(sridhar_ram): Only file based input supported starting
            #       Ocata, remove all direct inputs in Pike
            utils.deprecate_warning(what="Direct config YAML input",
                                    as_of="O",
                                    remove_in=1)
            config = parsed_args.config
            if isinstance(config, str) or isinstance(config, unicode):
                config_str = parsed_args.config.decode('unicode_escape')
                config = yaml.load(config_str, Loader=yaml.SafeLoader)
        if config:
            args['attributes']['config'] = config
        if parsed_args.vim_region_name:
            args.setdefault('placement_attr', {})['region_name'] = \
                parsed_args.vim_region_name

        tacker_client = self.get_client()
        tacker_client.format = parsed_args.request_format
        if parsed_args.vim_name:
            _id = tackerV10.find_resourceid_by_name_or_id(
                tacker_client, 'vim', parsed_args.vim_name)
            parsed_args.vim_id = _id
        if parsed_args.vnfd_name:
            _id = tackerV10.find_resourceid_by_name_or_id(
                tacker_client, 'vnfd', parsed_args.vnfd_name)
            parsed_args.vnfd_id = _id
        elif parsed_args.vnfd_template:
            with open(parsed_args.vnfd_template) as f:
                template = f.read()
            args['vnfd_template'] = yaml.load(template, Loader=yaml.SafeLoader)

        if parsed_args.param_file:
            with open(parsed_args.param_file) as f:
                param_yaml = f.read()
            args['attributes']['param_values'] = yaml.load(
                param_yaml, Loader=yaml.SafeLoader)
        tackerV10.update_dict(
            parsed_args, body[self.resource],
            ['tenant_id', 'name', 'description', 'vnfd_id', 'vim_id'])
        return body
Beispiel #12
0
    def args2body(self, parsed_args):
        args = {'attributes': {}}
        body = {self.resource: args}

        tacker_client = self.get_client()
        tacker_client.format = parsed_args.request_format

        if parsed_args.vnf_mapping:
            _vnf_mapping = dict()
            _vnf_mappings = parsed_args.vnf_mapping.split(",")
            for mapping in _vnf_mappings:
                vnfd_name, vnf = mapping.split(":", 1)
                _vnf_mapping[vnfd_name] = \
                    tackerV10.find_resourceid_by_name_or_id(
                        tacker_client, 'vnf', vnf)

            parsed_args.vnf_mapping = _vnf_mapping

        if parsed_args.vnffgd_name:
            _id = tackerV10.find_resourceid_by_name_or_id(tacker_client,
                                                          'vnffgd',
                                                          parsed_args.
                                                          vnffgd_name)
            parsed_args.vnffgd_id = _id
        elif parsed_args.vnffgd_template:
            with open(parsed_args.vnffgd_template) as f:
                template = f.read()
            try:
                args['vnffgd_template'] = yaml.load(
                    template, Loader=yaml.SafeLoader)
            except yaml.YAMLError as e:
                raise exceptions.InvalidInput(e)
            if not args['vnffgd_template']:
                raise exceptions.InvalidInput('The vnffgd file is empty')

        if parsed_args.param_file:
            with open(parsed_args.param_file) as f:
                param_yaml = f.read()
            try:
                args['attributes']['param_values'] = yaml.load(
                    param_yaml, Loader=yaml.SafeLoader)
            except yaml.YAMLError as e:
                raise exceptions.InvalidInput(e)

        tackerV10.update_dict(parsed_args, body[self.resource],
                              ['tenant_id', 'name', 'vnffgd_id',
                               'symmetrical', 'vnf_mapping'])
        return body
Beispiel #13
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.tackerclient
     failure = False
     deleted_ids = []
     failed_items = {}
     for resource_id in parsed_args.ns:
         try:
             obj = tackerV10.find_resourceid_by_name_or_id(
                 client, _NS, resource_id)
             client.delete_ns(obj)
             deleted_ids.append(resource_id)
         except Exception as e:
             failure = True
             failed_items[resource_id] = e
     if failure:
         msg = ''
         if deleted_ids:
             msg = (_('Successfully deleted %(resource)s(s):'
                      ' %(deleted_list)s') % {'deleted_list':
                                              ', '.join(deleted_ids),
                                              'resource': _NS})
         err_msg = _("\n\nUnable to delete the below"
                     " %s(s):") % _NS
         for failed_id, error in failed_items.iteritems():
             err_msg += (_('\n Cannot delete %(failed_id)s: %(error)s')
                         % {'failed_id': failed_id,
                            'error': error})
         msg += err_msg
         raise exceptions.CommandError(msg)
     else:
         print((_('All specified %(resource)s(s) deleted successfully')
                % {'resource': _NS}))
     return
    def args2body(self, parsed_args):
        args = {'attributes': {}}
        body = {self.resource: args}
        # config arg passed as data overrides config yaml when both args passed
        if parsed_args.config_file:
            with open(parsed_args.config_file) as f:
                config_yaml = f.read()
            args['attributes']['config'] = config_yaml
        if parsed_args.config:
            args['attributes']['config'] = parsed_args.config

        if parsed_args.vnfd_name:
            tacker_client = self.get_client()
            tacker_client.format = parsed_args.request_format

            _id = tackerV10.find_resourceid_by_name_or_id(
                tacker_client, 'vnfd', parsed_args.vnfd_name)

            parsed_args.vnfd_id = _id
        if parsed_args.param_file:
            with open(parsed_args.param_file) as f:
                param_yaml = f.read()
            args['attributes']['param_values'] = param_yaml
        tackerV10.update_dict(parsed_args, body[self.resource],
                              ['tenant_id', 'name', 'vnfd_id'])
        return body
Beispiel #15
0
    def args2body(self, parsed_args):
        args = {'attributes': {}}
        body = {self.resource: args}
        # config arg passed as data overrides config yaml when both args passed
        if parsed_args.config_file:
            with open(parsed_args.config_file) as f:
                config_yaml = f.read()
            args['attributes']['config'] = config_yaml
        if parsed_args.config:
            args['attributes']['config'] = parsed_args.config

        if parsed_args.vnfd_name:
            tacker_client = self.get_client()
            tacker_client.format = parsed_args.request_format

            _id = tackerV10.find_resourceid_by_name_or_id(
                tacker_client, 'vnfd',
                parsed_args.vnfd_name)

            parsed_args.vnfd_id = _id
        if parsed_args.param_file:
            with open(parsed_args.param_file) as f:
                param_yaml = f.read()
            args['attributes']['param_values'] = param_yaml
        tackerV10.update_dict(parsed_args, body[self.resource],
                              ['tenant_id', 'name', 'vnfd_id'])
        return body
Beispiel #16
0
    def args2body(self, parsed_args):
        args = {}
        body = {self.resource: args}

        tacker_client = self.get_client()
        tacker_client.format = parsed_args.request_format

        if parsed_args.vnf_mapping:
            _vnf_mapping = dict()
            _vnf_mappings = parsed_args.vnf_mapping.split(",")
            for mapping in _vnf_mappings:
                vnfd_name, vnf = mapping.split(":", 1)
                _vnf_mapping[vnfd_name] = \
                    tackerV10.find_resourceid_by_name_or_id(
                        tacker_client, 'vnf', vnf)

            parsed_args.vnf_mapping = _vnf_mapping

        if parsed_args.vnffgd_template:
            with open(parsed_args.vnffgd_template) as f:
                template = f.read()
            try:
                args['vnffgd_template'] = yaml.load(template,
                                                    Loader=yaml.SafeLoader)
            except yaml.YAMLError as e:
                raise exceptions.InvalidInput(e)
            if not args['vnffgd_template']:
                raise exceptions.InvalidInput('The vnffgd template is empty')

        tackerV10.update_dict(parsed_args, body[self.resource],
                              ['tenant_id', 'vnf_mapping', 'symmetrical'])
        return body
Beispiel #17
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.tackerclient
     failure = False
     deleted_ids = []
     failed_items = {}
     for resource_id in parsed_args.vnfd:
         try:
             obj = tackerV10.find_resourceid_by_name_or_id(
                 client, _VNFD, resource_id)
             client.delete_vnfd(obj)
             deleted_ids.append(resource_id)
         except Exception as e:
             failure = True
             failed_items[resource_id] = e
     if failure:
         msg = ''
         if deleted_ids:
             msg = (_('Successfully deleted %(resource)s(s):'
                      ' %(deleted_list)s') % {
                          'deleted_list': ', '.join(deleted_ids),
                          'resource': _VNFD
                      })
         err_msg = _("\n\nUnable to delete the below" " %s(s):") % _VNFD
         for failed_id, error in failed_items.iteritems():
             err_msg += (_('\n Cannot delete %(failed_id)s: %(error)s') % {
                 'failed_id': failed_id,
                 'error': error
             })
         msg += err_msg
         raise exceptions.CommandError(msg)
     else:
         print((_('All specified %(resource)s(s) deleted successfully') % {
             'resource': _VNFD
         }))
     return
 def run(self, parsed_args):
     tacker_client = self.get_client()
     tacker_client.format = parsed_args.request_format
     body = self.args2body(parsed_args)
     _id = tackerV10.find_resourceid_by_name_or_id(tacker_client,
                                                   self.resource,
                                                   parsed_args.id)
     self.call_api(tacker_client, _id, body)
Beispiel #19
0
    def args2body(self, parsed_args):
        body = {_VNFFG: {}}
        body[_VNFFG]['attributes'] = {}

        client = self.app.client_manager.tackerclient
        if parsed_args.vnf_mapping:
            _vnf_mapping = dict()
            _vnf_mappings = parsed_args.vnf_mapping.split(",")
            for mapping in _vnf_mappings:
                vnfd_name, vnf = mapping.split(":", 1)
                _vnf_mapping[vnfd_name] = \
                    tackerV10.find_resourceid_by_name_or_id(
                        client, 'vnf', vnf)
            parsed_args.vnf_mapping = _vnf_mapping

        if parsed_args.vnffgd_name:
            _id = tackerV10.find_resourceid_by_name_or_id(
                client, 'vnffgd', parsed_args.vnffgd_name)
            parsed_args.vnffgd_id = _id
        elif parsed_args.vnffgd_template:
            with open(parsed_args.vnffgd_template) as f:
                template = f.read()
                try:
                    template = yaml.load(template, Loader=yaml.SafeLoader)
                except yaml.YAMLError as e:
                    raise exceptions.InvalidInput(e)
                if not template:
                    raise exceptions.InvalidInput('The vnffgd file is empty')
                body[_VNFFG]['vnffgd_template'] = template

        if parsed_args.param_file:
            with open(parsed_args.param_file) as f:
                param_yaml = f.read()
            try:
                param_yaml = yaml.load(param_yaml, Loader=yaml.SafeLoader)
            except yaml.YAMLError as e:
                raise exceptions.InvalidInput(e)
            if not param_yaml:
                raise exceptions.InvalidInput('The parameter file is empty')
            body[_VNFFG]['attributes'] = {'param_values': param_yaml}
        tackerV10.update_dict(parsed_args, body[_VNFFG], [
            'tenant_id', 'name', 'vnffgd_id', 'symmetrical', 'vnf_mapping',
            'description'
        ])
        return body
Beispiel #20
0
    def args2body(self, parsed_args):
        body = {_VNFFG: {}}
        body[_VNFFG]['attributes'] = {}

        client = self.app.client_manager.tackerclient
        if parsed_args.vnf_mapping:
            _vnf_mapping = dict()
            _vnf_mappings = parsed_args.vnf_mapping.split(",")
            for mapping in _vnf_mappings:
                vnfd_name, vnf = mapping.split(":", 1)
                _vnf_mapping[vnfd_name] = \
                    tackerV10.find_resourceid_by_name_or_id(
                        client, 'vnf', vnf)
            parsed_args.vnf_mapping = _vnf_mapping

        if parsed_args.vnffgd_name:
            _id = tackerV10.find_resourceid_by_name_or_id(
                client, 'vnffgd', parsed_args.vnffgd_name)
            parsed_args.vnffgd_id = _id
        elif parsed_args.vnffgd_template:
            with open(parsed_args.vnffgd_template) as f:
                template = f.read()
                try:
                    template = yaml.load(template, Loader=yaml.SafeLoader)
                except yaml.YAMLError as e:
                    raise exceptions.InvalidInput(e)
                if not template:
                    raise exceptions.InvalidInput('The vnffgd file is empty')
                body[_VNFFG]['vnffgd_template'] = template

        if parsed_args.param_file:
            with open(parsed_args.param_file) as f:
                param_yaml = f.read()
            try:
                param_yaml = yaml.load(
                    param_yaml, Loader=yaml.SafeLoader)
            except yaml.YAMLError as e:
                raise exceptions.InvalidInput(e)
            if not param_yaml:
                raise exceptions.InvalidInput('The parameter file is empty')
            body[_VNFFG]['attributes'] = {'param_values': param_yaml}
        tackerV10.update_dict(parsed_args, body[_VNFFG],
                              ['tenant_id', 'name', 'vnffgd_id',
                               'symmetrical', 'vnf_mapping', 'description'])
        return body
Beispiel #21
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.tackerclient
     obj_id = tackerV10.find_resourceid_by_name_or_id(
         client, _NFP, parsed_args.nfp)
     obj = client.show_nfp(obj_id)
     display_columns, columns = _get_columns(obj[_NFP])
     data = utils.get_item_properties(sdk_utils.DictModel(obj[_NFP]),
                                      columns)
     return (display_columns, data)
Beispiel #22
0
    def args2body(self, parsed_args):
        args = {'attributes': {}}
        body = {self.resource: args}
        if parsed_args.vim_region_name:
            args.setdefault('placement_attr', {})['region_name'] = \
                parsed_args.vim_region_name

        tacker_client = self.get_client()
        tacker_client.format = parsed_args.request_format
        if parsed_args.vim_name:
                _id = tackerV10.find_resourceid_by_name_or_id(tacker_client,
                                                              'vim',
                                                              parsed_args.
                                                              vim_name)
                parsed_args.vim_id = _id
        if parsed_args.nsd_name:
                _id = tackerV10.find_resourceid_by_name_or_id(tacker_client,
                                                              'nsd',
                                                              parsed_args.
                                                              nsd_name)
                parsed_args.nsd_id = _id
        elif parsed_args.nsd_template:
            with open(parsed_args.nsd_template) as f:
                template = f.read()
            try:
                args['nsd_template'] = yaml.load(
                    template, Loader=yaml.SafeLoader)
            except yaml.YAMLError as e:
                raise exceptions.InvalidInput(e)
            if not args['nsd_template']:
                raise exceptions.InvalidInput('The nsd file is empty')

        if parsed_args.param_file:
            with open(parsed_args.param_file) as f:
                param_yaml = f.read()
            try:
                args['attributes']['param_values'] = yaml.load(
                    param_yaml, Loader=yaml.SafeLoader)
            except yaml.YAMLError as e:
                raise exceptions.InvalidInput(e)
        tackerV10.update_dict(parsed_args, body[self.resource],
                              ['tenant_id', 'name', 'description',
                               'nsd_id', 'vim_id'])
        return body
Beispiel #23
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.tackerclient
     obj_id = tackerV10.find_resourceid_by_name_or_id(
         client, _NFP, parsed_args.nfp)
     obj = client.show_nfp(obj_id)
     display_columns, columns = _get_columns(obj[_NFP])
     data = utils.get_item_properties(
         sdk_utils.DictModel(obj[_NFP]),
         columns)
     return (display_columns, data)
Beispiel #24
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.tackerclient
     obj_id = tackerV10.find_resourceid_by_name_or_id(
         client, _VNFFG, parsed_args.vnffg)
     vnffg = client.update_vnffg(obj_id, self.args2body(parsed_args))
     display_columns, columns = _get_columns(vnffg[_VNFFG])
     data = utils.get_item_properties(sdk_utils.DictModel(vnffg[_VNFFG]),
                                      columns,
                                      formatters=_formatters)
     return (display_columns, data)
Beispiel #25
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.tackerclient
     obj_id = tackerV10.find_resourceid_by_name_or_id(
         client, _VNFFGD, parsed_args.vnffgd)
     obj = client.show_vnffgd(obj_id)
     display_columns, columns = _get_columns(obj[_VNFFGD])
     data = utils.get_item_properties(
         sdk_utils.DictModel(obj[_VNFFGD]),
         columns, formatters=_formatters)
     return (display_columns, data)
Beispiel #26
0
    def args2body(self, parsed_args):
        args = {'attributes': {}}
        body = {self.resource: args}
        # config arg passed as data overrides config yaml when both args passed
        config = None
        if parsed_args.config_file:
            with open(parsed_args.config_file) as f:
                config_yaml = f.read()
            config = yaml.load(config_yaml, Loader=yaml.SafeLoader)
        if parsed_args.config:
            config = parsed_args.config
            if isinstance(config, str):
                config_str = parsed_args.config.decode('unicode_escape')
                config = yaml.load(config_str, Loader=yaml.SafeLoader)
                utils.deprecate_warning(what='yaml as string',
                                        as_of='N',
                                        in_favor_of='yaml as dictionary')

        if config:
            args['attributes']['config'] = config
        if parsed_args.vim_region_name:
            args.setdefault('placement_attr', {})['region_name'] = \
                parsed_args.vim_region_name

        tacker_client = self.get_client()
        tacker_client.format = parsed_args.request_format
        if parsed_args.vim_name:
            _id = tackerV10.find_resourceid_by_name_or_id(
                tacker_client, 'vim', parsed_args.vim_name)
            parsed_args.vim_id = _id
        if parsed_args.vnfd_name:
            _id = tackerV10.find_resourceid_by_name_or_id(
                tacker_client, 'vnfd', parsed_args.vnfd_name)
            parsed_args.vnfd_id = _id
        if parsed_args.param_file:
            with open(parsed_args.param_file) as f:
                param_yaml = f.read()
            args['attributes']['param_values'] = yaml.load(
                param_yaml, Loader=yaml.SafeLoader)
        tackerV10.update_dict(
            parsed_args, body[self.resource],
            ['tenant_id', 'name', 'description', 'vnfd_id', 'vim_id'])
        return body
Beispiel #27
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.tackerclient
     obj_id = tackerV10.find_resourceid_by_name_or_id(
         client, _FC, parsed_args.classifier)
     obj = client.show_classifier(obj_id)
     display_columns, columns = _get_columns(obj[_FC])
     data = utils.get_item_properties(sdk_utils.DictModel(obj[_FC]),
                                      columns,
                                      formatters=_formatters)
     return (display_columns, data)
Beispiel #28
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.tackerclient
     obj_id = tackerV10.find_resourceid_by_name_or_id(
         client, _VIM, parsed_args.id)
     vim = client.update_vim(obj_id, self.args2body(parsed_args))
     display_columns, columns = _get_columns(vim[_VIM])
     data = utils.get_item_properties(
         sdk_utils.DictModel(vim[_VIM]), columns,
         formatters=_formatters)
     return (display_columns, data)
Beispiel #29
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.tackerclient
     obj_id = tackerV10.find_resourceid_by_name_or_id(
         client, _VNFFGD, parsed_args.vnffgd)
     obj = client.show_vnffgd(obj_id)
     data = utils.get_item_properties(
         sdk_utils.DictModel(obj[_VNFFGD]),
         (u'template',),
         formatters=_formatters)
     data = (data or _('Unable to display VNFFGD template!'))
     return ((u'template',), data)
Beispiel #30
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.tackerclient
     obj_id = tackerV10.find_resourceid_by_name_or_id(
         client, _VNF, parsed_args.vnf)
     data = client.list_vnf_resources(obj_id)
     headers, columns = tacker_osc_utils.get_column_definitions(
         _attr_map_rsc, long_listing=None)
     return (headers, (utils.get_dict_properties(
         s,
         columns,
     ) for s in data['resources']))
Beispiel #31
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.tackerclient
     obj_id = tackerV10.find_resourceid_by_name_or_id(
         client, _VNF, parsed_args.vnf)
     data = client.list_vnf_resources(obj_id)
     headers, columns = tacker_osc_utils.get_column_definitions(
         _attr_map_rsc, long_listing=None)
     return (headers,
             (utils.get_dict_properties(
                 s, columns,
             ) for s in data['resources']))
Beispiel #32
0
 def args2body(self, parsed_args):
     args = {}
     body = {"scale": args}
     client = self.app.client_manager.tackerclient
     client.format = parsed_args.request_format
     _id = tackerV10.find_resourceid_by_name_or_id(client, 'vnf',
                                                   parsed_args.vnf)
     parsed_args.vnf_id = _id
     args['vnf_id'] = parsed_args.vnf_id
     args['type'] = parsed_args.scaling_type
     args['policy'] = parsed_args.scaling_policy_name
     return body
Beispiel #33
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.tackerclient
     obj_id = tackerV10.find_resourceid_by_name_or_id(
         client, _VNF, parsed_args.vnf)
     vnf = client.scale_vnf(obj_id, self.args2body(parsed_args))
     if vnf[_VNF]['attributes'].get('monitoring_policy'):
         vnf[_VNF]['attributes']['monitoring_policy'] =\
             _break_string(vnf[_VNF]['attributes']['monitoring_policy'])
     display_columns, columns = _get_columns(vnf[_VNF])
     data = utils.get_item_properties(sdk_utils.DictModel(vnf[_VNF]),
                                      columns)
     return (display_columns, data)
Beispiel #34
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.tackerclient
     obj_id = tackerV10.find_resourceid_by_name_or_id(
         client, _VNFD, parsed_args.vnfd)
     obj = client.show_vnfd(obj_id)
     obj[_VNFD]['attributes']['vnfd'] = yaml.load(
         obj[_VNFD]['attributes']['vnfd'])
     display_columns, columns = _get_columns(obj[_VNFD])
     data = utils.get_item_properties(sdk_utils.DictModel(obj[_VNFD]),
                                      columns,
                                      formatters=_formatters)
     return (display_columns, data)
Beispiel #35
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.tackerclient
     obj_id = tackerV10.find_resourceid_by_name_or_id(
         client, _NSD, parsed_args.nsd)
     obj = client.show_nsd(obj_id)
     obj[_NSD]['attributes']['nsd'] = yaml.load(
         obj[_NSD]['attributes']['nsd'])
     data = utils.get_item_properties(sdk_utils.DictModel(obj[_NSD]),
                                      (u'attributes', ),
                                      formatters=_formatters)
     data = (data or _('Unable to display NSD template!'))
     return ((u'attributes', ), data)
Beispiel #36
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.tackerclient
     obj_id = tackerV10.find_resourceid_by_name_or_id(
         client, _VNF, parsed_args.vnf)
     vnf = client.scale_vnf(obj_id, self.args2body(parsed_args))
     if vnf[_VNF]['attributes'].get('monitoring_policy'):
         vnf[_VNF]['attributes']['monitoring_policy'] =\
             _break_string(vnf[_VNF]['attributes']['monitoring_policy'])
     display_columns, columns = _get_columns(vnf[_VNF])
     data = utils.get_item_properties(
         sdk_utils.DictModel(vnf[_VNF]),
         columns)
     return (display_columns, data)
Beispiel #37
0
 def args2body(self, parsed_args):
     args = {}
     body = {"scale": args}
     client = self.app.client_manager.tackerclient
     client.format = parsed_args.request_format
     _id = tackerV10.find_resourceid_by_name_or_id(
         client, 'vnf',
         parsed_args.vnf)
     parsed_args.vnf_id = _id
     args['vnf_id'] = parsed_args.vnf_id
     args['type'] = parsed_args.scaling_type
     args['policy'] = parsed_args.scaling_policy_name
     return body
Beispiel #38
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.tackerclient
     obj_id = tackerV10.find_resourceid_by_name_or_id(
         client, _NSD, parsed_args.nsd)
     obj = client.show_nsd(obj_id)
     obj[_NSD]['attributes']['nsd'] = yaml.load(
         obj[_NSD]['attributes']['nsd'])
     display_columns, columns = _get_columns(obj[_NSD])
     data = utils.get_item_properties(
         sdk_utils.DictModel(obj[_NSD]),
         columns,
         formatters=_formatters)
     return (display_columns, data)
Beispiel #39
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.tackerclient
     obj_id = tackerV10.find_resourceid_by_name_or_id(
         client, _NSD, parsed_args.nsd)
     obj = client.show_nsd(obj_id)
     obj[_NSD]['attributes']['nsd'] = yaml.load(
         obj[_NSD]['attributes']['nsd'])
     data = utils.get_item_properties(
         sdk_utils.DictModel(obj[_NSD]),
         (u'attributes',),
         formatters=_formatters)
     data = (data or _('Unable to display NSD template!'))
     return ((u'attributes',), data)
Beispiel #40
0
    def get_data(self, parsed_args):
        self.log.debug('get_data(%s)', parsed_args)
        tacker_client = self.get_client()
        tacker_client.format = parsed_args.request_format
        if self.allow_names:
            _id = tackerV10.find_resourceid_by_name_or_id(
                tacker_client, self.resource, parsed_args.id)
        else:
            _id = parsed_args.id

        data = self.retrieve_list_by_id(_id, parsed_args)
        self.extend_list(data, parsed_args)
        return self.setup_columns(data, parsed_args)
Beispiel #41
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.tackerclient
     obj_id = tackerV10.find_resourceid_by_name_or_id(
         client, _NS, parsed_args.ns)
     obj = client.show_ns(obj_id)
     display_columns, columns = _get_columns(obj[_NS])
     data = utils.get_item_properties(sdk_utils.DictModel(obj[_NS]),
                                      columns)
     lstdata = list(data)
     for index, value in enumerate(lstdata):
         if value is None:
             lstdata[index] = ''
     data = tuple(lstdata)
     return (display_columns, data)
Beispiel #42
0
    def args2body(self, parsed_args):
        body = {self.resource: {}}
        tacker_client = self.get_client()
        tacker_client.format = parsed_args.request_format

        if parsed_args.vnfd_name:
            _id = tackerV10.find_resourceid_by_name_or_id(
                tacker_client, 'vnfd', parsed_args.vnfd_name)
            parsed_args.vnfd_id = _id

        tackerV10.update_dict(
            parsed_args, body[self.resource],
            ['tenant_id', 'name', 'vnfd_id', 'active', 'standby'])
        return body
Beispiel #43
0
    def get_data(self, parsed_args):
        self.log.debug('get_data(%s)', parsed_args)
        tacker_client = self.get_client()
        tacker_client.format = parsed_args.request_format
        if self.allow_names:
            _id = tackerV10.find_resourceid_by_name_or_id(tacker_client,
                                                          self.resource,
                                                          parsed_args.id)
        else:
            _id = parsed_args.id

        data = self.retrieve_list_by_id(_id, parsed_args)
        self.extend_list(data, parsed_args)
        return self.setup_columns(data, parsed_args)
Beispiel #44
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.tackerclient
     obj_id = tackerV10.find_resourceid_by_name_or_id(
         client, _NS, parsed_args.ns)
     obj = client.show_ns(obj_id)
     display_columns, columns = _get_columns(obj[_NS])
     data = utils.get_item_properties(
         sdk_utils.DictModel(obj[_NS]),
         columns)
     lstdata = list(data)
     for index, value in enumerate(lstdata):
         if value is None:
             lstdata[index] = ''
     data = tuple(lstdata)
     return (display_columns, data)
Beispiel #45
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.tackerclient
     _params = {}
     if parsed_args.vim_id:
         _params['vim_id'] = parsed_args.vim_id
     if parsed_args.vim_name:
         vim_id = tackerV10.find_resourceid_by_name_or_id(
             client, 'vim', parsed_args.vim_name)
         _params['vim_id'] = vim_id
     if parsed_args.vnfd_id:
         _params['vnfd_id'] = parsed_args.vnfd_id
     if parsed_args.vnfd_name:
         vim_id = tackerV10.find_resourceid_by_name_or_id(
             client, 'vnfd', parsed_args.vnfd_name)
         _params['vnfd_id'] = vim_id
     if parsed_args.tenant_id:
         _params['tenant_id'] = parsed_args.tenant_id
     data = client.list_vnfs(**_params)
     headers, columns = tacker_osc_utils.get_column_definitions(
         _attr_map, long_listing=parsed_args.long)
     return (headers, (utils.get_dict_properties(
         s,
         columns,
     ) for s in data[_VNF + 's']))
Beispiel #46
0
    def args2body(self, parsed_args):
        args = {}
        body = {"scale": args}

        if parsed_args.vnf_name:
            tacker_client = self.get_client()
            tacker_client.format = parsed_args.request_format
            _id = tackerV10.find_resourceid_by_name_or_id(
                tacker_client, 'vnf', parsed_args.vnf_name)
            parsed_args.vnf_id = _id

        args['vnf_id'] = parsed_args.vnf_id
        args['type'] = parsed_args.scaling_type
        args['policy'] = parsed_args.scaling_policy_name

        return body
Beispiel #47
0
    def args2body(self, parsed_args):
        body = {self.resource: {}}
        tacker_client = self.get_client()
        tacker_client.format = parsed_args.request_format

        if parsed_args.vnfd_name:
            _id = tackerV10.find_resourceid_by_name_or_id(
                tacker_client, 'vnfd', parsed_args.vnfd_name)
            parsed_args.vnfd_id = _id
        policy_info = None
        with open(parsed_args.policy_file) as f:
            policy_info = yaml.safe_load(f.read())
        tackerV10.update_dict(parsed_args, body[self.resource],
                              ['tenant_id', 'name', 'vnfd_id', 'description'])
        if policy_info:
            body[self.resource]['policy_info'] = policy_info
        return body
Beispiel #48
0
    def args2body(self, parsed_args):
        args = {}
        body = {"scale": args}

        if parsed_args.vnf_name:
            tacker_client = self.get_client()
            tacker_client.format = parsed_args.request_format
            _id = tackerV10.find_resourceid_by_name_or_id(tacker_client,
                                                          'vnf',
                                                          parsed_args.
                                                          vnf_name)
            parsed_args.vnf_id = _id

        args['vnf_id'] = parsed_args.vnf_id
        args['type'] = parsed_args.scaling_type
        args['policy'] = parsed_args.scaling_policy_name

        return body
    def args2body(self, parsed_args):
        body = {self.resource: {}}
        tacker_client = self.get_client()
        tacker_client.format = parsed_args.request_format

        if parsed_args.vnfd_name:
            _id = tackerV10.find_resourceid_by_name_or_id(tacker_client,
                                                          'vnfd',
                                                          parsed_args.
                                                          vnfd_name)
            parsed_args.vnfd_id = _id
        policy_info = None
        with open(parsed_args.policy_file) as f:
            policy_info = yaml.safe_load(f.read())
        tackerV10.update_dict(parsed_args, body[self.resource],
                              ['tenant_id', 'name', 'vnfd_id', 'description'])
        if policy_info:
            body[self.resource]['policy_info'] = policy_info
        return body
Beispiel #50
0
    def args2body(self, parsed_args):
        body = {self.resource: {}}

        tacker_client = self.get_client()
        tacker_client.format = parsed_args.request_format

        if parsed_args.vnf_names:
            _vnf_id_list = list()
            _vnf_name_list = parsed_args.vnf_names.split(",")
            for vnf_name in _vnf_name_list:
                _vnf_id_list.append(
                    tackerV10.find_resourceid_by_name_or_id(
                        tacker_client, 'vnf', vnf_name))
            parsed_args.vnf_ids = _vnf_id_list

        if parsed_args.vnf_ids:
            parsed_args.vnf_ids = parsed_args.vnf_names.split(",")

        tackerV10.update_dict(parsed_args, body[self.resource],
                              ['tenant_id', 'vnf_ids', 'role'])
        return body