def create_security_group_rule(self, context, security_group_rule):
        """Create a security group rule

        Create a security group rule in the Neutron DB and corresponding
        MidoNet resources in its data store.
        """
        LOG.info(_("MidonetPluginV2.create_security_group_rule called: "
                   "security_group_rule=%(security_group_rule)r"),
                 {'security_group_rule': security_group_rule})

        rule = super(MidonetPluginV2, self).create_security_group_rule(
            context, security_group_rule)

        try:
            self.api_cli.create_security_group_rule(rule)
        except Exception as ex:
            LOG.error(_('Failed to create security group rule %(sg)s,'
                      'error: %(err)s'), {'sg': rule, 'err': ex})
            with excutils.save_and_reraise_exception():
                super(MidonetPluginV2, self).delete_security_group_rule(
                    context, rule['id'])

        LOG.info(_("MidonetPluginV2.create_security_group_rule exiting: "
                   "rule=%r"), rule)
        return rule