question

Jamie Seward avatar image
Jamie Seward asked

CreateBuildWithCustomContainer never changes build status from Initialized to Deploying?

When using the CreateBuildWithCustomContainer REST API I can get builds successfully created but they never seem to move to Deploying/Deployed state. (Upon inspection in multiplayer/server/builds). Active/Total/Standby values are all 0. I've tried changing the "Target standby" and/or "Maximum" from non-0 (they are initialized to 1) with no luck.


On the other hand if I bypass the REST api and use the web interface to add a build with what I can tell are the exact same configuration (same container image, same ports, regions, etc.) It will move into the deploying state.

I've read https://docs.microsoft.com/en-gb/gaming/playfab/features/multiplayer/servers/multiplayer-build-region-lifecycle and it says that "Initialized -> Deploying : StandBy servers have been configured to be > 0." As far as I can tell I meet that requirement with my EastUs region configuration above. (Target standby is > 0).

multiplayer
qhjvy.png (1.7 KiB)
rhvu7.png (10.6 KiB)
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

·
Sarah Zhang avatar image
Sarah Zhang answered

We can’t reproduce this behavior in our testing title. In our test, after we created the build via API, the corresponding Linux sever build can enter the Deploying status successfully. Could you please provide the TitleID and the request body of CreateBuildWithCustomContainer for our reference?

5 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Jamie Seward avatar image Jamie Seward commented ·

Hi @Sarah Zhang. If you look at titleId: 7174C you can see this right now. I have "45b062ea-0590-4955-a06d-13d179b29c85" build stuck on initialized (came from REST API) and build "776681bd-5023-499b-a0a8-1864c4e16ace" is working fine using the web interface with what I can tell are the exact same parameters as I am posting to REST api. Using the same container.

I have recreated this 5-6 times now with different builds.


0 Likes 0 ·
Jamie Seward avatar image Jamie Seward commented ·
{
 "AreAssetsReadonly": null,
 "BuildName": "2.7-linux",
 "ContainerFlavor": "CustomLinux",
 "ContainerImageReference": {
 "ImageName": "customerncztpbp2ypkb6.azurecr.io/playfab_game_server",
 "Tag": "2.7-linux"
 },
 "ContainerRunCommand": null,
 "CustomTags": null,
 "GameAssetReferences": null,
 "GameCertificateReferences": null,
 "LinuxInstrumentationConfiguration": {
 "IsEnabled": false
 },
 "Metadata": null,
 "MultiplayerServerCountPerVm": 1,
 "Ports": [
 {
 "Name": "game_server_port",
 "Num": 1235,
 "Protocol": "UDP"
 }
 ],
 "RegionConfigurations": [
 {
 "DynamicStandbySettings": null,
 "MaxServers": 1,
 "Region": "EastUs",
 "ScheduledStandbySettings": null,
 "StandbyServers": 1
 }
 ],
 "UseStreamingForAssetDownloads": null,
 "VmSize": "Standard_D2as_v4",
 "AuthenticationContext": null
}
0 Likes 0 ·
Jamie Seward avatar image Jamie Seward commented ·

Hi @Sarah Zhang, any update on this? Still have my builds sitting around not being deployed. Thanks!

0 Likes 0 ·
Sarah Zhang avatar image Sarah Zhang Jamie Seward commented ·

As the document -- Create and deploy Linux container images - PlayFab | Microsoft Docs, especially this section said, the image name and tag that was uploaded earlier and is visible in ListContainerImages and ListContainerImageTags above.

When we call the ListContainerImages, it will return the image name that doesn't contain "customerxxxxxxxx.azurecr.io/". So, we use the pure image name in the request.

Our request body would be something like this.

{
    "ContainerImageReference": {
        "ImageName": "thunderhead_linux",
        "Tag": "firsttry"
    },
    "ContainerFlavor": "CustomLinux",
    "BuildName": "TestBuild05",
    "VmSize": "Standard_D2_v2",
    "MultiplayerServerCountPerVm": 1,
    "Ports": [
        {
            "Name": "GamePort",
            "Num": 3600,
            "Protocol": "TCP"
        }
    ],
    "RegionConfigurations": [
        {
            "Region": "EastUs",
            "MaxServers": 1,
            "StandbyServers": 1
        }
    ]
}

Could you please remove the "customerncztpbp2ypkb6.azurecr.io/", then try again?

0 Likes 0 ·
Jamie Seward avatar image Jamie Seward Sarah Zhang commented ·

Hi @Sarah Zhang, it looks like the bad ImageName was the problem. Just making that change and making a new build put it directly into deploying state. Many thanks for narrowing that down.

I highly suggest PlayFab has some sort of error if the ImageName is not a valid container image to avoid this problem for future users.


Thanks!


Jamie

0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.