Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

invalid machine name on duplicate #33

Open
bahamas10 opened this issue Sep 25, 2015 · 4 comments
Open

invalid machine name on duplicate #33

bahamas10 opened this issue Sep 25, 2015 · 4 comments

Comments

@bahamas10
Copy link
Contributor

$ triton create -wn my-machine base-64@15.2.0 t4-standard-128M
Creating instance my-machine (11e9c842-0546-c806-b6d3-aa71f5b18af8, base-64@15.2.0, t4-standard-128M)
Created instance my-machine (11e9c842-0546-c806-b6d3-aa71f5b18af8) in 44s
$ triton create -wn my-machine base-64@15.2.0 t4-standard-128M
triton create: error (ValidationFailed): Invalid VM parameters: Invalid machine name

"Invalid machine name", while correct, is not that descriptive for duplicates

@trentm
Copy link
Contributor

trentm commented Sep 25, 2015

@bahamas10 What's the verbose log?

@trentm
Copy link
Contributor

trentm commented Oct 5, 2015

can you repro?

@bahamas10
Copy link
Contributor Author

dave.eddy - joyent-laptop darwin ~/dev/node-triton (git:master) $ triton -vvv create -wn my-machine base-64@15.2.0 t4-standard-128M 2>&1 | bunyan 
[2015-10-05T15:56:33.996Z] TRACE: triton/8717 on joyent-laptop.local (/Users/dave.eddy/dev/node-triton/lib/cli.js:216): loaded config
    config: {
      "cacheDir": "cache",
      "_defaults": {
        "cacheDir": "cache"
      },
      "_configDir": "/Users/dave.eddy/.triton"
    }
[2015-10-05T15:56:33.999Z] TRACE: triton/8717 on joyent-laptop.local (/Users/dave.eddy/dev/node-triton/lib/cli.js:224): loaded profile
    profile: {
      "name": "env",
      "account": "dave.eddy@joyent.com",
      "url": "https://us-east-3b.api.joyent.com",
      "keyId": "04:0c:22:25:c9:85:d8:e4:fa:27:0d:67:94:68:9e:e9"
    }
[2015-10-05T15:56:34.000Z] TRACE: triton/8717 on joyent-laptop.local (/Users/dave.eddy/dev/node-triton/lib/tritonapi.js:71 in TritonApi): cache dir
    cacheDir: /Users/dave.eddy/.triton/cache/dave_eddy_joyent_com@us-east-3b_api_joyent_com
[2015-10-05T15:56:34.004Z] TRACE: triton/8717 on joyent-laptop.local (/Users/dave.eddy/dev/node-triton/lib/cli.js:216): loaded config
    config: {
      "cacheDir": "cache",
      "_defaults": {
        "cacheDir": "cache"
      },
      "_configDir": "/Users/dave.eddy/.triton"
    }
[2015-10-05T15:56:34.004Z] TRACE: triton/8717 on joyent-laptop.local (/Users/dave.eddy/dev/node-triton/lib/cli.js:224): loaded profile
    profile: {
      "name": "env",
      "account": "dave.eddy@joyent.com",
      "url": "https://us-east-3b.api.joyent.com",
      "keyId": "04:0c:22:25:c9:85:d8:e4:fa:27:0d:67:94:68:9e:e9"
    }
[2015-10-05T15:56:34.005Z] TRACE: triton/8717 on joyent-laptop.local (/Users/dave.eddy/dev/node-triton/lib/tritonapi.js:71 in TritonApi): cache dir
    cacheDir: /Users/dave.eddy/.triton/cache/dave_eddy_joyent_com@us-east-3b_api_joyent_com
[2015-10-05T15:56:34.006Z] TRACE: triton/8717 on joyent-laptop.local (/Users/dave.eddy/dev/node-triton/lib/cli.js:216): loaded config
    config: {
      "cacheDir": "cache",
      "_defaults": {
        "cacheDir": "cache"
      },
      "_configDir": "/Users/dave.eddy/.triton"
    }
[2015-10-05T15:56:34.006Z] TRACE: triton/8717 on joyent-laptop.local (/Users/dave.eddy/dev/node-triton/lib/cli.js:224): loaded profile
    profile: {
      "name": "env",
      "account": "dave.eddy@joyent.com",
      "url": "https://us-east-3b.api.joyent.com",
      "keyId": "04:0c:22:25:c9:85:d8:e4:fa:27:0d:67:94:68:9e:e9"
    }
