[Ppm] Versioning for DAP drafts

Christopher Patton <cpatton@cloudflare.com> Wed, 03 August 2022 19:10 UTC

Return-Path: <cpatton@cloudflare.com>
X-Original-To: ppm@ietfa.amsl.com
Delivered-To: ppm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7BBDFC14CF15 for <ppm@ietfa.amsl.com>; Wed, 3 Aug 2022 12:10:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.106
X-Spam-Level:
X-Spam-Status: No, score=-2.106 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cloudflare.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id J5MMbTj5MUSG for <ppm@ietfa.amsl.com>; Wed, 3 Aug 2022 12:10:13 -0700 (PDT)
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com [IPv6:2a00:1450:4864:20::633]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4B7C6C14CF09 for <ppm@ietf.org>; Wed, 3 Aug 2022 12:10:13 -0700 (PDT)
Received: by mail-ej1-x633.google.com with SMTP id dc19so10386244ejb.12 for <ppm@ietf.org>; Wed, 03 Aug 2022 12:10:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cloudflare.com; s=google; h=mime-version:from:date:message-id:subject:to; bh=99FRxUW4wpDg+MbvN05AREOHFxOAqmKtvRkhiwUYvzg=; b=S/eYPD4UCA4B3ofMeDbky7Ehae3IrPLBeeZboKhdc3aA0GcxAbbSHiQ1n7vkf7Zq+X NJ8EuXkWX+2fOqTC2yIqJNVYm3wHNS+X9gSbGbRF2MqnwQrFPC7ZOQ4hHLUVKCR23ZhM oDqQIlt9ZYQP5KIPvN0qreGU7lVTM0g6nwAtQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=99FRxUW4wpDg+MbvN05AREOHFxOAqmKtvRkhiwUYvzg=; b=vMFZK/lA/7lq/BXJQ9gDyftP1Fku2T8tKlgwe5zD/TbyVwUAdxwTOHfsh0HtB511VT O1rry2+r4eM0TXBjwRvnSs1taRXtRLzbiayQkGZyyZWcYKYnMksTl0qcHyyOCVKeh/Zp uVZwdhGWM84r1BsEjpxapNGF/hwAk/0cgzWH/TtjtfFsNp4eIjl0GpJkaldSXFpv1vz+ DwXRVs5m/KxUQPBnUUvJnH3y63USykaKdfanZpMsIxViOnrUw8slrAXVMwESIj1rY4+E yycZMoniYVwX0eID9LhszOWJksBFPyZD8xd9ABHPJyX07bqkEQA7k5DY6B7zdtESOH6A qWhw==
X-Gm-Message-State: ACgBeo1OZkBEnnmpt63/+WrsfIS+AIkR54DtUWWVkcoOvNIIHTK04QzJ aMzNBXvStRKZGU4kP8mvDlMURgUy+/+gpMRYXIKMqGZEFwcCNA==
X-Google-Smtp-Source: AA6agR7JFTCM45JzvAdla2YQhrEVEPpR6IdiMuzykiaaDMLfIh2yLmZrB7Su+3DTD5cBretvwqQRR73MCo5EREMxddY=
X-Received: by 2002:a17:907:720e:b0:730:c7a2:ad7 with SMTP id dr14-20020a170907720e00b00730c7a20ad7mr110828ejc.357.1659553810745; Wed, 03 Aug 2022 12:10:10 -0700 (PDT)
MIME-Version: 1.0
From: Christopher Patton <cpatton@cloudflare.com>
Date: Wed, 03 Aug 2022 12:09:59 -0700
Message-ID: <CAG2Zi233rdc9XVS7euSDjw4UtgEYUzR_7hozZFk1iHOCtnrE+w@mail.gmail.com>
To: ppm <ppm@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000060abe205e55afbdd"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ppm/svv73HxLvTMdOqk2fLyuWmZRU6Q>
Subject: [Ppm] Versioning for DAP drafts
X-BeenThere: ppm@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Privacy Preserving Measurement technologies <ppm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ppm>, <mailto:ppm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ppm/>
List-Post: <mailto:ppm@ietf.org>
List-Help: <mailto:ppm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ppm>, <mailto:ppm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 03 Aug 2022 19:10:17 -0000

HI all,

As we are in the midst of considering changes for DAP-02, some implementers
(myself included) are finding themselves in the position of needing to
support multiple drafts simultaneously. As such, I think it's time that we
consider what our needs are for maintaining interop with older drafts.

One option for deployments is to "lock" the Aggregator endpoints to
specific drafts. For example, the Leader's base URL might be
dap-01.leader.example.com, indicating that the leader supports DAP-01 only.
One downside is that this makes determining whether a peer speaks a given
version happens out-of-band. I imagine this might lead to failure modes
that are hard to diagnose.

After kicking this round with a few people off-list, here are a few options:
1. We could version the MIME types for each of the messages. E.g., instead
of "application/dap-report" (see [1]) we could have
`application/dap-02-report".
2. We could send the version in a separate HTTP Header, e.g., "DAP-Version:
draft-02".
3. We could version the HTTP endpoints in-band. E.g., instead of POSTing
reports to "/upload", clients would POST to "/02/upload".
4. We could encode the version number in the message payload itself.

Thoughts on these options? Any alternatives?

Best,
Chris P.


[1]
https://ietf-wg-ppm.github.io/draft-ietf-ppm-dap/draft-ietf-ppm-dap.html#name-application-dap-report-medi