97 lines
No EOL
2.3 KiB
PHP
97 lines
No EOL
2.3 KiB
PHP
<?php
|
|
ini_set('display_errors', 1);
|
|
date_default_timezone_set("Europe/Paris");
|
|
require 'vendor/autoload.php';
|
|
include("core/Image.php");
|
|
|
|
$options = Array();
|
|
$options["user"] = Array("name"=>"admin", "password"=>"ae5or6cn", "domain"=>["id"=>"Default"]);
|
|
$options["scope"] = Array("project"=>Array("name"=>"admin", "domain"=>["id"=>"Default"]));
|
|
$options["authUrl"] = "http://148.60.11.31:5000/v3";
|
|
|
|
$openstack = new OpenStack\OpenStack($options);
|
|
|
|
//$identity = $openstack->identityV3();
|
|
//var_dump($identity);
|
|
// Since usernames will not be unique across an entire OpenStack installation,
|
|
// when authenticating with them you must also provide your domain ID. You do
|
|
// not have to do this if you authenticate with a user ID.
|
|
/*$token = $identity->generateToken([
|
|
'user' => [
|
|
'name' => 'admin',
|
|
'password' => 'ae5or6cn',
|
|
'domain' => [
|
|
'id' => 'Default'
|
|
]
|
|
]
|
|
]);
|
|
*/
|
|
//$compute = $openstack->computeV2(["region" => "RegionOne"]);
|
|
//$image= $openstack->imagesV2(["region" => "RegionOne"]);
|
|
//var_dump($compute->client);
|
|
//$servers = $compute->listServers(true);
|
|
|
|
// Initialisation Image()
|
|
$optImage = Array();
|
|
$optImage["region"] = "RegionOne";
|
|
$image = new Image($openstack, $optImage);
|
|
|
|
$opt = Array();
|
|
$opt['name'] = "Test";
|
|
$opt['tags'] = ['test', 'openstack'];
|
|
//$opt['containerFormat'] = 'ami';
|
|
//$opt['diskFormat'] = 'iso';
|
|
$opt['visibility'] = 'public';
|
|
$opt['minDisk'] = 1;
|
|
$opt['protected'] = false;
|
|
$opt['minRam'] = 10;
|
|
|
|
//$new_image = $image->create_image($opt);
|
|
|
|
//Liste des images
|
|
$images = $image->list_images();
|
|
|
|
echo "Images présentes :";
|
|
echo "</br>";
|
|
|
|
foreach($images as $i){
|
|
echo $i->name;
|
|
if($i->name == "Test"){
|
|
$id_image = $i->id;
|
|
$list = $i->tags;
|
|
echo $i->status;
|
|
}
|
|
echo "</br>";
|
|
}
|
|
echo "</br>";
|
|
|
|
if(isset($list)){
|
|
foreach ($list as $l) {
|
|
echo $l;
|
|
echo "</br>";
|
|
}
|
|
}
|
|
|
|
// Détails Image
|
|
//$details = $image->image_details($id_image);
|
|
|
|
//$image->delete_image('123456');
|
|
|
|
//$image->desactivate_image($id_image);
|
|
//$image->reactivate_image($id_image);
|
|
|
|
//$file_name = "/home/yogg/Downloads/TinyCore-6.4.1.iso";
|
|
//$image->upload_image($id_image, $file_name);
|
|
|
|
//$image->download_image($id_image);
|
|
|
|
/*
|
|
$opt_update = Array();
|
|
$opt_update['name'] = "Test";
|
|
$opt_update['tags'] = null;
|
|
|
|
$update = $image->update_image($id_image, $opt_update);
|
|
echo $update->name;
|
|
*/
|
|
|
|
?>
|