[2015-10-05T15:56:34.006Z] TRACE: triton/8717 on joyent-laptop.local (/Users/dave.eddy/dev/node-triton/lib/tritonapi.js:71 in TritonApi): cache dir
    cacheDir: /Users/dave.eddy/.triton/cache/dave_eddy_joyent_com@us-east-3b_api_joyent_com
[2015-10-05T15:56:34.034Z] TRACE: triton/8717 on joyent-laptop.local (/Users/dave.eddy/dev/node-triton/node_modules/restify-clients/lib/HttpClient.js:268 in rawRequest): request sent
    GET /dave.eddy@joyent.com/images?name=base-64&version=15.2.0 HTTP/1.1
    Host: us-east-3b.api.joyent.com
    date: Mon, 05 Oct 2015 15:56:34 GMT
    authorization: Signature keyId="/dave.eddy@joyent.com/keys/04:0c:22:25:c9:85:d8:e4:fa:27:0d:67:94:68:9e:e9",algorithm="rsa-sha1",signature="XjtcDeMO5xAXENnsPShQY+yGNtOhS+B+XdtfeIH8bMkx3Ih5rdTqYh0vbOKfB02iTt3CpwdBDbhMNX8bLfipUcucwjPD9wEBdtYtr47LejUyv6co3HBmLKinlSYNV3/wr5D4oZ3JxxAjjHQqjYavlpzLyAR30n3pBTIYt6VZpqxF8H2c3Lz4VBARlcsGVKivmqBfV/2l/NhXVC8HbXzKxrd1v4ihJUIxmLmYcdWh0sSLjENgZ8tsOleTEHdAJsbL4qgSW3yXPMwa67Gn1DoxHGhOgfEyF1Cr0QDWQN7U13SXW1gfER5GGTEJYaRLgoIIsqucBqE/81Nq+HOdX1CmRw=="
    accept: application/json
    user-agent: triton/2.0.1 (x64-darwin; node/0.10.40)
    accept-version: *
[2015-10-05T15:56:35.143Z] TRACE: triton/8717 on joyent-laptop.local (/Users/dave.eddy/dev/node-triton/node_modules/restify-clients/lib/HttpClient.js:164 in onResponse): Response received (client_res={})
    HTTP/1.1 200 OK
    x-api-version: 7.3.0
    server: Joyent SmartDataCenter 7.3.0
    request-id: a75d90d0-6b79-11e5-bd75-0b19091b69d6
    content-type: application/json
    access-control-expose-headers: Api-Version, Request-Id, Response-Time
    strict-transport-security: max-age=6570000
    date: Mon, 05 Oct 2015 15:56:34 GMT
    x-request-id: a75d90d0-6b79-11e5-bd75-0b19091b69d6
    content-md5: GyKtS3EuZy8+nNqBjSSEyg==
    access-control-allow-origin: *
    response-time: 132
    x-response-time: 132
    connection: Keep-Alive
    access-control-allow-headers: Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, Api-Version, Response-Time
    access-control-allow-methods: GET, HEAD, POST
    api-version: 7.3.0
    content-length: 614
[2015-10-05T15:56:35.145Z] TRACE: triton/8717 on joyent-laptop.local (/Users/dave.eddy/dev/node-triton/lib/SaferJsonClient.js:100 in finish): body received (len=614)
    body: [{"id":"5c7d0d24-3475-11e5-8e67-27953a8b237e","name":"base-64","version":"15.2.0","os":"smartos","requirements":{},"type":"smartmachine","description":"A 64-bit SmartOS image with just essential packages installed. Ideal for users who are comfortable with setting up their own environment and tools.","files":[{"compression":"gzip","sha1":"8ffe25d6fa2998f192a63b8e9183b2fb53525955","size":133452167}],"tags":{"role":"os","group":"base-64"},"homepage":"https://docs.joyent.com/images/smartos/base","published_at":"2015-07-27T15:37:17Z","owner":"9dce1460-0c4c-4417-ab8b-25ca478c5a78","public":true,"state":"active"}]
[2015-10-05T15:56:35.146Z] TRACE: triton/8717 on joyent-laptop.local (/Users/dave.eddy/dev/node-triton/lib/do_create_instance.js:48): create-instance img
    img: {
      "id": "5c7d0d24-3475-11e5-8e67-27953a8b237e",
      "name": "base-64",
      "version": "15.2.0",
      "os": "smartos",
      "requirements": {},
      "type": "smartmachine",
      "description": "A 64-bit SmartOS image with just essential packages installed. Ideal for users who are comfortable with setting up their own environment and tools.",
      "files": [
        {
          "compression": "gzip",
          "sha1": "8ffe25d6fa2998f192a63b8e9183b2fb53525955",
          "size": 133452167
        }
      ],
      "tags": {
        "role": "os",
        "group": "base-64"
      },
      "homepage": "https://docs.joyent.com/images/smartos/base",
      "published_at": "2015-07-27T15:37:17Z",
      "owner": "9dce1460-0c4c-4417-ab8b-25ca478c5a78",
      "public": true,
      "state": "active"
    }
