Skip to content

Instantly share code, notes, and snippets.

@liveaverage
Last active March 26, 2020 12:49
Show Gist options
  • Save liveaverage/f441d66ade4d3fd649bbf890a5553d09 to your computer and use it in GitHub Desktop.
Save liveaverage/f441d66ade4d3fd649bbf890a5553d09 to your computer and use it in GitHub Desktop.
Quick steps for lab provisioning of OCP4.2 on OSP13
source overcloudrc
openstack network create --provider-network-type flat --provider-physical-network datacentre public --external --share
openstack subnet create --no-dhcp --gateway 172.16.0.1 --subnet-range 172.16.0.0/24 --allocation-pool start=172.16.0.50,end=172.16.0.90 --network public public_subnet
openstack floating ip create --floating-ip-address 172.16.0.70 public
openstack flavor create --ram 16384 --disk 20 --vcpu 8 --public m1.xlarge
openstack flavor create --ram 10240 --disk 20 --vcpu 4 --public m1.large
curl --compressed --insecure https://192.168.122.2/rhcos-42.80.20190725.1-openstack.qcow2 -O
openstack image create rhcos --container-format bare --disk-format qcow2 --public --file rhcos-*.qcow2
openstack project create openshift
openstack quota set --ram -1 --cores -1 openshift
openstack user create --password 'r3dh4t1!' openshift_admin
openstack role add --project openshift --user openshift_admin admin
openstack role add --user openshift_admin --project openshift swiftoperator
## Create OCPrc
cat > openshiftrc <<\EOF
for key in $( set | awk '{FS="="} /^OS_/ {print $1}' ); do unset $key ; done
export OS_NO_CACHE=True
export COMPUTE_API_VERSION=1.1
export OS_USERNAME=openshift_admin
export no_proxy=,172.16.0.102,172.16.0.102
export OS_USER_DOMAIN_NAME=Default
export OS_VOLUME_API_VERSION=3
export OS_CLOUDNAME=openshift
export OS_AUTH_URL=http://172.16.0.102:5000//v3
export NOVA_VERSION=1.1
export OS_IMAGE_API_VERSION=2
export OS_PASSWORD=r3dh4t1!
export OS_PROJECT_DOMAIN_NAME=Default
export OS_IDENTITY_API_VERSION=3
export OS_PROJECT_NAME=openshift
export OS_AUTH_TYPE=password
export PYTHONWARNINGS="ignore:Certificate has no, ignore:A true SSLContext object is not available"
# Add OS_CLOUDNAME to PS1
if [ -z "${CLOUDPROMPT_ENABLED:-}" ]; then
export PS1=${PS1:-""}
export PS1=${OS_CLOUDNAME:+"($OS_CLOUDNAME)"}\ $PS1
export CLOUDPROMPT_ENABLED=1
fi
EOF
# Test it
source openshiftrc
openstack network list
# Configure openshift OSP project
openstack object store account set --property Temp-URL-Key=RHTETempKey
openstack object store account show
mkdir openshift
cd openshift
curl -k -O https://192.168.122.2/openshift-install.tar.gz
sudo tar xvfz openshift-install.tar.gz -C /usr/bin/
openshift-install version
# Prepare for install with IPI:
export PROJID=$(openstack project show openshift -c id -f value)
cat > clouds.yaml <<EOF
clouds:
openstack:
auth:
auth_url: http://172.16.0.102:5000/v3
project_name: openshift
username: openshift_admin
password: r3dh4t1!
user_domain_name: Default
project_domain_name: Default
project_id: $PROJID
EOF
### Interactive:
openshift-install create install-config --dir rhte
### Confirm install-config.yaml and drop replica count for control/compute:
cat ./rhte/install-config.yaml
sed -i 's/replicas: 3/replicas: 1/' ./rhte/install-config.yaml
sed -i '6s/.*/ platform: {"openstack": {"type": "m1.large"}}/' ./rhte/install-config.yaml
cat ./rhte/install-config.yaml
openshift-install create ignition-configs --dir rhte
openshift-install create manifests --dir ./rhte
ls ./rhte/manifests/
### Kickoff install:
time openshift-install --log-level=debug create cluster --dir rhte
### Tunnel with sshuttle for full experience (update with cluster ID):
sshuttle --dns -r [email protected] 172.16.0.1/24 192.168.122.0 --to-ns=192.168.122.3
### Horizon:
http://172.16.0.102/dashboard
U: openshift_admin
P: r3dh4t1!
### OCP4 Console:
https://console-openshift-console.apps.rhte.example.com
U: kubeadmin
P: 58HIL-hMUH7-3zNoZ-2x4AN
### Scale Up:
oc get machinesets -n openshift-machine-api | grep -i rhte | awk '{system("oc scale machinesets " $1 " --replicas=2 -n openshift-machine-api")}'
### Scale Down:
oc get machinesets -n openshift-machine-api | grep -i rhte | awk '{system("oc scale machinesets " $1 " --replicas=1 -n openshift-machine-api")}'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment