diff --git a/ansible/roles/tsg-os-provision-condition/files/service_add_ConditionPathExists.conf b/ansible/roles/tsg-os-provision-condition/files/service_add_ConditionPathExists.conf new file mode 100644 index 00000000..ef19434e --- /dev/null +++ b/ansible/roles/tsg-os-provision-condition/files/service_add_ConditionPathExists.conf @@ -0,0 +1,2 @@ +[Unit] +ConditionPathExists=/data/tsg-os-provision/.provision_succeeded diff --git a/ansible/roles/tsg-os-provision-condition/tasks/main.yml b/ansible/roles/tsg-os-provision-condition/tasks/main.yml new file mode 100644 index 00000000..7d9bd5ec --- /dev/null +++ b/ansible/roles/tsg-os-provision-condition/tasks/main.yml @@ -0,0 +1,47 @@ +- name: "add condition into service depend provision result - TSG9140" + copy: + src: "{{ role_path }}/files/service_add_ConditionPathExists.conf" + dest: "/usr/lib/systemd/system/{{ item }}.service.d/" + mode: 0644 + with_items: + - cert-redis + - certstore + - mrapm_device + - mrapm_stream + - mrenv + - mrzcpd + - sapp + - telegraf_statistic + - tfe-env + - tfe + when: PROFILE_ID == '9000-NPB-P01R01' + +- name: "add condition into service depend provision result TSG7400 MCN0" + copy: + src: "{{ role_path }}/files/service_add_ConditionPathExists.conf" + dest: "/usr/lib/systemd/system/{{ item }}.service.d/" + mode: 0644 + with_items: + - cert-redis + - certstore + - mrapm_device + - mrapm_stream + - mrenv + - mrzcpd + - sapp + - telegraf_statistic + when: PROFILE_ID == '7400-MCN0-P01R01' + +- name: "add condition into service depend provision result TSG7400 MCN0" + copy: + src: "{{ role_path }}/files/service_add_ConditionPathExists.conf" + dest: "/usr/lib/systemd/system/{{ item }}.service.d/" + mode: 0644 + with_items: + - mrapm_device + - mrapm_stream + - mrenv + - mrzcpd + - tfe-env + - tfe + when: PROFILE_ID == '7400-MCN123-P01R01' diff --git a/ansible/roles/tsg-os-provision/files/script/provision.sh b/ansible/roles/tsg-os-provision/files/script/provision.sh index 1a513d8e..093d5f17 100644 --- a/ansible/roles/tsg-os-provision/files/script/provision.sh +++ b/ansible/roles/tsg-os-provision/files/script/provision.sh @@ -5,31 +5,28 @@ config_path=/data/tsg-os-provision/provision.yml snapshot_config_path=/data/tsg-os-provision/provision.yml.snapshot hosts_path=/opt/tsg/tsg-os-provision/hosts provision_path=/opt/tsg/tsg-os-provision/tasks/provision.yml -version_file_path=/usr/lib/os-release -present_version_file_path=/data/tsg-os-provision/.os-release.present convertor_script_path=/opt/tsg/tsg-os-provision/scripts/convertor.sh +succ_sign_file=/data/tsg-os-provision/.provision_succeeded + +execute_provision_del_succ_sign(){ + rm -rf ${succ_sign_file} +} + execute_provision_convert_action(){ /opt/tsg/tsg-os-provision/scripts/convertor.sh } execute_provision_action(){ ansible-playbook -i ${hosts_path} ${provision_path} -e "enable_config_apply=${enable_config_apply}" - cp ${config_path} ${snapshot_config_path} -r - cp ${version_file_path} ${present_version_file_path} -r + cp ${config_path} ${snapshot_config_path} -r } -#if [ ! -f "$present_version_file_path" ];then -# execute_provision_action -# exit 0 -#fi +execute_provision_add_succ_sign(){ + touch ${succ_sign_file} +} -#md5_version_file=`md5sum $version_file_path | awk '{print $1}'` -#md5_present_version_file=`md5sum $present_version_file_path | awk '{print $1}'` - -#if [ "$md5_version_file" != "$md5_present_version_file" ];then -# execute_provision_action -# exit 0 -#fi +execute_provision_del_succ_sign execute_provision_convert_action -execute_provision_action \ No newline at end of file +execute_provision_action +execute_provision_add_succ_sign \ No newline at end of file diff --git a/ansible/roles/tsg-os-provision/files/service/tsg-os-provision-guard.service.TSG9140 b/ansible/roles/tsg-os-provision/files/service/tsg-os-provision-guard.service.TSG9140 deleted file mode 100644 index fdbb998a..00000000 --- a/ansible/roles/tsg-os-provision/files/service/tsg-os-provision-guard.service.TSG9140 +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Tsg os provision guard - -[Service] -ExecStart=/bin/sh -c "/opt/tsg/tsg-os-provision/scripts/guard.sh" -Type=oneshot -RemainAfterExit=yes - -[Install] -RequiredBy=workload-pre.target tfe-env.service mrenv.service certstore.service telegraf_statistic.service cert-redis.service diff --git a/ansible/roles/tsg-os-provision/files/tasks/provision.yml.9000NPBP01R01 b/ansible/roles/tsg-os-provision/files/tasks/provision.yml.9000NPBP01R01 index 53e82385..57fb6aeb 100644 --- a/ansible/roles/tsg-os-provision/files/tasks/provision.yml.9000NPBP01R01 +++ b/ansible/roles/tsg-os-provision/files/tasks/provision.yml.9000NPBP01R01 @@ -158,12 +158,6 @@ src: /data/tsg-os-provision/provision.yml dest: /data/tsg-os-provision/provision.yml.snapshot - - name: "tsg-os-provision: restart tsg-os-provision-guard" - systemd: - name: tsg-os-provision-guard - state: restarted - when: enable_config_apply == '1' - - name: "tsg-os-provision: restart mrzcpd" systemd: name: mrzcpd diff --git a/ansible/roles/tsg-os-provision/tasks/main.yml b/ansible/roles/tsg-os-provision/tasks/main.yml index 1a3a2b3f..6493bf6d 100644 --- a/ansible/roles/tsg-os-provision/tasks/main.yml +++ b/ansible/roles/tsg-os-provision/tasks/main.yml @@ -115,11 +115,11 @@ - { "src": tsg-os-provision.service.TSG7400, "dest": tsg-os-provision.service } when: PROFILE_ID == '7400-MCN0-P01R01' or PROFILE_ID == '7400-MCN123-P01R01' -- name: "replace action: replace service WantedBy from multi-user.target to workload-pre.target --TSG7400" +- name: "replace action: replace service WantedBy from multi-user.target to workload.target --TSG7400" replace: path: "{{ item }}" regexp: 'WantedBy=multi-user.target' - replace: 'RequiredBy=workload-pre.target' + replace: 'RequiredBy=workload.target' with_items: - /usr/lib/systemd/system/tsg-os-provision.service when: PROFILE_ID == '7400-MCN0-P01R01' or PROFILE_ID == '7400-MCN123-P01R01' @@ -147,29 +147,6 @@ - tsg-os-provision.service when: PROFILE_ID == '9000-NPB-P01R01' -##### tsg-os-provison-guard.service enable start################### -- name: "tsg-os-provision: tsg-os-provision-guard.service to dest" - copy: - src: "{{ role_path }}/files/service/tsg-os-provision-guard.service.TSG9140" - dest: /usr/lib/systemd/system/tsg-os-provision-guard.service - mode: 0644 - when: PROFILE_ID == '9000-NPB-P01R01' - -- name: "tsg-os-provision: tsg-os-provision-guard.sh to dest" - copy: - src: "{{ role_path }}/files/script/guard.sh" - dest: /opt/tsg/tsg-os-provision/scripts/ - mode: 0755 - when: PROFILE_ID == '9000-NPB-P01R01' - -- name: "tsg-os-provision: enable tsg-os-provision-guard.service" - systemd: - name: "{{ item }}" - enabled: yes - with_items: - - tsg-os-provision-guard.service - when: PROFILE_ID == '9000-NPB-P01R01' -##### tsg-os-provison-guard.service enable end################### - name: "tsg-os-provision: copy tsg-start.sh to dest - tsg9140" copy: diff --git a/ansible/stage_one_deploy.yml b/ansible/stage_one_deploy.yml index fc20690b..452519b9 100644 --- a/ansible/stage_one_deploy.yml +++ b/ansible/stage_one_deploy.yml @@ -26,6 +26,7 @@ - {role: system-init, tags: system-init} - {role: wannat_wangw, tags: wannat_wangw} - {role: wire_graft, tags: wire_graft} + - {role: tsg-os-provision-condition, tags: tsg-os-provision-condition} - hosts: 7400-MCN123-P01R01 remote_user: root @@ -42,6 +43,7 @@ - {role: tsg_sn, tags: tsg_sn} - {role: tfe, tags: tfe} - {role: system-init, tags: system-init} + - {role: tsg-os-provision-condition, tags: tsg-os-provision-condition} - hosts: 9000-NPB-P01R01 remote_user: root @@ -73,3 +75,4 @@ - {role: wannat_wangw, tags: wannat_wangw} - {role: wire_graft, tags: wire_graft} - {role: nz-talon, tags: nz-talon} + - {role: tsg-os-provision-condition, tags: tsg-os-provision-condition} diff --git a/rootconf/sysroot-usr/target/workload.target b/rootconf/sysroot-usr/target/workload.target index 3f0a005b..3ba2198b 100644 --- a/rootconf/sysroot-usr/target/workload.target +++ b/rootconf/sysroot-usr/target/workload.target @@ -1,6 +1,6 @@ [Unit] Description=TSG workload -Requires=basic.target multi-user.target workload-pre.target +Requires=basic.target multi-user.target Conflicts=rescue.service rescue.target -After=basic.target rescue.service rescue.target multi-user.target workload-pre.target +After=basic.target rescue.service rescue.target multi-user.target AllowIsolate=yes diff --git a/tools/mk-base-image b/tools/mk-base-image index eed59f8a..124f228c 100755 --- a/tools/mk-base-image +++ b/tools/mk-base-image @@ -86,7 +86,6 @@ ln -vfs --relative $target/etc/pam.d/password-auth-local $target/etc/pam.d/passw cp -rf $projectdir/rootconf/sysroot-usr/target/* $target/usr/lib/systemd/system mkdir -p $target/usr/lib/systemd/system/workload.target.wants -mkdir -p $target/usr/lib/systemd/system/workload-pre.target.wants # ansible-playbook -i tsg-9140-scripts/install_config/tsg_9140_host tsg-9140-scripts/tsg_9140_deploy.yml yum -c "$yum_config" --installroot="$target" -y --setopt=$setopt clean all