summaryrefslogtreecommitdiffstats
path: root/build/bootstrap_admin_node.sh.patch
blob: e137b740d0fb2f229f2ca0ddd673401c6c7254a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
*** bootstrap_admin_node.sh.orig	Mon May 30 06:31:38 2016
--- bootstrap_admin_node.sh	Mon May 30 06:35:11 2016
***************
*** 339,346 ****
  set +x
  echo "Done!"
  
  if [[ "$showmenu" == "yes" || "$showmenu" == "YES" ]]; then
!   fuelmenu || fail
  else
    # Give user 15 seconds to enter fuelmenu or else continue
    echo
--- 339,360 ----
  set +x
  echo "Done!"
  
+ ### OPNFV addition BEGIN
+ shopt -s nullglob
+ for script in /opt/opnfv/bootstrap/pre.d/*.sh
+ do
+   echo "Pre script: $script" >> /root/pre.log 2>&1
+   $script >> /root/pre.log 2>&1
+ done
+ shopt -u nullglob
+ ### OPNFV addition END
+ 
+ # Enable sshd
+ systemctl enable sshd
+ systemctl start sshd
+ 
  if [[ "$showmenu" == "yes" || "$showmenu" == "YES" ]]; then
!   fuelmenu
  else
    # Give user 15 seconds to enter fuelmenu or else continue
    echo
***************
*** 360,368 ****
    fi
  fi

  # Enable online base MOS repos (security, updates) if we run an ISO installation
! [ -f /etc/fuel_build_id ] && \
!   yum-config-manager --enable mos${FUEL_RELEASE}-security mos${FUEL_RELEASE}-updates --save

  if [ ! -f "${ASTUTE_YAML}" ]; then
    echo ${fuelmenu_fail_message}
--- 360,369 ----
    fi
  fi

+ # OPNFV: Disabled to speedup installation in offline env.
  # Enable online base MOS repos (security, updates) if we run an ISO installation
! #[ -f /etc/fuel_build_id ] && \
! #  yum-config-manager --enable mos${FUEL_RELEASE}-security mos${FUEL_RELEASE}-updates --save

  if [ ! -f "${ASTUTE_YAML}" ]; then
    echo ${fuelmenu_fail_message}
***************
*** 374,382 ****
  [ ! -f /etc/fuel_build_id ] && \
    sed -i "s|127.0.0.1:8080/ubuntu/x86_64|mirror.fuel-infra.org/mos-repos/ubuntu/${FUEL_RELEASE}|g" "${ASTUTE_YAML}"
  
! # Enable sshd
! systemctl enable sshd
! systemctl start sshd
  
  # Enable iptables
  systemctl enable iptables.service
--- 388,394 ----
  [ ! -f /etc/fuel_build_id ] && \
    sed -i "s|127.0.0.1:8080/ubuntu/x86_64|mirror.fuel-infra.org/mos-repos/ubuntu/${FUEL_RELEASE}|g" "${ASTUTE_YAML}"
  
! systemctl reload sshd
  
  # Enable iptables
  systemctl enable iptables.service
***************
*** 529,534 ****
--- 541,556 ----
  
  bash /etc/rc.local
  
+ ### OPNFV addition BEGIN
+ shopt -s nullglob
+ for script in /opt/opnfv/bootstrap/post.d/*.sh
+ do
+   echo "Post script: $script" >> /root/post.log 2>&1
+   $script >> /root/post.log 2>&1
+ done
+ shopt -u nullglob
+ ### OPNFV addition END
+ 
  if [ "`get_bootstrap_skip`" = "False" ]; then
    build_ubuntu_bootstrap bs_status || true
  else
o">*fmt, ...) { va_list args; va_start(args, fmt); if (debug_en) vprintf(fmt, args); } static bool supported_rela(Elf64_Rela *rela) { uint64_t mask = 0xffffffffULL; /* would be different on 32-bit */ uint32_t type = rela->r_info & mask; switch (type) { #ifdef R_AARCH64_RELATIVE case R_AARCH64_RELATIVE: return true; #endif default: fprintf(stderr, "warning: unsupported relocation type %" PRIu32 " at %" PRIx64 "\n", type, rela->r_offset); return false; } } static inline uint64_t swap64(uint64_t val) { return ((val >> 56) & 0x00000000000000ffULL) | ((val >> 40) & 0x000000000000ff00ULL) | ((val >> 24) & 0x0000000000ff0000ULL) | ((val >> 8) & 0x00000000ff000000ULL) | ((val << 8) & 0x000000ff00000000ULL) | ((val << 24) & 0x0000ff0000000000ULL) | ((val << 40) & 0x00ff000000000000ULL) | ((val << 56) & 0xff00000000000000ULL); } #if __BYTE_ORDER == __LITTLE_ENDIAN static inline uint64_t be64(uint64_t val) { return swap64(val); } static inline uint64_t le64(uint64_t val) { return val; } #else static inline uint64_t le64(uint64_t val) { return swap64(val); } static inline uint64_t be64(uint64_t val) { return val; } #endif static bool read_num(const char *str, uint64_t *num) { char *endptr; *num = strtoull(str, &endptr, 16); return str[0] && !endptr[0]; } int main(int argc, char **argv) { FILE *f; int i, num; uint64_t rela_start, rela_end, text_base; if (argc != 5) { fprintf(stderr, "Statically apply ELF rela relocations\n"); fprintf(stderr, "Usage: %s <bin file> <text base> " \ "<rela start> <rela end>\n", argv[0]); fprintf(stderr, "All numbers in hex.\n"); return 1; } f = fopen(argv[1], "r+b"); if (!f) { fprintf(stderr, "%s: Cannot open %s: %s\n", argv[0], argv[1], strerror(errno)); return 2; } if (!read_num(argv[2], &text_base) || !read_num(argv[3], &rela_start) || !read_num(argv[4], &rela_end)) { fprintf(stderr, "%s: bad number\n", argv[0]); return 3; } if (rela_start > rela_end || rela_start < text_base || (rela_end - rela_start) % sizeof(Elf64_Rela)) { fprintf(stderr, "%s: bad rela bounds\n", argv[0]); return 3; } rela_start -= text_base; rela_end -= text_base; num = (rela_end - rela_start) / sizeof(Elf64_Rela); for (i = 0; i < num; i++) { Elf64_Rela rela, swrela; uint64_t pos = rela_start + sizeof(Elf64_Rela) * i; uint64_t addr; if (fseek(f, pos, SEEK_SET) < 0) { fprintf(stderr, "%s: %s: seek to %" PRIx64 " failed: %s\n", argv[0], argv[1], pos, strerror(errno)); } if (fread(&rela, sizeof(rela), 1, f) != 1) { fprintf(stderr, "%s: %s: read rela failed at %" PRIx64 "\n", argv[0], argv[1], pos); return 4; } swrela.r_offset = le64(rela.r_offset); swrela.r_info = le64(rela.r_info); swrela.r_addend = le64(rela.r_addend); if (!supported_rela(&swrela)) continue; debug("Rela %" PRIx64 " %" PRIu64 " %" PRIx64 "\n", swrela.r_offset, swrela.r_info, swrela.r_addend); if (swrela.r_offset < text_base) { fprintf(stderr, "%s: %s: bad rela at %" PRIx64 "\n", argv[0], argv[1], pos); return 4; } addr = swrela.r_offset - text_base; if (fseek(f, addr, SEEK_SET) < 0) { fprintf(stderr, "%s: %s: seek to %" PRIx64 " failed: %s\n", argv[0], argv[1], addr, strerror(errno)); } if (fwrite(&rela.r_addend, sizeof(rela.r_addend), 1, f) != 1) { fprintf(stderr, "%s: %s: write failed at %" PRIx64 "\n", argv[0], argv[1], addr); return 4; } } if (fclose(f) < 0) { fprintf(stderr, "%s: %s: close failed: %s\n", argv[0], argv[1], strerror(errno)); return 4; } return 0; }