Skip to content
Snippets Groups Projects
Commit 650d8f7a authored by Weiting Zhang's avatar Weiting Zhang
Browse files

Merge remote-tracking branch 'origin/master'

parents f2de64b3 5a9a87c4
No related branches found
No related tags found
No related merge requests found
# translating the commands that put in command line into Ansible playbook
- name: Uninstall old version of docker
tags: 'docker'
become: yes
apt:
name: ['docker', 'docker-engine', 'docker.io']
state: absent
- name: Install dependencies
tags: 'docker'
become: yes
apt:
name: ['apt-transport-https', 'ca-certificates', 'curl', 'python-setuptools', 'software-properties-common']
state: latest
install_recommends: no
update_cache: yes
- name: Add docker apt repository key
tags: 'docker'
become: yes
apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
state: present
- name: add docker apt repository and update apt cache
tags: 'docker'
become: yes
apt_repository:
repo: "deb https://download.docker.com/linux/{{ ansible_distribution|lower }} {{ ansible_distribution_release }}"
mode: '644'
update_cache: yes
state: present
- name: Install docker
tags: 'docker'
become: yes
apt:
name: ['docker']
state: latest
install_recommends: no
update_cache: yes
- name: Install docker-compose
tags: 'docker'
become: yes
pip:
name: ['docker-compose']
version: 1.22.0
state: present
- name: Install dependencies
tags: 'volumes'
become: yes
apt:
name: ['xfsprogs']
state: latest
install_recommends: no
update_cache: yes
# to formate the device
- name: Make file system
tags: 'volumes'
filesystem:
fstype: xfs
dev: "{{ item.device }}"
when: item.device is defined
with_items:
- "{{ volumes }}"
# check if the mounting point exists
- name: Checking folders
tags: 'volumes'
become: yes
stat:
path: "{{ item.mountpoint }}"
register: directory_stats
with_items:
- "{{ volumes }}"
# if the mounting point does not exit in the last step, we create a mounting point for it
- name: Create directory
tags: 'volumes'
become: yes
file:
path: "{{ item.item.mountpoint }}"
recurse: yes
state: directory
when: item.stat.exists == false
with_items:
- "{{ directory_stat.results }}"
# mount the volume to the instance
- name: Mount device
tags: 'volumes'
become: yes
mount:
path: "{{ item.mountpoint }}"
src: "{{ item.device }}"
fstype: xfs
state: mounted
when: item.device is defined
with_items:
- "{{ volumes }}"
#!/bin/bash
. ./unimelb-comp90024-group-69-openrc.sh; ansible-playbook -i hosts -u ubuntu --key-file=~/deployment_key.txt nectar.yaml
#!/usr/bin/env bash
# To use an OpenStack cloud you need to authenticate against the Identity
# service named keystone, which returns a **Token** and **Service Catalog**.
# The catalog contains the endpoints for all services the user/tenant has
# access to - such as Compute, Image Service, Identity, Object Storage, Block
# Storage, and Networking (code-named nova, glance, keystone, swift,
# cinder, and neutron).
#
# *NOTE*: Using the 3 *Identity API* does not necessarily mean any other
# OpenStack API is version 3. For example, your cloud provider may implement
# Image API v1.1, Block Storage API v2, and Compute API v2.0. OS_AUTH_URL is
# only for the Identity API served through keystone.
export OS_AUTH_URL=https://keystone.rc.nectar.org.au:5000/v3/
# With the addition of Keystone we have standardized on the term **project**
# as the entity that owns the resources.
export OS_PROJECT_ID=dee2d1529c81423fa20cea727c20d0fb
export OS_PROJECT_NAME="unimelb-comp90024-group-69"
export OS_USER_DOMAIN_NAME="Default"
if [ -z "$OS_USER_DOMAIN_NAME" ]; then unset OS_USER_DOMAIN_NAME; fi
export OS_PROJECT_DOMAIN_ID="default"
if [ -z "$OS_PROJECT_DOMAIN_ID" ]; then unset OS_PROJECT_DOMAIN_ID; fi
# unset v2.0 items in case set
unset OS_TENANT_ID
unset OS_TENANT_NAME
# In addition to the owning entity (tenant), OpenStack stores the entity
# performing the action as the **user**.
export OS_USERNAME="weiting.zhang1@student.unimelb.edu.au"
# With Keystone you pass the keystone password.
echo "Please enter your OpenStack Password for project $OS_PROJECT_NAME as user $OS_USERNAME: "
read -sr OS_PASSWORD_INPUT
export OS_PASSWORD=$OS_PASSWORD_INPUT
# If your configuration has multiple regions, we set that information here.
# OS_REGION_NAME is optional and only valid in certain environments.
export OS_REGION_NAME="Melbourne"
# Don't leave a blank variable, unset it if it was empty
if [ -z "$OS_REGION_NAME" ]; then unset OS_REGION_NAME; fi
export OS_INTERFACE=public
export OS_IDENTITY_API_VERSION=3
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment