changed 4 years ago
Published Linked with GitHub

Airshipctl / Treasuremap dev env setup

Configure

  • Clone airshipctl and treasuremap in the user's home directory, checkout v2.0 on both repos
  • create config ~/airship-config
  • create a helper script (./setup_tr.sh) in user's home dir
  • execute sudo ./setup_tr.sh
airship@d101:~$ echo $PWD
/home/airship


airship@d101:~$ ls treasuremap airshipctl setup_tr.sh  airship-config

airshipctl:
certs  CONTRIBUTING.md  docs    go.sum         LICENSE  Makefile   pkg        README.rst  testdata  testutil  tox.ini      zuul.d
cmd    Dockerfile       go.mod  krm-functions  main.go  manifests  playbooks  roles       tests     tools     Vagrantfile

treasuremap:
LICENSE  Makefile  manifests  playbooks  README.md  roles  tools  zuul.d

setup_tr.sh 

airship-config 

airship@d101:~$ cat ~/airship-config 
apiVersion: airshipit.org/v1alpha1
contexts:
  ephemeral-cluster:
    managementConfiguration: dummy_management_config
    manifest: treasuremap_ci
  target-cluster:
    managementConfiguration: dummy_management_config
    manifest: treasuremap_ci
currentContext: ephemeral-cluster
kind: Config
managementConfiguration:
  dummy_management_config:
    insecure: true
    systemActionRetries: 30
    systemRebootDelay: 30
    type: redfish
manifests:
  dummy_manifest:
    inventoryRepositoryName: ""
    metadataPath: manifests/site/test-site/metadata.yaml
    phaseRepositoryName: primary
    repositories:
      primary:
        checkout:
          branch: master
          commitHash: ""
          force: false
          localBranch: false
          tag: ""
        url: /home/airship/treasuremap
    targetPath:  /home/airship
  treasuremap_ci:
    inventoryRepositoryName: primary
    metadataPath: manifests/site/test-site/metadata.yaml
    phaseRepositoryName: primary
    repositories:
      airshipctl:
        checkout:
          branch: ""
          commitHash: 32e3fafe22067fdbdf132f839bb448177b62cfcc
          force: false
          localBranch: false
          tag: ""
        url: https://opendev.org/airship/airshipctl.git
      primary:
        checkout:
          branch: ""
          commitHash: f50e47162b5615f44cb0599cad24d68c24a99224
          force: false
          localBranch: false
          tag: ""
        url: /home/airship/treasuremap
    targetPath:  /home/airship
permissions:
  DirectoryPermission: 488
  FilePermission: 416
  
airship@d101:~$ cat setup_tr.sh 
#!/bin/bash

sudo chown -R airship:airship /home/airship
sudo curl -fsSL -o /tmp/key.asc https://raw.githubusercontent.com/mozilla/sops/master/pgp/sops_functional_tests_key.asc
export SOPS_IMPORT_PGP="$(cat /tmp/key.asc)"
export SOPS_PGP_FP="FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4" 

sudo rm  -rf /home/airship/.cache
sudo ./airshipctl/tools/deployment/clean.sh
mkdir ~/.airship
sudo cp ~/airship-config ~/.airship/config
cd treasuremap

sudo  -H -E AIRSHIP_CONFIG_MANIFEST_DIRECTORY=/home/airship ./tools/gate/00_setup.sh
sudo -H -E AIRSHIP_CONFIG_MANIFEST_DIRECTORY=/home/airship ./tools/gate/10_build_gate.sh

#sudo -H ./tools/deployment/22_test_configs.sh
sudo -H ./tools/deployment/21_systemwide_executable.sh
#sudo -H ./tools/deployment/23_pull_documents.sh


sudo -E AIRSHIP_CONFIG_MANIFEST_DIRECTORY=/home/airship ./tools/deployment/23_generate_secrets.sh
sudo -E AIRSHIP_CONFIG_MANIFEST_DIRECTORY=/home/airship ./tools/deployment/24_build_images.sh
sudo -E AIRSHIP_CONFIG_MANIFEST_DIRECTORY=/home/airship ./tools/deployment/25_deploy_ephemeral_node.sh
sudo -E AIRSHIP_CONFIG_MANIFEST_DIRECTORY=/home/airship ./tools/deployment/26_deploy_capi_ephemeral_node.sh
sudo -E AIRSHIP_CONFIG_MANIFEST_DIRECTORY=/home/airship ./tools/deployment/30_deploy_controlplane.sh
sudo -E AIRSHIP_CONFIG_MANIFEST_DIRECTORY=/home/airship ./tools/deployment/31_deploy_initinfra_target_node.sh
sudo -E AIRSHIP_CONFIG_MANIFEST_DIRECTORY=/home/airship ./tools/deployment/32_cluster_init_target_node.sh
sudo -E AIRSHIP_CONFIG_MANIFEST_DIRECTORY=/home/airship ./tools/deployment/33_cluster_move_target_node.sh
sudo -E AIRSHIP_CONFIG_MANIFEST_DIRECTORY=/home/airship ./tools/deployment/34_deploy_controlplane_target.sh
sudo -E AIRSHIP_CONFIG_MANIFEST_DIRECTORY=/home/airship ./tools/deployment/35_deploy_worker_node.sh
sudo -E AIRSHIP_CONFIG_MANIFEST_DIRECTORY=/home/airship ./tools/deployment/36_deploy_workload.sh
#sudo -E AIRSHIP_CONFIG_MANIFEST_DIRECTORY=/home/airship ./tools/deployment/36_verify_hwcc_profiles.sh
#sudo -E AIRSHIP_CONFIG_MANIFEST_DIRECTORY=/home/airship  SOPS_IMPORT_PGP="$(cat /tmp/key.asc)" ./tools/deployment/40_deploy_lma.sh

Install

$ sudo ./setup_tr.sh  

Verify

airship@d101:~$ sudo virsh list --all
 Id    Name                           State
----------------------------------------------------
 7     air-target-1                   running
 11    air-worker-1                   running
 -     air-ephemeral                  shut off

airship@d101:~$ kubectl --kubeconfig /home/airship/.airship/kubeconfig --context target-cluster get machines
NAME                         PROVIDERID                                      PHASE
cluster-controlplane-lzjmz   metal3://f00c4096-52af-4b62-bbbb-607ee8cb1dbc   Running
worker-1-5bc87ff868-zp7k7    metal3://d1575fb6-a56b-45f2-86d9-16d78dcf8369   Running

Select a repo