[2015-10-05T15:56:35.146Z] TRACE: triton/8717 on joyent-laptop.local (/Users/dave.eddy/dev/node-triton/lib/cli.js:216): loaded config
    config: {
      "cacheDir": "cache",
      "_defaults": {
        "cacheDir": "cache"
      },
      "_configDir": "/Users/dave.eddy/.triton"
    }
[2015-10-05T15:56:35.147Z] TRACE: triton/8717 on joyent-laptop.local (/Users/dave.eddy/dev/node-triton/lib/cli.js:224): loaded profile
    profile: {
      "name": "env",
      "account": "dave.eddy@joyent.com",
      "url": "https://us-east-3b.api.joyent.com",
      "keyId": "04:0c:22:25:c9:85:d8:e4:fa:27:0d:67:94:68:9e:e9"
    }
[2015-10-05T15:56:35.147Z] TRACE: triton/8717 on joyent-laptop.local (/Users/dave.eddy/dev/node-triton/lib/tritonapi.js:71 in TritonApi): cache dir
    cacheDir: /Users/dave.eddy/.triton/cache/dave_eddy_joyent_com@us-east-3b_api_joyent_com
[2015-10-05T15:56:35.155Z] TRACE: triton/8717 on joyent-laptop.local (/Users/dave.eddy/dev/node-triton/node_modules/restify-clients/lib/HttpClient.js:268 in rawRequest): request sent
    GET /dave.eddy@joyent.com/packages HTTP/1.1
    Host: us-east-3b.api.joyent.com
    date: Mon, 05 Oct 2015 15:56:35 GMT
    authorization: Signature keyId="/dave.eddy@joyent.com/keys/04:0c:22:25:c9:85:d8:e4:fa:27:0d:67:94:68:9e:e9",algorithm="rsa-sha1",signature="VxmxLItB8Z6Txn3iYZfflB44PnyZXWy9C3y8ejHVM/CHpjHLDyYD6hVDZtOQPZZWOc346o4mqNhJeShJXFiaTDKuUuXjEfIl+GWCTuFZbQOs+wLwPwCYLogjr749uHb8bh5TTev+mv/Uqx7xNO/hOMy0e12IHuGmGSd1IP6UVBBcHjaOviWO91yPJkpKL6dZw8dEbdz2SmXe2drHhl++xQT00AlIG0q5rE6RAbu4v1aTVHLPbtovmGAJdmqsi14hORFVdBrszR6F+VsdYsF/hAgnZ+XuYFUqR7LIWtqk2JD+wGG3l5iKYTN+0ZwyKHiAhS17gTKHQrWNa4bY4lq0Kg=="
    accept: application/json
    user-agent: triton/2.0.1 (x64-darwin; node/0.10.40)
    accept-version: *
[2015-10-05T15:56:36.063Z] TRACE: triton/8717 on joyent-laptop.local (/Users/dave.eddy/dev/node-triton/node_modules/restify-clients/lib/HttpClient.js:164 in onResponse): Response received (client_res={})
    HTTP/1.1 200 OK
    x-api-version: 7.3.0
    server: Joyent SmartDataCenter 7.3.0
    request-id: a7e22a20-6b79-11e5-8f61-b7b893c5621b
    content-type: application/json
    access-control-expose-headers: Api-Version, Request-Id, Response-Time
    strict-transport-security: max-age=6570000
    date: Mon, 05 Oct 2015 15:56:35 GMT
    x-request-id: a7e22a20-6b79-11e5-8f61-b7b893c5621b
    content-md5: YTzXY7ePgT8eAVh6ew3oWQ==
    access-control-allow-origin: *
    response-time: 112
    x-response-time: 112
    connection: Keep-Alive
    access-control-allow-headers: Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, Api-Version, Response-Time
    access-control-allow-methods: GET, HEAD
    api-version: 7.3.0
    content-length: 2532
