Instantly share code, notes, and snippets.

Embed
What would you like to do?
Notes from tripleo-quickstart bootcamp session

ooo-quickstart

All in one(single physical node deployment)

adduser NON-ROOT-USER -G wheel
passwd NON-ROOT-USER

# login as NON-ROOT-USER
ssh-keygen
export VIRTHOST=127.0.0.2
ssh-copy-id root@$VIRTHOST
ssh root@$VIRTHOST uname -a
git clone https://github.com/openstack/tripleo-quickstart.git 
# commit hash 0a5dc8de8df3ddbf1886b8416b55464b0910c7ba
    
git clone https://github.com/openstack/tripleo-heat-templates.git
cd tripleo-quickstart
    
# Install deps
./quickstart.sh --install-deps

1-ctrl, 1-compute + pacemaker

# Worked!
./quickstart.sh --config config/general_config/pacemaker.yml  \
    			  --teardown all \
    			  --tags all \
    			  --clean \
    			  --release ocata $VIRTHOST

3-ctrl, 1-compute + pacemaker(OCATA)

./quickstart.sh --config config/general_config/pacemaker.yml \
-N config/nodes/3ctlr_1comp.yml \
--teardown all \
--tags all \
--clean \
--release ocata $VIRTHOST

Note the selecting any release other that newton will disable telemetry. To enable telemetry remove following lines from pacemaker.yml. I usually save file as pacemaker-enable-telemetry.yml

# This config is extremely resource intensive, so we disable telemetry
# in order to reduce the overall memory footprint
# This is not required in newton
telemetry_args: >-
  {% if release != 'newton' %}
  -e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml
  {% endif %}

3-ctrl,3-comp + pacemaker + telemetry(tripleo-quickstart d5d7218fa18d92160e4bfbf79e3c1d86332742e0)(PIKE)

./quickstart.sh --config config/general_config/pacemaker-enable-telemetry.yml \
-N config/nodes/3ctlr_3comp.yml \
--teardown all \
--tags all \
--clean \
--release pike $VIRTHOST

Below is NOT A PART of “one shot deployment”

  • Overcloud deployment
    # As NON-ROOT user
    ssh -F ~/.quickstart/ssh.config.ansible undercloud
    
    # on undercloud
    . stackrc
    openstack overcloud image upload
    openstack overcloud node import --introspect --provide instackenv.json
    openstack subnet list
    openstack subnet set <subnet-uuid> --dns-nameserver <nameserver-ip>
    openstack overcloud deploy --templates
        
  • FAQs
    • get-image issue
    # For get-image issue, you may need to download .qcow image manually and create md5sum(This is optional)
    # Download/copy image to /var/cache/tripleo-quickstart/images/
    # Assuming image name is 5886d540fb37110c0d6234ee34648794.qcow2, create md5sum
    cd /var/cache/tripleo-quickstart/images/
    md5sum 5886d540fb37110c0d6234ee34648794.qcow2 > 5886d540fb37110c0d6234ee34648794.qcow2.md5
    
    # Install deps
    ./quickstart.sh --install-deps
    # Specify image path when running quickstart.sh
    ./quickstart.sh -R master-tripleo-ci -e undercloud_image_url="file:///var/cache/tripleo-quickstart/images/5886d540fb37110c0d6234ee34648794.qcow2" $VIRTHOST
        
  • Custom templates
    • mycustomization/3ctlr_1comp.yml
    $ cat mycustomization/3ctlr_1comp.yml
    # Deploy an HA openstack environment.
    #
    # This will require (6144 * 4) == approx. 24GB for the overcloud
    # nodes, plus another 8GB for the undercloud, for a total of around
    # 32GB.
    control_memory: 6144
    compute_memory: 6144
    
    undercloud_memory: 7168
    
    # Giving the undercloud additional CPUs can greatly improve heat's
    # performance (and result in a shorter deploy time).
    undercloud_vcpu: 4
    
    # Since HA has more machines, we set the cpu for controllers and
    # compute nodes to 1
    default_vcpu: 1
    
    node_count: 4
    
    # Create three controller nodes and one compute node.
    overcloud_nodes:
     - name: control_0
        flavor: control
        virtualbmc_port: 6230
    
     - name: control_1
        flavor: control
        virtualbmc_port: 6231
    
     - name: control_2
        flavor: control
        virtualbmc_port: 6232
    
     - name: compute_0
        flavor: compute
        virtualbmc_port: 6233
    
    # Tell tripleo which nodes to deploy.
    topology: >-
     --control-scale 3
    
    network_isolation: true
    network_isolation_type: 'single-nic-vlans'
        
    • custom.yaml
      # custom.yaml
      parameter_defaults:
       ControlPlaneDefaultRoute: 192.168.1.1
       EC2MetadataIp: 169.254.169.254
              

    Using template

    # from undercloud
    export TRIPLEO_ROOT="/usr/share/openstack-tripleo-heat-templates"
    openstack overcloud deploy --templates=$TRIPLEO_ROOT \
       		-e $TRIPLEO_ROOT/environments/network-isolation.yaml \
       		-e $TRIPLEO_ROOT/environments/net-single-nic-with-vlans.yaml \
       		-e mytemplates/custom.yaml
        
@psachin

This comment has been minimized.

Owner

psachin commented Sep 6, 2017

@psachin

This comment has been minimized.

Owner

psachin commented Sep 11, 2017

Test autoscaling of compute instances

I was not able to deploy telemetry with 3 ctrl and 1 compute(due to h/w resource constraints) instead I used 1 ctrl and 1 compute using,

./quickstart.sh --config config/general_config/pacemaker-enable-telemetry.yml \
-N config/nodes/1ctlr_1comp.yml \
--teardown all \
--tags all \
--clean \
--release ocata $VIRTHOST

Update(Oct 03, 2017): master-tripleo-ci release works fine too.

./quickstart.sh --config config/general_config/pacemaker-enable-telemetry.yml \
-N config/nodes/1ctlr_1comp.yml \
--teardown all \
--tags all \
--clean \
--release master-tripleo-ci $VIRTHOST

Follow https://gist.github.com/psachin/f0724c80c6f8aaf5fe507a485f0e8e29 to test autoscale compute instance

@psachin

This comment has been minimized.

Owner

psachin commented Oct 4, 2017

@psachin

This comment has been minimized.

Owner

psachin commented Nov 30, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment