mirror of
https://github.com/kolesa-team/pve-purestorage-plugin.git
synced 2026-08-12 21:53:06 -06:00
Made purestorage_request() static
This commit is contained in:
+15
-15
@@ -127,7 +127,7 @@ sub exec_command {
|
||||
### BLOCK: Local multipath => PVE::Storage::Custom::PureStoragePlugin::sub::s
|
||||
|
||||
sub purestorage_request {
|
||||
my ( $class, $scfg, $type, $method, $params, $body ) = @_;
|
||||
my ( $scfg, $type, $method, $params, $body ) = @_;
|
||||
print "Debug :: PVE::Storage::Custom::PureStoragePlugin::sub::purestorage_request\n" if $DEBUG;
|
||||
|
||||
my $api = "2.26";
|
||||
@@ -146,7 +146,7 @@ sub purestorage_request {
|
||||
print "Debug :: PVE::Storage::Custom::PureStoragePlugin::sub::purestorage_get_auth_token::cached\n" if $DEBUG;
|
||||
} else {
|
||||
print "Debug :: PVE::Storage::Custom::PureStoragePlugin::sub::purestorage_get_auth_token\n" if $DEBUG;
|
||||
$class->purestorage_request( $scfg, 'login', 'POST' );
|
||||
purestorage_request($scfg, 'login', 'POST' );
|
||||
}
|
||||
$headers->header( 'x-auth-token' => $scfg->{ x_auth_token } );
|
||||
}
|
||||
@@ -198,7 +198,7 @@ sub purestorage_volume_info {
|
||||
if ( $current_time - $scfg->{ cache }->{ volume_info }->{ "$vgname" }->{ "$volname" }->{ last_update } >= 60 ) {
|
||||
|
||||
my $filter = "name='$vgname/$volname'";
|
||||
my $response = $class->purestorage_request( $scfg, "volumes", "GET", "filter=" . uri_escape( $filter ) );
|
||||
my $response = purestorage_request( $scfg, "volumes", "GET", "filter=" . uri_escape( $filter ) );
|
||||
|
||||
if ( $response->{ error } ) {
|
||||
die "Error :: PureStorage API :: Get volume \"$vgname/$volname\" info failed.\n"
|
||||
@@ -261,7 +261,7 @@ sub purestorage_get_volumes {
|
||||
$filter .= " and destroyed='" . ( $destroyed ? "true" : "false" ) . "'";
|
||||
}
|
||||
|
||||
my $response = $class->purestorage_request( $scfg, "volumes", "GET", "filter=" . uri_escape( $filter ) );
|
||||
my $response = purestorage_request( $scfg, "volumes", "GET", "filter=" . uri_escape( $filter ) );
|
||||
if ( $response->{ error } ) {
|
||||
die "Error :: PureStorage API :: List volumes status failed.\n"
|
||||
. "=> Trace:\n"
|
||||
@@ -383,7 +383,7 @@ sub purestorage_volume_connection {
|
||||
|
||||
my $params = "host_names=$hname&volume_names=$vgname/$volname";
|
||||
|
||||
my $response = $class->purestorage_request( $scfg, "connections", $action, $params );
|
||||
my $response = purestorage_request( $scfg, "connections", $action, $params );
|
||||
my $message;
|
||||
if ( $response->{ error } ) {
|
||||
$message = $response->{ content }->{ errors }->[0]->{ message } || '*';
|
||||
@@ -420,7 +420,7 @@ sub purestorage_create_volume {
|
||||
my $params = "names=$vgname/$volname";
|
||||
my $volparams = { "provisioned" => $size };
|
||||
|
||||
my $response = $class->purestorage_request( $scfg, "volumes", "POST", $params, $volparams );
|
||||
my $response = purestorage_request( $scfg, "volumes", "POST", $params, $volparams );
|
||||
if ( $response->{ error } ) {
|
||||
die "Error :: PureStorage API :: Create volume failed.\n"
|
||||
. "=> Trace:\n"
|
||||
@@ -451,7 +451,7 @@ sub purestorage_remove_volume {
|
||||
my $params = "names=$vgname/$volname";
|
||||
my $body = { destroyed => \1 };
|
||||
|
||||
my $response = $class->purestorage_request( $scfg, "volumes", "PATCH", $params, $body );
|
||||
my $response = purestorage_request( $scfg, "volumes", "PATCH", $params, $body );
|
||||
if ( $response->{ error } ) {
|
||||
if ( $response->{ content }->{ errors }->[0]->{ message } eq "Volume has been deleted." ) {
|
||||
warn "Warning :: PureStorage API :: Destroy volume failed :: Nothing to remove.\n"
|
||||
@@ -472,7 +472,7 @@ sub purestorage_remove_volume {
|
||||
}
|
||||
|
||||
if ( $eradicate ) {
|
||||
$response = $class->purestorage_request( $scfg, "volumes", "DELETE", $params );
|
||||
$response = purestorage_request( $scfg, "volumes", "DELETE", $params );
|
||||
if ( $response->{ error } ) {
|
||||
$Data::Dumper::Indent = 0;
|
||||
die "Error :: PureStorage API :: Eradicate volume \"$vgname/$volname\" failed.\n"
|
||||
@@ -518,7 +518,7 @@ sub purestorage_resize_volume {
|
||||
|
||||
my $params = "names=$vgname/$volname";
|
||||
my $volparams = { "provisioned" => $size };
|
||||
my $response = $class->purestorage_request( $scfg, "volumes", "PATCH", $params, $volparams );
|
||||
my $response = purestorage_request( $scfg, "volumes", "PATCH", $params, $volparams );
|
||||
if ( $response->{ error } ) {
|
||||
die "Error :: PureStorage API :: Resize volume failed.\n"
|
||||
. "=> Trace:\n"
|
||||
@@ -568,7 +568,7 @@ sub purestorage_rename_volume {
|
||||
my $url = $scfg->{ address } || die "Error :: Pure Storage host is not defined.\n";
|
||||
my $params = "names=$vgname/$source_volname";
|
||||
my $volparams = { "name" => "$vgname/$target_volname" };
|
||||
my $response = $class->purestorage_request( $scfg, "volumes", "PATCH", $params, $volparams );
|
||||
my $response = purestorage_request( $scfg, "volumes", "PATCH", $params, $volparams );
|
||||
|
||||
if ( $response->{ error } ) {
|
||||
die "Error :: PureStorage API :: Rename volume failed.\n"
|
||||
@@ -593,7 +593,7 @@ sub purestorage_snap_volume_create {
|
||||
|
||||
$params = "source_names=$vgname/$volname&suffix=snap-$snap_name";
|
||||
|
||||
$response = $class->purestorage_request( $scfg, "volume-snapshots", "POST", $params );
|
||||
$response = purestorage_request( $scfg, "volume-snapshots", "POST", $params );
|
||||
|
||||
if ( $response->{ error } ) {
|
||||
die "Error :: PureStorage API :: Snapshot volume failed.\n"
|
||||
@@ -623,7 +623,7 @@ sub purestorage_snap_volume_rollback {
|
||||
}
|
||||
};
|
||||
|
||||
$response = $class->purestorage_request( $scfg, "volumes", "POST", $params, $body );
|
||||
$response = purestorage_request( $scfg, "volumes", "POST", $params, $body );
|
||||
|
||||
if ( $response->{ error } ) {
|
||||
die "Error :: PureStorage API :: Restore volume snapshot failed.\n"
|
||||
@@ -650,7 +650,7 @@ sub purestorage_snap_volume_delete {
|
||||
$params = "names=$vgname/$volname.snap-$snap_name";
|
||||
$body = { destroyed => \1 };
|
||||
|
||||
$response = $class->purestorage_request( $scfg, "volume-snapshots", "PATCH", $params, $body );
|
||||
$response = purestorage_request( $scfg, "volume-snapshots", "PATCH", $params, $body );
|
||||
|
||||
if ( $response->{ error } ) {
|
||||
my @valid_errors =
|
||||
@@ -676,7 +676,7 @@ sub purestorage_snap_volume_delete {
|
||||
$params = "names=$vgname/$volname.snap-$snap_name";
|
||||
$body = { replication_snapshot => \1 };
|
||||
|
||||
$response = $class->purestorage_request( $scfg, "volume-snapshots", "DELETE", $params, $body );
|
||||
$response = purestorage_request( $scfg, "volume-snapshots", "DELETE", $params, $body );
|
||||
|
||||
if ( $response->{ error } ) {
|
||||
$Data::Dumper::Indent = 0;
|
||||
@@ -813,7 +813,7 @@ sub status {
|
||||
if ( $current_time - $cache->{ last_update } >= 60 ) {
|
||||
print "Debug :: PVE::Storage::Custom::PureStoragePlugin::sub::status\n" if $DEBUG;
|
||||
|
||||
my $response = $class->purestorage_request( $scfg, "arrays/space", "GET" );
|
||||
my $response = purestorage_request( $scfg, "arrays/space", "GET" );
|
||||
|
||||
# Get storage capacity and used space from the response
|
||||
$cache->{ total } = $response->{ content }->{ items }->[0]->{ capacity };
|
||||
|
||||
Reference in New Issue
Block a user