[2015-10-05T15:56:36.065Z] TRACE: triton/8717 on joyent-laptop.local (/Users/dave.eddy/dev/node-triton/lib/SaferJsonClient.js:100 in finish): body received (len=2532)
    body: [{"name":"t4-standard-128M","memory":128,"disk":3072,"swap":512,"vcpus":0,"lwps":4000,"default":false,"id":"8b2288b6-efcf-4e20-df2c-e6ad6219b501","version":"1.0.0"},{"name":"t4-standard-256M","memory":256,"disk":6144,"swap":1024,"vcpus":0,"lwps":4000,"default":false,"id":"46509ae4-67bf-6422-bf56-9d91de1f3a81","version":"1.0.0"},{"name":"t4-standard-512M","memory":512,"disk":12288,"swap":2048,"vcpus":0,"lwps":4000,"default":false,"id":"619d61c7-45b0-69f7-df9c-ec18cb16e8ee","version":"1.0.0"},{"name":"t4-standard-1G","memory":1024,"disk":25600,"swap":4096,"vcpus":0,"lwps":4000,"default":true,"id":"20e583d5-ea48-411d-f0e2-9079352f48f8","version":"1.0.0"},{"name":"t4-standard-2G","memory":2048,"disk":51200,"swap":8192,"vcpus":0,"lwps":4000,"default":false,"id":"4436ebfd-fc2d-e670-b4f4-c4828f314eb3","version":"1.0.0"},{"name":"t4-standard-4G","memory":4096,"disk":102400,"swap":16384,"vcpus":0,"lwps":4000,"default":false,"id":"312dc018-5c67-65f3-e521-e6cbbb34cd63","version":"1.0.0"},{"name":"t4-standard-8G","memory":8192,"disk":204800,"swap":32768,"vcpus":0,"lwps":4000,"default":false,"id":"4fc54bee-d0d5-62ba-951f-805f1eae2ad6","version":"1.0.0"},{"name":"t4-standard-16G","memory":16384,"disk":409600,"swap":65536,"vcpus":0,"lwps":4000,"default":false,"id":"62e2bea6-b83a-cd30-fe7e-c799875f6600","version":"1.0.0"},{"name":"t4-standard-32G","memory":32768,"disk":819200,"swap":131072,"vcpus":0,"lwps":4000,"default":false,"id":"2e4d5b74-ce75-e166-abef-f003f9607f7f","version":"1.0.0"},{"name":"t4-standard-64G","memory":65536,"disk":1638400,"swap":262144,"vcpus":0,"lwps":4000,"default":false,"id":"c7f098ea-0f49-c271-ce01-f7934725726c","version":"1.0.0"},{"name":"t4-standard-96G","memory":98304,"disk":2457600,"swap":393216,"vcpus":0,"lwps":4000,"default":false,"id":"e83b63c2-b12b-4c9f-dc70-9de725ad1fe5","version":"1.0.0"},{"name":"t4-standard-128G","memory":131072,"disk":3276800,"swap":524288,"vcpus":0,"lwps":4000,"default":false,"id":"a5218d38-b618-cd1d-d2aa-86cc414a738f","version":"1.0.0"},{"name":"t4-standard-160G","memory":163840,"disk":4096000,"swap":655360,"vcpus":0,"lwps":4000,"default":false,"id":"6f53eb74-2f1c-4754-b93d-f542ee5c978a","version":"1.0.0"},{"name":"t4-standard-192G","memory":200704,"disk":4915200,"swap":802816,"vcpus":0,"lwps":4000,"default":false,"id":"50c5c9b9-875f-67ae-8f9d-865abb031f66","version":"1.0.0"},{"name":"t4-standard-224G","memory":229376,"disk":5734400,"swap":917504,"vcpus":0,"lwps":4000,"default":false,"id":"426bfc87-a018-e23a-a31c-b948fd5c25ba","version":"1.0.0"}]
[2015-10-05T15:56:36.065Z] TRACE: triton/8717 on joyent-laptop.local (/Users/dave.eddy/dev/node-triton/lib/do_create_instance.js:68): create-instance pkg
    pkg: {
      "name": "t4-standard-128M",
      "memory": 128,
      "disk": 3072,
      "swap": 512,
      "vcpus": 0,
      "lwps": 4000,
      "default": false,
      "id": "8b2288b6-efcf-4e20-df2c-e6ad6219b501",
      "version": "1.0.0"
    }
[2015-10-05T15:56:36.066Z] TRACE: triton/8717 on joyent-laptop.local (/Users/dave.eddy/dev/node-triton/lib/do_create_instance.js:94 in createInst): create-instance createOpts
    createOpts: {
      "name": "my-machine",
      "image": "5c7d0d24-3475-11e5-8e67-27953a8b237e",
      "package": "8b2288b6-efcf-4e20-df2c-e6ad6219b501"
    }
