skyline-apiserver/kolla
yangshaoxue babe6fe563 fix: Update .zuul.yaml
fix: Update .zuul.yaml
Change-Id: I8bc5bdefcfc56c0e91b2b6ff6125e6b9f9b44996
2022-03-10 19:10:57 +08:00
..
README-zh_CN.md Integration with Kolla and Kolla-Ansible 2021-10-19 16:11:07 +08:00
README.md Integration with Kolla and Kolla-Ansible 2021-10-19 16:11:07 +08:00

Kolla Ansible Deployment

Environments

Requirements:
2 network interfaces
8GB main memory
100GB disk space
ubuntu20.04 / centos8

  • kolla : https://github.com/openstack/kolla
  • kolla-ansible : https://github.com/openstack/kolla-ansible
  • kolla skyline patch : https://opendev.org/skyline/skyline-apiserver/src/branch/master/kolla/kolla-xxxxxxx.diff
  • kolla-ansible skyline patch : https://opendev.org/skyline/skyline-apiserver/src/branch/master/kolla/kolla-ansible-xxxxxxx.diff

kolla build docker image

  • If kolla is not installed in the deployment environment

    cd /opt
    git clone https://github.com/openstack/kolla-ansible
    curl https://opendev.org/skyline/skyline-apiserver/src/branch/master/kolla/kolla-ansible-xxxxxxx.diff -o kolla-ansible.diff
    cd /opt/kolla-ansible
    git apply --check /opt/kolla-ansible.diff
    git apply /opt/kolla-ansible.diff
    sudo pip3 install /opt/kolla-ansible
    
  • If kolla has been installed in the deployment environment

    Get the kolla installation directory:

    KOLLA_PACKAGE_PATH=$(python3 -c "import kolla;from pathlib import Path;print(Path(kolla.__file__).parents[1])")
    KOLLA_DATA_FILES_PATH=$(python3 -c "import kolla;from pathlib import Path;print(Path(kolla.__file__).parents[4].joinpath('share/kolla'))")
    

    Install kolla patch

    curl https://opendev.org/skyline/skyline-apiserver/src/branch/master/kolla/kolla-xxxxxxx.diff -o /opt/kolla.diff
    cd ${KOLLA_PACKAGE_PATH}
    git apply --check --include='kolla/*' /opt/kolla.diff
    git apply --include='kolla/*' /opt/kolla.diff
    cd ${KOLLA_DATA_FILES_PATH}
    git apply --check --include='docker/*' /opt/kolla.diff
    git apply --include='docker/*' /opt/kolla.diff
    

Build skyline image

Note : Only provide ubuntu-source-skyline of skyline image

  • -b: The distro type of the base image
  • -t: The method of the OpenStack install
  • -n: The Docker namespace name
  • --tag: Docker tag
  • --registry: The docker registry host
  • --push: Push images after building
kolla-build -b ubuntu -t source -n kolla --tag master --registry 127.0.0.1:4000 --push skyline

Kolla Ansible Install

kolla-ansible install

  • If kolla-ansible is not installed in the deployment environment

    cd /opt
    git clone https://github.com/openstack/kolla-ansible
    curl https://opendev.org/skyline/skyline-apiserver/src/branch/master/kolla/kolla-ansible-xxxxxxx.diff -o kolla-ansible.diff
    cd /opt/kolla-ansible
    git apply --check /opt/kolla-ansible.diff
    git apply /opt/kolla-ansible.diff
    sudo pip3 install /opt/kolla-ansible
    
  • If kolla-ansible has been installed in the deployment environment

    Get the kolla-ansible installation directory:

    KOLLA_ANSIBLE_DATA_FILES_PATH=$(python3 -c "import kolla_ansible;from pathlib import Path;print(Path(kolla_ansible.__file__).parents[4].joinpath('share/kolla-ansible'))")
    

    Install kolla-ansible patch

    curl https://opendev.org/skyline/skyline-apiserver/src/branch/master/kolla/kolla-ansible-xxxxxxx.diff -o /opt/kolla-ansible.diff
    cd ${KOLLA_ANSIBLE_DATA_FILES_PATH}
    git apply --check --include='ansible/*' /opt/kolla-ansible.diff
    git apply --include='ansible/*' /opt/kolla-ansible.diff
    

Configuration

  • If the configuration file does not exist(globals.yml/passwords.yml/all-in-one/multinode), copy the configuration files and generate passwords

    cp -r kolla-ansible/etc/kolla/* /etc/kolla
    cp kolla-ansible/ansible/inventory/* /etc/kolla
    kolla-genpwd
    
  • If the configuration file exists(globals.yml/passwords.yml/all-in-one/multinode), modify it manually

    • Edit /etc/kolla/all-in-one and /etc/kolla/multinode, add the following options

      [skyline:children]
      control
      
    • Edit /etc/kolla/passwords.yml and add the following options, then generate passwords manually or by running kolla-genpwd

      skyline_database_password:
      skyline_keystone_password:
      

Edit /etc/ansible/ansible.cfg file

[defaults]
host_key_checking=False
pipelining=True
forks=100

Edit /etc/kolla/globals.yml file, for example:

network_interface: "eth0"
neutron_external_interface: "eth1"
kolla_internal_vip_address: "192.168.10.250"
enable_skyline: "yes"
docker_registry: "127.0.0.1:4000"
docker_namespace: "kolla"
kolla_base_distro: "ubuntu"
kolla_install_type: "source"

Skyline Deployment

Note : Openstack basic modules have been installed

kolla-ansible -i ./all-in-one bootstrap-servers -t skyline
kolla-ansible -i ./all-in-one prechecks -t skyline
kolla-ansible -i ./all-in-one deploy -t skyline

FAQ

Local Repository Error "connect: Connection refused" occurred during skyline image build and skyline deployment

Edit /etc/docker/daemon.json file and Delete the following options

bridge: "none"

Restart docker service

sudo service docker restart

Run local registry

docker run -d --name registry --restart=always -p 4000:5000 -v registry:/var/lib/registry registry:2