From 3cb7945822712d2984f9ca340c4be2297ded0ac4 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Wed, 8 Apr 2015 10:19:03 +0800 Subject: [PATCH] regtest commissioning installation of os_only cento6.5 is successful going to test Ubuntu 14.04 Change-Id: Ib08cf2860ae28a219f259873fcc015442ff6fc67 --- Vagrantfile | 1 + ci/Vagrantfile | 43 ++++++++++++++++++ ci/conf/two.conf | 40 +++++++++++++++++ ci/deploy-vm.sh | 44 ++++++++++++++++++ ci/deploy.sh | 4 ++ ci/func.sh | 20 +++++++++ ci/prepare.sh | 35 +++++++++++++++ ci/setup-env.sh | 60 +++++++++++++++++++++++++ ci/test.sh | 62 ++++++++++++++++++++++---- install/group_vars/all | 30 +++++++++++-- install/roles/cobbler/tasks/RedHat.yml | 25 +++++++++-- install/roles/cobbler/vars/main.yml | 2 +- install/roles/compass/tasks/RedHat.yml | 6 +-- 13 files changed, 351 insertions(+), 21 deletions(-) create mode 100644 ci/Vagrantfile create mode 100644 ci/conf/two.conf create mode 100644 ci/deploy-vm.sh create mode 100755 ci/deploy.sh create mode 100644 ci/func.sh create mode 100644 ci/prepare.sh create mode 100644 ci/setup-env.sh diff --git a/Vagrantfile b/Vagrantfile index f64d19b..4ebd303 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -20,6 +20,7 @@ Vagrant.configure("2") do |config| domain.cpus =4 domain.nested =true domain.graphics_ip="0.0.0.0" + domain.management_network_address="192.168.200.0/24" end compass_nodocker.vm.provision "ansible" do |ansible| ansible.playbook="install/compass_nodocker.yml" diff --git a/ci/Vagrantfile b/ci/Vagrantfile new file mode 100644 index 0000000..4ebd303 --- /dev/null +++ b/ci/Vagrantfile @@ -0,0 +1,43 @@ +Vagrant.configure("2") do |config| + config.vm.define :compass_vm do |compass_vm| + compass_vm.vm.box = "precise64" + compass_vm.vm.network :private_network, :ip=>"10.1.0.11", :libvirt__dhcp_enabled=>false + compass_vm.vm.provider :libvirt do |domain| + domain.memory = 2048 + domain.cpus =2 + domain.nested =true + domain.graphics_ip="0.0.0.0" + end + compass_vm.vm.provision "ansible" do |ansible| + ansible.playbook="install/allinone_nochef.yml" + end + end + config.vm.define :compass_nodocker do |compass_nodocker| + compass_nodocker.vm.box = "centos65" + compass_nodocker.vm.network :private_network, :ip=>"10.1.0.12", :libvirt__dhcp_enabled=>false + compass_nodocker.vm.provider :libvirt do |domain| + domain.memory = 4096 + domain.cpus =4 + domain.nested =true + domain.graphics_ip="0.0.0.0" + domain.management_network_address="192.168.200.0/24" + end + compass_nodocker.vm.provision "ansible" do |ansible| + ansible.playbook="install/compass_nodocker.yml" +# ansible.tags="debug" + end + end + config.vm.define :regtest_vm do |regtest_vm| + regtest_vm.vm.box = "centos65" + regtest_vm.vm.network :private_network, :ip=>"10.1.0.253", :libvirt__dhcp_enabled=>false + regtest_vm.vm.provider :libvirt do |domain| + domain.memory = 1024 + domain.cpus = 2 + domain.nested = true + domain.graphics_ip="0.0.0.0" + end + regtest_vm.vm.provision "ansible" do |ansible| + ansible.playbook="install/regtest.yml" + end + end +end diff --git a/ci/conf/two.conf b/ci/conf/two.conf new file mode 100644 index 0000000..b923418 --- /dev/null +++ b/ci/conf/two.conf @@ -0,0 +1,40 @@ +export VIRT_NUMBER=2 +export VIRT_CPUS=4 +export VIRT_MEM=4096 +export VIRT_DISK=30G +export COMPASS_SERVER_URL="http://10.1.0.12/api" +export COMPASS_USER_EMAIL="admin@huawei.com" +export COMPASS_USER_PASSWORD="admin" +export CLUSTER_NAME="opnfv" +export LANGUAGE="EN" +export TIMEZONE="America/Los_Angeles" +export HOSTNAMES="host1,host2" +export NTP_SERVER="10.1.0.12" +export NAMESERVERS="10.1.0.12" +export DOMAIN="ods.com" +export PARTITIONS="/home=5%,/tmp=5%,/var=20%" +export SUBNETS="10.1.0.0/24,172.16.2.0/24,172.16.3.0/24,172.16.4.0/24" +export 'ADAPTER_OS_PATTERN=(?i)ubuntu-14\.04.*' +#export 'ADAPTER_OS_PATTERN=(?i)centos-6\.5.*' +export ADAPTER_NAME="os_only" +export ADAPTER_TARGET_SYSTEM_PATTERN="" +export ADAPTER_FLAVOR_PATTERN="" +export PROXY="" +export IGNORE_PROXY="" +export SEARCH_PATH="ods.com" +export GATEWAY="10.1.0.1" +export SERVER_CREDENTIAL="root" +export LOCAL_REPO_URL="" +export OS_CONFIG_FILENAME="" +export SERVICE_CREDENTIALS="service" +export CONSOLE_CREDENTIALS="console" +export HOST_NETWORKS="host1:eth0=10.1.0.100|is_mgmt,eth1=172.16.2.100,eth2=172.16.3.100,eth3=172.16.4.100;host2:eth0=10.1.0.101|is_mgmt,eth1=172.16.2.101,eth2=172.16.3.101,eth3=172.16.4.101" +export NETWORK_MAPPING="management=eth0,tenant=eth1,storage=eth3,external=eth2" +export PACKAGE_CONFIG_FILENAME="" +export HOST_ROLES="" +export DEFAULT_ROLES="" +export SWITCH_IPS="1.1.1.1" +export SWITCH_CREDENTIAL="version=2c,community=public" +export DEPLOYMENT_TIMEOUT="90" +export POLL_SWITCHES_FLAG="nopoll_switches" +export DASHBOARD_URL="" diff --git a/ci/deploy-vm.sh b/ci/deploy-vm.sh new file mode 100644 index 0000000..be536b5 --- /dev/null +++ b/ci/deploy-vm.sh @@ -0,0 +1,44 @@ +cd .. +rm -rf compass-core +git clone http://git.openstack.org/stackforge/compass-core -b dev/experimental +cd compass-core +virtualenv venv +source venv/bin/activate +pip install -e . +if [[ ! -f /var/log/compass ]]; then + sudo mkdir /var/log/compass + sudo chown -R 777 /var/log/compass +fi +if [[ ! -f /etc/compass ]]; then + sudo mkdir /etc/compass + sudo cp -rf conf/setting /etc/compass/. +fi +cp bin/switch_virtualenv.py.template bin/switch_virtualenv.py +sed -i "s|\$PythonHome|$VIRTUAL_ENV|g" bin/switch_virtualenv.py +#source ../compass-install/ci/allinone.conf +bin/client.py --logfile= --loglevel=debug --logdir= --compass_server="${COMPASS_SERVER_URL}" \ +--compass_user_email="${COMPASS_USER_EMAIL}" --compass_user_password="${COMPASS_USER_PASSWORD}" \ +--cluster_name="${CLUSTER_NAME}" --language="${LANGUAGE}" --timezone="${TIMEZONE}" \ +--hostnames="${HOSTNAMES}" --partitions="${PARTITIONS}" --subnets="${SUBNETS}" \ +--adapter_os_pattern="${ADAPTER_OS_PATTERN}" --adapter_name="${ADAPTER_NAME}" \ +--adapter_target_system_pattern="${ADAPTER_TARGET_SYSTEM_PATTERN}" \ +--adapter_flavor_pattern="${ADAPTER_FLAVOR_PATTERN}" \ +--http_proxy="${PROXY}" --https_proxy="${PROXY}" --no_proxy="${IGNORE_PROXY}" \ +--ntp_server="${NTP_SERVER}" --dns_servers="${NAMESERVERS}" --domain="${DOMAIN}" \ +--search_path="${SEARCH_PATH}" --default_gateway="${GATEWAY}" \ +--server_credential="${SERVER_CREDENTIAL}" --local_repo_url="${LOCAL_REPO_URL}" \ +--os_config_json_file="${OS_CONFIG_FILENAME}" --service_credentials="${SERVICE_CREDENTIALS}" \ +--console_credentials="${CONSOLE_CREDENTIALS}" --host_networks="${HOST_NETWORKS}" \ +--network_mapping="${NETWORK_MAPPING}" --package_config_json_file="${PACKAGE_CONFIG_FILENAME}" \ +--host_roles="${HOST_ROLES}" --default_roles="${DEFAULT_ROLES}" --switch_ips="${SWITCH_IPS}" \ +--machines=${machines//\'} --switch_credential="${SWITCH_CREDENTIAL}" \ +--deployment_timeout="${DEPLOYMENT_TIMEOUT}" --${POLL_SWITCHES_FLAG} --dashboard_url="${DASHBOARD_URL}" +tear_down_machines +#cd ../compass-install +#sudo vagrant destroy compass_nodocker +if [[ $? != 0 ]]; then + echo "deployment failed" + exit 1 +else + echo "deployment complete" +fi diff --git a/ci/deploy.sh b/ci/deploy.sh new file mode 100755 index 0000000..38498e7 --- /dev/null +++ b/ci/deploy.sh @@ -0,0 +1,4 @@ +SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) +source ${SCRIPT_DIR}/prepare.sh || exit $? +source ${SCRIPT_DIR}/setup-env.sh || exit $? +source ${SCRIPT_DIR}/deploy-vm.sh || exit $? diff --git a/ci/func.sh b/ci/func.sh new file mode 100644 index 0000000..29c2c23 --- /dev/null +++ b/ci/func.sh @@ -0,0 +1,20 @@ +function tear_down_machines() { + virtmachines=$(virsh list --name |grep pxe) + for virtmachine in $virtmachines; do + echo "destroy $virtmachine" + virsh destroy $virtmachine + if [[ "$?" != "0" ]]; then + echo "destroy instance $virtmachine failed" + exit 1 + fi + done + virtmachines=$(virsh list --all --name |grep pxe) + for virtmachine in $virtmachines; do + echo "undefine $virtmachine" + virsh undefine $virtmachine + if [[ "$?" != "0" ]]; then + echo "undefine instance $virtmachine failed" + exit 1 + fi + done +} diff --git a/ci/prepare.sh b/ci/prepare.sh new file mode 100644 index 0000000..1dc66ce --- /dev/null +++ b/ci/prepare.sh @@ -0,0 +1,35 @@ +sudo apt-get update -y +sudo apt-get install git python-pip python-dev -y +vagrant --version +if [[ $? != 0 ]]; then + vagrant_pkg_url=https://dl.bintray.com/mitchellh/vagrant/vagrant_1.7.2_x86_64.deb + wget ${vagrant_pkg_url} + sudo dpkg -i $(basename ${vagrant_pkg_url}) +else + echo "vagrant is already installed" +fi +sudo apt-get install libxslt-dev libxml2-dev libvirt-dev build-essential qemu-utils qemu-kvm libvirt-bin virtinst -y +sudo service libvirt-bin restart + +for plugin in vagrant-libvirt vagrant-mutate; do + vagrant plugin list |grep $plugin + if [[ $? != 0 ]]; then + vagrant plugin install $plugin + else + echo "$plugin plugin is already installed" + fi +done + +#precise_box_vb_url=https://cloud-images.ubuntu.com/vagrant/precise/current/precise-server-cloudimg-amd64-vagrant-disk1.box +#precise_box_vb_filename=$(basename ${precise_box_vb_url}) +centos65_box_vb_url=https://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.5-x86_64-v20140504.box +centos65_box_vb_filename=$(basename ${centos65_box_vb_url}) +#wget ${precise_box_vb_url} +vagrant box list |grep centos65 +if [[ $? != 0 ]]; then + wget ${centos65_box_vb_url} + mv ${centos65_box_vb_filename} centos65.box + vagrant mutate centos65.box libvirt +else + echo "centos65 box already exists" +fi diff --git a/ci/setup-env.sh b/ci/setup-env.sh new file mode 100644 index 0000000..d3613b8 --- /dev/null +++ b/ci/setup-env.sh @@ -0,0 +1,60 @@ +#rm -rf compass-install +#git clone http://git.openstack.org/stackforge/compass-install +#cd compass-install + +function join { local IFS="$1"; shift; echo "$*"; } +source ${SCRIPT_DIR}/conf/two.conf +source ${SCRIPT_DIR}/func.sh +if [[ ! -z $VIRT_NUMBER ]]; then + mac_array=$(${SCRIPT_DIR}/mac_generator.sh $VIRT_NUMBER) + mac_list=$(join , $mac_array) + echo "pxe_boot_macs: [${mac_list}]" >> ${SCRIPT_DIR}/../install/group_vars/all + echo "test: true" >> ${SCRIPT_DIR}/../install/group_vars/all +fi +virsh list |grep compass_nodocker +if [[ $? != 0 ]]; then + sudo vagrant up compass_nodocker +else + sudo vagrant provision compass_nodocker +fi +if [[ $? != 0 ]]; then + echo "installation of compass failed" + sudo vagrant destroy compass_nodocker + exit 1 +fi +echo "compass is up" + +tear_down_machines +if [[ -n $mac_array ]]; then + echo "bringing up pxe boot vms" + i=0 + for mac in $mac_array; do + echo "creating vm disk for instance pxe${i}" + sudo qemu-img create -f raw /home/pxe${i}.raw ${VIRT_DISK} + sudo virt-install --accelerate --hvm --connect qemu:///system \ + --name pxe$i --ram=$VIRT_MEM --pxe --disk /home/pxe$i.raw,format=raw \ + --vcpus=$VIRT_CPUS --graphics vnc,listen=0.0.0.0 \ + --network=bridge:virbr2,mac=$mac \ + --network=bridge:virbr2 \ + --network=bridge:virbr2 \ + --network=bridge:virbr2 \ + --noautoconsole --autostart --os-type=linux --os-variant=rhel6 + if [[ $? != 0 ]]; then + echo "launching pxe${i} failed" + exit 1 + fi + echo "checking pxe${i} state" + state=$(virsh domstate pxe${i}) + if [[ "$state" == "running" ]]; then + echo "pxe${i} is running" + sudo virsh destroy pxe${i} + fi + echo "add network boot option and make pxe${i} reboot if failing" + sudo sed -i "// a\ " /etc/libvirt/qemu/pxe${i}.xml + sudo sed -i "// a\ " /etc/libvirt/qemu/pxe${i}.xml + sudo virsh define /etc/libvirt/qemu/pxe${i}.xml + sudo virsh start pxe${i} + let i=i+1 + done +fi +machines=${mac_list} diff --git a/ci/test.sh b/ci/test.sh index 4a2c53c..71c2fde 100644 --- a/ci/test.sh +++ b/ci/test.sh @@ -43,6 +43,15 @@ if [[ -n $mac_array ]] echo "bringing up pxe boot vms" i=0 for mac in "$mac_array"; do + virsh list |grep pxe${i} + if [[ $? == 0 ]]; then + virsh destroy pxe${i} + virsh undefine pxe${i} + fi + virsh list --all |grep pxe${i} + if [[ $? == 0 ]]; then + virsh undefine pxe${i} + fi echo "creating vm disk for instance pxe${i}" sudo qemu-img create -f raw /home/pxe${i}.raw ${VIRT_DISK} sudo virt-install --accelerate --hvm --connect qemu:///system \ @@ -66,18 +75,53 @@ if [[ -n $mac_array ]] echo "add network boot option and make pxe${i} reboot if failing" sudo sed -i "// a\ " /etc/libvirt/qemu/pxe${i}.xml sudo sed -i "// a\ " /etc/libvirt/qemu/pxe${i}.xml - sudo virsh define pxe${i} + sudo virsh define /etc/libvirt/qemu/pxe${i}.xml sudo virsh start pxe${i} let i=i+1 done fi -sudo vagrant up regtest_vm -if [[ $? != 0 ]]; then - sudo vagrant provision regtest_vm - if [[ $? != 0 ]]; then - echo "deployment of cluster failed" - exit 1 - fi +rm -rf compass-core +git clone http://git.openstack.org/stackforge/compass-core -b dev/experimental +cd compass-core +virtualenv venv +source venv/bin/activate +pip install -e . +if [[ ! -f /var/log/compass ]]; then + sudo mkdir /var/log/compass + sudo chown -R 777 /var/log/compass fi -echo "deployment of cluster complete" +if [[ ! -f /etc/compass ]]; then + sudo mkdir /etc/compass + sudo cp -rf conf/setting /etc/compass/. +fi +cp bin/switch_virtualenv.py.template bin/switch_virtualenv.py +sed -i "s|\$PythonHome|$VIRTUAL_ENV|g" /opt/compass/bin/switch_virtualenv.py +source ../compass-install/ci/allinone.conf +bin/client.py --logfile= --loglevel=debug --logdir= --compass_server="${COMPASS_SERVER_URL}" \ +--compass_user_email="${COMPASS_USER_EMAIL}" --compass_user_password="${COMPASS_USER_PASSWORD}" \ +--cluster_name="${CLUSTER_NAME}" --language="${LANGUAGE}" --timezone="${TIMEZONE}" \ +--hostnames="${HOSTNAMES}" --partitions="${PARTITIONS}" --subnets="${SUBNETS}" \ +--adapter_os_pattern="${ADAPTER_OS_PATTERN}" --adapter_name="${ADAPTER_NAME}" \ +--adapter_target_system_pattern="${ADAPTER_TARGET_SYSTEM_PATTERN}" \ +--adapter_flavor_pattern="${ADAPTER_FLAVOR_PATTERN}" \ +--http_proxy="${PROXY}" --https_proxy="${PROXY}" --no_proxy="${IGNORE_PROXY}" \ +--ntp_server="${NTP_SERVER}" --dns_servers="${NAMESERVERS}" --domain="${DOMAIN}" \ +--search_path="${SEARCH_PATH}" --default_gateway="${GATEWAY}" \ +--server_credential="${SERVER_CREDENTIAL}" --local_repo_url="${LOCAL_REPO_URL}" \ +--os_config_json_file="${OS_CONFIG_FILENAME}" --service_credentials="${SERVICE_CREDENTIALS}" \ +--console_credentials="${CONSOLE_CREDENTIALS}" --host_networks="${HOST_NETWORKS}" \ +--network_mapping="${NETWORK_MAPPING}" --package_config_json_file="${PACKAGE_CONFIG_FILENAME}" \ +--host_roles="${HOST_ROLES}" --default_roles="${DEFAULT_ROLES}" --switch_ips="${SWITCH_IPS}" \ +--machines="${machines}" --switch_credential="${SWITCH_CREDENTIAL}" \ +--deployment_timeout="${DEPLOYMENT_TIMEOUT}" --${POLL_SWITCHES_FLAG} --dashboard_url="${DASHBOARD_URL}" +#sudo vagrant up regtest_vm +#if [[ $? != 0 ]]; then +# sudo vagrant provision regtest_vm +# if [[ $? != 0 ]]; then +# echo "deployment of cluster failed" +# exit 1 +# fi +#fi +#echo "deployment of cluster complete" + diff --git a/install/group_vars/all b/install/group_vars/all index 7416017..8b264df 100644 --- a/install/group_vars/all +++ b/install/group_vars/all @@ -147,14 +147,26 @@ distros: name: "Ubuntu-14.04-x86_64", iso_us_url: "https://s3-us-west-1.amazonaws.com/compass-local-repo/ubuntu/14.04/Ubuntu-14.04-x86_64.iso", ppa_us_url: "https://s3-us-west-1.amazonaws.com/compass-local-repo/ubuntu/14.04/ubuntu_14_04_ppa_repo.tar.gz", - iso_lab_url: "http://192.168.110.2/cobbler/iso/ubuntu/Ubuntu-14.04-x86_64.iso", - ppa_lab_url: "http://192.168.110.2/cobbler/ppa_repo/ubuntu_14_04_ppa_repo.tar.gz", + iso_lab_url: "http://192.168.120.2/cobbler/iso/ubuntu/Ubuntu-14.04-x86_64.iso", + ppa_lab_url: "http://192.168.120.2/cobbler/ppa_repo/ubuntu_14_04_ppa_repo.tar.gz", ppa_repo_name: "ubuntu_14_04_ppa_repo", breed: "ubuntu", kickstart: "default.seed", kopts: "netcfg/choose_interface=auto" } + - { + name: "CentOS-6.5-x86_64", + iso_us_url: "https://s3-us-west-1.amazonaws.com/compass-local-repo/centos/6.5/CentOS-6.5-x86_64.iso", + ppa_us_url: "https://s3-us-west-1.amazonaws.com/compass-local-repo/centos/6.5/centos_6_5_ppa_repo.tar.gz", + iso_lab_url: "http://192.168.120.2/cobbler/iso/centos/CentOS-6.5-x86_64.iso", + ppa_lab_url: "http://192.168.120.2/cobbler/ppa_repo/centos_6_5_ppa_repo.tar.gz", + ppa_repo_name: "centos_6_5_ppa_repo", + breed: "redhat", + kickstart: "default.ks", + kopts: "" + } + ## volume mapping for cobbler ## # mount point for isos on cobbler host @@ -205,9 +217,19 @@ atomic_file_name: atomic-release-1.0-19.el6.art.noarch.rpm atomic_base_url: http://www6.atomicorp.com/channels/atomic/centos/6/x86_64/RPMS/ # pxe boot macs -pxe_boot_macs: ['00:00:37:ed:95:4e', '00:00:79:ad:ce:6b', '00:00:0a:f6:6e:d7'] -test: true +#pxe_boot_macs: ['00:00:37:ed:95:4e', '00:00:79:ad:ce:6b', '00:00:0a:f6:6e:d7'] +#test: true # the key to be authorized on pxe boot machines so passwordless login can be # done from the machine where you grab the key. push_ssh_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDUuKnIXwxS9w+Rxb4+CL3iqNQXB+kriQyr89YeLg5X7B0h+r91okw2bgodVvoynH8n7d7afHYew4KH7pMc5a3QMf/gwhhnlfoeyimQg0IOTQ6pvNxifRi5IN9xa3mB3kL9/xVmfo9rUE6ZZ4dNQ91As706SLBzEJWUuICT7fFJqCqHbxNT9aO//TWcoJJH+d+GLfLagyfVxBHb8DcoNSKTq1rFjZCFVs9pg6aO0d6Z3FcyICxOaacsAoRZOsx8+2WsHaZRk6udbqZJHt7LBs9Bc38+YCRhc31Q2jyrm37xT3QchRl4sihqq38N03cTYBksuRfV1dJaso9MUQapa/Lv root@host-1" +pxe_boot_macs: ['00:00:3a:52:a0:02','00:00:06:e0:08:54'] +test: true +pxe_boot_macs: ['00:00:5b:61:07:1f','00:00:b9:ae:f7:d1'] +test: true +pxe_boot_macs: ['00:00:d9:0b:2f:ba','00:00:da:39:7f:58'] +test: true +pxe_boot_macs: ['00:00:d3:8e:8b:d2','00:00:ac:29:c5:98'] +test: true +pxe_boot_macs: ['00:00:1d:46:1e:6e','00:00:99:f1:c2:ac'] +test: true diff --git a/install/roles/cobbler/tasks/RedHat.yml b/install/roles/cobbler/tasks/RedHat.yml index 3cea5fc..ef7ad39 100644 --- a/install/roles/cobbler/tasks/RedHat.yml +++ b/install/roles/cobbler/tasks/RedHat.yml @@ -101,8 +101,8 @@ git: repo={{ compass_adapter_source }} dest=/opt/compass-adapters version={{ compass_adapter_version }} - update=no -# force=yes + update=yes + force=yes - name: remove old cobbler folders shell: rm -rf path=/var/lib/cobbler/{{ item }} @@ -145,6 +145,9 @@ - name: disable selinux real time command: echo 0 > /selinux/enforce +- name: clean cobbler log folder + file: path=/var/log/cobbler state=absent + - name: create cobbler log directories file: path={{ item }} mode=0777 state=directory recurse=yes with_items: @@ -201,6 +204,13 @@ ignore_errors: yes run_once: True +- name: remove ubuntu default repo + command: cobbler repo remove --name {{ item }} + with_items: + - "{{ ubuntu }}" + - "{{ ubuntu_1404 }}" + ignore_errors: yes + - name: cobbler repo sync command: cobbler reposync @@ -296,7 +306,16 @@ service: name=xinetd state=restarted - name: restart dhcpd - service: name=dhcpd state=restarted + service: name=dhcpd state=restarted enabled=yes - name: cobbler check shell: cobbler check + +- name: get all systems + shell: cobbler system list + register: cobbler_systems + +- name: remove all systems + shell: cobbler system remove --name {{ item }} + with_items: cobbler_systems.stdout_lines + when: cobbler_systems and test is defined and test == True diff --git a/install/roles/cobbler/vars/main.yml b/install/roles/cobbler/vars/main.yml index 72a5c82..d25e134 100644 --- a/install/roles/cobbler/vars/main.yml +++ b/install/roles/cobbler/vars/main.yml @@ -4,7 +4,7 @@ compass_adapter_version: dev/experimental epel_file_name: epel-release-6-8.noarch.rpm epel_base_url: http://download.fedoraproject.org/pub/epel/6/x86_64/ epel7_base_url: http://download.fedoraproject.org/pub/epel/7/x86_64/e/ -cobbler_loaders_url: http://192.168.110.2/cobbler/loaders/loaders.tar.gz +cobbler_loaders_url: http://192.168.120.2/cobbler/loaders/loaders.tar.gz ubuntu_14_04_ppa_repo_url: https://s3-us-west-1.amazonaws.com/compass-local-repo/ubuntu/14.04/ubuntu_14_04_ppa_repo.tar.gz ubuntu_12_04_ppa_repo_url: https://s3-us-west-1.amazonaws.com/compass-local-repo/ubuntu/12.04/ubuntu_12_04_ppa_repo.tar.gz centos_6_5_ppa_repo_url: https://s3-us-west-1.amazonaws.com/compass-local-repo/centos/6.5/centos_6_5_ppa_repo.tar.gz diff --git a/install/roles/compass/tasks/RedHat.yml b/install/roles/compass/tasks/RedHat.yml index 91c65f8..afedd63 100644 --- a/install/roles/compass/tasks/RedHat.yml +++ b/install/roles/compass/tasks/RedHat.yml @@ -79,7 +79,7 @@ easy_install: name=pip - name: install virtualenv - pip: name=virtualenv + pip: name=virtualenv extra_args='-i http://pypi.douban.com/simple/' - name: cloning compass-core git: repo=http://git.openstack.org/stackforge/compass-core.git @@ -89,6 +89,7 @@ - name: pip install compass into virtualenv pip: name={{ COMPASS_PATH }} virtualenv={{ COMPASS_PATH }}/venv + extra_args='-i http://pypi.douban.com/simple/' - name: create compass directories file: path={{ item }} state=directory @@ -136,9 +137,6 @@ - name: change file mode file: path=/etc/profile.d/celery_env.sh mode=0755 -- name: pip install compass into virtualenv - pip: name={{ COMPASS_PATH }} virtualenv={{ COMPASS_PATH }}/venv - - name: add compass setting template: src=compass.setting.j2 dest=/etc/compass/setting notify: