cortex icon indicating copy to clipboard operation
cortex copied to clipboard

Azure storage needs the endpoint suffix after v1.15.0

Open friedrichg opened this issue 2 years ago • 4 comments

Describe the bug After https://github.com/cortexproject/cortex/commit/da2ad99f2c258537701c2b427195029c838612df all the containers that depend on block storage resources hang on authorization failing to start. There is no message.

it's necessary to specify the endpoint suffix for all values, In my case I had to specify blob.core.windows.net the empty value is no longer valid.

  # Azure storage endpoint suffix without schema. The account name will be
  # prefixed to this value to create the FQDN
  # CLI flag: -ruler-storage.azure.endpoint-suffix
  [endpoint_suffix: <string> | default = ""]

Expected behavior Cortex should now fail to start if the suffix value is not provided

Additional Context

One can see the problem with

$ cat alertmanager.yaml
alertmanager:
  data_dir: /data
  enable_api: true
alertmanager_storage:
  azure:
    account_key: dmFsaWRhY2NvdW50a2V5 # validstoragekey encoded with base64
    account_name: validstorageaccountname
    container_name: validcontainername
    # endpoint_suffix: blob.core.windows.net
  backend: azure
server:
  log_level: debug
target: alertmanager

$ docker run -e AZURE_SDK_GO_LOGGING=all -v $PWD/alertmanager.yaml:/alertmanager.yaml cortexproject/cortex:master-da2ad99 -config.file=/alertmanager.yaml
...
Get "https://validstorageaccountname./validcontainername?restype=container": dial tcp: lookup validstorageaccountname. on 192.168.5.3:53: no such host
...

friedrichg avatar Jul 10 '23 17:07 friedrichg

Seems related to https://github.com/thanos-io/thanos/issues/6175

alanprot avatar Jul 10 '23 17:07 alanprot

@friedrichg @alanprot here's my approach to this, I can add a validate function in pkg/storage/bucket/azure/config.go which checks whether endpoint_suffix is empty or not, and execute the function right after parsing the command line flags. If error occurs then I can just do os.Exit(1). Is this approach correct?

moki1202 avatar Jul 25 '23 12:07 moki1202

@moki1202 fixing in thanos should be more appropriate

friedrichg avatar Jul 31 '23 15:07 friedrichg