[2015-10-05T15:56:36.070Z] TRACE: triton/8717 on joyent-laptop.local (/Users/dave.eddy/dev/node-triton/node_modules/restify-clients/lib/HttpClient.js:268 in rawRequest): request sent
    POST /dave.eddy@joyent.com/machines HTTP/1.1
    Host: us-east-3b.api.joyent.com
    date: Mon, 05 Oct 2015 15:56:36 GMT
    authorization: Signature keyId="/dave.eddy@joyent.com/keys/04:0c:22:25:c9:85:d8:e4:fa:27:0d:67:94:68:9e:e9",algorithm="rsa-sha1",signature="qF21npAJGHfteeIgNfYMHjcw63gcKl/Ei1GvA2WOK5SJsHZ1rD1CXdCE04qiSYNAH+z7qU6bJXFY0P9UB+23WJx1kxrUrZ10mGuUTozErAXQLuoCrrKX+g3rp94JmcE5Cj0LLx95lLJ5m3/ooTAwtppzpBPJxfhDs4GpGldRTjWN6K5KZjLLAcutMXEabCTJp5TqzKnoS5QYtEF+lFmY6vhIr5e3qmqkbqqYWDyqPD5/nymGK4Rvedb3Omlnq6pAO2Z1rAR0G1wYgT7Vg7GyQFZKQ5J1AlBEa5lQzwRXaodfjYreBxUOd9TU6bSb7dB9GRfzbqldHwZ7u+SOalB+NQ=="
    accept: application/json
    content-type: application/json
    user-agent: triton/2.0.1 (x64-darwin; node/0.10.40)
    accept-version: *
    content-length: 117
    content-md5: D83ghZBb0zUc6le0P/lsWA==
[2015-10-05T15:56:37.903Z] TRACE: triton/8717 on joyent-laptop.local (/Users/dave.eddy/dev/node-triton/node_modules/restify-clients/lib/HttpClient.js:164 in onResponse): Response received (client_res={})
    HTTP/1.1 409 Conflict
    x-api-version: 7.3.0
    server: Joyent SmartDataCenter 7.3.0
    request-id: a892dc80-6b79-11e5-bd75-0b19091b69d6
    content-type: application/json
    access-control-expose-headers: Api-Version, Request-Id, Response-Time
    strict-transport-security: max-age=6570000
    date: Mon, 05 Oct 2015 15:56:37 GMT
    x-request-id: a892dc80-6b79-11e5-bd75-0b19091b69d6
    content-md5: eBf2nealxOBnrgHiHtjsEw==
    access-control-allow-origin: *
    response-time: 783
    x-response-time: 783
    connection: Keep-Alive
    access-control-allow-headers: Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, Api-Version, Response-Time
    access-control-allow-methods: POST, GET, HEAD
    api-version: 7.3.0
    content-length: 178
[2015-10-05T15:56:37.906Z] TRACE: triton/8717 on joyent-laptop.local (/Users/dave.eddy/dev/node-triton/lib/SaferJsonClient.js:100 in finish): body received (len=178)
    body: {"code":"ValidationFailed","message":"Invalid VM parameters: Invalid machine name","errors":[{"field":"alias","code":"Duplicate","message":"Already exists for this owner_uuid"}]}
triton create: error (ValidationFailed): ValidationFailedError: Invalid VM parameters: Invalid machine name
    at IncomingMessage.finish (/Users/dave.eddy/dev/node-triton/lib/SaferJsonClient.js:156:30)
    at IncomingMessage.g (events.js:180:16)
    at IncomingMessage.emit (events.js:117:20)
    at _stream_readable.js:944:16
    at process._tickCallback (node.js:448:13)
dave.eddy - joyent-laptop darwin ~/dev/node-triton (git:master) $ 

this looks promising

    body: {"code":"ValidationFailed","message":"Invalid VM parameters: Invalid machine name","errors":[{"field":"alias","code":"Duplicate","message":"Already exists for this owner_uuid"}]}

@trentm
Copy link
Contributor

trentm commented Oct 5, 2015

Oh, right duh. Thanks for the tracelog. I think we just need triton to generically print out cloudapi errors that have the JSON body matching https://github.com/joyent/eng/blob/master/docs/index.md#error-handling

There should be code to steal for this from sdcadm or possibly sdc-imgapi-cli.git

@trentm trentm self-assigned this Oct 5, 2015
@trentm trentm removed their assignment Sep 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants