-
Notifications
You must be signed in to change notification settings - Fork 280
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Included Private ai stack basic sanity test
- Loading branch information
1 parent
64adb69
commit 39a80b7
Showing
1 changed file
with
71 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
use Mojo::Base 'publiccloud::basetest'; | ||
use testapi; | ||
use serial_terminal 'select_serial_terminal'; | ||
use strict; | ||
use warnings; | ||
use utils; | ||
use publiccloud::utils; | ||
use File::Basename; | ||
|
||
sub run { | ||
|
||
#Create aws instance | ||
select_serial_terminal(); | ||
my $provider = $args->{my_provider}; | ||
my $instance = $provider->create_instance(); | ||
registercloudguest($instance) if is_byos(); | ||
register_addons_in_pc($instance); | ||
|
||
#Update and install dependencies | ||
$instance->ssh_assert_script_run('sudo zypper ref; sudo zypper -n up', | ||
timeout => 1000); | ||
record_info('Refresh and update'); | ||
sleep 90; # wait for a bit for zypper to be available | ||
|
||
#Install Docker (required for RKE2) | ||
|
||
$instance->ssh_assert_script_run('sudo zypper install -y curl', | ||
timeout => 100); | ||
$instance->ssh_assert_script_run('sudo zypper install -y docker', | ||
timeout => 100); | ||
$instance->ssh_assert_script_run('sudo systemctl start docker', | ||
timeout => 100); | ||
$instance->ssh_assert_script_run('sudo systemctl enable docker', | ||
timeout => 100); | ||
$instance->ssh_assert_script_run('sudo systemctl status docker', | ||
timeout => 100); | ||
record_info('Installed Docker'); | ||
|
||
#Install RKE2 | ||
$instance->ssh_assert_script_run('curl -sfL https://get.rke2.io | sh', | ||
timeout => 1000); | ||
$instance->ssh_assert_script_run('sudo systemctl enable rke2-server', | ||
timeout => 100); | ||
$instance->ssh_assert_script_run('sudo systemctl start rke2-server', | ||
timeout => 100); | ||
$instance->ssh_assert_script_run('sudo systemctl status rke2-server', | ||
timeout => 100); | ||
record_info('Installed RKE2'); | ||
|
||
#Install kubectl | ||
$instance->ssh_assert_script_run( | ||
'curl -LO "https://dl.k8s.io/release/v1.26.0/bin/linux/amd64/kubectl', | ||
timeout => 1000); | ||
$instance->ssh_assert_script_run('chmod +x ./kubectl', timeout => 100); | ||
$instance->ssh_assert_script_run( | ||
'sudo mv ./kubectl /usr/local/bin/kubectl', | ||
timeout => 100); | ||
$instance->ssh_assert_script_run('kubectl version --client', | ||
timeout => 100); | ||
record_info('RKE2 setup is complete'); | ||
|
||
#Install Helm and private-ai-charts repo | ||
|
||
$instance->ssh_assert_script_run( | ||
'curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash', | ||
timeout => 1000 | ||
); | ||
record_info('helm private-ai-chart install complete'); | ||
} | ||
|
||
1; |