Skip to content

Commit f994142

Browse files
authored
tests(instance): create server with root_volume from sbs snapshot (#2808)
1 parent 37aea84 commit f994142

File tree

2 files changed

+4893
-0
lines changed

2 files changed

+4893
-0
lines changed

internal/services/instance/server_test.go

+75
Original file line numberDiff line numberDiff line change
@@ -1827,6 +1827,81 @@ func TestAccServer_BlockExternalRootVolumeUpdate(t *testing.T) {
18271827
})
18281828
}
18291829

1830+
func TestAccServer_RootVolumeFromExternalSnapshot(t *testing.T) {
1831+
tt := acctest.NewTestTools(t)
1832+
defer tt.Cleanup()
1833+
resource.ParallelTest(t, resource.TestCase{
1834+
PreCheck: func() { acctest.PreCheck(t) },
1835+
ProviderFactories: tt.ProviderFactories,
1836+
CheckDestroy: instancechecks.IsServerDestroyed(tt),
1837+
Steps: []resource.TestStep{
1838+
{
1839+
Config: `
1840+
resource "scaleway_instance_server" "main" {
1841+
name = "tf-tests-instance-root-volume-from-external-snapshot"
1842+
image = "ubuntu_jammy"
1843+
type = "PLAY2-PICO"
1844+
root_volume {
1845+
volume_type = "sbs_volume"
1846+
size_in_gb = 50
1847+
sbs_iops = 5000
1848+
}
1849+
}
1850+
1851+
resource "scaleway_block_snapshot" "snapshot" {
1852+
volume_id = scaleway_instance_server.main.root_volume.0.volume_id
1853+
}`,
1854+
Check: resource.ComposeTestCheckFunc(
1855+
resource.TestCheckResourceAttr("scaleway_instance_server.main", "type", "PLAY2-PICO"),
1856+
resource.TestCheckResourceAttr("scaleway_instance_server.main", "additional_volume_ids.#", "0"),
1857+
resource.TestCheckResourceAttr("scaleway_instance_server.main", "root_volume.0.volume_type", string(instanceSDK.VolumeVolumeTypeSbsVolume)),
1858+
resource.TestCheckResourceAttr("scaleway_instance_server.main", "root_volume.0.sbs_iops", "5000"),
1859+
resource.TestCheckResourceAttr("scaleway_instance_server.main", "root_volume.0.size_in_gb", "50"),
1860+
),
1861+
},
1862+
{
1863+
Config: `
1864+
resource "scaleway_instance_server" "main" {
1865+
name = "tf-tests-instance-root-volume-from-external-snapshot"
1866+
image = "ubuntu_jammy"
1867+
type = "PLAY2-PICO"
1868+
root_volume {
1869+
volume_type = "sbs_volume"
1870+
size_in_gb = 50
1871+
sbs_iops = 5000
1872+
}
1873+
}
1874+
1875+
resource "scaleway_block_snapshot" "snapshot" {
1876+
volume_id = scaleway_instance_server.main.root_volume.0.volume_id
1877+
}
1878+
1879+
resource "scaleway_block_volume" "volume" {
1880+
snapshot_id = scaleway_block_snapshot.snapshot.id
1881+
iops = 5000
1882+
}
1883+
1884+
resource "scaleway_instance_server" "from_snapshot" {
1885+
name = "tf-tests-instance-root-volume-from-external-snapshot-2"
1886+
type = "PLAY2-PICO"
1887+
root_volume {
1888+
volume_type = "sbs_volume"
1889+
volume_id = scaleway_block_volume.volume.id
1890+
}
1891+
}`,
1892+
Check: resource.ComposeTestCheckFunc(
1893+
resource.TestCheckResourceAttr("scaleway_instance_server.main", "type", "PLAY2-PICO"),
1894+
resource.TestCheckResourceAttr("scaleway_instance_server.main", "additional_volume_ids.#", "0"),
1895+
resource.TestCheckResourceAttr("scaleway_instance_server.main", "root_volume.0.volume_type", string(instanceSDK.VolumeVolumeTypeSbsVolume)),
1896+
resource.TestCheckResourceAttr("scaleway_instance_server.main", "root_volume.0.sbs_iops", "5000"),
1897+
resource.TestCheckResourceAttr("scaleway_instance_server.main", "root_volume.0.size_in_gb", "50"),
1898+
resource.TestCheckResourceAttrPair("scaleway_instance_server.from_snapshot", "root_volume.0.volume_id", "scaleway_block_volume.volume", "id"),
1899+
),
1900+
},
1901+
},
1902+
})
1903+
}
1904+
18301905
func TestAccServer_PrivateNetworkMissingPNIC(t *testing.T) {
18311906
tt := acctest.NewTestTools(t)
18321907
defer tt.Cleanup()

0 commit comments

Comments
 (0)