Uploaded image for project: 'CoreOS OCP'
  1. CoreOS OCP
  2. COS-2237

[coreos/afterburn] Afterburn reports incorrect OpenStack instance id

XMLWordPrintable

    • False
    • Hide

      None

      Show
      None
    • False
    • 0
    • 0

      [1725589422] Upstream Reporter: Matthew Booth
      Upstream issue status: Closed
      Upstream description:

      1. Bug #
        ```
        [root@mbooth-centos-9 ~]# afterburn --provider openstack --attributes afterburn
        [root@mbooth-centos-9 ~]# cat afterburn
        AFTERBURN_OPENSTACK_INSTANCE_ID=i-062839a6
        ...
        ```

      This instance id is meaningless. It is returned by the legacy ec2 metadata service which is deep frozen so we can't even fix it in OpenStack.

      The issue is that it's using the wrong metadata endpoint: https://github.com/coreos/afterburn/blob/f22131c775094c559baf5c5d712425f341f3556e/src/providers/openstack/network.rs#L11-L12

      It should probably be using a pinned version of the openstack metadata, e.g.:

      ```
      [cloud-user@mbooth-centos-9 ~]$ curl -s http://169.254.169.254/openstack/2018-08-27/meta_data.json | jq
      ```
      ```json
      {
      "uuid": "4037a55b-bcca-4a53-a596-c0155afe2642",
      "public_keys":

      Unknown macro: { "mbooth-yubikey"}

      ,
      "keys": [

      Unknown macro: { "name"}

      ],
      "hostname": "mbooth-centos-9",
      "name": "mbooth.centos-9",
      "launch_index": 0,
      "availability_zone": "nova",
      "random_seed": "Et5yhE5qtGfTg3Y4+BiKJ1hhj6uQRjprUgxz03BdJpOoINHc16jzbtV47+0byNUc5WUoN3MO4uVsW7iF9cjCrVM3mvdeDzGY7HilvG4ljKt1DIM8V6N9mfe7J+cfCn1W+rAzXHP47yduACsVmmqjax/BUNpP3DSRy7VCm0S3P37preTXGv2bJAQF5G9dt+cTZOup9ABg53VecaFaIoajMny/ggDvbAR6eKjv7gyXe2G9T9r+iZ/B7KHvwPZhgDzvqYhoF+2bB3BtmhNjOrv+Luilpf6jLAiAa/pY1pQIthvjOY1ExN0obl94VZ2T5hAxais47ZpX9GNCXUpqYOu5mIuWi/M8IjF4ubA5bMSKqs10bdgX2AHEASyc5WFiUJekratnt9lCqAQHuo9UgpTbXEFE7Ghw1O52nb14JTQmuvGfKac5I7b3wyHnBNyY9MJ+pemcclN+6B2tm9qKUT44+nyfu8rOSg/vmmsIQ6+WdDXY4Sg4COlnaoeMRwNQlkMdCvz0RhjaWMYJBl7Gtqy68maWeHMsqVw//g45FZyZS0TyY3tYaWlY96uidgWJhuaWeNLvHPDxIB3jW1V664OXMsQ7yVKikEYlx8S4AltjP4FEmp28R8y2Iusn9foyoulO6kW0HipoNXbKguXQ+FBRE0LnM3GAYcO0tmega4NADxk=",
      "project_id": "c73b7097d07c46f78eb4b4dcfbac5ca8",
      "devices": []
      }
      ```

      Unfortunately that doesn't make local IP information as easy to access (network_info.json doesn't contain IP information), so possibly some mix and match would be in order for local-ipv4 and public-ipv4.

        1. Operating System Version ##
          This is a CentOS 9 mule, afterburn manually installed.
        1. Afterburn Version ##
          This is afterburn-5.4.1-1.el9.x86_64, but also confirmed by code inspection on main.

            Unassigned Unassigned
            upstream-sync Upstream Sync
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: